-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The precise terms and conditions for copying, distribution and
modification follow.
- TERMS AND CONDITIONS
+ TERMS AND CONDITIONS
0. Definitions.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
-
+
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
-
+
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
- END OF TERMS AND CONDITIONS
+ END OF TERMS AND CONDITIONS
- How to Apply These Terms to Your New Programs
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
+2010-10-25 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Version 1.24
+ * configure.ac, NEWS: Version 1.24
+ * bootstrap: Restore tar-specific code lost during last
+ sync from gnulib (241b72ffad).
+ * src/misc.c (chdir_do): Remove unused automatic variable.
+
+2010-10-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: use more-accurate diagnostic when intermediate mkdir fails
+ Without this change, if tar tried to extract a file A/B/C, noticed
+ that A/B didn't exist, attempted to mkdir A/B, and the mkdir
+ failed, it did not diagnose the mkdir failure, but simply reported
+ the failure to open A/B/C. This sometimes led to confusion
+ because it wasn't clear what tar was trying to do, in particular
+ that tar tried to mkdir A/B. With this patch, tar issues two
+ diagnostics in this case: one for A/B and the other for A/B/C.
+ Problem reported by Hauke Laging in
+ <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00020.html>.
+ * gnulib.modules: Remove faccessat.
+ * src/extract.c (make_directories): New arg INTERDIR_MADE.
+ Diagnose mkdir failure. Return 0 on success, nonzero on failure,
+ as opposed to nonzero iff some directory was created. All callers
+ changed. Simplify the code when mkdir fails, by checking whether
+ the desired file exists unless errno==EEXIST: this is more robust.
+ * tests/extrac15.at: New test, to check this.
+ * tests/Makefile.am (TESTSUITE_AT): Add it.
+ * tests/testsuite.at: Include it.
+
+ tests: port to NFS file servers with clock skew
+ Several of the tests assumed that a newly created file cannot
+ have a time stamp dated in the future. This assumption is not
+ true when files are served by a remote host whose clock is
+ slightly in advance of ours. Fix the problems that I observed
+ when running "make check" a couple of times on such a server.
+
+ * tests/backup01.at: Use --warning=no-timestamp to suppress
+ clock-skew warnings.
+ * tests/chtype.at, tests/comprec.at, tests/exclude06.at:
+ * tests/extrac01.at, tests/extrac03.at, tests/extrac05.at:
+ * tests/extrac06.at, tests/extrac08.at, tests/extrac13.at:
+ * tests/extrac14.at, tests/incr01.at, tests/incr03.at,
+ tests/link01.at:
+ * tests/multiv01.at, tests/multiv02.at, tests/multiv03.at:
+ * tests/pipe.at, tests/rename02.at, tests/rename03.at:
+ * tests/rename05.at, tests/same-order01.at, tests/same-order02.at:
+ * tests/sparse01.at:
+ Likewise.
+
+2010-10-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ gnulib: sync from latest gnulib, notably bootstrap and
+ parse-datetime
+ * bootstrap: Sync from gnulib.
+ * doc/.gitignore: Rename getdate.texi to parse-datetime.texi.
+ * doc/Makefile.am (tar_TEXINFOS): Likewise.
+ * doc/tar.texi (Top): Adjust to renaming of getdate to
+ parse-datetime.
+ * gnulib.modules: Likewise. Also, remove ftruncate (now
+ obsolete).
+ And add inttostr (we missed this dependency).
+ * src/tar.c: Include parse-datetime.h, not getdate.h. All calls
+ to get_date replaced with parse_datetime.
+
+2010-09-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: -x -C symlink fix
+ * src/misc.c (chdir_do): Don't use O_NOFOLLOW when opening the
+ argument to -C. This is for consistency with "tar -c -C FOO", and
+ matches the new documentation.
+ * tests/extrac14.at: New file.
+ * tests/Makefile.am (TESTSUITE_AT): Add it.
+ * tests/testsuite.at: Include it.
+
+ tar: --dereference consistency
+ This closes another race condition, that occurs when overwriting a
+ symlink with a regular file.
+ * NEWS (--dereference consistency): New section.
+ * doc/tar.texi (Option Summary): Describe new --deference
+ behavior.
+ (dereference): Likewise. Remove discussion that I didn't follow,
+ even before --dereference was changed.
+ * src/common.h (deref_stat, set_file_atime): Adjust signatures.
+ * src/compare.c (diff_file, diff_multivol): Respect
+ open_read_flags
+ instead of rolling our own flags. This implements the new
+ behavior
+ for --dereference.
+ (diff_file, diff_dumpdir): Likewise, for fstatat_flags.
+ * src/create.c: Adjust to set_file_atime signature change.
+ * src/extract.c (mark_after_links, file_newer_p, extract_dir):
+ Likewise.
+ * src/incremen.c (try_purge_directory): Likewise.
+ * src/misc.c (maybe_backup_file): Likewise.
+ * src/extract.c (file_newer_p): New arg STP. All callers changed.
+ (maybe_recoverable): New arg REGULAR. All callers changed.
+ Handle the case of overwriting a symlink with a regular file,
+ when --overwrite is specified but --dereference is not.
+ (open_output_file): Add O_CLOEXEC, O_NOCTTY, O_NONBLOCK for
+ consistency with file creation. Add O_NOFOLLOW if
+ overwriting_old_files && ! dereference_option.
+ * src/incremen.c (update_parent_directory): Use fstat, not
+ fstatat;
+ there's less to go wrong.
+ * src/misc.c (deref_stat): Remove DEREF arg. All callers changed.
+ Instead, use fstatat_flags.
+ (set_file_atime): Remove ATFLAG arg. All callers changed.
+ Instead, use fstatat_flags.
+ * src/names.c, src/update.c: Adjust to deref_stat signature
+ change.
+ * src/tar.c (get_date_or_file): Use stat, not deref_stat, as this
+ is not a file to be archived.
+ * tests/Makefile.am (TESTSUITE_AT): Add extrac13.at.
+ * tests/extrac13.at: New file.
+ * tests/testsuite.at: Include it.
+
+2010-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: do not crash with --listed-incremental
+ Problem reported by Frantisek Hanzlik in
+ <https://bugzilla.redhat.com/635318> via Kamil Dudka in
+ <http://lists.gnu.org/archive/html/bug-tar/2010-09/msg00066.html>.
+ I don't understand this code either, but Sergey can take a look at
+ this patch, and perhaps install a better one, when he has
+ the time.
+ * src/incremen.c (append_incremental_renames): Don't actually
+ append
+ anything to DIR if DIR is null.
+
+2010-09-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: prefer openat-style functions
+ This change replaces traditional functions like 'open' with the
+ POSIX.1-2008 functions like 'openat'. Mostly this is an internal
+ refactoring change, in preparation for further changes to close
+ some races.
+ * gnulib.modules: Add faccessat, linkat, mkfifoat, renameat,
+ symlinkat.
+ Remove save-cwd.
+ * src/Makefile.am (tar_LDADD): Add $(LIB_EACCESS).
+ * tests/Makefile.am (LDADD): Likewise.
+ * src/common.h (chdir_fd): New extern var.
+ * src/compare.c (diff_file, diff_multivol): Use openat instead
+ of open.
+ * src/create.c (create_archive, restore_parent_fd): Likewise.
+ * src/extract.c (create_placeholder_file): Likewise.
+ * src/names.c (collect_and_sort_names): Likewise.
+ * src/update.c (append_file): Likewise.
+ * src/compare.c (diff_symlink): Use readlinkat instead of
+ readlink.
+ * src/compare.c (diff_file): Use chdir_fd instead of AT_FDCWD.
+ * src/create.c (subfile_open, dump_file0): Likewise.
+ * src/extract.c (fd_chmod, fd_chown, fd_stat, set_stat):
+ (repair_delayed_set_stat, apply_nonancestor_delayed_set_stat):
+ Likewise.
+ * src/extract.c (mark_after_links, file_newer_p, extract_dir):
+ (extract_link, apply_delayed_links):
+ Use fstatat rather than stat or lstat.
+ * src/misc.c (maybe_backup_file, deref_stat): Likewise.
+ * src/extract.c (make_directories): Use mkdirat rather than mkdir.
+ Use faccessat rather than access. This fixes a minor permissions
+ bug when tar is running setuid (who would want to do that?!).
+ (open_output_file): Use openat rather than open.
+ In the process, this removes support for Masscomp's O_CTG files,
+ which aren't compatible with openat's signature. Masscomp! Wow!
+ That's a blast from the past. As far as I know, that operating
+ system hasn't been supported for more than 20 years.
+ (extract_link, apply_delayed_links):
+ Use linkat rather than link.
+ (extract_symlink, apply_delayed_links):
+ Use symlinkat rather than symlink.
+ (extract_node): Use mknodat rather than mknod.
+ (extract_fifo): Use mkfifoat rather than mkfifo.
+ (apply_delayed_links): Use unlinkat rather than unlink or rmdir.
+ * src/misc.c (safer_rmdir, remove_any_file): Likewise.
+ * src/unlink.c (flush_deferred_unlinks): Likewise.
+ * src/extract.c (rename_directory): Use renameat rather than
+ rename.
+ * src/misc.c (maybe_backup_file, undo_last_backup): Likewise.
+ * src/misc.c: Don't include <save-cwd.h>; no longer needed now
+ that we're using openat etc.
+ (struct wd): Add member fd. Remove members err and fd. All uses
+ changed.
+ (CHDIR_CACHE_SIZE): New constant.
+ (wdcache, wdcache_count, chdir_fd): New vars.
+ (chdir_do): Use openat rather than save_cwd. Keep the cache up
+ to date. This code won't scale well, but is good enough for now.
+ * src/update.c (update_archive): Use openat + fdopendir +
+ streamsavedir rather than savedir.
+
+ This file is a placeholder. It will be replaced with the actual
+ ChangeLog
+ by make dist. Run make ChangeLog if you wish to create it
+ earlier.
+
+2010-09-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: add utimens.h includes
+ * src/extract.c: Include <utimens.h>, needed for fdutimens
+ prototype.
+ * src/misc.c: Likewise.
+
+ tar: switch to gnulib fdutimensat module
+ * gnulib.modules: Add fdutimensat.
+ * src/common.h (fd_utimensat): Remove decl.
+ * src/extract.c (set_stat): Call fdutimensat, not fd_utimensat.
+ * src/misc.c (set_file_atime): Likewise.
+ (fd_utimensat): Remove.
+
+2010-09-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: extract permissions for . last
+ * src/common.h (must_be_dot_or_slash): New decl.
+ * src/extract.c (mark_after_links): New function, taking code
+ that used to be in create_placeholder_file.
+ (create_placeholder_file): Use it.
+ (delay_set_stat): Always delay setting status for . and /.
+ * src/misc.c (must_be_dot_or_slash): Now extern.
+ * tests/extrac12.at: New file.
+ * tests/Makefile.am (TESTSUITE_AT): Add it.
+ * tests/testsuite.at: Likewise.
+
+ tar: don't check for getdtablesize; use AC_CHECK_FUNCS_ONCE
+ * configure.ac: Don't check for getdtablesize; no longer needed.
+ Use AC_CHECK_FUNCS_ONCE rather than AC_CHECK_FUNCS, for
+ efficiency.
+
+ tar: extract symlink attributes, close some symlink-related races
+ * NEWS: Describe symlink-extraction improvements.
+ * src/extract.c (enum permstatus): Remove.
+ (fchmod, fchown): Define dummy replacement macros if the system
+ does not supply them.
+ (implemented): New function.
+ (struct delayed_set_stat): Remove members invert_permissions,
+ permstatus. They were too confusing, and tried to do too much
+ in too-little space. Instead, add members current_mode,
+ current_mode_mask, interdir, atflag. All users changed.
+ (struct delayed_link): Add members mode, atime, mtime, to support
+ platforms such as BSD where symlinks have these attributes.
+ All users changed.
+ (fd_chmod): Renamed from fdchmod. New argument atflag. Check for
+ operation not supported at run-time, not at configure-time. Put
+ fd argument first. All callers changed.
+ (fd_chown): Likewise, renaming from fdchown.
+ (fd_stat): Likewise, renaming from fdstat.
+ (set_mode): Remove args stat_info, cur_info, invert_permissions,
+ permstatus. Add args mode, mode_mask, current_mode,
+ current_mode_mask,
+ atflag. All callers changed. Close some races. Use an easier-to
+ understand method for computing permissions. Work around POSIX
+ incompatibility in Linux fchmodat. Support extraction of symlink
+ modes, if the OS allows it.
+ (set_stat): Remove args cur_info, invert_permissions, permstatus.
+ Add args current_mode, current_mode_mask, interdir, atflag.
+ All callers changed. Close some races. Support extraction of
+ attributes on symlinks, if the OS allows it.
+ (delay_set_stat): Remove args invert_permissions, permstatus.
+ Add args current_mode, current_mode_mask, mode, atflag.
+ The ST arg can be null now, indicating that it's an intermediate
+ directory. All callers changed.
+ (repair_delayed_set_stat, apply_nonancestor_delayed_set_stat):
+ Close some races.
+ (extract_dir): Also be paranoid if only --same-permissions, due
+ to semantics of setgid and setuid directories on some hosts.
+ This closes a race on those hosts. Simplify calculation of
+ delay_set_stat arguments; the old code was truly strange and
+ probably wrong in some border cases.
+ (extract_dir, extract_file, extract_node, extract_fifo): Don't
+ rely on
+ unspecified behavior in mode arg of open, mknod, etc. Instead,
+ mask out those bits when creating the file, and add them later via
+ fchmod or chmodat.
+ (open_output_file): file_name is now const. Add arg current_mode,
+ current_mode_mask. All callers changed. When overwriting
+ old files,
+ refuse to overwrite something that is not a regular file, since
+ we're extracting a regular file.
+ (extract_file): Remove the FIXME comment. Whatever the protection
+ issues were, they should be fixed now. As a result of all
+ the other
+ API changes, we now use fchmod etc. rather than chmod etc.,
+ closing
+ some races.
+ (create_placeholder_file, apply_delayed_links): Record desired
+ mode and times for symlinks, for OSes that support that.
+
+2010-09-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: tar -x without --incremental no longer sets atime again
+ * src/extract.c (set_stat): Use UTIME_OMIT rather than UTIME_NOW.
+ The UTIME_NOW was there only to emulate the previous behavior of
+ using the current time, and the previous behavior was there only
+ because before we started assuming POSIX.1-2008 there was no
+ portable way to get the effect of UTIME_NOW.
+
+ tar: another --atime-preserve race fix
+ * src/common.h (set_file_atime): Add parentfd arg.
+ * src/compare.c (diff_file): Use it.
+ * src/create.c (dump_file0): Likewise. This closes yet another
+ race condition with symbolic links.
+ * src/misc.c (set_file_atime): Add parentfd arg.
+
+ tar: --atime-preserve fixes for races etc.
+ This patch fixes a race condition in the --atime-preserve=replace
+ option, which might cause tar to improperly follow a symbolic
+ link.
+
+ It also drops the use of the _FIOSATIME ioctl of Solaris 2.x
+ and later, which loses resolution on time stamps. Modern Solaris
+ systems support full-resolution time stamps in the kernel, and
+ it's not worth the hassle of testing this call, useful only in
+ no-longer-supported Solaris variants.
+
+ Also, it undoes a change I recently introduced to the --compare
+ option, which caused it to not follow symbolic links unless the
+ --dereference option was also used. Quite possibly this change is
+ a good idea, but the old behavior was documented and the change
+ should not have been installed casually.
+
+ * configure.ac: Don't check for stropts.h and sys/filio.h.
+ * gnulib.modules: Add futimens, utimensat. Remove futimens.
+ * src/common.h (fd_utimensat): New decl.
+ * src/compare.c (diff_file, diff_multivol):
+ Don't use open_read_flags: those are for --create only.
+ * src/create.c (dump_file0): Adjust to set_file_atime changes.
+ Pass fstatat_flags to set_file_atime, so that symbolic links are
+ not followed inadvertantly.
+ * src/extract.c: Don't include utimens.h.
+ (set_stat): Use fd_utimensat ant UTIME_NOW rather than fdutimens.
+ * src/misc.c: Don't include utimens.h, stropts.h, sys/filio.h.
+ (fd_utimensat): New function.
+ (set_file_atime): Use it. New arg atflag, controlling symlink
+ handling. All callers changed.
+
+2010-09-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac: tar: close some race conditions when extracting
+ * configure.ac: Check for fchmod and fchown. Don't check
+ for utimes.
+ * src/extract.c (fdchmod, fdchown, fdstat): New functions.
+ (set_mode, set_stat): New arg FD. All callers changed.
+ This avoids some race conditions between closing a regular file
+ and setting its metadata, and it's a bit faster.
+
+2010-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: don't worry about fdopendir closing its argument
+ * NEWS: Don't mention dirfd; no longer needed.
+ * gnulib.modules: Remove dirfd.
+ * src/create.c (get_directory_entries): Remove the code dealing
+ with dirfd failures, as the new fdopendir replacement doesn't
+ close its argument so we don't need to call dirfd. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>
+ and gnulib commit 970c9038e4cca46e1b037ae0a6d574dfae6a7327.
+
+ * NEWS: Fix wording typo in previous change.
+ Reported by Jim Meyering.
+
+ tar: live within system-supplied limits on file descriptors
+ * NEWS: Note the change. Mention dirfd and fdopendir.
+ * gnulib.modules: Add dirfd and fdopendir. The code was already
+ using fdopendir; dirfd is a new need.
+ * src/common.h (open_searchdir_flags, get_directory_entries):
+ (subfile_open, restore_parent_fd, tar_stat_close): New decls.
+ (check_exclusion_tags): Adjust signature to match code change.
+ * src/create.c (IMPOSTOR_ERRNO): New constant.
+ (check_exclusion_tags): First arg is now a struct tar_stat_info
+ const *, not an fd. All callers changed.
+ (dump_regular_file, dump_file0): A zero fd represents an unused
+ slot, so play it safe if the fd member is zero here. A negative
+ fd represents the negation of an errno value, so play it safe and
+ do not assign -1 to fd merely because an open fails.
+ (open_failure_recover, get_directory_entries, restore_parent_fd):
+ (subfile_open): New functions. These help to recover from file
+ descriptor exhaustion.
+ (dump_dir, dump_file0): Use them.
+ (dump_file0): Use tar_stat_close instead of rolling our own close.
+ * src/incremen.c (scan_directory): Use get_directory_entries,
+ subfile_open, etc., to recover from file descriptor exhaustion.
+ * src/names.c (add_hierarchy_to_namelist): Likewise.
+ (collect_and_sort_names): A negative fd represents the negation
+ of an errno value, so play it safe and do not assign -1 to fd.
+ * src/tar.c (decode_options): Set open_searchdir_flags.
+ Add O_CLOEXEC to all the open flags.
+ (tar_stat_close): New function, which knows how to deal with
+ new convention for directory streams and file descriptors.
+ Diagnose 'close' failures.
+ (tar_stat_destroy): Use it.
+ * src/tar.h (struct tar_stat_info): New member dirstream.
+ fd now has the negative of an errno value, not merely -1, if
+ the file could not be opened, so that failures to reopen
+ directories
+ are better-diagnosed later.
+ * tests/Makefile.am (TESTSUITE_AT): Add extrac11.at.
+ * tests/testsuite.at: Likewise.
+ * tests/extrac11.at: New file.
+
+2010-09-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: improve documentation of reliability and security issues
+ * doc/tar.texi (Reliability and security, Reliability):
+ (Permissions problems, Data corruption and repair, Race
+ conditions):
+ (Security, Privacy, Integrity, Live untrusted data):
+ (Security rules of thumb): New nodes.
+
+2010-09-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: more reliable directory traversal when creating archives
+ * NEWS: Document this.
+ * gnulib.modules: Add openat, readlinkat.
+ * src/common.h (open_read_flags, fstatat_flags): New global
+ variables.
+ (cachedir_file_p, dump_file, check_exclusion_tags,
+ scan_directory):
+ Adjust to new signatures, described below.
+ (name_fill_directory): Remove.
+ * src/compare.c (diff_file, diff_multivol): Use open_read_flags.
+ * src/create.c (struct exclusion_tag): Exclusion predicates
+ now take
+ a file descriptor, not a file name.
+ (add_exclusion_tag): Likewise. All uses changed.
+ (cachedir_file_p): Likewise.
+ (check_exclusion_tags): The directory is now a file descriptor,
+ not a file name. All uses changed. Use openat for better
+ traversal.
+ (file_dumpable_p): Arg is now a struct stat, not a struct
+ tar_stat_info. All uses changed. Check the arg's file types too.
+ (dump_dir0, dump_dir, dump_file0, dump_file): Omit top_level and
+ parent_device args, since st->parent tells us that now. All uses
+ changed.
+ (dump_dir): Likewise. Also, omit fd arg for similar reasons.
+ Apply fdsavedir to a dup of the file descriptor, since we need a
+ file descriptor for openat etc. as well, and fdsavedir (perhaps
+ unwisely) consumes its file descriptor when successful.
+ Do not consume st->fd when successful; this simplifies the caller.
+ (create_archive): Allocate a file descriptor when retraversing
+ a directory, during incremental dumps.
+ (dump_file0): Use fstatat, openat, and readlinkat for better
+ traversal.
+ When opening a file, use the result of fstat on the file
+ descriptor
+ rather than the fstatat on the directory entry, to avoid some race
+ conditions. No need to reopen the directory since we now
+ no longer
+ close it. Change "did we open the file?" test from 0 <= fd to
+ 0 < fd since fd == 0 now represents uninitialized.
+ (dump_file): Now accepts struct tar_stat_info describing parent,
+ not parent_device. Also, accept basename and fullname of entry.
+ All uses changed.
+ * src/incremen.c (update_parent_directory): Accept struct
+ tar_stat_info for parent, not name. All callers changed.
+ Use fstatat for safer directory traversal.
+ (procdir): Accept struct tar_stat_info, not struct stat and
+ dev_t, for info about directory. All callers changed.
+ (scan_directory): Accept struct tar_stat_info, not name,
+ device, and cmdline, for info about directory. All callers
+ changed. Do not consume the file descriptor, since caller
+ might need it. Use fstatat and openat for safer directory
+ traversal; also, use fstat after opening to double-check.
+ (name_fill_directory): Remove.
+ * src/names.c (add_hierarchy_to_namelist): Accept struct
+ tar_stat_info instead of device and cmdline. All callers changed.
+ When descending into a subdirectory, use openat and fstat for
+ safer directory traversal.
+ (collect_and_sort_names): Use open and fstat for safer directory
+ traversal. Set up struct tar_stat_info for callee's new API.
+ * src/tar.c (decode_options): Initialize open_read_flags
+ and fstatat_flags.
+ (tar_stat_destroy): Close st->fd if it is positive (not zero!).
+ * src/tar.h (struct tar_stat_info): New members parent, fd.
+ * src/update.c (update_archive): Adjust to dump_file's API change.
+ * tests/filerem02.at: Ignore stderr since its contents now depend
+ on the file system implementation.
+
+2010-09-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: remove lint discovered by Sun C compiler
+ * src/common.h (WARN_ALL): Don't mask with 0xffffffff; on a 32-bit
+ host, 0xffffffff is of type 'unsigned int', which makes WARN_ALL
+ an unsigned int value that is too large to fit into an int, and
+ the C standard says that this has undefined behavior. The mask is
+ not needed, so omit it.
+
+2010-09-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: restore macros that are used in some cases
+ * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM):
+ Restore these macros, undoing the previous change to this file.
+ The macros are used after all, in some cases. Sorry about that.
+
+2010-09-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: remove unused macros
+ * src/create.c (UINTMAX_TO_CHARS): Remove; no longer used.
+ * src/tar.c (LOW_DENSITY_NUM, MID_DENSITY_NUM, HIGH_DENSITY_NUM):
+ Likewise.
+ * src/incremen.c (DIR_IS_NEW): Comment out; not used.
+ Mark this with a FIXME, since it looks like it should be used.
+
+2010-08-27 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix --remove-files in update/append mode.
+ * src/update.c (update_archive): Call finish_deferred_unlinks when
+ done.
+
+2010-08-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: avoid assumptions about root access and chmod -w in test
+ cases
+ * tests/extrac07.at, tests/extrac09.at, tests/listed03.at: Use
+ AT_UNPRIVILEGED_PREREQ, since this test requires non-root
+ privileges.
+ * tests/extrac07.at: Don't use "chmod -w", as POSIX says it's not
+ portable to start a chmod permissions-list with "-" as it may be
+ confused with an option. Use "chmod a-w" instead.
+
+ tar: fix bug with -C and delayed setting of metadata
+ * src/common.h (chdir_current): New decl.
+ * src/extract.c (struct delayed_set_stat, struct delayed_link):
+ New member change_dir.
+ (delay_set_stat, create_placeholder_file): Set it.
+ (apply_nonancestor_delayed_set_stat, apply_delayed_links): Use it.
+ (extract_link): Check that the links are all relative to the same
+ directory.
+ (extract_archive): Restore the current directory after
+ apply_nonancestor_delayed_set_stat has possibly changed it.
+ * src/misc.c (chdir_current): New external var; this used to
+ be the private static variable 'previous' inside chdir_dir.
+ All uses changed.
+ * tests/Makefile.am (TESTSUITE_AT): New test extrac10.at.
+ * tests/extrac10.at: New file.
+ * tests/testsuite.at: Include it.
+
+2010-08-25 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Don't apply file transformations to volume names.
+ * src/list.c (decode_header): Don't apply file transformations
+ to volume names.
+ * tests/xform01.at: New testcase.
+ * tests/xform-h.at (xform): Rename macro to xformtest. Use
+ pushdef/popdef.
+ * tests/Makefile.am, tests/testsuite.at: Add xform01.at
+
+2010-08-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: optimize -c --sparse when file is entirely sparse
+ * src/sparse.c (sparse_scan_file): If the file is entirely sparse,
+ that is, if ST_NBLOCKS is zero, don't bother scanning for nonzero
+ blocks. Idea by Kit Westneat, communicated by Bernd Schubert in
+ <http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00038.html>.
+ Also, omit unnecessary lseek at start of file.
+
+ tar: don't assume size of a sparse file chunk fits in size_t
+ * src/tar.h (struct sp_array): Change numbytes from size_t
+ to off_t.
+ All uses changed.
+ * scripts/xsparse.c (struct sp_array): Likewise.
+ Include <stdint.h>, for SIZE_MAX.
+ (expand_sparse): Don't try to allocate a buffer bigger than
+ SIZE_MAX bytes.
+ * src/common.h (SIZE_TO_CHARS, size_to_chars, SIZE_FROM_HEADER):
+ (size_from_header): Remove decls.
+ * src/create.c (size_to_chars): Remove.
+ * src/list.c (size_from_header): Remove.
+ * src/sparse.c (sparse_extract_region, check_data_region):
+ (oldgnu_add_sparse, oldgnu_store_sparse_info, pax_decode_header):
+ Don't assume chunk sizes fit in size_t.
+ (oldgnu_add_sparse): Check for off_t overflow.
+ * src/xheader.c (sparse_numbytes_decoder, sparse_map_decoder):
+ Likewise.
+
+ tar: use ctime, not mtime, when checking placeholders
+ * src/extract.c (struct delayed_link): Rename member mtime
+ to ctime.
+ All uses changed to use ctime rather than mtime.
+
+2010-08-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: add comment to link04.at test
+ * tests/link04.at: Add explanatory comment at head.
+
+ tar: fix 1.23 Solaris regression related to PRIV_SYS_LINKDIR
+ The idea was suggested by Petr Sumbera in the thread starting
+ here:
+ http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00000.html
+ * src/extract.c (set_mode): Save the errno of the chmod that
+ failed, for the benefit of chmod_error_details. Do not bother
+ retrying chmod unless the mode suggests setuid is the issue.
+ (extract_archive): Remove redundant call to
+ priv_set_remove_linkdir.
+ * src/system.c: Include priv-set.h.
+ (sys_spawn_shell, sys_child_open_for_compress):
+ (sys_child_open_for_uncompress, sys_exec_command):
+ (sys_exec_info_script, sys_exec_checkpoint_script):
+ Invoke priv_set_restore_linkdir before execv or execlp, so that
+ the subprocess has the same privileges that tar originally did.
+
+ tar: handle files that occur multiple times but have link count 1
+ This patch was inspired by the following patch that addressed a
+ similar problem in GNU coreutils du:
+ http://git.savannah.gnu.org/gitweb/?p=coreutils.git;h=efe53cc72b599979ea292754ecfe8abf7c839d22
+ * src/common.h (name_count): New decl.
+ * src/create.c (trivial_link_count): New static var.
+ (create_archive): Initialize it.
+ (dump_hard_link, file_count_links): Use it, so that files with
+ link count 1 are handled correctly when they are found multiple
+ times.
+ * src/names.c (allocated_entries): Renamed from allocated_names,
+ since the identifier's name was misleading. All uses changed.
+ (entries): Renamed from names. All uses changed.
+ (scanned): Renamed from name_index. All uses changed.
+ (name_count): New var.
+ (name_add_name): Increment it.
+ * tests/link04.at: New file.
+ * tests/testsuite.at: Add it.
+ * tests/Makefile.am (TESTSUITE_AT): Likewise.
+
+2010-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: use nlink_t for link counts
+ * src/create.c (struct link): nlink is now of type nlink_t,
+ not size_t.
+
+ tar: don't export names that aren't used elsewhere
+ * src/common.h (file_dumpable_p, gid_to_chars, major_to_chars):
+ (minor_to_chars, mode_to_chars, uid_to_chars, uintmax_to_chars):
+ (string_to_chars, dumpdir_creat0, dumpdir_create, dumpdir_free):
+ (dumpdir_locate, dumpdir_next, dumpdir_first, gid_from_header):
+ (major_from_header, minor_from_header, mode_from_header):
+ (time_from_header, uid_from_header, quote_copy_string,
+ request_stdin):
+ (xheader_init, transform_header_name):
+ Remove declarations; these are no longer exported from their
+ modules.
+ (GID_TO_CHARS, MAJOR_TO_CHARS, MINOR_TO_CHARS, MODE_TO_CHARS):
+ (UID_TO_CHARS, UINTMAX_TO_CHARS, UNAME_TO_CHARS, GNAME_TO_CHARS):
+ Move to src/create.c, since no other module uses these.
+ (GID_FROM_HEADER, MAJOR_FROM_HEADER, MINOR_FROM_HEADER):
+ (MODE_FROM_HEADER, TIME_FROM_HEADER, UID_FROM_HEADER):
+ Move to src/extract.c, since no other module uses these.
+ (dumpdir_t, dumpdir_iter_t): Remove; no longer used.
+ * src/create.c (gid_to_chars, major_to_chars, minor_to_chars):
+ (mode_to_chars, uid_to_chars, uintmax_to_chars, string_to_chars):
+ (file_dumpable_p): Now static.
+ * src/incremen.c (dumpdir_create0, dumpdir_create, dumpdir_free):
+ (dumpdir_locate, dumpdir_next, dumpdir_first): Now static.
+ (scan_directory, write_directory_file_entry):
+ Use struct dumpdir_iter * rather than dumpdir_iter_t.
+ * src/list.c (gid_from_header, major_from_header,
+ minor_from_header):
+ (mode_from_header, time_from_header, uid_from_header):
+ (transform_member_name): Now static.
+ * src/misc.c (quote_copy_string): #if 0 out, as it's not used
+ anywhere.
+ * src/system.c (wait_for_grandchild): Now static.
+ * src/tar.c (request_stdin): Now static.
+ * src/xheader.c (xheader_init): Now static.
+
+ tar: fix misspelled identifier "set_comression_program_by_suffix"
+ * src/suffix.c (set_compression_program_by_suffix): Renamed from
+ set_comression_program_by_suffix.
+ * src/buffer.c, src/common.h, src/tar.c: All uses changed.
+
+2010-08-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: change interdir_made from int to bool
+ * src/extract.c (maybe_recoverable, create_placeholder_file):
+ Change interdir_made from int * to bool *, since the flag has just
+ two values 0 and 1. All uses changed. This does not affect tar's
+ behavior.
+
+ tar: remove trailing white space from source files
+ * ChangeLog.1, ChangeLog.CVS, Makefile.am, NEWS, README:
+ * README-hacking, directory, doc/Makefile.am, doc/dumpdir.texi:
+ * doc/gendocs_template, doc/intern.texi, doc/mastermenu.el:
+ * doc/snapshot.texi, doc/sparse.texi, doc/tar-snapshot-edit.texi:
+ * doc/value.texi, lib/Makefile.am, scripts/backup-specs:
+ * scripts/dump-remind.in, scripts/tar-snapshot-edit,
+ scripts/tarcat:
+ * scripts/xsparse.c, src/arith.h, src/buffer.c, src/compare.c:
+ * src/create.c, src/delete.c, src/exit.c, src/suffix.c, src/tar.c:
+ * src/tar.h, src/update.c, src/warning.c, src/xheader.c:
+ * tests/append01.at, tests/append02.at, tests/atlocal.in:
+ * tests/delete03.at, tests/exclude.at, tests/exclude06.at:
+ * tests/extrac04.at, tests/extrac05.at, tests/extrac06.at:
+ * tests/extrac07.at, tests/filerem01.at, tests/filerem02.at:
+ * tests/incr01.at, tests/incr02.at, tests/incr03.at,
+ tests/incr06.at:
+ * tests/label02.at, tests/label03.at, tests/label04.at:
+ * tests/label05.at, tests/link02.at, tests/link03.at:
+ * tests/listed01.at, tests/listed02.at, tests/long01.at:
+ * tests/longv7.at, tests/multiv01.at, tests/multiv02.at:
+ * tests/multiv03.at, tests/multiv05.at, tests/multiv06.at:
+ * tests/multiv07.at, tests/multiv08.at, tests/options.at:
+ * tests/options02.at, tests/remfiles03.at, tests/rename01.at:
+ * tests/rename02.at, tests/rename03.at, tests/rename04.at:
+ * tests/rename05.at, tests/same-order01.at, tests/same-order02.at:
+ * tests/shortfile.at, tests/shortupd.at, tests/sparse01.at:
+ * tests/sparse02.at, tests/sparsemv.at, tests/sparsemvp.at:
+ * tests/star/README, tests/star/gtarfail2.at:
+ * tests/star/multi-fail.at:
+ * tests/star/pax-big-10g.at, tests/star/quicktest.sh:
+ * tests/star/ustar-big-2g.at, tests/star/ustar-big-8g.at:
+ * tests/update01.at, tests/update02.at, tests/volsize.at:
+ * tests/volume.at:
+ Remove trailing spaces and tabs from lines, and remove
+ trailing empty lines from files. This makes it a bit easier
+ to share code among coreutils and other projects that do this.
+
+2010-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ tar: update licenses to latest versions from www.gnu.org
+ * COPYING: Update to latest version; this is just minor
+ formatting.
+ * doc/fdl.texi: Update from GFDL 1.2 to 1.3.
+ * doc/tar.texi: Adjust to new format of fdl.texi. Omit trailing
+ white space.
+
+2010-07-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/misc.c (struct wd): Fix comment to match code.
+
+2010-07-18 Paul R. Eggert <eggert@cs.ucla.edu>
+
+ tar: no need to report getcwd error if never using the result
+ * src/misc.c (struct wd): Rename 'saved' to 'err', with new
+ semantics.
+ (chdir_arg, chdir_do): Adjust to new semantics. Do not report an
+ error merely because save_cwd fails; report an error only if
+ save_cwd's result is needed later.
+ * tests/extrac09.at: New file, to test for bug that was fixed.
+ * tests/testsuite.at: Include it.
+ * tests/Makefile.am (TESTSUITE_AT): Add it.
+
+ tar: go back to absolutifying filenames in normalize_filename
+ for now
+ * src/misc.c (normalize_filename): For now, go back to making
+ filenames absolute, even though this causes 'tar' to fail when
+ getcwd fails. However, do not attempt to resolve ".." as this
+ does not work with symlinks. Also, do the right thing with
+ leading file system prefixes and on hosts where // != /.
+
+2010-07-17 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Allow for size suffixes in -L and --record-size options.
+ * src/tar.c (TAR_SIZE_SUFFIXES): New define.
+ (parse_opt): Allow for size suffixes in arguments to
+ -L and --record-size options.
+ * NEWS, doc/tar.texi: Update.
+
+2010-07-15 Paul R. Eggert <eggert@cs.ucla.edu>
+
+ tar: don't crash if getcwd fails
+ * src/extract.c: Don't include xgetcwd.h.
+ (extract_dir): stat "." rather than statting getcwd's output.
+ * src/misc.c (normalize_filename_x): Rewrite so as not to resolve
+ /../, which can't be done reliably in the presence of symlinks.
+ Don't reject valid names such as ".".
+ (normalize_filename): Don't make it absolute; that way, we don't
+ have to invoke xgetcwd which might fail. Don't bother to realloc
+ at the end, since that uses time and now saves little space.
+ (chdir_do): Don't crash if xgetcwd fails.
+ * tests/Makefile.am (TESTSUITE_AT): Add listed03.at.
+ * tests/listed03.at: New file.
+ * tests/testsuite.at: Include listed03.at.
+
+2010-07-11 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Keep a detailed map of archive members stored in the record
+ buffer.
+ A separate map (bufmap) provides information for creating
+ multi-volume continuation headers.
+
+ * src/buffer.c (bufmap): New struct.
+ (bufmap_head, bufmap_tail, inhibit_map): New variables.
+ (mv_begin_write): New function.
+ (mv_begin): Rename to mv_begin_read. Rewrite using mv_begin_write.
+ All callers changed.
+ (mv_total_size): Remove.
+ (bufmap_locate, bufmap_free, bufmap_reset): New functions.
+ (_flush_write): Update bufmap.
+ (close_archive): Free bufmap.
+ (add_chunk_header): Take a bufmap argument.
+ (gnu_add_multi_volume_header): Likewise.
+ (add_multi_volume_header): Likewise.
+ (_gnu_flush_write): Rewrite using bufmap.
+ (real_s_name, real_s_totsize)
+ (real_s_sizeleft)
+ (save_name, save_totsize, save_sizeleft): Removed. All
+ uses updated.
+ (mv_size_left): Update bufmap_head.
+ (mv_end): Rewrite.
+ (multi_volume_sync): Remove.
+
+ * src/common.h (mv_begin_write): New prototype.
+ (mv_begin): Rename to mv_begin_read.
+ * src/create.c: Use mv_begin_write instead of mv_begin.
+ Remove calls to mv_size_left and mv_end.
+ * src/sparse.c: Likewise.
+
+ * tests/multiv07.at: Close stdin.
+ * tests/spmvp00.at: Update AT_KEYWORDS.
+ * tests/spmvp10.at: Likewise.
+
+ * tests/multiv08.at: New testcase.
+ * tests/Makefile.am, tests/testsuite.at: Add multiv08.at.
+
+ Version 1.23.90
+ * NEWS, configure.ac: Version 1.23.90
+ * doc/tar.texi: Document the use of lbzip2.
+
+2010-06-28 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix exclusion of long file names when extracting from pax format
+ archives.
+ * src/list.c (read_and): Call decode_header before attempting
+ name_match.
+ (list_archive): Remove call to decode_header.
+
+ * src/compare.c (diff_archive): Remove call to decode_header.
+ * src/extract.c (extract_archive): Likewise.
+
+ * test/exclude06.at: New test case.
+ * tests/testsuite.at: Include exclude06.at.
+ * tests/Makefile.am (TESTSUITE_AT): Add exclude06.at.
+
+ Minor fix.
+ * src/buffer.c (magic): Split the character constant to help
+ cc recognize character boundaries (7 is a valid hex character).
+
+2010-06-27 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Minor fix.
+ * src/buffer.c (magic): Fix xz magic.
+
+2010-06-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Remove some lint, found by gcc -W etc.
+ * src/common.h (label_notfound): New decl.
+ * src/buffer.c (set_volume_start_time, compress_type):
+ (guess_seekable_archive, open_compressed_archive, init_buffer):
+ (_flush_write, archive_is-dev, increase_volume_number):
+ (change_tape_menu, try_new_volume, add_chunk_header):
+ (multi_volume_sync):
+ Declare as 'static' if it's not exported.
+ Use function prototype (void) rather than old-style ().
+ * src/checkpoint.c (expand_checkpoint_string): Likewise.
+ * src/incremen.c (dirlist_replace_prefix, makedumpdir,
+ read_incr_db_2):
+ Likewise.
+ * src/list.c (print_volume_label): Likewise.
+ * src/misc.c (normalize_filename_x): Likewise.
+ * src/names.c (make_name, free_name, check_name_alloc,
+ name_next_elt):
+ Likewise.
+ * src/tar.c (tar_list_quoting_style, add_exclude_array):
+ (set_stat_signal): Likewise.
+ * src/transform.c (new_transform,
+ _single_transform_name_to_obstack):
+ (_transform_name_to_obstack): Likewise.
+ * src/unlink.c (dunlink_alloc): Likewise.
+
+ * src/buffer.c (struct zip_magic): Use const when appropriate.
+ * src/incremen.c (obstack_code_rename,
+ write_directory_file_entry):
+ Likewise.
+ * src/sparse.c (COPY_STRING): Likewise.
+ * src/system.c (dec_to_env, time_to_env, oct_to_env, str_to_env):
+ (chr_to_env): Likewise.
+ * src/tar.c (tar_list_quoting_style, set_stat_signal): Likewise.
+
+ * src/extract.c (extract_node): Don't return garbage.
+
+ * src/names.c: Remove old-style declarations of getgrnam etc.
+ All modern systems declare these, and it's not worth the hassle
+ of ignoring the warnings on modern systems for old-style decls.
+
+2010-05-17 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Bugfix.
+ * src/incremen.c (make_directory): Retain the slash if it is the
+ only character in a filename.
+
+2010-04-02 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Recode NEWS back to UTF-8
+
+2010-04-01 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix the gzip.at test case.
+ * tests/gzip.at: Suppress gzip error output, as it can differ
+ depending on its version etc. Bug reported by Ludovic Courtès.
+
+2010-03-28 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ New option --full-time.
+ * src/common.h (full_time_option): New global.
+ * src/tar.c (FULL_TIME_OPTION): New constant.
+ (options): New option --full-time.
+ (parse_opt): Handle the --full-time option.
+ * src/list.c (simple_print_header): Pass full_time_option
+ as the 2nd argument to tartime.
+ * doc/tar.texi: Update.
+ * NEWS: Update.
+
+2010-03-27 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Minor fixes in the testsuite.
+ * tests/extrac07.at: Fix a typo (invalid number
+ of arguments before format list).
+ * tests/link02.at: Use `ln' instead of `link'.
+ * tests/link03.at: Likewise.
+
+ Fix coredump.
+ * src/names.c (collect_and_sort_names): Remove
+ entry from the table before freeing it.
+
+ Fix dead loop on extracting existing symlinks with the -k option.
+ * src/extract.c (create_placeholder_file)
+ (extract_link, extract_symlink)
+ (extract_node, extract_fifo): Handle all possible
+ return values from maybe_recoverable. This complements
+ 8f390db92fc. Reported by Ico Doornekamp <bug-tar@zevv.nl>.
+ * NEWS: Update.
+
+2010-03-20 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix undesired error exit on receiving SIGPIPE.
+ * src/tar.c: Do not ignore SIGPIPE.
+ * tests/sigpipe.at: New testcase.
+ * tests/Makefile.am, tests/testsuite.at: Add sigpipe.at
+ * tests/remfiles01.at: Fix error code expectation.
+ * NEWS: Update.
+
+2010-03-17 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix --remove-files.
+ Tar --remove-files relied on canonicalize_file_name,
+ which replaces symlinks in file name components with
+ the directories they point to. Due to this, tar
+ effectively ignored existence of symbolic links and
+ was unable to remove a directory that contained any
+ (Alexander Kozlov <akozlov@nada.kth.se>, 2010-03-15).
+
+ * gnulib.modules: Remove canonicalize.
+ * src/misc.c (normalize_filename): Rewrite
+ from scratch. The function operates only on
+ its input string, it makes no attempt to test
+ components for existence or to resolve symbolic
+ links.
+ * tests/Makefile.am (TESTSUITE_AT): Add remfiles03.at.
+ * tests/testsuite.at: Likewise.
+ * tests/remfiles03.at: New test case.
+ * NEWS: Update.
+
+2010-03-12 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Bugfixes.
+ * src/buffer.c (check_label_pattern): Initialize result.
+ * tests/remfiles01.at: Skip if run with root privileges.
+
+2010-03-11 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Fix `--test-label' and `--label -r' behavior.
+ * doc/tar.texi (Including a Label in the Archive): Revise
+ the section.
+ * NEWS: Update
+
+ * src/buffer.c (open_archive): Check volume label on
+ ACCESS_UPDATE as well.
+ * src/list.c (test_archive_label): Rewrite to match the
+ documentation.
+ * src/names.c (regex_usage_warning): Return int.
+ (names_notfound): Rewrite the conditional.
+ (label_notfound): New function.
+
+ * tests/label03.at: New testcase.
+ * tests/label04.at: New testcase.
+ * tests/label05.at: New testcase.
+ * tests/Makefile.am: Add new testcases.
+ * tests/testsuite.at: Likewise.
+
+ Doc fixes.
+ * doc/tar.texi: Consistently use lowercase `see' within sentences.
+ More fixes spotted by Denis Excoffier.
+ * THANKS: Update.
+
+ Shut up a gcc warning message.
+ * src/tar.c (tar_help_filter): Use a separate const
+ variable to hold returns from gettext. Reported by
+ Peter Breitenlohner.
+
+ Bugfix.
+ * src/names.c (collect_and_sort_names): Initialize prev_name.
+ Reported by Dmitry V. Levin.
+
2010-03-10 Sergey Poznyakoff <gray@gnu.org.ua>
Version 1.23
2009-03-04 Sergey Poznyakoff <gray@gnu.org.ua>
Add xz support.
-
+
* src/buffer.c, src/suffix.c: Add support for xz compression.
* src/tar.c: New option --xz, for compression/decompression using xz.
Re-assign -J as a short equivalent of --xz.
2008-11-25 Sergey Poznyakoff <gray@gnu.org.ua>
Do not try to drain the input pipe before closing the
- archive.
-
+ 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/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.
+ argument.
(transform_member_name): 2nd arg is int.
(decode_header): Transform file name and link target names.
* src/tar.c: Remove --transform-symlinks.
set global flags using `flags=' syntax.
(_transform_name_to_obstack, transform_name_fp)
(transform_name): Take an additional argument, specifying scope
- flags.
+ flags.
2008-10-19 Sergey Poznyakoff <gray@gnu.org.ua>
* 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.
* 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'.
+ `else'.
2008-09-24 Sergey Poznyakoff <gray@gnu.org.ua>
* 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
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.
+ * 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.
+ Darcs.
2008-05-06 Sergey Poznyakoff <gray@gnu.org.ua>
* 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.
-
+
2008-03-31 Sergey Poznyakoff <gray@gnu.org.ua>
* src/create.c (dump_file0): Count links only for actually dumped
- files.
+ files.
2008-03-27 Sergey Poznyakoff <gray@gnu.org.ua>
* NEWS: Document --no-check-device and --check-device.
* doc/rendition.texi: Change the way FIXME-*refs are handled in
- !PROOF.
+ !PROOF.
* doc/intern.texi, doc/tar.texi: Update.
* doc/untabify.el: New file.
* doc/Makefile.am (EXTRA_DIST): Add untabify.el
(untabify, final, check-format, check-refs, check-fixmes)
(check-unrevised, all-check-docs, check-docs): New rules.
-
+
* src/common.h (check_device_option): New global.
* src/incremen.c (procdir): Use boolean and instead of bitwise
one. Patch by Jean-Louis Martineau.
--check-device. Proposed by Jean-Louis Martineau.
(parse_opt): Hanlde new options.
(decode_options): Initialize check_device_option to true.
-
+
* THANKS: Update
2008-03-06 Sergey Poznyakoff <gray@gnu.org.ua>
* po/.cvsignore: Update
* src/system.c: Remove include setenv.h.
* tests/atlocal.in (STAR_DATA_URL): Update.
- * tests/star/README: Update URL.
+ * tests/star/README: Update URL.
2008-02-09 Sergey Poznyakoff <gray@gnu.org.ua>
Exit with nonzero status if a close fails on an archive.
Problem (and initial trivial fix)
* src/buffer.c (close_archive, new_volume): close_error, not
- close_warn.
+ close_warn.
2007-12-05 Sergey Poznyakoff <gray@gnu.org.ua>
-Currently there is just one ChangeLog file for tar, but
+Currently there is just one ChangeLog file for tar, but
there used to be separate ChangeLog files for each subdirectory.
This file records what used to be in those separate files.
EXTRA_DIST = ChangeLog.1 Make.rules
SUBDIRS = doc gnu lib rmt src scripts po tests
-dist-hook:
+dist-hook:
$(MAKE) changelog_dir=$(distdir) ChangeLog
-rm -f $(distdir).cpio
find $(distdir) | cpio -Hcrc -o | \
gen_start_date = 2009-03-06
prev_change_log = ChangeLog.CVS
changelog_dir = .
-
-
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 \
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz \
$(distdir).shar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
-
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
tags-recursive uninstall uninstall-am
-dist-hook:
+dist-hook:
$(MAKE) changelog_dir=$(distdir) ChangeLog
-rm -f $(distdir).cpio
find $(distdir) | cpio -Hcrc -o | \
-GNU tar NEWS - User visible changes. 2010-03-10
+GNU tar NEWS - User visible changes. 2010-10-24
Please send GNU tar bug reports to <bug-tar@gnu.org>
+\f
+version 1.24 - Sergey Poznyakoff, 2010-10-24
+
+* The --full-time option.
+
+New command line option `--full-time' instructs tar to output file
+time stamps to the full resolution.
+
+* Bugfixes.
+
+** More reliable directory traversal when creating archives
+
+Tar now checks for inconsistencies caused when a file system is
+modified while tar is creating an archive. In the new approach, tar
+maintains a cache of file descriptors to directories, so it uses more
+file descriptors than before, but it adjusts to system limits on
+the number of file descriptors. Tar also takes more care when
+a file system is modified while tar is extracting from an archive.
+
+The new checks are implemented via the openat and related calls
+standardized by POSIX.1-2008. On an older system where these calls do
+not exist or do not return useful results, tar emulates the calls at
+some cost in efficiency and reliability.
+
+** Symbolic link attributes
+
+When extracting symbolic links, tar now restores attributes such as
+last-modified time and link permissions, if the operating system
+supports this. For example, recent versions of the Linux kernel
+support setting times on symlinks, and some BSD kernels also support
+symlink permissions.
+
+** --dereference consistency
+
+The --dereference (-h) option now applies to files that are copied
+into or out of archives, independently of other options. For example,
+if F is a symbolic link and archive.tar contains a regular-file member
+also named F, "tar --overwrite -x -f archive.tar F" now overwrites F
+itself, rather than the file that F points to. (To overwrite the file
+that F points to, add the --dereference (-h) option.) Formerly,
+--dereference was intended to apply only when using the -c option, but
+the implementation was not consistent.
+
+Also, the --dereference option no longer affects accesses to other
+files, such as archives and time stamp files. Symbolic links to these
+files are always followed. Previously, the links were usually but not
+always followed.
+
+** Spurious error diagnostics on broken pipe.
+
+When receiving SIGPIPE, tar would exit with error status and
+"write error" diagnostics. In particular, this occurred if
+invoked as in the example below:
+
+ tar tf archive.tar | head -n 1
+
+** --remove-files
+
+`Tar --remove-files' failed to remove a directory which contained
+symlinks to another files within that directory.
+
+** --test-label behavior
+
+In case of a mismatch, `tar --test-label LABEL' exits with code 1,
+not 2 as it did in previous versions.
+
+The `--verbose' option used with `--test-label' provides additional
+diagnostics.
+
+Several volume labels may be specified in a command line, e.g.:
+
+ tar --test-label -f archive 'My volume' 'New volume' 'Test volume'
+
+In this case, tar exits with code 0 if any one of the arguments
+matches the actual volume label.
+
+** --label used with --update
+
+The `--label' option can be used with `--update' to prevent accidental
+update of an archive:
+
+ tar -rf archive --label 'My volume' .
+
+This did not work in previous versions, in spite of what the docs said.
+
+** --record-size and --tape-length (-L) options
+
+Usual size suffixes are allowed for these options. For example,
+-L10k stands for a 10 kilobyte tape length.
+
+** Fix dead loop on extracting existing symlinks with the -k option.
+
\f
version 1.23 - Sergey Poznyakoff, 2010-03-10
* Time references in --pax-option argument.
Any value from the --pax-option argument that is enclosed in a pair
-of curly braces represents a time reference. The string between the
+of curly braces represents a time reference. The string between the
braces is understood either as a textual time representation, as described in
chapter 7, "Date input formats", of the Tar manual, or as a name of
an existing file, starting with `/' or `.'. In the latter
* Support for xz compression
-Tar uses xz for compression if one of the following conditions is met:
+Tar uses xz for compression if one of the following conditions is met:
1. The option --xz or -J (see below) is used.
2. The xz binary is set as compressor using --use-compress-program option.
3. The file name of the archive being created ends in `.xz' and
auto-compress option (-a) is used.
-Xz is used for decompression if one of the following conditions is met:
+Xz is used for decompression if one of the following conditions is met:
1. The option --xz or -J is used.
2. The xz binary is set as compressor using --use-compress-program option.
- s
Apply transformation to symbolic link targets.
- - h
+ - h
Apply transformation to hard link targets.
Corresponding upper-case letters negate the meaning, so that
** 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.
+** Fixed record size autodetection. If the detected record size differs from
+the expected value (either default one, or the one set from 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
during extraction.
For a detailed description, see chapter 6.7 "Modifying File and Member
-Names".
+Names".
* Info (end-of-volume) scripts
The following options now work with incremental archives as well:
- --exclude-caches
- --exclude-caches-all
+ --exclude-caches
+ --exclude-caches-all
--exclude-tag
--exclude-tag-all
--exclude-tag-under
records, even if -P was not used. This is fixed: rename records
contain file names processed in accordance with the command line
settings.
-
+
* Fix --version output.
* Recognition of broken archives.
When supplied an archive smaller than 512 bytes in reading mode (-x,
-t), the previous version of tar silently ignored it, exiting with
-code 0. It is fixed. Tar now issues the following diagnostic message:
+code 0. It is fixed. Tar now issues the following diagnostic message:
'This does not look like a tar archive', and exits with code 2.
* Fix double-dot recognition in archive member names in case of duplicate '/.'.
GNU `tar' is able to create archive in the following formats:
*** The format of UNIX version 7
- *** POSIX.1-1988 format, also known as "ustar format"
+ *** POSIX.1-1988 format, also known as "ustar format"
*** POSIX.1-2001 format, also known as "pax format"
*** Old GNU format (described below)
In addition to those, GNU `tar' is also able to read archives
-produced by `star' archiver.
+produced by `star' archiver.
A so called `Old GNU' format is based on an early draft of the
POSIX 1003.1 `ustar' standard which is different from the final
standard. It defines its extensions (such as incremental backups
and handling of the long file names) in a way incompatible with
any existing tar archive format, therefore the use of old GNU
-format is strongly discouraged.
+format is strongly discouraged.
Please read the file NEWS for more information about POSIX compliance
and new `tar' features.
paragraph-separate: "[ \f]*$"
version-control: never
End:
-
David Taylor taylor@think.com
Dean Gaudet dgaudet@watdragon.uwaterloo.ca
Demizu Noritoshi nori-d@is.aist-nara.ac.jp
-Denis Excoffier denis.excoffier@airbus.com
+Denis Excoffier denis.excoffier@free.fr
Denis Fortin fortin@acm.org
Dennis Pixton dennis@math.binghamton.edu
Dick Streefland dicks@tasking.nl
m4_include([m4/alloca.m4])
m4_include([m4/argmatch.m4])
m4_include([m4/argp.m4])
+m4_include([m4/asm-underscore.m4])
m4_include([m4/backupfile.m4])
m4_include([m4/bison.m4])
m4_include([m4/btowc.m4])
m4_include([m4/chdir-long.m4])
m4_include([m4/chown.m4])
m4_include([m4/clock_time.m4])
+m4_include([m4/cloexec.m4])
m4_include([m4/close-stream.m4])
m4_include([m4/close.m4])
m4_include([m4/closeout.m4])
m4_include([m4/fcntl_h.m4])
m4_include([m4/fdopendir.m4])
m4_include([m4/fileblocks.m4])
+m4_include([m4/filenamecat.m4])
m4_include([m4/float_h.m4])
m4_include([m4/fnmatch.m4])
m4_include([m4/fpending.m4])
m4_include([m4/fseeko.m4])
-m4_include([m4/ftruncate.m4])
+m4_include([m4/futimens.m4])
m4_include([m4/getcwd-abort-bug.m4])
m4_include([m4/getcwd-path-max.m4])
m4_include([m4/getcwd.m4])
-m4_include([m4/getdate.m4])
m4_include([m4/getdelim.m4])
m4_include([m4/getdtablesize.m4])
m4_include([m4/getline.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
+m4_include([m4/libunistring-base.m4])
+m4_include([m4/link-follow.m4])
+m4_include([m4/link.m4])
+m4_include([m4/linkat.m4])
m4_include([m4/localcharset.m4])
m4_include([m4/locale-fr.m4])
m4_include([m4/locale-ja.m4])
m4_include([m4/memrchr.m4])
m4_include([m4/mkdir.m4])
m4_include([m4/mkdtemp.m4])
+m4_include([m4/mkfifo.m4])
+m4_include([m4/mkfifoat.m4])
+m4_include([m4/mknod.m4])
m4_include([m4/mktime.m4])
m4_include([m4/mmap-anon.m4])
m4_include([m4/mode_t.m4])
m4_include([m4/nls.m4])
m4_include([m4/open.m4])
m4_include([m4/openat.m4])
+m4_include([m4/parse-datetime.m4])
m4_include([m4/pathmax.m4])
m4_include([m4/paxutils.m4])
m4_include([m4/po.m4])
m4_include([m4/quotearg.m4])
m4_include([m4/rawmemchr.m4])
m4_include([m4/readlink.m4])
+m4_include([m4/readlinkat.m4])
m4_include([m4/realloc.m4])
m4_include([m4/regex.m4])
+m4_include([m4/rename.m4])
+m4_include([m4/renameat.m4])
m4_include([m4/rmdir.m4])
m4_include([m4/rmt.m4])
m4_include([m4/rpmatch.m4])
m4_include([m4/rtapelib.m4])
m4_include([m4/safe-read.m4])
m4_include([m4/safe-write.m4])
-m4_include([m4/same.m4])
m4_include([m4/save-cwd.m4])
m4_include([m4/savedir.m4])
m4_include([m4/setenv.m4])
m4_include([m4/strtoul.m4])
m4_include([m4/strtoull.m4])
m4_include([m4/strtoumax.m4])
+m4_include([m4/symlink.m4])
+m4_include([m4/symlinkat.m4])
m4_include([m4/sys_stat_h.m4])
m4_include([m4/sys_time_h.m4])
m4_include([m4/sysexits.m4])
m4_include([m4/unlocked-io.m4])
m4_include([m4/utimbuf.m4])
m4_include([m4/utimens.m4])
+m4_include([m4/utimensat.m4])
m4_include([m4/utimes.m4])
m4_include([m4/vasnprintf.m4])
m4_include([m4/vasprintf.m4])
_GL_EXTERN_C int _gl_cxxalias_dummy
#endif
+/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
+ is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
+ except that the C function rpl_func may have a slightly different
+ declaration. A cast is used to silence the "invalid conversion" error
+ that would otherwise occur. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ rettype (*const func) parameters = \
+ reinterpret_cast<rettype(*)parameters>(::rpl_func); \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
/* _GL_CXXALIAS_SYS (func, rettype, parameters);
declares a C++ alias called GNULIB_NAMESPACE::func
that redirects to the system provided function func, if GNULIB_NAMESPACE
are used to silence the "cannot find a match" and "invalid conversion"
errors that would otherwise occur. */
#if defined __cplusplus && defined GNULIB_NAMESPACE
+ /* The outer cast must be a reinterpret_cast.
+ The inner cast: When the function is defined as a set of overloaded
+ functions, it works as a static_cast<>, choosing the designated variant.
+ When the function is defined as a single variant, it works as a
+ reinterpret_cast<>. The parenthesized cast syntax works both ways. */
# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
namespace GNULIB_NAMESPACE \
{ \
static rettype (*func) parameters = \
reinterpret_cast<rettype(*)parameters>( \
- reinterpret_cast<rettype2(*)parameters2>(::func)); \
+ (rettype2(*)parameters2)(::func)); \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
-# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
_GL_EXTERN_C int _gl_cxxalias_dummy
#endif
/* _GL_CXXALIASWARN (func);
causes a warning to be emitted when ::func is used but not when
- GNULIB_NAMESPACE::func is used. */
+ GNULIB_NAMESPACE::func is used. func must be defined without overloaded
+ variants. */
#if defined __cplusplus && defined GNULIB_NAMESPACE
# define _GL_CXXALIASWARN(func) \
- _GL_CXXALIASWARN1 (func, GNULIB_NAMESPACE)
-# define _GL_CXXALIASWARN1(func,namespace) \
- _GL_CXXALIASWARN2 (func, namespace)
-# define _GL_CXXALIASWARN2(func,namespace) \
- _GL_WARN_ON_USE (func, \
- "The symbol ::" #func " refers to the system function. " \
- "Use " #namespace "::" #func " instead.")
+ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN_1(func,namespace) \
+ _GL_CXXALIASWARN_2 (func, namespace)
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+ we enable the warning only when not optimizing. */
+# if !__OPTIMIZE__
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ _GL_WARN_ON_USE (func, \
+ "The symbol ::" #func " refers to the system function. " \
+ "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ extern __typeof__ (func) func
+# else
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
#else
# define _GL_CXXALIASWARN(func) \
_GL_EXTERN_C int _gl_cxxalias_dummy
#endif
+/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
+ causes a warning to be emitted when the given overloaded variant of ::func
+ is used but not when GNULIB_NAMESPACE::func is used. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+ _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
+ GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
+ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+ we enable the warning only when not optimizing. */
+# if !__OPTIMIZE__
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
+ "The symbol ::" #func " refers to the system function. " \
+ "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ extern __typeof__ (func) func
+# else
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
#endif /* _GL_CXXDEFS_H */
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc.
-timestamp='2009-12-30'
+timestamp='2010-09-24'
# 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
exit 1
fi
-trap 'exit 1' 1 2 15
+trap 'exit 1' HUP INT TERM
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-tilera-linux-gnu
+ exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc.
-timestamp='2010-01-22'
+timestamp='2010-09-11'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
| moxie \
| mt \
| msp430 \
+ | nds32 | nds32le | nds32be \
| nios | nios2 \
| ns16k | ns32k \
| or32 \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
+ | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e \
| we32k \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| mmix-* \
| mt-* \
| msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
basic_machine=powerpc-ibm
os=-cnk
;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
basic_machine=t90-cray
os=-unicos
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
# This must be matched before tile*.
tilegx*)
basic_machine=tilegx-unknown
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
c4x-* | tic4x-*)
os=-coff
;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2010-10-07.20; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
+ cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
rm -f "$tmpdepfile"
;;
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test "$stat" = 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/ \1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/ /
+ G
+ p
+}' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
-scriptversion=2010-02-22.21; # UTC
+scriptversion=2010-08-21.06; # UTC
# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
# Free Software Foundation, Inc.
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+fi
+
case $1 in
'')
echo "$0: No file. Try \`$0 --help' for more information." 1>&2
;;
esac
+error ()
+{
+ echo "$0: $1" >&2
+ exit 1
+}
+
+
# Prevent date giving response in another language.
LANG=C
export LANG
command=
until test $month
do
+ test $# -gt 0 || error "failed parsing \`$ls_command /' output"
shift
# Add another shift to the command.
command="$command shift;"
esac
done
+test -n "$month" || error "failed parsing \`$ls_command /' output"
+
# Get the extended ls output of the file or directory.
-set dummy x`eval "$ls_command \"\$save_arg1\""`
+set dummy x`eval "$ls_command \"\\\$save_arg1\""`
# Remove all preceding arguments
eval $command
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2010-03-07.08}
+\def\texinfoversion{2010-09-06.17}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
\everyjob{\message{[Texinfo version \texinfoversion]}%
\catcode`+=\active \catcode`\_=\active}
-
\chardef\other=12
% We never want plain's \outer definition of \+ in Texinfo.
% that mark overfull boxes (in case you have decided
% that the text looks ok even though it passes the margin).
%
-\def\finalout{\overfullrule=0pt}
-
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
+\def\finalout{\overfullrule=0pt }
% Sometimes it is convenient to have everything in the transcript file
% and nothing on the terminal. We don't just call \tracingall here,
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
-% For @cropmarks command.
% Do @cropmarks to get crop marks.
%
\newif\ifcropmarks
\newhelp\EMsimple{Press RETURN to continue.}
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
- % Definitions to produce \{ and \} commands for indices,
- % and @{ and @} for the aux/toc files.
- \catcode`\{ = \other \catcode`\} = \other
- \catcode`\[ = 1 \catcode`\] = 2
- \catcode`\! = 0 \catcode`\\ = \other
- !gdef!lbracecmd[\{]%
- !gdef!rbracecmd[\}]%
- !gdef!lbraceatcmd[@{]%
- !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
- \def\temp{#1}%
- \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
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence. (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo. Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
- L\kern-.36em
- {\setbox0=\hbox{T}%
- \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
- \kern-.15em
- \TeX
-}
-
% Be sure we're in horizontal mode when doing a tie, since we make space
% equivalent to this in @example-like environments. Otherwise, a space
% at the beginning of a line will start with \penalty -- and
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
-% class. WHICH is `l' or `r'.
+% class. WHICH is `l' or `r'. Not documented, written for gawk manual.
%
\newskip\inmarginspacing \inmarginspacing=1cm
\def\strutdepth{\dp\strutbox}
\temp
}
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change). This command
+% is not documented, not supported, and doesn't work.
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
+
% @include FILE -- \input text of FILE.
%
\def\include{\parseargusing\filenamecatcodes\includezzz}
}
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
- \catcode`\_ = \active
- \gdef\mathunderscore{%
- \catcode`\_=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
- }
-}
-% Another complication: we want \\ (and @\) to output a \ character.
-% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-% this is not advertised and we don't care. Texinfo does not
-% otherwise define @\.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
- \tex
- \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.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
- \catcode`^ = \active
- \catcode`< = \active
- \catcode`> = \active
- \catcode`+ = \active
- \catcode`' = \active
- \gdef\mathactive{%
- \let^ = \ptexhat
- \let< = \ptexless
- \let> = \ptexgtr
- \let+ = \ptexplus
- \let' = \ptexquoteright
- }
-}
-
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in the cm
-% typewriter fonts as three actual period characters; on the other hand,
-% in other typewriter fonts three periods are wider than 1.5em. So do
-% whichever is larger.
-%
-\def\dots{%
- \leavevmode
- \setbox0=\hbox{...}% get width of three periods
- \ifdim\wd0 > 1.5em
- \dimen0 = \wd0
- \else
- \dimen0 = 1.5em
- \fi
- \hbox to \dimen0{%
- \hskip 0pt plus.25fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \dots
- \spacefactor=\endofsentencespacefactor
-}
-
-% @comma{} is so commas can be inserted into text without messing up
-% Texinfo's parsing.
-%
-\let\comma = ,
-
% @refill is a no-op.
\let\refill=\relax
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
%
% Read toc silently, to get counts of subentries for \pdfoutline.
+ \def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
\def\thischapnum{##2}%
\def\thissecnum{0}%
\font\reducedsy=cmsy10
\def\reducedecsize{1000}
-% reset the current fonts
-\textfonts
+\textleading = 13.2pt % line spacing for 11pt CM
+\textfonts % reset the current fonts
\rm
} % end of 11pt text font size definitions
\font\reducedsy=cmsy9
\def\reducedecsize{0900}
-% reduce space between paragraphs
-\divide\parskip by 2
-
-% reset the current fonts
-\textfonts
+\divide\parskip by 2 % reduce space between paragraphs
+\textleading = 12pt % line spacing for 10pt CM
+\textfonts % reset the current fonts
\rm
} % end of 10pt text font size definitions
% @fonttextsize 10
% (or 11) to redefine the text font size. pt is assumed.
%
-\def\xword{10}
\def\xiword{11}
+\def\xword{10}
+\def\xwordpt{10pt}
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
\let\tenttsl=\titlettsl
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}%
- \resetmathfonts \setleading{25pt}}
+ \resetmathfonts \setleading{27pt}}
\def\titlefont#1{{\titlefonts\rmisbold #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\markupsetuplqcode \markupsetcodequoteleft
\let\markupsetuprqcode \markupsetcodequoteright
+%
\let\markupsetuplqexample \markupsetcodequoteleft
\let\markupsetuprqexample \markupsetcodequoteright
+%
+\let\markupsetuplqsamp \markupsetcodequoteleft
+\let\markupsetuprqsamp \markupsetcodequoteright
+%
\let\markupsetuplqverb \markupsetcodequoteleft
\let\markupsetuprqverb \markupsetcodequoteright
+%
\let\markupsetuplqverbatim \markupsetcodequoteleft
\let\markupsetuprqverbatim \markupsetcodequoteright
-\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
% Allow an option to not replace quotes with a regular directed right
% Font commands.
-% #1 is the font command (\sl vs. \it), #2 is the text to slant.
+% #1 is the font command (\sl or \it), #2 is the text to slant.
% If we are in a monospaced environment, however, 1) always use \ttsl,
% and 2) do not add an italic correction.
\def\dosmartslant#1#2{%
\ifusingtt
- {\ttsl #2\let\next=\relax}%
+ {{\ttsl #2}\let\next=\relax}%
{\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
\next
}
\fi
}
+% @asis just yields its argument. Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}. So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+ \catcode`\_ = \active
+ \gdef\mathunderscore{%
+ \catcode`\_=\active
+ \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+ }
+}
+% Another complication: we want \\ (and @\) to output a math (or tt) \.
+% FYI, plain.tex uses \\ as a temporary control sequence (for no
+% particular reason), but this is not advertised and we don't care.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+ \tex
+ \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.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+ \catcode`^ = \active
+ \catcode`< = \active
+ \catcode`> = \active
+ \catcode`+ = \active
+ \catcode`' = \active
+ \gdef\mathactive{%
+ \let^ = \ptexhat
+ \let< = \ptexless
+ \let> = \ptexgtr
+ \let+ = \ptexplus
+ \let' = \ptexquoteright
+ }
+}
+
\message{glyphs,}
+% and logos.
+
+% @@ prints an @.
+\def\@{\char64 }
+
+% Used to generate quoted braces. Unless we're in typewriter, use
+% \ecfont because the CM text fonts do not have braces, and we don't
+% want to switch into math.
+\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
+\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+ % Definitions to produce \{ and \} commands for indices,
+ % and @{ and @} for the aux/toc files.
+ \catcode`\{ = \other \catcode`\} = \other
+ \catcode`\[ = 1 \catcode`\] = 2
+ \catcode`\! = 0 \catcode`\\ = \other
+ !gdef!lbracecmd[\{]%
+ !gdef!rbracecmd[\}]%
+ !gdef!lbraceatcmd[@{]%
+ !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \ptexc
+\let\dotaccent = \ptexdot
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \ptext
+\let\ubaraccent = \ptexb
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+ \def\temp{#1}%
+ \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
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence. (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo. Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+ L\kern-.36em
+ {\setbox0=\hbox{T}%
+ \vbox to \ht0{\hbox{%
+ \ifx\textnominalsize\xwordpt
+ % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
+ % Revert to plain's \scriptsize, which is 7pt.
+ \count255=\the\fam $\fam\count255 \scriptstyle A$%
+ \else
+ % For 11pt, we can use our lllsize.
+ \selectfonts\lllsize A%
+ \fi
+ }%
+ \vss
+ }}%
+ \kern-.15em
+ \TeX
+}
+
+% Some math mode symbols.
+\def\bullet{$\ptexbullet$}
+\def\geq{\ifmmode \ge\else $\ge$\fi}
+\def\leq{\ifmmode \le\else $\le$\fi}
+\def\minus{\ifmmode -\else $-$\fi}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in the cm
+% typewriter fonts as three actual period characters; on the other hand,
+% in other typewriter fonts three periods are wider than 1.5em. So do
+% whichever is larger.
+%
+\def\dots{%
+ \leavevmode
+ \setbox0=\hbox{...}% get width of three periods
+ \ifdim\wd0 > 1.5em
+ \dimen0 = \wd0
+ \else
+ \dimen0 = 1.5em
+ \fi
+ \hbox to \dimen0{%
+ \hskip 0pt plus.25fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \dots
+ \spacefactor=\endofsentencespacefactor
+}
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
\def\headings #1 {\csname HEADINGS#1\endcsname}
-\def\HEADINGSoff{%
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
+\def\headingsoff{% non-global headings elimination
+ \evenheadline={\hfil}\evenfootline={\hfil}%
+ \oddheadline={\hfil}\oddfootline={\hfil}%
+}
+
+\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
+\HEADINGSoff % it's the default
+
% When we turn headings on, set the page number to 1.
% For double-sided printing, put current file name in lower left corner,
% chapter name on inside top of right hand pages, document
\begingroup
\advance\leftskip by-\tableindent
\advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil
+ \advance\rightskip by0pt plus1fil\relax
\leavevmode\unhbox0\par
\endgroup
%
\def\@{@}% change to @@ when we switch to @ as escape char in index files.
\def\ {\realbackslash\space }%
%
- % Need these in case \tex is in effect and \{ is a \delimiter again.
- % But can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters.
- \let\{ = \mylbrace
- \let\} = \myrbrace
+ % Need these unexpandable (because we define \tt as a dummy)
+ % definitions when @{ or @} appear in index entry text. Also, more
+ % complicated, when \tex is in effect and \{ is a \delimiter again.
+ % We can't use \lbracecmd and \rbracecmd because texindex assumes
+ % braces and backslashes are used only as delimiters. Perhaps we
+ % should define @lbrace and @rbrace commands a la @comma.
+ \def\{{{\tt\char123}}%
+ \def\}{{\tt\char125}}%
%
% I don't entirely understand this, but when an index entry is
% generated from a macro call, the \endinput which \scanmacro inserts
\def\commondummies{%
%
% \definedummyword defines \#1 as \string\#1\space, thus effectively
- % preventing its expansion. This is used only for control% words,
+ % preventing its expansion. This is used only for control words,
% not control letters, because the \space would be incorrect for
% control characters, but is needed to separate the control word
% from whatever follows.
\commondummiesnofonts
%
\definedummyletter\_%
+ \definedummyletter\-%
%
% Non-English letters.
\definedummyword\AA
\definedummyword\TeX
%
% Assorted special characters.
+ \definedummyword\arrow
\definedummyword\bullet
\definedummyword\comma
\definedummyword\copyright
\definedummyword\registeredsymbol
\definedummyword\dots
\definedummyword\enddots
+ \definedummyword\entrybreak
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
+ \definedummyword\expansion
+ \definedummyword\geq
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
- \definedummyword\expansion
+ \definedummyword\leq
\definedummyword\minus
\definedummyword\ogonek
\definedummyword\pounds
\definedummyword\b
\definedummyword\i
\definedummyword\r
+ \definedummyword\sansserif
\definedummyword\sc
+ \definedummyword\slanted
\definedummyword\t
%
% Commands that take arguments.
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
+ \definedummyword\dmn
\definedummyword\email
\definedummyword\emph
\definedummyword\env
\definedummyword\file
+ \definedummyword\indicateurl
\definedummyword\kbd
\definedummyword\key
\definedummyword\math
\def\definedummyaccent##1{\let##1\asis}%
% We can just ignore other control letters.
\def\definedummyletter##1{\let##1\empty}%
- % Hopefully, all control words can become @asis.
+ % All control words become @asis by default; overrides below.
\let\definedummyword\definedummyaccent
%
\commondummiesnofonts
%
\def\ { }%
\def\@{@}%
- % how to handle braces?
\def\_{\normalunderscore}%
+ \def\-{}% @- shouldn't affect sorting
+ %
+ % Unfortunately, texindex is not prepared to handle braces in the
+ % content at all. So for index sorting, we map @{ and @} to strings
+ % starting with |, since that ASCII character is between ASCII { and }.
+ \def\{{|a}%
+ \def\}{|b}%
%
% Non-English letters.
\def\AA{AA}%
%
% Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.)
+ \def\arrow{->}%
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
+ \def\geq{>=}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
+ \def\leq{<=}%
\def\minus{-}%
\def\point{.}%
\def\pounds{pounds}%
\def\result{=>}%
\def\textdegree{o}%
%
+ \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
+ \else \indexlquoteignore \fi
+ %
% We need to get rid of all macros, leaving only the arguments (if present).
% Of course this is not nearly correct, but it is the best we can do for now.
% makeinfo does not expand macros in the argument to @deffn, which ends up
\macrolist
}
+% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
+% ignore left quotes in the sort term.
+{\catcode`\`=\active
+ \gdef\indexlquoteignore{\let`=\empty}}
+
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
% But this freezes the catcodes in the argument, and can cause problems to
% @code, which sets - active. This problem was fixed by a kludge---
% ``-'' was active throughout whole index, but this isn't really right.
-%
% The right solution is to prevent \entry from swallowing the whole text.
% --kasal, 21nov03
\def\entry{%
% columns.
\vskip 0pt plus1pt
%
+ % When reading the text of entry, convert explicit line breaks
+ % from @* into spaces. The user might give these in long section
+ % titles, for instance.
+ \def\*{\unskip\space\ignorespaces}%
+ \def\entrybreak{\hfil\break}%
+ %
% Swallow the left brace of the text (first parameter):
\afterassignment\doentry
\let\temp =
}
+\def\entrybreak{\unskip\space\ignorespaces}%
\def\doentry{%
\bgroup % Instead of the swallowed brace.
\noindent
\message{sectioning,}
% Chapters, sections, etc.
-% \unnumberedno is an oxymoron, of course. But we count the unnumbered
+% Let's start with @part.
+\outer\parseargdef\part{\partzzz{#1}}
+\def\partzzz#1{%
+ \chapoddpage
+ \null
+ \vskip.3\vsize % move it down on the page a bit
+ \begingroup
+ \noindent \titlefonts\rmisbold #1\par % the text
+ \let\lastnode=\empty % no node to associate with
+ \writetocentry{part}{#1}{}% but put it in the toc
+ \headingsoff % no headline or footline on the part page
+ \chapoddpage
+ \endgroup
+}
+
+% \unnumberedno is an oxymoron. But we count the unnumbered
% sections so that we can refer to them unambiguously in the pdf
% outlines by their "section number". We avoid collisions with chapter
% numbers by starting them at 10000. (If a document ever has 10000
\chardef\maxseclevel = 3
%
% A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
-\chardef\unmlevel = \maxseclevel
+% To achieve this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unnlevel = \maxseclevel
%
% Trace whether the current chapter is an appendix or not:
% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
% The heading type:
\def\headtype{#1}%
\if \headtype U%
- \ifnum \absseclevel < \unmlevel
- \chardef\unmlevel = \absseclevel
+ \ifnum \absseclevel < \unnlevel
+ \chardef\unnlevel = \absseclevel
\fi
\else
% Check for appendix sections:
\fi\fi
\fi
% Check for numbered within unnumbered:
- \ifnum \absseclevel > \unmlevel
+ \ifnum \absseclevel > \unnlevel
\def\headtype{U}%
\else
- \chardef\unmlevel = 3
+ \chardef\unnlevel = 3
\fi
\fi
% Now print the heading:
\chappager
\ifodd\pageno \else
\begingroup
- \evenheadline={\hfil}\evenfootline={\hfil}%
- \oddheadline={\hfil}\oddfootline={\hfil}%
- \hbox to 0pt{}%
+ \headingsoff
+ \null
\chappager
\endgroup
\fi
\def\summarycontents{%
\startcontents{\putwordShortTOC}%
%
+ \let\partentry = \shortpartentry
\let\numchapentry = \shortchapentry
\let\appentry = \shortchapentry
\let\unnchapentry = \shortunnchapentry
% The last argument is the page number.
% The arguments in between are the chapter number, section number, ...
+% Parts, in the main contents. Replace the part number, which doesn't
+% exist, with an empty box. Let's hope all the numbers have the same width.
+% Also ignore the page number, which is conventionally not printed.
+\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
+\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
+%
+% Parts, in the short toc.
+\def\shortpartentry#1#2#3#4{%
+ \penalty-300
+ \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
+ \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
+}
+
% Chapters, in the main contents.
\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
%
\message{environments,}
% @foo ... @end foo.
-% @tex ... @end tex escapes into raw Tex temporarily.
+% @tex ... @end tex escapes into raw TeX temporarily.
% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
+% But \@ or @@ will get a plain @ character.
\envdef\tex{%
\setupmarkupstyle{tex}%
}
% We often define two environments, @foo and @smallfoo.
-% Let's do it by one command:
-\def\makedispenv #1#2{
- \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
- \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+% Let's do it in one command. #1 is the env name, #2 the definition.
+\def\makedispenvdef#1#2{%
+ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}%
+ \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}%
\expandafter\let\csname E#1\endcsname \afterenvbreak
\expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
-% Define two synonyms:
-\def\maketwodispenvs #1#2#3{
- \makedispenv{#1}{#3}
- \makedispenv{#2}{#3}
+% Define two environment synonyms (#1 and #2) for an environment.
+\def\maketwodispenvdef#1#2#3{%
+ \makedispenvdef{#1}{#3}%
+ \makedispenvdef{#2}{#3}%
}
-
-% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
+% @lisp: indented, narrowed, typewriter font;
+% @example: same as @lisp.
%
% @smallexample and @smalllisp: use smaller fonts.
% Originally contributed by Pavel@xerox.
%
-\maketwodispenvs {lisp}{example}{%
+\maketwodispenvdef{lisp}{example}{%
\nonfillstart
\tt\setupmarkupstyle{example}%
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+ \gobble % eat return
}
% @display/@smalldisplay: same as @lisp except keep current font.
%
-\makedispenv {display}{%
+\makedispenvdef{display}{%
\nonfillstart
\gobble
}
% @format/@smallformat: same as @display except don't narrow margins.
%
-\makedispenv{format}{%
+\makedispenvdef{format}{%
\let\nonarrowing = t%
\nonfillstart
\gobble
\envdef\flushright{%
\let\nonarrowing = t%
\nonfillstart
- \advance\leftskip by 0pt plus 1fill
+ \advance\leftskip by 0pt plus 1fill\relax
\gobble
}
\let\Eflushright = \afterenvbreak
% we're doing normal filling. So, when using \aboveenvbreak and
% \afterenvbreak, temporarily make \parskip 0.
%
+\makedispenvdef{quotation}{\quotationstart}
+%
\def\quotationstart{%
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
\parindent=0pt
\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.
%
\fi
{\parskip=0pt \afterenvbreak}%
}
+\def\Esmallquotation{\Equotation}
% If we're given an argument, typeset it in bold with a colon after.
\def\quotationlabel#1{%
% Setup for the @verbatim environment
%
-% Real tab expansion
+% Real tab expansion.
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
-\def\starttabbox{\setbox0=\hbox\bgroup}
+% We typeset each line of the verbatim in an \hbox, so we can handle
+% tabs. The \global is in case the verbatim line starts with an accent,
+% or some other command that starts with a begin-group. Otherwise, the
+% entire \verbbox would disappear at the corresponding end-group, before
+% it is typeset. Meanwhile, we can't have nested verbatim commands
+% (can we?), so the \global won't be overwriting itself.
+\newbox\verbbox
+\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
\catcode`\^^I=\active
\def^^I{\leavevmode\egroup
- \dimen0=\wd0 % the width so far, or since the previous tab
- \divide\dimen0 by\tabw
- \multiply\dimen0 by\tabw % compute previous multiple of \tabw
- \advance\dimen0 by\tabw % advance to next multiple of \tabw
- \wd0=\dimen0 \box0 \starttabbox
+ \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab
+ \divide\dimen\verbbox by\tabw
+ \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
+ \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw
+ \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox
}%
}
\endgroup
\def\setupverbatim{%
\let\nonarrowing = t%
\nonfillstart
- % Easiest (and conventionally used) font for verbatim
- \tt
- \def\par{\leavevmode\egroup\box0\endgraf}%
+ \tt % easiest (and conventionally used) font for verbatim
+ % The \leavevmode here is for blank lines. Otherwise, we would
+ % never \starttabox and the \egroup would end verbatim mode.
+ \def\par{\leavevmode\egroup\box\verbbox\endgraf}%
\tabexpand
\setupmarkupstyle{verbatim}%
% Respect line breaks,
% print special symbols as themselves, and
- % make each space count
- % must do in this order:
+ % make each space count.
+ % Must do in this order:
\obeylines \uncatcodespecials \sepspaces
\everypar{\starttabbox}%
}
#1#2 \endheader
% common ending:
\interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil
+ \advance\rightskip by 0pt plus 1fil\relax
\endgraf
\nobreak\vskip -\parskip
\penalty\defunpenalty % signal to \startdefun and \dodefunx
% Macro bodies are absorbed as an argument in a context where
% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
+% (as in normal texinfo). It is necessary to change the definition of \
+% to recognize macro arguments; this is the job of \mbodybackslash.
+%
% Non-ASCII encodings make 8-bit characters active, so un-activate
% them to avoid their expansion. Must do this non-globally, to
% confine the change to the current group.
-
+%
% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
+% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
-
-\def\scanctxt{%
+%
+\def\scanctxt{% used as subroutine
\catcode`\"=\other
\catcode`\+=\other
\catcode`\<=\other
\ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
}
-\def\scanargctxt{%
+\def\scanargctxt{% used for copying and captions, not macros.
\scanctxt
\catcode`\\=\other
\catcode`\^^M=\other
}
-\def\macrobodyctxt{%
+\def\macrobodyctxt{% used for @macro definitions
\scanctxt
\catcode`\{=\other
\catcode`\}=\other
\usembodybackslash
}
-\def\macroargctxt{%
+\def\macroargctxt{% used when scanning invocations
\scanctxt
- \catcode`\\=\other
+ \catcode`\\=0
}
+% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes"
+% for the single characters \ { }. Thus, we end up with the "commands"
+% that would be written @\ @{ @} in a Texinfo document.
+%
+% We already have @{ and @}. For @\, we define it here, and only for
+% this purpose, to produce a typewriter backslash (so, the @\ that we
+% define for @math can't be used with @macro calls):
+%
+\def\\{\normalbackslash}%
+%
+% We would like to do this for \, too, since that is what makeinfo does.
+% But it is not possible, because Texinfo already has a command @, for a
+% cedilla accent. Documents must use @comma{} instead.
+%
+% \anythingelse will almost certainly be an error of some kind.
+
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
% where N is the macro parameter number.
% We define \csname macarg.\endcsname to be \realbackslash, so
% \\ in macro replacement text gets you a backslash.
-
+%
{\catcode`@=0 @catcode`@\=@active
@gdef@usembodybackslash{@let\=@mbodybackslash}
@gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
}
\expandafter\def\csname macarg.\endcsname{\realbackslash}
+\def\margbackslash#1{\char`\#1 }
+
\def\macro{\recursivefalse\parsearg\macroxxx}
\def\rmacro{\recursivetrue\parsearg\macroxxx}
\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
+ \getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
- \paramno=0%
+ \paramno=0
\else
\expandafter\parsemargdef \argl;%
\fi
% an opening brace, and that opening brace is not consumed.
\def\getargs#1{\getargsxxx#1{}}
\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacname#1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
% Parse the optional {params} list. Set up \paramno and \paramlist
% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
+% in the params list to be ##N where N is the position in that list.
% That gets used by \mbodybackslash (above).
-
+%
% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
+% The technique used is stolen from LaTeX: let \hash be something
% unexpandable, insert that wherever you need a #, and then redefine
% it to # just before using the token list produced.
%
% The same technique is used to protect \eatspaces till just before
% the macro is used.
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+\def\parsemargdef#1;{%
+ \paramno=0\def\paramlist{}%
+ \let\hash\relax
+ \let\xeatspaces\relax
+ \parsemargdefxxx#1,;,%
+}
\def\parsemargdefxxx#1,{%
\if#1;\let\next=\relax
\else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
+ \advance\paramno by 1
\expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
{\xeatspaces{\hash\the\paramno}}%
\edef\paramlist{\paramlist\hash\the\paramno,}%
% These two commands read recursive and nonrecursive macro bodies.
% (They're different since rec and nonrec macros end differently.)
-
+%
\long\def\parsemacbody#1@end macro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
\long\def\parsermacbody#1@end rmacro%
% Much magic with \expandafter here.
% \xdef is used so that macro definitions will survive the file
% they're defined in; @include reads the file inside a group.
+%
\def\defmacro{%
\let\hash=##% convert placeholders to macro parameter chars
\ifrecursive
% \braceorline decides whether the next nonwhitespace character is a
% {. If so it reads up to the closing }, if not, it reads the whole
% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
+% as an argument (by \parsebrace or \parsearg).
+%
\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{%
\ifx\nchar\bgroup\else
% @alias.
% We need some trickery to remove the optional spaces around the equal
-% sign. Just make them active and then expand them all to nothing.
+% sign. Make them active and then expand them all to nothing.
+%
\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
\def\aliasyyy #1=#2\relax{%
\angleleft un\-de\-fined\angleright
\iflinks
\ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
+ {\toks0 = {#1}% avoid expansion of possibly-complex value
+ \message{\linenumber Undefined cross reference `\the\toks0'.}}%
\else
\ifwarnedxrefs\else
\global\warnedxrefstrue
% #2 is (optional) width, #3 is (optional) height.
% #4 is (ignored optional) html alt text.
% #5 is (ignored optional) extension.
-% #6 is just the usual extra ignored arg for parsing this stuff.
+% #6 is just the usual extra ignored arg for parsing stuff.
\newif\ifimagevmode
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
\catcode`\^^M = 5 % in case we're inside an example
\gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
- \gdef^^ed{\'\i}
- \gdef^^ee{\^\i}
+ \gdef^^ed{\'{\dotless{i}}}
+ \gdef^^ee{\^{\dotless{i}}}
\gdef^^ef{\v d}
%
\gdef^^f0{\dh}
% Prevent underfull vbox error messages.
\vbadness = 10000
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
+% Don't be very finicky about underfull hboxes, either.
+\hbadness = 6666
% Following George Bush, get rid of widows and orphans.
\widowpenalty=10000
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* _GL_WARN_ON_USE(function, "literal string") issues a declaration
+/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
for FUNCTION which will then trigger a compiler warning containing
the text of "literal string" anywhere that function is called, if
supported by the compiler. If the compiler does not support this
/* A compiler attribute is available in gcc versions 4.3.0 and later. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
-
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function. */
+# define _GL_WARN_ON_USE(function, message) \
+extern __typeof__ (function) function
# else /* Unsupported. */
# define _GL_WARN_ON_USE(function, message) \
-extern int _gl_warn_on_use
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
+ is like _GL_WARN_ON_USE (function, "string"), except that the function is
+ declared with the given prototype, consisting of return type, parameters,
+ and attributes.
+ This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+ not work in this case. */
+#ifndef _GL_WARN_ON_USE_CXX
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes \
+ __attribute__ ((__warning__ (msg)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function. */
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes
+# else /* Unsupported. */
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+ performs the declaration with C linkage. */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+# define _GL_WARN_EXTERN_C extern "C"
+# else
+# define _GL_WARN_EXTERN_C extern
# endif
#endif
/* Define to make the limit macros in <stdint.h> visible. */
#undef GL_TRIGGER_STDC_LIMIT_MACROS
-/* Define to 1 when using the gnulib module btowc. */
-#undef GNULIB_BTOWC
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module areadlinkat shall be considered present. */
+#undef GNULIB_AREADLINKAT
-/* Define to 1 when using the gnulib module canonicalize. */
-#undef GNULIB_CANONICALIZE
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module canonicalize-lgpl shall be considered present. */
+#undef GNULIB_CANONICALIZE_LGPL
-/* Define to 1 when using the gnulib module canonicalize_file_name. */
-#undef GNULIB_CANONICALIZE_FILE_NAME
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module close-stream shall be considered present. */
+#undef GNULIB_CLOSE_STREAM
-/* Define to 1 when using the gnulib module chown. */
-#undef GNULIB_CHOWN
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module dirent-safer shall be considered present. */
+#undef GNULIB_DIRENT_SAFER
-/* Define to 1 when using the gnulib module close. */
-#undef GNULIB_CLOSE
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module dirname shall be considered present. */
+#undef GNULIB_DIRNAME
-/* Define to 1 when using the gnulib module close-stream. */
-#undef GNULIB_CLOSE_STREAM
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module fdopendir shall be considered present. */
+#undef GNULIB_FDOPENDIR
-/* Define to 1 when using the gnulib module dirent-safer. */
-#undef GNULIB_DIRENT_SAFER
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module fdutimensat shall be considered present. */
+#undef GNULIB_FDUTIMENSAT
-/* Define to 1 when using the gnulib module dirfd. */
-#undef GNULIB_DIRFD
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module malloc-gnu shall be considered present. */
+#undef GNULIB_MALLOC_GNU
-/* Define to 1 when using the gnulib module dirname. */
-#undef GNULIB_DIRNAME
+/* Define to 1 to add extern declaration of program_invocation_name to argp.h
+ */
+#undef GNULIB_PROGRAM_INVOCATION_NAME
-/* Define to 1 when using the gnulib module dup2. */
-#undef GNULIB_DUP2
+/* Define to 1 to add extern declaration of program_invocation_short_name to
+ argp.h */
+#undef GNULIB_PROGRAM_INVOCATION_SHORT_NAME
-/* Define to 1 when using the gnulib module environ. */
-#undef GNULIB_ENVIRON
+/* Define to 1 when the gnulib module btowc should be tested. */
+#undef GNULIB_TEST_BTOWC
-/* Define to 1 when using the gnulib module fchdir. */
-#undef GNULIB_FCHDIR
+/* Define to 1 when the gnulib module canonicalize_file_name should be tested.
+ */
+#undef GNULIB_TEST_CANONICALIZE_FILE_NAME
-/* Define to 1 when using the gnulib module fclose. */
-#undef GNULIB_FCLOSE
+/* Define to 1 when the gnulib module chown should be tested. */
+#undef GNULIB_TEST_CHOWN
-/* Define to 1 when using the gnulib module fcntl. */
-#undef GNULIB_FCNTL
+/* Define to 1 when the gnulib module cloexec should be tested. */
+#undef GNULIB_TEST_CLOEXEC
-/* Define to 1 when using the gnulib module fdopendir. */
-#undef GNULIB_FDOPENDIR
+/* Define to 1 when the gnulib module close should be tested. */
+#undef GNULIB_TEST_CLOSE
-/* Define to 1 when using the gnulib module fseeko. */
-#undef GNULIB_FSEEKO
+/* Define to 1 when the gnulib module dirfd should be tested. */
+#undef GNULIB_TEST_DIRFD
-/* Define to 1 when using the gnulib module ftruncate. */
-#undef GNULIB_FTRUNCATE
+/* Define to 1 when the gnulib module dup2 should be tested. */
+#undef GNULIB_TEST_DUP2
-/* Define to 1 when using the gnulib module getcwd. */
-#undef GNULIB_GETCWD
+/* Define to 1 when the gnulib module environ should be tested. */
+#undef GNULIB_TEST_ENVIRON
-/* Define to 1 when using the gnulib module getdelim. */
-#undef GNULIB_GETDELIM
+/* Define to 1 when the gnulib module fchdir should be tested. */
+#undef GNULIB_TEST_FCHDIR
-/* Define to 1 when using the gnulib module getdtablesize. */
-#undef GNULIB_GETDTABLESIZE
+/* Define to 1 when the gnulib module fclose should be tested. */
+#undef GNULIB_TEST_FCLOSE
-/* Define to 1 when using the gnulib module getline. */
-#undef GNULIB_GETLINE
+/* Define to 1 when the gnulib module fcntl should be tested. */
+#undef GNULIB_TEST_FCNTL
-/* Define to 1 when using the gnulib module getopt-gnu. */
-#undef GNULIB_GETOPT_GNU
+/* Define to 1 when the gnulib module fdopendir should be tested. */
+#undef GNULIB_TEST_FDOPENDIR
-/* Define to 1 when using the gnulib module getpagesize. */
-#undef GNULIB_GETPAGESIZE
+/* Define to 1 when the gnulib module fseeko should be tested. */
+#undef GNULIB_TEST_FSEEKO
-/* Define to 1 when using the gnulib module gettimeofday. */
-#undef GNULIB_GETTIMEOFDAY
+/* Define to 1 when the gnulib module futimens should be tested. */
+#undef GNULIB_TEST_FUTIMENS
-/* Define to 1 when using the gnulib module lchown. */
-#undef GNULIB_LCHOWN
+/* Define to 1 when the gnulib module getcwd should be tested. */
+#undef GNULIB_TEST_GETCWD
-/* Define to 1 when using the gnulib module lseek. */
-#undef GNULIB_LSEEK
+/* Define to 1 when the gnulib module getdelim should be tested. */
+#undef GNULIB_TEST_GETDELIM
-/* Define to 1 when using the gnulib module lstat. */
-#undef GNULIB_LSTAT
+/* Define to 1 when the gnulib module getdtablesize should be tested. */
+#undef GNULIB_TEST_GETDTABLESIZE
-/* Define to indicate the 'malloc' module. */
-#undef GNULIB_MALLOC_GNU
+/* Define to 1 when the gnulib module getline should be tested. */
+#undef GNULIB_TEST_GETLINE
-/* Define to 1 when using the gnulib module malloc-posix. */
-#undef GNULIB_MALLOC_POSIX
+/* Define to 1 when the gnulib module getopt-gnu should be tested. */
+#undef GNULIB_TEST_GETOPT_GNU
-/* Define to 1 when using the gnulib module mbrtowc. */
-#undef GNULIB_MBRTOWC
+/* Define to 1 when the gnulib module getpagesize should be tested. */
+#undef GNULIB_TEST_GETPAGESIZE
-/* Define to 1 when using the gnulib module mbscasecmp. */
-#undef GNULIB_MBSCASECMP
+/* Define to 1 when the gnulib module gettimeofday should be tested. */
+#undef GNULIB_TEST_GETTIMEOFDAY
-/* Define to 1 when using the gnulib module mbsinit. */
-#undef GNULIB_MBSINIT
+/* Define to 1 when the gnulib module lchown should be tested. */
+#undef GNULIB_TEST_LCHOWN
-/* Define to 1 when using the gnulib module mbsrtowcs. */
-#undef GNULIB_MBSRTOWCS
+/* Define to 1 when the gnulib module link should be tested. */
+#undef GNULIB_TEST_LINK
-/* Define to 1 when using the gnulib module memchr. */
-#undef GNULIB_MEMCHR
+/* Define to 1 when the gnulib module linkat should be tested. */
+#undef GNULIB_TEST_LINKAT
-/* Define to 1 when using the gnulib module mempcpy. */
-#undef GNULIB_MEMPCPY
+/* Define to 1 when the gnulib module lseek should be tested. */
+#undef GNULIB_TEST_LSEEK
-/* Define to 1 when using the gnulib module memrchr. */
-#undef GNULIB_MEMRCHR
+/* Define to 1 when the gnulib module lstat should be tested. */
+#undef GNULIB_TEST_LSTAT
-/* Define to 1 when using the gnulib module mkdtemp. */
-#undef GNULIB_MKDTEMP
+/* Define to 1 when the gnulib module malloc-posix should be tested. */
+#undef GNULIB_TEST_MALLOC_POSIX
-/* Define to 1 when using the gnulib module mktime. */
-#undef GNULIB_MKTIME
+/* Define to 1 when the gnulib module mbrtowc should be tested. */
+#undef GNULIB_TEST_MBRTOWC
-/* Define to 1 when using the gnulib module nl_langinfo. */
-#undef GNULIB_NL_LANGINFO
+/* Define to 1 when the gnulib module mbscasecmp should be tested. */
+#undef GNULIB_TEST_MBSCASECMP
-/* Define to 1 when using the gnulib module open. */
-#undef GNULIB_OPEN
+/* Define to 1 when the gnulib module mbsinit should be tested. */
+#undef GNULIB_TEST_MBSINIT
-/* Define to 1 to add extern declaration of program_invocation_name to argp.h
- */
-#undef GNULIB_PROGRAM_INVOCATION_NAME
+/* Define to 1 when the gnulib module mbsrtowcs should be tested. */
+#undef GNULIB_TEST_MBSRTOWCS
-/* Define to 1 to add extern declaration of program_invocation_short_name to
- argp.h */
-#undef GNULIB_PROGRAM_INVOCATION_SHORT_NAME
+/* Define to 1 when the gnulib module memchr should be tested. */
+#undef GNULIB_TEST_MEMCHR
+
+/* Define to 1 when the gnulib module mempcpy should be tested. */
+#undef GNULIB_TEST_MEMPCPY
+
+/* Define to 1 when the gnulib module memrchr should be tested. */
+#undef GNULIB_TEST_MEMRCHR
+
+/* Define to 1 when the gnulib module mkdtemp should be tested. */
+#undef GNULIB_TEST_MKDTEMP
+
+/* Define to 1 when the gnulib module mkfifo should be tested. */
+#undef GNULIB_TEST_MKFIFO
+
+/* Define to 1 when the gnulib module mkfifoat should be tested. */
+#undef GNULIB_TEST_MKFIFOAT
+
+/* Define to 1 when the gnulib module mknod should be tested. */
+#undef GNULIB_TEST_MKNOD
+
+/* Define to 1 when the gnulib module mknodat should be tested. */
+#undef GNULIB_TEST_MKNODAT
+
+/* Define to 1 when the gnulib module mktime should be tested. */
+#undef GNULIB_TEST_MKTIME
+
+/* Define to 1 when the gnulib module nl_langinfo should be tested. */
+#undef GNULIB_TEST_NL_LANGINFO
+
+/* Define to 1 when the gnulib module open should be tested. */
+#undef GNULIB_TEST_OPEN
-/* Define to 1 when using the gnulib module rawmemchr. */
-#undef GNULIB_RAWMEMCHR
+/* Define to 1 when the gnulib module rawmemchr should be tested. */
+#undef GNULIB_TEST_RAWMEMCHR
-/* Define to 1 when using the gnulib module readlink. */
-#undef GNULIB_READLINK
+/* Define to 1 when the gnulib module readlink should be tested. */
+#undef GNULIB_TEST_READLINK
-/* Define to 1 when using the gnulib module realloc-posix. */
-#undef GNULIB_REALLOC_POSIX
+/* Define to 1 when the gnulib module readlinkat should be tested. */
+#undef GNULIB_TEST_READLINKAT
-/* Define to 1 when using the gnulib module rmdir. */
-#undef GNULIB_RMDIR
+/* Define to 1 when the gnulib module realloc-posix should be tested. */
+#undef GNULIB_TEST_REALLOC_POSIX
-/* Define to 1 when using the gnulib module rpmatch. */
-#undef GNULIB_RPMATCH
+/* Define to 1 when the gnulib module realpath should be tested. */
+#undef GNULIB_TEST_REALPATH
-/* Define to 1 when using the gnulib module setenv. */
-#undef GNULIB_SETENV
+/* Define to 1 when the gnulib module rename should be tested. */
+#undef GNULIB_TEST_RENAME
-/* Define to 1 when using the gnulib module sleep. */
-#undef GNULIB_SLEEP
+/* Define to 1 when the gnulib module renameat should be tested. */
+#undef GNULIB_TEST_RENAMEAT
-/* Define to 1 when using the gnulib module snprintf. */
-#undef GNULIB_SNPRINTF
+/* Define to 1 when the gnulib module rmdir should be tested. */
+#undef GNULIB_TEST_RMDIR
-/* Define to 1 when using the gnulib module stat. */
-#undef GNULIB_STAT
+/* Define to 1 when the gnulib module rpmatch should be tested. */
+#undef GNULIB_TEST_RPMATCH
-/* Define to 1 when using the gnulib module stpcpy. */
-#undef GNULIB_STPCPY
+/* Define to 1 when the gnulib module setenv should be tested. */
+#undef GNULIB_TEST_SETENV
-/* Define to 1 when using the gnulib module strchrnul. */
-#undef GNULIB_STRCHRNUL
+/* Define to 1 when the gnulib module sleep should be tested. */
+#undef GNULIB_TEST_SLEEP
-/* Define to 1 when using the gnulib module strdup. */
-#undef GNULIB_STRDUP
+/* Define to 1 when the gnulib module snprintf should be tested. */
+#undef GNULIB_TEST_SNPRINTF
-/* Define to 1 when using the gnulib module strerror. */
-#undef GNULIB_STRERROR
+/* Define to 1 when the gnulib module stat should be tested. */
+#undef GNULIB_TEST_STAT
-/* Define to 1 when using the gnulib module strndup. */
-#undef GNULIB_STRNDUP
+/* Define to 1 when the gnulib module stpcpy should be tested. */
+#undef GNULIB_TEST_STPCPY
-/* Define to 1 when using the gnulib module strnlen. */
-#undef GNULIB_STRNLEN
+/* Define to 1 when the gnulib module strchrnul should be tested. */
+#undef GNULIB_TEST_STRCHRNUL
-/* Define to 1 when using the gnulib module strtoll. */
-#undef GNULIB_STRTOLL
+/* Define to 1 when the gnulib module strdup should be tested. */
+#undef GNULIB_TEST_STRDUP
-/* Define to 1 when using the gnulib module strtoull. */
-#undef GNULIB_STRTOULL
+/* Define to 1 when the gnulib module strerror should be tested. */
+#undef GNULIB_TEST_STRERROR
-/* Define to 1 when using the gnulib module unlink. */
-#undef GNULIB_UNLINK
+/* Define to 1 when the gnulib module strndup should be tested. */
+#undef GNULIB_TEST_STRNDUP
-/* Define to 1 when using the gnulib module unsetenv. */
-#undef GNULIB_UNSETENV
+/* Define to 1 when the gnulib module strnlen should be tested. */
+#undef GNULIB_TEST_STRNLEN
-/* Define to 1 when using the gnulib module vasprintf. */
-#undef GNULIB_VASPRINTF
+/* Define to 1 when the gnulib module strtoll should be tested. */
+#undef GNULIB_TEST_STRTOLL
-/* Define to 1 when using the gnulib module vsnprintf. */
-#undef GNULIB_VSNPRINTF
+/* Define to 1 when the gnulib module strtoull should be tested. */
+#undef GNULIB_TEST_STRTOULL
-/* Define to 1 when using the gnulib module wcrtomb. */
-#undef GNULIB_WCRTOMB
+/* Define to 1 when the gnulib module symlink should be tested. */
+#undef GNULIB_TEST_SYMLINK
-/* Define to 1 when using the gnulib module wcwidth. */
-#undef GNULIB_WCWIDTH
+/* Define to 1 when the gnulib module symlinkat should be tested. */
+#undef GNULIB_TEST_SYMLINKAT
-/* Define to 1 when using the gnulib module write. */
-#undef GNULIB_WRITE
+/* Define to 1 when the gnulib module time_r should be tested. */
+#undef GNULIB_TEST_TIME_R
+
+/* Define to 1 when the gnulib module unlink should be tested. */
+#undef GNULIB_TEST_UNLINK
+
+/* Define to 1 when the gnulib module unsetenv should be tested. */
+#undef GNULIB_TEST_UNSETENV
+
+/* Define to 1 when the gnulib module utimensat should be tested. */
+#undef GNULIB_TEST_UTIMENSAT
+
+/* Define to 1 when the gnulib module vasprintf should be tested. */
+#undef GNULIB_TEST_VASPRINTF
+
+/* Define to 1 when the gnulib module vsnprintf should be tested. */
+#undef GNULIB_TEST_VSNPRINTF
+
+/* Define to 1 when the gnulib module wcrtomb should be tested. */
+#undef GNULIB_TEST_WCRTOMB
+
+/* Define to 1 when the gnulib module wcwidth should be tested. */
+#undef GNULIB_TEST_WCWIDTH
+
+/* Define to 1 when the gnulib module write should be tested. */
+#undef GNULIB_TEST_WRITE
/* Define to the program name of gzip compressor program */
#undef GZIP_PROGRAM
/* Define to 1 if you have the `chown' function. */
#undef HAVE_CHOWN
-/* Define to 1 if you have the `chsize' function. */
-#undef HAVE_CHSIZE
-
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
*/
#undef HAVE_DECL_DIRFD
+/* Define to 1 if you have the declaration of `fdopendir', and to 0 if you
+ don't. */
+#undef HAVE_DECL_FDOPENDIR
+
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
don't. */
#undef HAVE_DECL_FEOF_UNLOCKED
don't. */
#undef HAVE_DECL_GETLINE
+/* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you
+ don't. */
+#undef HAVE_DECL_GETOPT_CLIP
+
/* Define to 1 if you have the declaration of `getpwuid', and to 0 if you
don't. */
#undef HAVE_DECL_GETPWUID
don't. */
#undef HAVE_DECL_ISBLANK
+/* Define to 1 if you have the declaration of `iswblank', and to 0 if you
+ don't. */
+#undef HAVE_DECL_ISWBLANK
+
/* Define to 1 if you have the declaration of `memrchr', and to 0 if you
don't. */
#undef HAVE_DECL_MEMRCHR
/* Define to 1 if you have the `fchdir' function. */
#undef HAVE_FCHDIR
+/* Define to 1 if you have the `fchmod' function. */
+#undef HAVE_FCHMOD
+
/* Define to 1 if you have the `fchmodat' function. */
#undef HAVE_FCHMODAT
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
-/* Define to 1 if you have the `ftruncate' function. */
-#undef HAVE_FTRUNCATE
-
/* Define to 1 if you have the `funlockfile' function. */
#undef HAVE_FUNLOCKFILE
/* Define to 1 if you have the `futimesat' function. */
#undef HAVE_FUTIMESAT
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
/* Define to 1 if you have the `getdelim' function. */
#undef HAVE_GETDELIM
/* Define to 1 if you have the `isblank' function. */
#undef HAVE_ISBLANK
+/* Define to 1 if you have the `iswblank' function. */
+#undef HAVE_ISWBLANK
+
/* Define to 1 if you have the `iswcntrl' function. */
#undef HAVE_ISWCNTRL
/* Define to 1 if you have the <linewrap.h> header file. */
#undef HAVE_LINEWRAP_H
+/* Define to 1 if you have the `link' function. */
+#undef HAVE_LINK
+
+/* Define to 1 if you have the `linkat' function. */
+#undef HAVE_LINKAT
+
/* Define to 1 if you have the <linux/fd.h> header file. */
#undef HAVE_LINUX_FD_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
+/* Define to 1 if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
/* Define to 1 if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define to 1 if you have the `lutimes' function. */
#undef HAVE_LUTIMES
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and
to 0 otherwise. */
-#undef HAVE_MALLOC
+#undef HAVE_MALLOC_GNU
/* Define if the 'malloc' function is POSIX compliant. */
#undef HAVE_MALLOC_POSIX
/* Define to 1 if you have the `mkfifo' function. */
#undef HAVE_MKFIFO
+/* Define to 1 if you have the `mkfifoat' function. */
+#undef HAVE_MKFIFOAT
+
+/* Define to 1 if you have the `mknod' function. */
+#undef HAVE_MKNOD
+
+/* Define to 1 if you have the `mknodat' function. */
+#undef HAVE_MKNODAT
+
/* Define to 1 if you have the `mprotect' function. */
#undef HAVE_MPROTECT
#undef HAVE_OS_H
/* Define to 1 if getcwd works, except it sometimes fails when it shouldn't,
- setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If __GETCWD_PREFIX is not
- defined, it doesn't matter whether HAVE_PARTLY_WORKING_GETCWD is defined.
- */
+ setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */
#undef HAVE_PARTLY_WORKING_GETCWD
/* Define to 1 if you have the `pathconf' function. */
/* Define to 1 if getusershell is declared even after undefining macros. */
#undef HAVE_RAW_DECL_GETUSERSHELL
+/* Define to 1 if grantpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GRANTPT
+
/* Define to 1 if imaxabs is declared even after undefining macros. */
#undef HAVE_RAW_DECL_IMAXABS
/* Define to 1 if pread is declared even after undefining macros. */
#undef HAVE_RAW_DECL_PREAD
+/* Define to 1 if ptsname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME
+
+/* Define to 1 if pwrite is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PWRITE
+
/* Define to 1 if random_r is declared even after undefining macros. */
#undef HAVE_RAW_DECL_RANDOM_R
/* Define to 1 if strncasecmp is declared even after undefining macros. */
#undef HAVE_RAW_DECL_STRNCASECMP
+/* Define to 1 if strncat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNCAT
+
/* Define to 1 if strndup is declared even after undefining macros. */
#undef HAVE_RAW_DECL_STRNDUP
/* Define to 1 if symlinkat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_SYMLINKAT
+/* Define to 1 if tmpfile is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TMPFILE
+
+/* Define to 1 if ttyname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TTYNAME_R
+
/* Define to 1 if unlink is declared even after undefining macros. */
#undef HAVE_RAW_DECL_UNLINK
/* Define to 1 if unlinkat is declared even after undefining macros. */
#undef HAVE_RAW_DECL_UNLINKAT
+/* Define to 1 if unlockpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLOCKPT
+
/* Define to 1 if unsetenv is declared even after undefining macros. */
#undef HAVE_RAW_DECL_UNSETENV
/* Define to 1 if wcwidth is declared even after undefining macros. */
#undef HAVE_RAW_DECL_WCWIDTH
+/* Define to 1 if _Exit is declared even after undefining macros. */
+#undef HAVE_RAW_DECL__EXIT
+
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
+/* Define to 1 if you have the `readlinkat' function. */
+#undef HAVE_READLINKAT
+
/* Define if the 'realloc' function is POSIX compliant. */
#undef HAVE_REALLOC_POSIX
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
-/* Define to 1 if you have the `rmdir' function. */
-#undef HAVE_RMDIR
+/* Define to 1 if you have the `renameat' function. */
+#undef HAVE_RENAMEAT
/* Define to 1 if you have the `rpmatch' function. */
#undef HAVE_RPMATCH
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
+/* Define if the return value of the snprintf function is the number of of
+ bytes (excluding the terminating NUL) that would have been produced if the
+ buffer had been large enough. */
+#undef HAVE_SNPRINTF_RETVAL_C99
+
/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H
/* Define to 1 if you have the `strnlen' function. */
#undef HAVE_STRNLEN
-/* Define to 1 if you have the <stropts.h> header file. */
-#undef HAVE_STROPTS_H
-
/* Define to 1 if you have the `strtoimax' function. */
#undef HAVE_STRTOIMAX
/* Define to 1 if you have the `symlink' function. */
#undef HAVE_SYMLINK
+/* Define to 1 if you have the `symlinkat' function. */
+#undef HAVE_SYMLINKAT
+
/* Define to 1 if you have the <sysexits.h> header file. */
#undef HAVE_SYSEXITS_H
*/
#undef HAVE_SYS_DIR_H
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
/* Define to 1 if you have the <sys/gentape.h> header file. */
#undef HAVE_SYS_GENTAPE_H
/* 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 <utime.h> header file. */
#undef HAVE_UTIME_H
# define ISSLASH(C) ((C) == '/')
#endif
+/* Define to 1 if linkat fails to recognize a trailing slash. */
+#undef LINKAT_TRAILING_SLASH_BUG
+
+/* Define to 1 if `link(2)' dereferences symbolic links, 0 if it creates hard
+ links to symlinks, and -1 if unknown. */
+#undef LINK_FOLLOWS_SYMLINKS
+
/* Define to 1 if lseek does not detect pipes. */
#undef LSEEK_PIPE_BROKEN
/* Define if the mbrtowc function returns a wrong return value. */
#undef MBRTOWC_RETVAL_BUG
+/* Define to 1 if mkfifo does not reject trailing slash */
+#undef MKFIFO_TRAILING_SLASH_BUG
+
+/* Define to 1 if mknod cannot create a fifo without super-user privileges */
+#undef MKNOD_FIFO_BUG
+
/* Define to mt_model (v.g., for DG/UX), else to mt_type. */
#undef MTIO_CHECK_FIELD
/* Define to the full path of your rsh, if any. */
#undef REMOTE_SHELL
+/* Define if rename does not work when the destination file exists, as on
+ Cygwin 1.5 or Windows. */
+#undef RENAME_DEST_EXISTS_BUG
+
+/* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or
+ Cygwin 1.5. */
+#undef RENAME_HARD_LINK_BUG
+
+/* Define if rename does not correctly handle slashes on the destination
+ argument, such as on Solaris 10 or NetBSD 1.6. */
+#undef RENAME_TRAILING_SLASH_DEST_BUG
+
+/* Define if rename does not correctly handle slashes on the source argument,
+ such as on Solaris 9 or cygwin 1.5. */
+#undef RENAME_TRAILING_SLASH_SOURCE_BUG
+
/* Define to 1 if gnulib's fchdir() replacement is used. */
#undef REPLACE_FCHDIR
/* Define to 1 if unlink (dir) cannot possibly succeed. */
#undef UNLINK_CANNOT_UNLINK_DIR
+/* Define to 1 if unlink() on a parent directory may succeed */
+#undef UNLINK_PARENT_BUG
+
+/* Define to the prefix of C symbols at the assembler and linker level, either
+ an underscore or empty. */
+#undef USER_LABEL_PREFIX
+
/* Define to 1 if you want getc etc. to use unlocked I/O if available.
Unlocked I/O can improve performance in unithreaded apps, but it is not
safe for multithreaded apps. */
/* Type of major device numbers. */
#undef major_t
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
/* Define to a type if <wchar.h> does not define. */
#undef mbstate_t
/* Define as a signed type of the same size as size_t. */
#undef ssize_t
-/* Define to rpl_strnlen if the replacement function should be used. */
-#undef strnlen
-
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for GNU tar 1.23.
+# Generated by GNU Autoconf 2.63 for GNU tar 1.24.
#
# Report bugs to <bug-tar@gnu.org>.
#
# Identity of this package.
PACKAGE_NAME='GNU tar'
PACKAGE_TARNAME='tar'
-PACKAGE_VERSION='1.23'
-PACKAGE_STRING='GNU tar 1.23'
+PACKAGE_VERSION='1.24'
+PACKAGE_STRING='GNU tar 1.24'
PACKAGE_BUGREPORT='bug-tar@gnu.org'
ac_unique_file="src/tar.c"
LIB_SETSOCKOPT
LIBGNU_LTLIBDEPS
LIBGNU_LIBDEPS
+gltests_WITNESS
REPLACE_ISWCNTRL
HAVE_WCTYPE_H
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H
NEXT_WCTYPE_H
+REPLACE_ISWBLANK
+HAVE_ISWBLANK
HAVE_ISWCNTRL
HAVE_WINT_T
HAVE_WCHAR_H
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
NEXT_WCHAR_H
+LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE
+LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE
+LIBUNISTRING_UNIWIDTH_H
+LIBUNISTRING_UNITYPES_H
HAVE_UNISTD_H
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
NEXT_UNISTD_H
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
TIME_H_DEFINES_STRUCT_TIMESPEC
NEXT_AS_FIRST_DIRECTIVE_TIME_H
NEXT_STDLIB_H
NEXT_AS_FIRST_DIRECTIVE_STDIO_H
NEXT_STDIO_H
+ASM_SYMBOL_PREFIX
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
NEXT_STDDEF_H
STDDEF_H
NEXT_STDARG_H
STDARG_H
REPLACE_TIMEGM
-REPLACE_STRPTIME
REPLACE_NANOSLEEP
REPLACE_MKTIME
REPLACE_LOCALTIME_R
+HAVE_TIMEGM
+HAVE_STRPTIME
+HAVE_NANOSLEEP
+HAVE_LOCALTIME_R
+GNULIB_TIME_R
GNULIB_TIMEGM
GNULIB_STRPTIME
GNULIB_NANOSLEEP
UNDEFINE_STRTOK_R
REPLACE_STRTOK_R
REPLACE_STRSIGNAL
+REPLACE_STRNLEN
REPLACE_STRNDUP
+REPLACE_STRNCAT
REPLACE_STRERROR
REPLACE_STRCASESTR
REPLACE_STRSTR
REPLACE_STRDUP
+REPLACE_STPNCPY
REPLACE_MEMMEM
REPLACE_MEMCHR
HAVE_STRVERSCMP
HAVE_DECL_STRSIGNAL
-HAVE_DECL_STRERROR
HAVE_DECL_STRTOK_R
HAVE_STRCASESTR
HAVE_STRSEP
HAVE_DECL_MEMRCHR
HAVE_MEMPCPY
HAVE_DECL_MEMMEM
+HAVE_MEMCHR
HAVE_MBSLEN
GNULIB_STRVERSCMP
GNULIB_STRSIGNAL
GNULIB_STRPBRK
GNULIB_STRNLEN
GNULIB_STRNDUP
+GNULIB_STRNCAT
GNULIB_STRDUP
GNULIB_STRCHRNUL
GNULIB_STPNCPY
LOCALE_JA
LOCALCHARSET_TESTS_ENVIRONMENT
GLIBC21
+HAVE_LANGINFO_YESEXPR
HAVE_LANGINFO_ERA
+HAVE_LANGINFO_T_FMT_AMPM
HAVE_LANGINFO_CODESET
HAVE_LANGINFO_H
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H
HAVE_INTTYPES_H
HAVE_UNSIGNED_LONG_LONG_INT
HAVE_LONG_LONG_INT
+HAVE__BOOL
+STDBOOL_H
NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
NEXT_SYS_TIME_H
REPLACE_GETTIMEOFDAY
HAVE_GETOPT_H
NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
NEXT_GETOPT_H
-HAVE__BOOL
-STDBOOL_H
FNMATCH_H
FLOAT_H
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H
REPLACE_VFPRINTF
REPLACE_VDPRINTF
REPLACE_VASPRINTF
+REPLACE_TMPFILE
REPLACE_STDIO_WRITE_FUNCS
REPLACE_SPRINTF
REPLACE_SNPRINTF
HAVE_VDPRINTF
HAVE_VASPRINTF
HAVE_RENAMEAT
+HAVE_FTELLO
+HAVE_FSEEKO
HAVE_DPRINTF
HAVE_DECL_VSNPRINTF
HAVE_DECL_SNPRINTF
GNULIB_VFPRINTF
GNULIB_VDPRINTF
GNULIB_VASPRINTF
+GNULIB_TMPFILE
GNULIB_STDIO_H_SIGPIPE
GNULIB_SPRINTF_POSIX
GNULIB_SNPRINTF
NEXT_ERRNO_H
NEXT_AS_FIRST_DIRECTIVE_DIRENT_H
NEXT_DIRENT_H
+PRAGMA_COLUMNS
PRAGMA_SYSTEM_HEADER
INCLUDE_NEXT_AS_FIRST_DIRECTIVE
INCLUDE_NEXT
REPLACE_OPENDIR
REPLACE_FDOPENDIR
+REPLACE_DIRFD
REPLACE_CLOSEDIR
HAVE_ALPHASORT
HAVE_SCANDIR
HAVE_FDOPENDIR
+HAVE_DECL_FDOPENDIR
HAVE_DECL_DIRFD
GNULIB_ALPHASORT
GNULIB_SCANDIR
REPLACE_USLEEP
REPLACE_UNLINKAT
REPLACE_UNLINK
+REPLACE_TTYNAME_R
REPLACE_SYMLINK
REPLACE_SLEEP
REPLACE_RMDIR
REPLACE_READLINK
+REPLACE_PWRITE
REPLACE_PREAD
REPLACE_LSEEK
REPLACE_LINKAT
REPLACE_GETGROUPS
REPLACE_GETCWD
REPLACE_FCHOWNAT
-REPLACE_FCHDIR
REPLACE_DUP2
REPLACE_DUP
REPLACE_CLOSE
REPLACE_CHOWN
-HAVE_USLEEP
-HAVE_UNLINKAT
HAVE_SYS_PARAM_H
HAVE_OS_H
+HAVE_DECL_GETUSERSHELL
+HAVE_DECL_GETPAGESIZE
HAVE_DECL_GETLOGIN_R
HAVE_DECL_ENVIRON
+HAVE_USLEEP
+HAVE_UNLINKAT
+HAVE_TTYNAME_R
HAVE_SYMLINKAT
HAVE_SYMLINK
HAVE_SLEEP
HAVE_READLINKAT
HAVE_READLINK
+HAVE_PWRITE
HAVE_PREAD
HAVE_PIPE2
HAVE_LINKAT
HAVE_LINK
HAVE_LCHOWN
-HAVE_GETUSERSHELL
HAVE_GETPAGESIZE
HAVE_GETLOGIN
HAVE_GETHOSTNAME
HAVE_FTRUNCATE
HAVE_FSYNC
HAVE_FCHOWNAT
+HAVE_FCHDIR
HAVE_FACCESSAT
HAVE_EUIDACCESS
HAVE_DUP3
GNULIB_UNLINK
GNULIB_UNISTD_H_SIGPIPE
GNULIB_UNISTD_H_GETOPT
+GNULIB_TTYNAME_R
GNULIB_SYMLINKAT
GNULIB_SYMLINK
GNULIB_SLEEP
GNULIB_RMDIR
GNULIB_READLINKAT
GNULIB_READLINK
+GNULIB_PWRITE
GNULIB_PREAD
GNULIB_PIPE2
GNULIB_LSEEK
REPLACE_STRTOD
REPLACE_SETENV
REPLACE_REALPATH
+REPLACE_REALLOC
REPLACE_PUTENV
REPLACE_MKSTEMP
+REPLACE_MALLOC
REPLACE_CANONICALIZE_FILE_NAME
+REPLACE_CALLOC
HAVE_UNSETENV
+HAVE_UNLOCKPT
HAVE_SYS_LOADAVG_H
HAVE_STRUCT_RANDOM_DATA
HAVE_STRTOULL
HAVE_SETENV
HAVE_RPMATCH
HAVE_REALPATH
-HAVE_REALLOC_POSIX
HAVE_RANDOM_R
+HAVE_PTSNAME
HAVE_MKSTEMPS
+HAVE_MKSTEMP
HAVE_MKOSTEMPS
HAVE_MKOSTEMP
HAVE_MKDTEMP
-HAVE_MALLOC_POSIX
+HAVE_GRANTPT
HAVE_GETSUBOPT
HAVE_DECL_GETLOADAVG
HAVE_CANONICALIZE_FILE_NAME
-HAVE_CALLOC_POSIX
HAVE_ATOLL
+HAVE__EXIT
GNULIB_UNSETENV
+GNULIB_UNLOCKPT
+GNULIB_SYSTEM_POSIX
GNULIB_STRTOULL
GNULIB_STRTOLL
GNULIB_STRTOD
GNULIB_REALLOC_POSIX
GNULIB_RANDOM_R
GNULIB_PUTENV
+GNULIB_PTSNAME
GNULIB_MKSTEMPS
GNULIB_MKSTEMP
GNULIB_MKOSTEMPS
GNULIB_MKOSTEMP
GNULIB_MKDTEMP
GNULIB_MALLOC_POSIX
+GNULIB_GRANTPT
GNULIB_GETSUBOPT
GNULIB_GETLOADAVG
GNULIB_CANONICALIZE_FILE_NAME
GNULIB_CALLOC_POSIX
GNULIB_ATOLL
+GNULIB__EXIT
LOCALE_FR
REPLACE_WCWIDTH
REPLACE_WCSNRTOMBS
# 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.23 to adapt to many kinds of systems.
+\`configure' configures GNU tar 1.24 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU tar 1.23:";;
+ short | recursive ) echo "Configuration of GNU tar 1.24:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU tar configure 1.23
+GNU tar configure 1.24
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
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.23, which was
+It was created by GNU tar $as_me 1.24, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
ac_header_list="$ac_header_list net/errno.h"
ac_header_list="$ac_header_list sgtty.h"
ac_header_list="$ac_header_list string.h"
-ac_header_list="$ac_header_list stropts.h"
ac_header_list="$ac_header_list sys/param.h"
ac_header_list="$ac_header_list sys/device.h"
-ac_header_list="$ac_header_list sys/filio.h"
ac_header_list="$ac_header_list sys/gentape.h"
ac_header_list="$ac_header_list sys/inet.h"
ac_header_list="$ac_header_list sys/io/trioctl.h"
ac_func_list="$ac_func_list pathconf"
ac_func_list="$ac_func_list btowc"
ac_func_list="$ac_func_list canonicalize_file_name"
+ac_func_list="$ac_func_list getcwd"
+ac_func_list="$ac_func_list readlink"
ac_func_list="$ac_func_list realpath"
ac_func_list="$ac_func_list chown"
ac_func_list="$ac_func_list fchown"
ac_header_list="$ac_header_list errno.h"
ac_func_list="$ac_func_list fchdir"
ac_func_list="$ac_func_list fcntl"
+ac_func_list="$ac_func_list mempcpy"
ac_header_list="$ac_header_list float.h"
ac_func_list="$ac_func_list isblank"
ac_func_list="$ac_func_list iswctype"
ac_func_list="$ac_func_list mbsrtowcs"
-ac_func_list="$ac_func_list mempcpy"
ac_func_list="$ac_func_list wmemchr"
ac_func_list="$ac_func_list wmemcpy"
ac_func_list="$ac_func_list wmempcpy"
gl_fnmatch_required=GNU
ac_header_list="$ac_header_list stdio_ext.h"
ac_func_list="$ac_func_list __fpending"
-ac_func_list="$ac_func_list ftruncate"
+ac_func_list="$ac_func_list futimens"
ac_func_list="$ac_func_list getdelim"
ac_func_list="$ac_func_list getdtablesize"
gl_getopt_required=GNU
ac_header_list="$ac_header_list inttypes.h"
ac_header_list="$ac_header_list langinfo.h"
ac_func_list="$ac_func_list lchmod"
+ac_func_list="$ac_func_list link"
+ac_func_list="$ac_func_list linkat"
+ac_func_list="$ac_func_list symlink"
ac_func_list="$ac_func_list lstat"
ac_func_list="$ac_func_list mbsinit"
ac_func_list="$ac_func_list mbrtowc"
ac_header_list="$ac_header_list sys/mman.h"
ac_func_list="$ac_func_list mprotect"
+ac_func_list="$ac_func_list memchr"
+ac_func_list="$ac_func_list mkfifo"
+ac_func_list="$ac_func_list mkfifoat"
+ac_func_list="$ac_func_list mknodat"
+ac_func_list="$ac_func_list mknod"
ac_func_list="$ac_func_list alarm"
ac_func_list="$ac_func_list nl_langinfo"
-ac_func_list="$ac_func_list readlink"
+ac_header_list="$ac_header_list priv.h"
+ac_func_list="$ac_func_list readlinkat"
ac_func_list="$ac_func_list wcscoll"
+ac_func_list="$ac_func_list renameat"
ac_func_list="$ac_func_list setenv"
ac_func_list="$ac_func_list sleep"
ac_header_list="$ac_header_list stdarg.h"
ac_header_list="$ac_header_list stddef.h"
ac_header_list="$ac_header_list stdio.h"
ac_header_list="$ac_header_list stdlib.h"
+ac_func_list="$ac_func_list strdup"
ac_header_list="$ac_header_list sys/socket.h"
ac_header_list="$ac_header_list strings.h"
ac_func_list="$ac_func_list strndup"
+ac_func_list="$ac_func_list symlinkat"
ac_header_list="$ac_header_list sys/stat.h"
ac_header_list="$ac_header_list sysexits.h"
ac_header_list="$ac_header_list time.h"
+ac_func_list="$ac_func_list localtime_r"
ac_func_list="$ac_func_list pipe"
-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 lutimes"
ac_func_list="$ac_func_list vasnprintf"
ac_func_list="$ac_func_list wcrtomb"
ac_func_list="$ac_func_list iswcntrl"
+ac_func_list="$ac_func_list iswblank"
ac_func_list="$ac_func_list wcwidth"
ac_header_list="$ac_header_list netdb.h"
ac_header_list="$ac_header_list sys/wait.h"
ac_header_list="$ac_header_list pwd.h"
ac_header_list="$ac_header_list grp.h"
-ac_func_list="$ac_func_list mkfifo"
ac_func_list="$ac_func_list setlocale"
+ac_func_list="$ac_func_list fchmod"
+ac_func_list="$ac_func_list fsync"
gt_needs="$gt_needs need-formatstring-macros"
# Check that the precious variables saved in the cache have kept the same
# value.
# Define the identity of the package.
PACKAGE='tar'
- VERSION='1.23'
+ VERSION='1.24'
cat >>confdefs.h <<_ACEOF
-
-
-
+ # Code from module alloca:
+ # Code from module alloca-opt:
+ # Code from module areadlink:
+ # Code from module areadlinkat:
+ # Code from module arg-nonnull:
+ # Code from module argmatch:
+ # Code from module argp:
+ # Code from module argp-version-etc:
+ # Code from module backupfile:
+ # Code from module bitrotate:
+ # Code from module btowc:
+ # Code from module c++defs:
+ # Code from module c-ctype:
+ # Code from module canonicalize-lgpl:
+ # Code from module chdir-long:
+ # Code from module chown:
+ # Code from module clock-time:
+ # Code from module cloexec:
+ # Code from module close:
+ # Code from module close-hook:
+ # Code from module close-stream:
+ # Code from module closeout:
+ # Code from module configmake:
+ # Code from module d-ino:
+ # Code from module dirent:
+ # Code from module dirent-safer:
+ # Code from module dirfd:
+ # Code from module dirname:
+ # Code from module dirname-lgpl:
+ # Code from module double-slash-root:
+ # Code from module dup2:
+ # Code from module environ:
+ # Code from module errno:
+ # Code from module error:
+ # Code from module exclude:
+ # Code from module exitfail:
+ # Code from module extensions:
+
+ # Code from module fchdir:
+ # Code from module fclose:
+ # Code from module fcntl:
+ # Code from module fcntl-h:
+ # Code from module fdopendir:
+ # Code from module fdutimensat:
+ # Code from module fileblocks:
+ # Code from module filenamecat-lgpl:
+ # Code from module float:
+ # Code from module fnmatch:
+ # Code from module fnmatch-gnu:
+ # Code from module fpending:
+ # Code from module fseeko:
+
+ # Code from module full-write:
+ # Code from module futimens:
+ # Code from module getcwd:
+ # Code from module getdelim:
+ # Code from module getdtablesize:
+ # Code from module getline:
+ # Code from module getopt-gnu:
+ # Code from module getopt-posix:
+ # Code from module getpagesize:
+ # Code from module gettext:
+ # Code from module gettext-h:
+ # Code from module gettime:
+ # Code from module gettimeofday:
+ # Code from module gitlog-to-changelog:
+ # Code from module hash:
+ # Code from module havelib:
+ # Code from module human:
+ # Code from module include_next:
+ # Code from module inline:
+ # Code from module intprops:
+ # Code from module inttostr:
+ # Code from module inttypes:
+ # Code from module langinfo:
+ # Code from module lchown:
+ # Code from module link:
+ # Code from module link-follow:
+ # Code from module linkat:
+ # Code from module localcharset:
+ # Code from module lseek:
+ # Code from module lstat:
+ # Code from module malloc-gnu:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module mbchar:
+ # Code from module mbrtowc:
+ # Code from module mbscasecmp:
+ # Code from module mbsinit:
+ # Code from module mbsrtowcs:
+ # Code from module mbuiter:
+ # Code from module memchr:
+ # Code from module mempcpy:
+ # Code from module memrchr:
+ # Code from module mkdir:
+ # Code from module mkdtemp:
+ # Code from module mkfifo:
+ # Code from module mkfifoat:
+ # Code from module mknod:
+ # Code from module mktime:
+ # Code from module modechange:
+ # Code from module multiarch:
+ # Code from module nl_langinfo:
+ # Code from module obstack:
+ # Code from module open:
+ # Code from module openat:
+ # Code from module openat-die:
+ # Code from module parse-datetime:
+ # Code from module pathmax:
+ # Code from module priv-set:
+ # Code from module progname:
+ # Code from module quote:
+ # Code from module quotearg:
+ # Code from module quotearg-simple:
+ # Code from module rawmemchr:
+ # Code from module readlink:
+ # Code from module readlinkat:
+ # Code from module realloc-posix:
+ # Code from module regex:
+ # Code from module rename:
+ # Code from module renameat:
+ # Code from module rmdir:
+ # Code from module rpmatch:
+ # Code from module safe-read:
+ # Code from module safe-write:
+ # Code from module same-inode:
+ # Code from module save-cwd:
+ # Code from module savedir:
+ # Code from module setenv:
+ # Code from module size_max:
+ # Code from module sleep:
+ # Code from module snprintf:
+ # Code from module ssize_t:
+ # Code from module stat:
+ # Code from module stat-macros:
+ # Code from module stat-time:
+ # Code from module stdarg:
+
+ # Code from module stdbool:
+ # Code from module stddef:
+ # Code from module stdint:
+ # Code from module stdio:
+ # Code from module stdlib:
+ # Code from module stpcpy:
+ # Code from module strcase:
+ # Code from module strchrnul:
+ # Code from module strdup-posix:
+ # Code from module streq:
+ # Code from module strerror:
+ # Code from module string:
+ # Code from module strings:
+ # Code from module strndup:
+ # Code from module strnlen:
+ # Code from module strnlen1:
+ # Code from module strtoimax:
+ # Code from module strtol:
+ # Code from module strtoll:
+ # Code from module strtoul:
+ # Code from module strtoull:
+ # Code from module strtoumax:
+ # Code from module symlink:
+ # Code from module symlinkat:
+ # Code from module sys_stat:
+ # Code from module sys_time:
+ # Code from module sysexits:
+ # Code from module tempname:
+ # Code from module time:
+ # Code from module time_r:
+ # Code from module timespec:
+ # Code from module unistd:
+ # Code from module unistd-safer:
+ # Code from module unitypes:
+ # Code from module uniwidth/base:
+ # Code from module uniwidth/width:
+ # Code from module unlink:
+ # Code from module unlinkdir:
+ # Code from module unlocked-io:
+ # Code from module unsetenv:
+ # Code from module utimens:
+ # Code from module utimensat:
+ # Code from module vasnprintf:
+ # Code from module vasprintf:
+ # Code from module verify:
+ # Code from module version-etc:
+ # Code from module version-etc-fsf:
+ # Code from module vsnprintf:
+ # Code from module warn-on-use:
+ # Code from module wchar:
+ # Code from module wcrtomb:
+ # Code from module wctype:
+ # Code from module wcwidth:
+ # Code from module write:
+ # Code from module xalloc:
+ # Code from module xalloc-die:
+ # Code from module xgetcwd:
+ # Code from module xsize:
+ # Code from module xstrndup:
+ # Code from module xstrtol:
+ # Code from module xstrtoumax:
+ # Code from module xvasprintf:
# Check whether --enable-largefile was given.
-
-
-
-
-
-
-
-
main ()
{
int x = sizeof (ssize_t *) + sizeof (ssize_t);
- return !x;
+ return !x;
;
return 0;
}
+ LIBC_FATAL_STDERR_=1
+ export LIBC_FATAL_STDERR_
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
typedef int * int_ptr;
- int foo (int_ptr $ac_kw ip) {
- return ip[0];
+ int foo (int_ptr $ac_kw ip) {
+ return ip[0];
}
int
main ()
{
int s[1];
- int * $ac_kw t = s;
- t[0] = 0;
- return foo(t)
+ int * $ac_kw t = s;
+ t[0] = 0;
+ return foo(t)
;
return 0;
}
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether // is distinct from /" >&5
$as_echo_n "checking whether // is distinct from /... " >&6; }
if test "${gl_cv_double_slash_root+set}" = set; then
fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GNULIB__EXIT=0;
GNULIB_ATOLL=0;
GNULIB_CALLOC_POSIX=0;
GNULIB_CANONICALIZE_FILE_NAME=0;
GNULIB_GETLOADAVG=0;
GNULIB_GETSUBOPT=0;
+ GNULIB_GRANTPT=0;
GNULIB_MALLOC_POSIX=0;
GNULIB_MKDTEMP=0;
GNULIB_MKOSTEMP=0;
GNULIB_MKOSTEMPS=0;
GNULIB_MKSTEMP=0;
GNULIB_MKSTEMPS=0;
+ GNULIB_PTSNAME=0;
GNULIB_PUTENV=0;
GNULIB_RANDOM_R=0;
GNULIB_REALLOC_POSIX=0;
GNULIB_STRTOD=0;
GNULIB_STRTOLL=0;
GNULIB_STRTOULL=0;
+ GNULIB_SYSTEM_POSIX=0;
+ GNULIB_UNLOCKPT=0;
GNULIB_UNSETENV=0;
- HAVE_ATOLL=1;
- HAVE_CALLOC_POSIX=1;
+ HAVE__EXIT=1;
+ HAVE_ATOLL=1;
HAVE_CANONICALIZE_FILE_NAME=1;
HAVE_DECL_GETLOADAVG=1;
HAVE_GETSUBOPT=1;
- HAVE_MALLOC_POSIX=1;
+ HAVE_GRANTPT=1;
HAVE_MKDTEMP=1;
HAVE_MKOSTEMP=1;
HAVE_MKOSTEMPS=1;
+ HAVE_MKSTEMP=1;
HAVE_MKSTEMPS=1;
+ HAVE_PTSNAME=1;
HAVE_RANDOM_R=1;
- HAVE_REALLOC_POSIX=1;
HAVE_REALPATH=1;
HAVE_RPMATCH=1;
HAVE_SETENV=1;
HAVE_STRTOULL=1;
HAVE_STRUCT_RANDOM_DATA=1;
HAVE_SYS_LOADAVG_H=0;
+ HAVE_UNLOCKPT=1;
HAVE_UNSETENV=1;
+ REPLACE_CALLOC=0;
REPLACE_CANONICALIZE_FILE_NAME=0;
+ REPLACE_MALLOC=0;
REPLACE_MKSTEMP=0;
REPLACE_PUTENV=0;
+ REPLACE_REALLOC=0;
REPLACE_REALPATH=0;
REPLACE_SETENV=0;
REPLACE_STRTOD=0;
GNULIB_LSEEK=0;
GNULIB_PIPE2=0;
GNULIB_PREAD=0;
+ GNULIB_PWRITE=0;
GNULIB_READLINK=0;
GNULIB_READLINKAT=0;
GNULIB_RMDIR=0;
GNULIB_SLEEP=0;
GNULIB_SYMLINK=0;
GNULIB_SYMLINKAT=0;
+ GNULIB_TTYNAME_R=0;
GNULIB_UNISTD_H_GETOPT=0;
GNULIB_UNISTD_H_SIGPIPE=0;
GNULIB_UNLINK=0;
HAVE_DUP3=1;
HAVE_EUIDACCESS=1;
HAVE_FACCESSAT=1;
+ HAVE_FCHDIR=1;
HAVE_FCHOWNAT=1;
HAVE_FSYNC=1;
HAVE_FTRUNCATE=1;
HAVE_GETHOSTNAME=1;
HAVE_GETLOGIN=1;
HAVE_GETPAGESIZE=1;
- HAVE_GETUSERSHELL=1;
HAVE_LCHOWN=1;
HAVE_LINK=1;
HAVE_LINKAT=1;
HAVE_PIPE2=1;
HAVE_PREAD=1;
+ HAVE_PWRITE=1;
HAVE_READLINK=1;
HAVE_READLINKAT=1;
HAVE_SLEEP=1;
HAVE_SYMLINK=1;
HAVE_SYMLINKAT=1;
+ HAVE_TTYNAME_R=1;
+ HAVE_UNLINKAT=1;
+ HAVE_USLEEP=1;
HAVE_DECL_ENVIRON=1;
HAVE_DECL_GETLOGIN_R=1;
+ HAVE_DECL_GETPAGESIZE=1;
+ HAVE_DECL_GETUSERSHELL=1;
HAVE_OS_H=0;
HAVE_SYS_PARAM_H=0;
- HAVE_UNLINKAT=1;
- HAVE_USLEEP=1;
REPLACE_CHOWN=0;
REPLACE_CLOSE=0;
REPLACE_DUP=0;
REPLACE_DUP2=0;
- REPLACE_FCHDIR=0;
REPLACE_FCHOWNAT=0;
REPLACE_GETCWD=0;
REPLACE_GETGROUPS=0;
REPLACE_LINKAT=0;
REPLACE_LSEEK=0;
REPLACE_PREAD=0;
+ REPLACE_PWRITE=0;
REPLACE_READLINK=0;
REPLACE_RMDIR=0;
REPLACE_SLEEP=0;
REPLACE_SYMLINK=0;
+ REPLACE_TTYNAME_R=0;
REPLACE_UNLINK=0;
REPLACE_UNLINKAT=0;
REPLACE_USLEEP=0;
fi
- { $as_echo "$as_me:$LINENO: checking whether chown honors trailing slash" >&5
+ { $as_echo "$as_me:$LINENO: checking whether chown honors trailing slash" >&5
$as_echo_n "checking whether chown honors trailing slash... " >&6; }
if test "${gl_cv_func_chown_slash_works+set}" = set; then
$as_echo_n "(cached) " >&6
GNULIB_SCANDIR=0;
GNULIB_ALPHASORT=0;
HAVE_DECL_DIRFD=1;
+ HAVE_DECL_FDOPENDIR=1;
HAVE_FDOPENDIR=1;
HAVE_SCANDIR=1;
HAVE_ALPHASORT=1;
REPLACE_CLOSEDIR=0;
+ REPLACE_DIRFD=0;
REPLACE_FDOPENDIR=0;
REPLACE_OPENDIR=0;
+ { $as_echo "$as_me:$LINENO: checking whether system header files limit the line length" >&5
+$as_echo_n "checking whether system header files limit the line length... " >&6; }
+if test "${gl_cv_pragma_columns+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef __TANDEM
+choke me
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "choke me" >/dev/null 2>&1; then
+ gl_cv_pragma_columns=yes
+else
+ gl_cv_pragma_columns=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_pragma_columns" >&5
+$as_echo "$gl_cv_pragma_columns" >&6; }
+ if test $gl_cv_pragma_columns = yes; then
+ PRAGMA_COLUMNS="#pragma COLUMNS 10000"
+ else
+ PRAGMA_COLUMNS=
+ fi
+
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <unistd.h>
- extern struct { int foo; } environ;
+ extern struct { int foo; } environ;
int
main ()
{
#if !defined ESTALE
booboo
#endif
+#if !defined EDQUOT
+booboo
+#endif
#if !defined ECANCELED
booboo
#endif
GNULIB_SNPRINTF=0;
GNULIB_SPRINTF_POSIX=0;
GNULIB_STDIO_H_SIGPIPE=0;
+ GNULIB_TMPFILE=0;
GNULIB_VASPRINTF=0;
GNULIB_VDPRINTF=0;
GNULIB_VFPRINTF=0;
HAVE_DECL_SNPRINTF=1;
HAVE_DECL_VSNPRINTF=1;
HAVE_DPRINTF=1;
+ HAVE_FSEEKO=1;
+ HAVE_FTELLO=1;
HAVE_RENAMEAT=1;
HAVE_VASPRINTF=1;
HAVE_VDPRINTF=1;
REPLACE_SNPRINTF=0;
REPLACE_SPRINTF=0;
REPLACE_STDIO_WRITE_FUNCS=0;
+ REPLACE_TMPFILE=0;
REPLACE_VASPRINTF=0;
REPLACE_VDPRINTF=0;
REPLACE_VFPRINTF=0;
+
+
{ $as_echo "$as_me:$LINENO: checking for mbstate_t" >&5
$as_echo_n "checking for mbstate_t... " >&6; }
if test "${ac_cv_type_mbstate_t+set}" = set; then
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for fseeko" >&5
+$as_echo_n "checking for fseeko... " >&6; }
+if test "${gl_cv_func_fseeko+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+
+int
+main ()
+{
+fseeko (stdin, 0, 0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ gl_cv_func_fseeko=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_func_fseeko=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5
+$as_echo "$gl_cv_func_fseeko" >&6; }
{ $as_echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5
fi
-{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if test "${ac_cv_header_stdbool_h+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- #if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
- #endif
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
-
-int
-main ()
-{
-
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdbool_h=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdbool_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
- { $as_echo "$as_me:$LINENO: checking for _Bool" >&5
-$as_echo_n "checking for _Bool... " >&6; }
-if test "${ac_cv_type__Bool+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether getdelim is declared" >&5
+$as_echo_n "checking whether getdelim is declared... " >&6; }
+if test "${ac_cv_have_decl_getdelim+set}" = set; then
$as_echo_n "(cached) " >&6
else
- ac_cv_type__Bool=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (_Bool))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
int
main ()
{
-if (sizeof ((_Bool)))
- return 0;
+#ifndef getdelim
+ (void) getdelim;
+#endif
+
;
return 0;
}
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type__Bool=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_have_decl_getdelim=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
+ ac_cv_have_decl_getdelim=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5
-$as_echo "$ac_cv_type__Bool" >&6; }
-if test "x$ac_cv_type__Bool" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5
+$as_echo "$ac_cv_have_decl_getdelim" >&6; }
+if test "x$ac_cv_have_decl_getdelim" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
+#define HAVE_DECL_GETDELIM 1
_ACEOF
-fi
-
- if test $ac_cv_header_stdbool_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STDBOOL_H 1
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETDELIM 0
_ACEOF
- fi
-
-
-
- # Define two additional variables used in the Makefile substitution.
-
- if test "$ac_cv_header_stdbool_h" = yes; then
- STDBOOL_H=''
- else
- STDBOOL_H='stdbool.h'
- fi
-
-
- if test "$ac_cv_type__Bool" = yes; then
- HAVE__BOOL=1
- else
- HAVE__BOOL=0
- fi
-
+fi
- # getdate.y works with bison only.
- : ${YACC='bison -y'}
- { $as_echo "$as_me:$LINENO: checking for compound literals" >&5
-$as_echo_n "checking for compound literals... " >&6; }
-if test "${gl_cv_compound_literals+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether getline is declared" >&5
+$as_echo_n "checking whether getline is declared... " >&6; }
+if test "${ac_cv_have_decl_getline+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-struct s { int i, j; };
+$ac_includes_default
int
main ()
{
-struct s t = (struct s) { 3, 4 };
- if (t.i != 0) return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- gl_cv_compound_literals=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- gl_cv_compound_literals=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_compound_literals" >&5
-$as_echo "$gl_cv_compound_literals" >&6; }
- if test $gl_cv_compound_literals = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_COMPOUND_LITERALS 1
-_ACEOF
-
- fi
-
-{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
-$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
-if test "${ac_cv_struct_tm+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <time.h>
-
-int
-main ()
-{
-struct tm tm;
- int *p = &tm.tm_sec;
- return !p;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_struct_tm=time.h
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_struct_tm=sys/time.h
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
-$as_echo "$ac_cv_struct_tm" >&6; }
-if test $ac_cv_struct_tm = sys/time.h; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TM_IN_SYS_TIME 1
-_ACEOF
-
-fi
-
-
- { $as_echo "$as_me:$LINENO: checking for struct tm.tm_gmtoff" >&5
-$as_echo_n "checking for struct tm.tm_gmtoff... " >&6; }
-if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (ac_aggr.tm_gmtoff)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_member_struct_tm_tm_gmtoff=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (sizeof ac_aggr.tm_gmtoff)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_member_struct_tm_tm_gmtoff=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_member_struct_tm_tm_gmtoff=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5
-$as_echo "$ac_cv_member_struct_tm_tm_gmtoff" >&6; }
-if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TM_GMTOFF 1
-_ACEOF
-
-fi
-
-
-{ $as_echo "$as_me:$LINENO: checking whether getdelim is declared" >&5
-$as_echo_n "checking whether getdelim is declared... " >&6; }
-if test "${ac_cv_have_decl_getdelim+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef getdelim
- (void) getdelim;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_getdelim=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_getdelim=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5
-$as_echo "$ac_cv_have_decl_getdelim" >&6; }
-if test "x$ac_cv_have_decl_getdelim" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETDELIM 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETDELIM 0
-_ACEOF
-
-
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking whether getline is declared" >&5
-$as_echo_n "checking whether getline is declared... " >&6; }
-if test "${ac_cv_have_decl_getline+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef getline
- (void) getline;
-#endif
-
+#ifndef getline
+ (void) getline;
+#endif
+
;
return 0;
}
fi
- if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ if test -z "$gl_replace_getopt"; then
{ $as_echo "$as_me:$LINENO: checking whether optreset is declared" >&5
$as_echo_n "checking whether optreset is declared... " >&6; }
if test "${ac_cv_have_decl_optreset+set}" = set; then
#define HAVE_DECL_OPTRESET 0
_ACEOF
+{ $as_echo "$as_me:$LINENO: checking whether getopt_clip is declared" >&5
+$as_echo_n "checking whether getopt_clip is declared... " >&6; }
+if test "${ac_cv_have_decl_getopt_clip+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <getopt.h>
+
+int
+main ()
+{
+#ifndef getopt_clip
+ (void) getopt_clip;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_getopt_clip=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_getopt_clip=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getopt_clip" >&5
+$as_echo "$ac_cv_have_decl_getopt_clip" >&6; }
+if test "x$ac_cv_have_decl_getopt_clip" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETOPT_CLIP 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETOPT_CLIP 0
+_ACEOF
+
+
+fi
+
+
fi
fi
- if test -z "$gl_replace_getopt"; then
+ if test -z "$gl_replace_getopt"; then
{ $as_echo "$as_me:$LINENO: checking whether getopt is POSIX compatible" >&5
$as_echo_n "checking whether getopt is POSIX compatible... " >&6; }
if test "${gl_cv_func_getopt_posix+set}" = set; then
if test "$cross_compiling" = yes; then
case "$host_os" in
- mingw*) gl_cv_func_getopt_posix="guessing no";;
- *) gl_cv_func_getopt_posix="guessing yes";;
+ mingw*) gl_cv_func_getopt_posix="guessing no";;
+ darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
+ *) gl_cv_func_getopt_posix="guessing yes";;
esac
else
#include <stdlib.h>
#include <string.h>
-#if !HAVE_DECL_OPTRESET
+#if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP
# define OPTIND_MIN 0
#else
# define OPTIND_MIN 1
if (!(optind == 1))
return 12;
}
+ /* Detect MacOS 10.5, AIX 7.1 bug. */
+ {
+ char *argv[3] = { "program", "-ab", NULL };
+ optind = OPTIND_MIN;
+ opterr = 0;
+ if (getopt (2, argv, "ab:") != 'a')
+ return 13;
+ if (getopt (2, argv, "ab:") != '?')
+ return 14;
+ if (optopt != 'b')
+ return 15;
+ if (optind != 2)
+ return 16;
+ }
return 0;
}
# optstring is necessary for programs like m4 that have POSIX-mandated
# semantics for supporting options interspersed with files.
# Also, since getopt_long is a GNU extension, we require optind=0.
- gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes}
+ # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
+ # so take care to revert to the correct (non-)export state.
+ gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
+ case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
+ xx) gl_had_POSIXLY_CORRECT=exported ;;
+ x) gl_had_POSIXLY_CORRECT=yes ;;
+ *) gl_had_POSIXLY_CORRECT= ;;
+ esac
POSIXLY_CORRECT=1
export POSIXLY_CORRECT
if test "$cross_compiling" = yes; then
if (getopt (3, argv, "-p") != 'p')
return 7;
}
+ /* This code fails on glibc 2.11. */
+ {
+ char *argv[] = { "program", "-b", "-a", NULL };
+ optind = opterr = 0;
+ if (getopt (3, argv, "+:a:b") != 'b')
+ return 8;
+ if (getopt (3, argv, "+:a:b") != ':')
+ return 9;
+ }
return 0;
;
fi
- if test "$gl_had_POSIXLY_CORRECT" != yes; then
- $as_unset POSIXLY_CORRECT || test "${POSIXLY_CORRECT+set}" != set || { POSIXLY_CORRECT=; export POSIXLY_CORRECT; }
- fi
+ case $gl_had_POSIXLY_CORRECT in
+ exported) ;;
+ yes) $as_unset POSIXLY_CORRECT || test "${POSIXLY_CORRECT+set}" != set || { POSIXLY_CORRECT=; export POSIXLY_CORRECT; }; POSIXLY_CORRECT=1 ;;
+ *) $as_unset POSIXLY_CORRECT || test "${POSIXLY_CORRECT+set}" != set || { POSIXLY_CORRECT=; export POSIXLY_CORRECT; } ;;
+ esac
fi
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getopt_gnu" >&5
+
+
+
GNULIB_GETTIMEOFDAY=0;
HAVE_GETTIMEOFDAY=1;
HAVE_STRUCT_TIMEVAL=1;
+{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5
+$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+if test "${ac_cv_header_stdbool_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
+
+ struct s { _Bool s: 1; _Bool t; } s;
+
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
+
+int
+main ()
+{
+
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdbool_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdbool_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
+$as_echo "$ac_cv_header_stdbool_h" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for _Bool" >&5
+$as_echo_n "checking for _Bool... " >&6; }
+if test "${ac_cv_type__Bool+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type__Bool=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (_Bool))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((_Bool)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type__Bool=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5
+$as_echo "$ac_cv_type__Bool" >&6; }
+if test "x$ac_cv_type__Bool" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE__BOOL 1
+_ACEOF
+
+
+fi
+
+ if test $ac_cv_header_stdbool_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STDBOOL_H 1
+_ACEOF
+
+ fi
+
+
+
+ # Define two additional variables used in the Makefile substitution.
+
+ if test "$ac_cv_header_stdbool_h" = yes; then
+ STDBOOL_H=''
+ else
+ STDBOOL_H='stdbool.h'
+ fi
+
+
+ if test "$ac_cv_type__Bool" = yes; then
+ HAVE__BOOL=1
+ else
+ HAVE__BOOL=0
+ fi
+
+
{ $as_echo "$as_me:$LINENO: checking for long long int" >&5
$as_echo_n "checking for long long int... " >&6; }
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <inttypes.h>
#ifdef PRId32
char *p = PRId32;
- { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5
-$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
-if test "${ac_cv_gnu_library_2_1+set}" = set; then
+
+
+ { $as_echo "$as_me:$LINENO: checking whether lstat correctly handles trailing slash" >&5
+$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
+if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ rm -f conftest.sym conftest.file
+ echo >conftest.file
+ if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+ if test "$cross_compiling" = yes; then
+ # When cross-compiling, be pessimistic so we will end up using the
+ # replacement version of lstat that checks for trailing slashes and
+ # calls lstat a second time when necessary.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+struct stat sbuf;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
-
+ ;
+ return 0;
+}
_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky GNU user" >/dev/null 2>&1; then
- ac_cv_gnu_library_2_1=yes
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_lstat_dereferences_slashed_symlink=yes
else
- ac_cv_gnu_library_2_1=no
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_lstat_dereferences_slashed_symlink=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest*
+ else
+ # If the 'ln -s' command failed, then we probably don't even
+ # have an lstat function.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+ rm -f conftest.sym conftest.file
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5
-$as_echo "$ac_cv_gnu_library_2_1" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
+$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
+ test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
- GLIBC21="$ac_cv_gnu_library_2_1"
+cat >>confdefs.h <<_ACEOF
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+_ACEOF
+ if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then
-{ $as_echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
-$as_echo_n "checking whether lstat dereferences a symlink specified with a trailing slash... " >&6; }
-if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
+
+ fi
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5
+$as_echo_n "checking whether unlink honors trailing slashes... " >&6; }
+if test "${gl_cv_func_unlink_honors_slashes+set}" = set; then
$as_echo_n "(cached) " >&6
else
- rm -f conftest.sym conftest.file
-echo >conftest.file
-if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
- if test "$cross_compiling" = yes; then
- ac_cv_func_lstat_dereferences_slashed_symlink=no
+ touch conftest.file
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.file conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_unlink_honors_slashes="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_includes_default
+#include <unistd.h>
+ #include <errno.h>
+
int
main ()
{
-struct stat sbuf;
- /* Linux will dereference the symlink and fail.
- That is better in the sense that it means we will not
- have to compile and use the lstat wrapper. */
- return lstat ("conftest.sym/", &sbuf) == 0;
+if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1;
+#if HAVE_LSTAT
+ if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2;
+#endif
+
;
return 0;
}
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_func_lstat_dereferences_slashed_symlink=yes
+ gl_cv_func_unlink_honors_slashes=yes
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
-ac_cv_func_lstat_dereferences_slashed_symlink=no
+gl_cv_func_unlink_honors_slashes=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+ rm -f conftest.file conftest.lnk
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_honors_slashes" >&5
+$as_echo "$gl_cv_func_unlink_honors_slashes" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether unlink of a parent directory fails is it should" >&5
+$as_echo_n "checking whether unlink of a parent directory fails is it should... " >&6; }
+if test "${gl_cv_func_unlink_parent_fails+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case "$host_os" in
+ darwin*)
+ if {
+ # Use the mktemp program if available. If not available, hide the error
+ # message.
+ tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+ } ||
+ {
+ # Use a simple mkdir command. It is guaranteed to fail if the directory
+ # already exists. $RANDOM is bash specific and expands to empty in shells
+ # other than bash, ksh and zsh. Its use does not increase security;
+ # rather, it minimizes the probability of failure in a very cluttered /tmp
+ # directory.
+ tmp=/tmp/gt$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ }; then
+ mkdir "$tmp/subdir"
+ GL_SUBDIR_FOR_UNLINK="$tmp/subdir"
+ export GL_SUBDIR_FOR_UNLINK
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_unlink_parent_fails="guessing no"
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <stdlib.h>
+ #include <unistd.h>
+ int main ()
+ {
+ if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0)
+ return 1;
+ return unlink ("..") == 0;
+ }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_unlink_parent_fails=yes
else
- # If the `ln -s' command failed, then we probably don't even
- # have an lstat function.
- ac_cv_func_lstat_dereferences_slashed_symlink=no
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_unlink_parent_fails=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-rm -f conftest.sym conftest.file
+
+
+ unset GL_SUBDIR_FOR_UNLINK
+ rm -rf "$tmp"
+ else
+ gl_cv_func_unlink_parent_fails="guessing no"
+ fi
+ ;;
+ *)
+ gl_cv_func_unlink_parent_fails="guessing yes"
+ ;;
+ esac
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
-$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_parent_fails" >&5
+$as_echo "$gl_cv_func_unlink_parent_fails" >&6; }
+ case "$gl_cv_func_unlink_parent_fails" in
+ *no)
-test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+cat >>confdefs.h <<\_ACEOF
+#define UNLINK_PARENT_BUG 1
+_ACEOF
-cat >>confdefs.h <<_ACEOF
-#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+ ;;
+ esac
+ if test "$gl_cv_func_unlink_honors_slashes" != yes \
+ || { case "$gl_cv_func_unlink_parent_fails" in
+ *yes) false;;
+ *no) true;;
+ esac
+ }; then
+ REPLACE_UNLINK=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS unlink.$ac_objext"
+
+ fi
+
+
+
+ GNULIB_OPENAT=1
+
+
+ GNULIB_FCHMODAT=1
+ GNULIB_FSTATAT=1
+ GNULIB_MKDIRAT=1
+
+
+ GNULIB_FCHOWNAT=1
+ GNULIB_UNLINKAT=1
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in fchmodat fstatat mkdirat openat unlinkat
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <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. */
-if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+#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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ eval "$as_ac_var=no"
+fi
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+fi
+done
+
+
+
+
+ case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in
+ yes+yes)
+ # GNU/Hurd has unlinkat, but it has the same bug as unlink.
+ if test $REPLACE_UNLINK = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
+
+ REPLACE_UNLINKAT=1
+ fi ;;
+ yes+*)
+ # Solaris 9 has *at functions, but uniformly mishandles trailing
+ # slash in all of them.
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext"
+
+ REPLACE_OPENAT=1
- gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext"
+
+ REPLACE_FSTATAT=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
+
+ REPLACE_UNLINKAT=1
+ ;;
+ *)
+ HAVE_OPENAT=0
+ HAVE_UNLINKAT=0 # No known system with unlinkat but not openat
+ HAVE_FSTATAT=0 # No known system with fstatat but not openat
+
+
+
+ :
+;;
+ esac
+ if test $ac_cv_func_fchmodat != yes; then
+ HAVE_FCHMODAT=0
+ fi
+ if test $ac_cv_func_mkdirat != yes; then
+ HAVE_MKDIRAT=0
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for fchownat" >&5
+$as_echo_n "checking for fchownat... " >&6; }
+if test "${ac_cv_func_fchownat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define fchownat to an innocuous variant, in case <limits.h> declares fchownat.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define fchownat innocuous_fchownat
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char fchownat (); 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 fchownat
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fchownat ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_fchownat || defined __stub___fchownat
+choke me
+#endif
+
+int
+main ()
+{
+return fchownat ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_fchownat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_fchownat=no
fi
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5
+$as_echo "$ac_cv_func_fchownat" >&6; }
+if test "x$ac_cv_func_fchownat" = x""yes; then
+
+ { $as_echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5
+$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; }
+if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_dangle=conftest.dangle
+ # Remove any remnants of a previous test.
+ rm -f $gl_dangle
+ # Arrange for deletion of the temporary file this test creates.
+ ac_clean_files="$ac_clean_files $gl_dangle"
+ ln -s conftest.no-such $gl_dangle
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_fchownat_nofollow_works=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/types.h>
+int
+main ()
+{
+ return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (),
+ AT_SYMLINK_NOFOLLOW) != 0
+ && errno == ENOENT);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_fchownat_nofollow_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_fchownat_nofollow_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5
+$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; }
+ if test $gl_cv_func_fchownat_nofollow_works = no; then
+ REPLACE_FCHOWNAT=1
+
+cat >>confdefs.h <<\_ACEOF
+#define FCHOWNAT_NOFOLLOW_BUG 1
+_ACEOF
+
+
+fi
+
+
+ if test $REPLACE_CHOWN = 1; then
+ REPLACE_FCHOWNAT=1
+ fi
+else
+ HAVE_FCHOWNAT=0
+fi
+
+ if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext"
+
+ fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5
+$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
+if test "${ac_cv_gnu_library_2_1+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Lucky GNU user" >/dev/null 2>&1; then
+ ac_cv_gnu_library_2_1=yes
+else
+ ac_cv_gnu_library_2_1=no
+fi
+rm -f conftest*
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5
+$as_echo "$ac_cv_gnu_library_2_1" >&6; }
+
+ GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5
$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
main ()
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- choke me
- #endif
+ choke me
+ #endif
;
return 0;
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
if (MB_CUR_MAX == 1)
return 1;
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
+ This excludes the UTF-8 encoding (except on MirBSD). */
t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
for (p = buf; *p != '\0'; p++)
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
#endif
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
+ This excludes the UTF-8 encoding (except on MirBSD). */
t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
for (p = buf; *p != '\0'; p++)
GNULIB_STPNCPY=0;
GNULIB_STRCHRNUL=0;
GNULIB_STRDUP=0;
+ GNULIB_STRNCAT=0;
GNULIB_STRNDUP=0;
GNULIB_STRNLEN=0;
GNULIB_STRPBRK=0;
GNULIB_STRSIGNAL=0;
GNULIB_STRVERSCMP=0;
HAVE_MBSLEN=0;
- HAVE_DECL_MEMMEM=1;
+ HAVE_MEMCHR=1;
+ HAVE_DECL_MEMMEM=1;
HAVE_MEMPCPY=1;
HAVE_DECL_MEMRCHR=1;
HAVE_RAWMEMCHR=1;
HAVE_STRSEP=1;
HAVE_STRCASESTR=1;
HAVE_DECL_STRTOK_R=1;
- HAVE_DECL_STRERROR=1;
HAVE_DECL_STRSIGNAL=1;
HAVE_STRVERSCMP=1;
REPLACE_MEMCHR=0;
REPLACE_MEMMEM=0;
+ REPLACE_STPNCPY=0;
REPLACE_STRDUP=0;
REPLACE_STRSTR=0;
REPLACE_STRCASESTR=0;
REPLACE_STRERROR=0;
+ REPLACE_STRNCAT=0;
REPLACE_STRNDUP=0;
+ REPLACE_STRNLEN=0;
REPLACE_STRSIGNAL=0;
REPLACE_STRTOK_R=0;
UNDEFINE_STRTOK_R=0;
+
+
# Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
# fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
# irrelevant for anonymous mappings.
-
-
-
-
-for ac_func in memchr
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-
-fi
-done
-
-
- if test $ac_cv_func_memchr = no; then
-
-
-for ac_header in bp-sym.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## ------------------------------ ##
-## Report this to bug-tar@gnu.org ##
-## ------------------------------ ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- REPLACE_MEMCHR=1
- fi
if test $ac_cv_func_memchr = yes; then
# Detect platform-specific bugs in some versions of glibc:
strcpy (fence - 9, "12345678");
if (memchr (fence - 9, 0, 79) != fence - 1)
return 2;
+ if (memchr (fence - 1, 0, 3) != fence - 1)
+ return 3;
}
return 0;
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_memchr_works" >&5
$as_echo "$gl_cv_func_memchr_works" >&6; }
if test "$gl_cv_func_memchr_works" != yes; then
+ REPLACE_MEMCHR=1
+ fi
+ else
+ HAVE_MEMCHR=0
+ fi
+ if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext"
+
for ac_header in bp-sym.h
done
- REPLACE_MEMCHR=1
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS memchr.$ac_objext"
-
- fi
fi
{ $as_echo "$as_me:$LINENO: checking whether memrchr is declared" >&5
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- ac_cv_have_decl_memrchr=yes
+ ac_cv_have_decl_memrchr=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_memrchr=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_memrchr" >&5
+$as_echo "$ac_cv_have_decl_memrchr" >&6; }
+if test "x$ac_cv_have_decl_memrchr" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MEMRCHR 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MEMRCHR 0
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+ GNULIB_MKTIME=0;
+ GNULIB_NANOSLEEP=0;
+ GNULIB_STRPTIME=0;
+ GNULIB_TIMEGM=0;
+ GNULIB_TIME_R=0;
+ HAVE_LOCALTIME_R=1;
+ HAVE_NANOSLEEP=1;
+ HAVE_STRPTIME=1;
+ HAVE_TIMEGM=1;
+ REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
+ REPLACE_MKTIME=GNULIB_PORTCHECK;
+ REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
+ REPLACE_TIMEGM=GNULIB_PORTCHECK;
+
+
+
+
+
+
+ # parse-datetime.y works with bison only.
+ : ${YACC='bison -y'}
+
+
+ { $as_echo "$as_me:$LINENO: checking for compound literals" >&5
+$as_echo_n "checking for compound literals... " >&6; }
+if test "${gl_cv_compound_literals+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+struct s { int i, j; };
+int
+main ()
+{
+struct s t = (struct s) { 3, 4 };
+ if (t.i != 0) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_compound_literals=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_have_decl_memrchr=no
+ gl_cv_compound_literals=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_memrchr" >&5
-$as_echo "$ac_cv_have_decl_memrchr" >&6; }
-if test "x$ac_cv_have_decl_memrchr" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_compound_literals" >&5
+$as_echo "$gl_cv_compound_literals" >&6; }
+ if test $gl_cv_compound_literals = yes; then
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MEMRCHR 1
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_COMPOUND_LITERALS 1
_ACEOF
+ fi
+{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
+$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+if test "${ac_cv_struct_tm+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MEMRCHR 0
+ 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 <time.h>
+int
+main ()
+{
+struct tm tm;
+ int *p = &tm.tm_sec;
+ return !p;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_struct_tm=time.h
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_struct_tm=sys/time.h
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
+$as_echo "$ac_cv_struct_tm" >&6; }
+if test $ac_cv_struct_tm = sys/time.h; then
+cat >>confdefs.h <<\_ACEOF
+#define TM_IN_SYS_TIME 1
+_ACEOF
- GNULIB_MKTIME=0;
- GNULIB_NANOSLEEP=0;
- GNULIB_STRPTIME=0;
- GNULIB_TIMEGM=0;
- REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
- REPLACE_MKTIME=GNULIB_PORTCHECK;
- REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
- REPLACE_STRPTIME=GNULIB_PORTCHECK;
- REPLACE_TIMEGM=GNULIB_PORTCHECK;
-
-
-
-
-
-
+fi
- { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5
-$as_echo_n "checking whether unlink honors trailing slashes... " >&6; }
-if test "${gl_cv_func_unlink_works+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for struct tm.tm_gmtoff" >&5
+$as_echo_n "checking for struct tm.tm_gmtoff... " >&6; }
+if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then
$as_echo_n "(cached) " >&6
-else
- touch conftest.file
- # Assume that if we have lstat, we can also check symlinks.
- if test $ac_cv_func_lstat = yes; then
- ln -s conftest.file conftest.lnk
- fi
- if test "$cross_compiling" = yes; then
- gl_cv_func_unlink_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <unistd.h>
- #include <errno.h>
+#include <time.h>
int
main ()
{
-if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1;
-#if HAVE_LSTAT
- if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2;
-#endif
-
+static struct tm ac_aggr;
+if (ac_aggr.tm_gmtoff)
+return 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$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
$as_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_cv_member_struct_tm_tm_gmtoff=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+
+int
+main ()
+{
+static struct tm ac_aggr;
+if (sizeof ac_aggr.tm_gmtoff)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_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
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gl_cv_func_unlink_works=yes
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_tm_tm_gmtoff=yes
else
- $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-gl_cv_func_unlink_works=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ ac_cv_member_struct_tm_tm_gmtoff=no
fi
-
- rm -f conftest.file conftest.lnk
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_works" >&5
-$as_echo "$gl_cv_func_unlink_works" >&6; }
- if test x"$gl_cv_func_unlink_works" != xyes; then
- REPLACE_UNLINK=1
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5
+$as_echo "$ac_cv_member_struct_tm_tm_gmtoff" >&6; }
+if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TM_GMTOFF 1
+_ACEOF
+fi
- gl_LIBOBJS="$gl_LIBOBJS unlink.$ac_objext"
- fi
#include <stdlib.h>
#include <errno.h>
+ #include <string.h>
int
main ()
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';
+ wchar_t foo = (wchar_t)'\0';
int
main ()
{
+ { $as_echo "$as_me:$LINENO: checking whether C symbols are prefixed with underscore at the linker level" >&5
+$as_echo_n "checking whether C symbols are prefixed with underscore at the linker level... " >&6; }
+if test "${gl_cv_prog_as_underscore+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+#ifdef __cplusplus
+extern "C" int foo (void);
+#endif
+int foo(void) { return 0; }
+EOF
+ # Look for the assembly language name in the .s file.
+ { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } >/dev/null 2>&1
+ if grep _foo conftest.s >/dev/null ; then
+ gl_cv_prog_as_underscore=yes
+ else
+ gl_cv_prog_as_underscore=no
+ fi
+ rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_prog_as_underscore" >&5
+$as_echo "$gl_cv_prog_as_underscore" >&6; }
+ if test $gl_cv_prog_as_underscore = yes; then
+ USER_LABEL_PREFIX=_
+ else
+ USER_LABEL_PREFIX=
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define USER_LABEL_PREFIX $USER_LABEL_PREFIX
+_ACEOF
+
+ ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"'
+
+
+
HAVE_STRCASECMP=1;
HAVE_DECL_STRNCASECMP=1;
+
+
{ $as_echo "$as_me:$LINENO: checking whether strdup is declared" >&5
$as_echo_n "checking whether strdup is declared... " >&6; }
if test "${ac_cv_have_decl_strdup+set}" = set; then
- for gl_func in memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp; do
+
+ for gl_func in memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp; do
as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+
+
{ $as_echo "$as_me:$LINENO: checking for struct timespec in <time.h>" >&5
$as_echo_n "checking for struct timespec in <time.h>... " >&6; }
if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then
TIME_H_DEFINES_STRUCT_TIMESPEC=0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
TIME_H_DEFINES_STRUCT_TIMESPEC=1
else
$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ { $as_echo "$as_me:$LINENO: checking for struct timespec in <pthread.h>" >&5
+$as_echo_n "checking for struct timespec in <pthread.h>... " >&6; }
+if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <pthread.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_sys_struct_timespec_in_pthread_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_sys_struct_timespec_in_pthread_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
+ if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
fi
fi
+
if test $gl_cv_have_include_next = yes; then
gl_cv_next_time_h='<'time.h'>'
else
+
+
+
+
+
+gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+
+
+ if test "$HAVE_LIBUNISTRING" = yes; then
+ LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
+ LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ fi
+
+
{ $as_echo "$as_me:$LINENO: checking whether the utimes function works" >&5
$as_echo_n "checking whether the utimes function works... " >&6; }
if test "${gl_cv_func_working_utimes+set}" = set; then
-
-
{ $as_echo "$as_me:$LINENO: checking for wint_t" >&5
$as_echo_n "checking for wint_t... " >&6; }
if test "${gt_cv_c_wint_t+set}" = set; then
#include <stdio.h>
#include <time.h>
#include <wchar.h>
- wint_t foo = (wchar_t)'\0';
+ wint_t foo = (wchar_t)'\0';
int
main ()
{
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <sys/types.h>
#include <inttypes.h>
+
int
main ()
{
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/types.h>
-#include <stdint.h>
+ #include <stdint.h>
int
main ()
{
+ { $as_echo "$as_me:$LINENO: checking whether snprintf returns a byte count as in C99" >&5
+$as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; }
+if test "${gl_cv_func_snprintf_retval_c99+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then
+
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ # Guess yes on FreeBSD >= 5.
+ freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";;
+ freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ # Guess yes on MacOS X >= 10.3.
+ darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";;
+ darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ # Guess yes on OpenBSD >= 3.9.
+ openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
+ gl_cv_func_snprintf_retval_c99="guessing no";;
+ openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+ # Guess yes on Solaris >= 2.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
+
+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>
+#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;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_snprintf_retval_c99=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_snprintf_retval_c99=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_retval_c99" >&5
+$as_echo "$gl_cv_func_snprintf_retval_c99" >&6; }
+
+
+
+
+
+ case "$gl_cv_func_snprintf_retval_c99" in
+ *yes)
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SNPRINTF_RETVAL_C99 1
+_ACEOF
+
+ ;;
+ esac
+
{ $as_echo "$as_me:$LINENO: checking whether vsnprintf is declared" >&5
$as_echo_n "checking whether vsnprintf is declared... " >&6; }
if test "${ac_cv_have_decl_vsnprintf+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether iswblank is declared" >&5
+$as_echo_n "checking whether iswblank is declared... " >&6; }
+if test "${ac_cv_have_decl_iswblank+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef iswblank
+ (void) iswblank;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_iswblank=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_iswblank=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_iswblank" >&5
+$as_echo "$ac_cv_have_decl_iswblank" >&6; }
+if test "x$ac_cv_have_decl_iswblank" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ISWBLANK 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ISWBLANK 0
+_ACEOF
+
+
+fi
+
+
+
+
if false; then
GL_COND_LIBTOOL_TRUE=
gl_cond_libtool=false
gl_libdeps=
gl_ltlibdeps=
+ gl_m4_base='m4'
gl_source_base='gnu'
+ # Code from module alloca:
+ # Code from module alloca-opt:
fi
+ # Code from module areadlink:
+ # Code from module areadlinkat:
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_AREADLINKAT 1
+_ACEOF
+
+
+ # Code from module arg-nonnull:
+ # Code from module argmatch:
gl_LIBOBJS="$gl_LIBOBJS argmatch.$ac_objext"
+ # Code from module argp:
int
main ()
{
- program_invocation_name = "test";
+program_invocation_name = "test";
;
return 0;
}
#define HAVE_PROGRAM_INVOCATION_NAME 1
_ACEOF
- { $as_echo "$as_me:$LINENO: result: yes" >&5
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
+ { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
int
main ()
{
- program_invocation_short_name = "test";
+program_invocation_short_name = "test";
;
return 0;
}
#define HAVE_PROGRAM_INVOCATION_SHORT_NAME 1
_ACEOF
- { $as_echo "$as_me:$LINENO: result: yes" >&5
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
+ { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=argp_failure:4:c-format"
+ # Code from module argp-version-etc:
+ # Code from module backupfile:
+ # Code from module bitrotate:
+ # Code from module btowc:
- { $as_echo "$as_me:$LINENO: checking whether btowc(EOF) is correct" >&5
+
+ { $as_echo "$as_me:$LINENO: checking whether btowc(0) is correct" >&5
+$as_echo_n "checking whether btowc(0) is correct... " >&6; }
+if test "${gl_cv_func_btowc_nul+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then
+
+ case "$host_os" in
+ # Guess no on Cygwin.
+ cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_nul="guessing yes" ;;
+ esac
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+ if (btowc ('\0') != 0)
+ return 1;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_btowc_nul=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_btowc_nul=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_btowc_nul" >&5
+$as_echo "$gl_cv_func_btowc_nul" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking whether btowc(EOF) is correct" >&5
$as_echo_n "checking whether btowc(EOF) is correct... " >&6; }
if test "${gl_cv_func_btowc_eof+set}" = set; then
$as_echo_n "(cached) " >&6
fi
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_btowc_eof" >&5
$as_echo "$gl_cv_func_btowc_eof" >&6; }
+
+ case "$gl_cv_func_btowc_nul" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
case "$gl_cv_func_btowc_eof" in
*yes) ;;
*) REPLACE_BTOWC=1 ;;
+
GNULIB_BTOWC=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_BTOWC 1
+#define GNULIB_TEST_BTOWC 1
_ACEOF
+ # Code from module c++defs:
+ # Code from module c-ctype:
+ # Code from module canonicalize-lgpl:
+ if test $ac_cv_func_canonicalize_file_name = no; then
+ HAVE_CANONICALIZE_FILE_NAME=0
- gl_LIBOBJS="$gl_LIBOBJS canonicalize.$ac_objext"
+ gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
+ if test $ac_cv_func_realpath = no; then
+ HAVE_REALPATH=0
+ elif test "$gl_cv_func_realpath_works" != yes; then
+ REPLACE_REALPATH=1
+ fi
+ elif test "$gl_cv_func_realpath_works" != yes; then
+ gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
- if test $ac_cv_func_canonicalize_file_name = no; then
- HAVE_CANONICALIZE_FILE_NAME=0
- elif test "$gl_cv_func_realpath_works" != yes; then
+ REPLACE_REALPATH=1
REPLACE_CANONICALIZE_FILE_NAME=1
fi
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_CANONICALIZE 1
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_CANONICALIZE_LGPL 1
_ACEOF
+
GNULIB_CANONICALIZE_FILE_NAME=1
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1
+_ACEOF
+
+
+
+
+
+
+ GNULIB_REALPATH=1
+
+
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_CANONICALIZE_FILE_NAME 1
+#define GNULIB_TEST_REALPATH 1
_ACEOF
+ # Code from module chdir-long:
{ $as_echo "$as_me:$LINENO: checking whether this system has an arbitrary file name length limit" >&5
$as_echo_n "checking whether this system has an arbitrary file name length limit... " >&6; }
fi
+ # Code from module chown:
+
GNULIB_CHOWN=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_CHOWN 1
+#define GNULIB_TEST_CHOWN 1
_ACEOF
+ # Code from module clock-time:
LIBS=$gl_saved_libs
+ # Code from module cloexec:
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS cloexec.$ac_objext"
+
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_CLOEXEC 1
+_ACEOF
+
+
+ # Code from module close:
+
GNULIB_CLOSE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_CLOSE 1
+#define GNULIB_TEST_CLOSE 1
_ACEOF
+ # Code from module close-hook:
+ # Code from module close-stream:
-cat >>confdefs.h <<\_ACEOF
+cat >>confdefs.h <<_ACEOF
#define GNULIB_CLOSE_STREAM 1
_ACEOF
+ # Code from module closeout:
:
+ # Code from module configmake:
+ # Code from module d-ino:
{ $as_echo "$as_me:$LINENO: checking for d_ino member in directory struct" >&5
$as_echo_n "checking for d_ino member in directory struct... " >&6; }
if test "${gl_cv_struct_dirent_d_ino+set}" = set; then
fi
+ # Code from module dirent:
done
+ # Code from module dirent-safer:
-cat >>confdefs.h <<\_ACEOF
+cat >>confdefs.h <<_ACEOF
#define GNULIB_DIRENT_SAFER 1
_ACEOF
+ # Code from module dirfd:
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_dirfd_macro" >&5
$as_echo "$gl_cv_func_dirfd_macro" >&6; }
- # Use the replacement only if we have no function, macro,
- # or declaration with that name.
- if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$gl_cv_func_dirfd_macro \
- = no,no,no; then
-
-
-
-
-
-
-
-
-
-for ac_func in dirfd
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <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
+ # Use the replacement only if we have no function or macro with that name.
+ if test $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro = no,no; then
+ if test $ac_cv_have_decl_dirfd = yes; then
+ # If the system declares dirfd already, let's declare rpl_dirfd instead.
+ REPLACE_DIRFD=1
+ fi
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
-fi
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-else
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-fi
-done
+ gl_LIBOBJS="$gl_LIBOBJS dirfd.$ac_objext"
{ $as_echo "$as_me:$LINENO: checking how to get the file descriptor associated with an open DIR*" >&5
$as_echo_n "checking how to get the file descriptor associated with an open DIR*... " >&6; }
+
GNULIB_DIRFD=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_DIRFD 1
+#define GNULIB_TEST_DIRFD 1
_ACEOF
+ # Code from module dirname:
-cat >>confdefs.h <<\_ACEOF
+cat >>confdefs.h <<_ACEOF
#define GNULIB_DIRNAME 1
_ACEOF
+ # Code from module dirname-lgpl:
+ # Code from module double-slash-root:
{ $as_echo "$as_me:$LINENO: checking whether // is distinct from /" >&5
fi
+ # Code from module dup2:
+
GNULIB_DUP2=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_DUP2 1
+#define GNULIB_TEST_DUP2 1
_ACEOF
+ # Code from module environ:
+
GNULIB_ENVIRON=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_ENVIRON 1
+#define GNULIB_TEST_ENVIRON 1
_ACEOF
+ # Code from module errno:
+
+ # Code from module error:
-{ $as_echo "$as_me:$LINENO: checking for error_at_line" >&5
+ { $as_echo "$as_me:$LINENO: checking for error_at_line" >&5
$as_echo_n "checking for error_at_line... " >&6; }
if test "${ac_cv_lib_error_at_line+set}" = set; then
$as_echo_n "(cached) " >&6
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5
$as_echo "$ac_cv_lib_error_at_line" >&6; }
-if test $ac_cv_lib_error_at_line = no; then
+ if test $ac_cv_lib_error_at_line = no; then
gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
-fi
+ fi
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
+ # Code from module exclude:
gl_LIBOBJS="$gl_LIBOBJS exclude.$ac_objext"
+ # Code from module exitfail:
+ # Code from module extensions:
+ # Code from module fchdir:
if test $ac_cv_func_fchdir = no; then
- REPLACE_FCHDIR=1
+ HAVE_FCHDIR=0
+
GNULIB_FCHDIR=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_FCHDIR 1
+#define GNULIB_TEST_FCHDIR 1
_ACEOF
+ # Code from module fclose:
+
GNULIB_FCLOSE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_FCLOSE 1
+#define GNULIB_TEST_FCLOSE 1
_ACEOF
+ # Code from module fcntl:
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_func_fcntl_f_dupfd_cloexec=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ gl_cv_func_fcntl_f_dupfd_cloexec=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_func_fcntl_f_dupfd_cloexec=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
+$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
+ if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_fcntl = no; then
+ HAVE_FCNTL=0
+ else
+ REPLACE_FCNTL=1
+ fi
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext"
+
+
+ fi
+ fi
+
+
+
+
+ GNULIB_FCNTL=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_FCNTL 1
+_ACEOF
+
+
+
+ # Code from module fcntl-h:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_fcntl_h='<'fcntl.h'>'
+ else
+ { $as_echo "$as_me:$LINENO: checking absolute name of <fcntl.h>" >&5
+$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
+if test "${gl_cv_next_fcntl_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_fcntl_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 <fcntl.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+ gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n '\#/fcntl.h#{
+ s#.*"\(.*/fcntl.h\)".*#\1#
+ s#^/[^/]#//&#
+ p
+ q
+ }'`'"'
+ else
+ gl_cv_next_fcntl_h='<'fcntl.h'>'
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_fcntl_h" >&5
+$as_echo "$gl_cv_next_fcntl_h" >&6; }
+ fi
+ NEXT_FCNTL_H=$gl_cv_next_fcntl_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'fcntl.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_fcntl_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+ for gl_func in fcntl openat; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <fcntl.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_gl_Symbol=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_func_fcntl_f_dupfd_cloexec=no
+ eval "$as_gl_Symbol=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
-$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
- if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
-
-
-
-
-
-
-
-
- if test $ac_cv_func_fcntl = no; then
- HAVE_FCNTL=0
- else
- REPLACE_FCNTL=1
- fi
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext"
-
-
- fi
- fi
-
-
-
- GNULIB_FCNTL=1
-
-
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_FCNTL 1
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_fcntl_h='<'fcntl.h'>'
- else
- { $as_echo "$as_me:$LINENO: checking absolute name of <fcntl.h>" >&5
-$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
-if test "${gl_cv_next_fcntl_h+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
- if test $ac_cv_header_fcntl_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 <fcntl.h>
-
+ac_res=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ as_val=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/fcntl.h#{
- s#.*"\(.*/fcntl.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_fcntl_h='<'fcntl.h'>'
- fi
+ eval ac_cv_have_decl_$gl_func=yes
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_fcntl_h" >&5
-$as_echo "$gl_cv_next_fcntl_h" >&6; }
- fi
- NEXT_FCNTL_H=$gl_cv_next_fcntl_h
-
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'fcntl.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_fcntl_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
-
-
+ done
+ # Code from module fdopendir:
- for gl_func in fcntl openat; do
- as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
- { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking whether fdopendir is declared" >&5
+$as_echo_n "checking whether fdopendir is declared... " >&6; }
+if test "${ac_cv_have_decl_fdopendir+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <fcntl.h>
+
+#include <dirent.h>
+
int
main ()
{
-#undef $gl_func
- (void) $gl_func;
+#ifndef fdopendir
+ (void) fdopendir;
+#endif
+
;
return 0;
}
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- eval "$as_gl_Symbol=yes"
+ ac_cv_have_decl_fdopendir=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_gl_Symbol=no"
+ ac_cv_have_decl_fdopendir=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- as_val=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fdopendir" >&5
+$as_echo "$ac_cv_have_decl_fdopendir" >&6; }
+if test "x$ac_cv_have_decl_fdopendir" = x""yes; then
- eval ac_cv_have_decl_$gl_func=yes
-fi
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FDOPENDIR 1
+_ACEOF
- done
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FDOPENDIR 0
+_ACEOF
+HAVE_DECL_FDOPENDIR=0
+fi
#include <dirent.h>
#include <fcntl.h>
+#if !HAVE_DECL_FDOPENDIR
+extern DIR *fdopendir (int);
+#endif
int
main ()
+
GNULIB_FDOPENDIR=1
+
cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_FDOPENDIR 1
+_ACEOF
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
#define GNULIB_FDOPENDIR 1
_ACEOF
+ # Code from module fdutimensat:
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_FDUTIMENSAT 1
+_ACEOF
+
+
+ # Code from module fileblocks:
+
{ $as_echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5
$as_echo_n "checking for struct stat.st_blocks... " >&6; }
if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then
fi
+ # Code from module filenamecat-lgpl:
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS filenamecat-lgpl.$ac_objext"
+
+
+
+
+
+
+
+
+
+ # Code from module float:
FLOAT_H=
case "$host_os" in
- beos* | openbsd*)
+ beos* | openbsd* | mirbsd*)
FLOAT_H=float.h
esac
+ # Code from module fnmatch:
FNMATCH_H=
- gl_fnmatch_required_lowercase=`echo $gl_fnmatch_required | tr 'A-Z' 'a-z'`
+ gl_fnmatch_required_lowercase=`
+ echo $gl_fnmatch_required | tr '[A-Z]' '[a-z]'
+ `
gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
{ $as_echo "$as_me:$LINENO: checking for working $gl_fnmatch_required fnmatch" >&5
$as_echo_n "checking for working $gl_fnmatch_required fnmatch... " >&6; }
fi
+ # Code from module fnmatch-gnu:
+ # Code from module fpending:
fi
+ # Code from module fseeko:
+ if test $gl_cv_func_fseeko = no; then
+ HAVE_FSEEKO=0
- { $as_echo "$as_me:$LINENO: checking for fseeko" >&5
-$as_echo_n "checking for fseeko... " >&6; }
-if test "${gl_cv_func_fseeko+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
+ if test $gl_cv_func_fseeko = yes; then
+ REPLACE_FSEEKO=1
+ fi
+
+
-int
-main ()
-{
-fseeko (stdin, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- gl_cv_func_fseeko=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_func_fseeko=no
-fi
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5
-$as_echo "$gl_cv_func_fseeko" >&6; }
- if test $gl_cv_func_fseeko = no \
- || test $gl_cv_var_stdin_large_offset = no; then
+ gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext"
+
+
+
+ else
+ if test $gl_cv_var_stdin_large_offset = no; then
+
+
+
+ if test $gl_cv_func_fseeko = yes; then
+ REPLACE_FSEEKO=1
+ fi
- gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext"
+ gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext"
- REPLACE_FSEEKO=1
+ fi
fi
+
GNULIB_FSEEKO=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_FSEEKO 1
+#define GNULIB_TEST_FSEEKO 1
_ACEOF
+ # Code from module full-write:
+ # Code from module futimens:
- if test $ac_cv_func_ftruncate = no; then
- HAVE_FTRUNCATE=0
-
+ if test $ac_cv_func_futimens = no; then
+ HAVE_FUTIMENS=0
- gl_LIBOBJS="$gl_LIBOBJS ftruncate.$ac_objext"
+ gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext"
-
-for ac_func in chsize
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ else
+ { $as_echo "$as_me:$LINENO: checking whether futimens works" >&5
+$as_echo_n "checking whether futimens works... " >&6; }
+if test "${gl_cv_func_futimens_works+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_futimens_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
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. */
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+int
+main ()
+{
+struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } };
+ int fd = creat ("conftest.file", 0600);
+ struct stat st;
+ if (fd < 0) return 1;
+ errno = 0;
+ if (futimens (AT_FDCWD, NULL) == 0) return 2;
+ if (errno != EBADF) return 3;
+ if (futimens (fd, ts)) return 4;
+ sleep (1);
+ ts[0].tv_nsec = UTIME_NOW;
+ ts[1].tv_nsec = UTIME_OMIT;
+ if (futimens (fd, ts)) return 5;
+ if (fstat (fd, &st)) return 6;
+ if (st.st_ctime < st.st_atime) return 7;
-#undef $ac_func
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#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
+#ifdef __linux__
+/* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT
+ in several file systems as recently as 2.6.32. Always replace futimens
+ to support older kernels. */
choke me
#endif
int
main ()
{
-return $ac_func ();
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
+ } && test -s conftest.$ac_objext; then
+ gl_cv_func_futimens_works=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+ gl_cv_func_futimens_works="needs runtime check"
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_futimens_works=no
+fi
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+
+ rm -f conftest.file
fi
-done
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_futimens_works" >&5
+$as_echo "$gl_cv_func_futimens_works" >&6; }
+ if test "$gl_cv_func_futimens_works" != yes; then
+ REPLACE_FUTIMENS=1
- case "$host_os" in
- mingw*)
- # Yes, we know mingw lacks ftruncate.
- ;;
- *)
- # If someone lacks ftruncate, make configure fail, and request
- # a bug report to inform us about it.
- if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then
- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: Your system lacks the ftruncate function.
- Please report this, along with the output of \"uname -a\", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_FTRUNCATE_CHECK=yes.
- E.g., ./configure SKIP_FTRUNCATE_CHECK=yes
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: Your system lacks the ftruncate function.
- Please report this, along with the output of \"uname -a\", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_FTRUNCATE_CHECK=yes.
- E.g., ./configure SKIP_FTRUNCATE_CHECK=yes
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
- fi
- esac
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS futimens.$ac_objext"
+
+ fi
fi
- GNULIB_FTRUNCATE=1
+
+ GNULIB_FUTIMENS=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_FTRUNCATE 1
+#define GNULIB_TEST_FUTIMENS 1
_ACEOF
+ # Code from module getcwd:
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
}; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- { $as_echo "$as_me:$LINENO: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5
-$as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; }
-if test "${gl_cv_func_getcwd_abort_bug+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # Remove any remnants of a previous test.
- rm -rf confdir-14B---
- # Arrange for deletion of the temporary directory this test creates.
- ac_clean_files="$ac_clean_files confdir-14B---"
- if test "$cross_compiling" = yes; then
- gl_cv_func_getcwd_abort_bug=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <limits.h>
-#include <string.h>
-#include <sys/stat.h>
-
-/* Don't get link errors because mkdir is redefined to rpl_mkdir. */
-#undef mkdir
-
-#ifndef S_IRWXU
-# define S_IRWXU 0700
-#endif
-
-/* FIXME: skip the run-test altogether on systems without getpagesize. */
-#if ! HAVE_GETPAGESIZE
-# define getpagesize() 0
-#endif
-
-/* This size is chosen to be larger than PATH_MAX (4k), yet smaller than
- the 16kB pagesize on ia64 linux. Those conditions make the code below
- trigger a bug in glibc's getcwd implementation before 2.4.90-10. */
-#define TARGET_LEN (5 * 1024)
-
-int
-main ()
-{
- char const *dir_name = "confdir-14B---";
- char *cwd;
- size_t initial_cwd_len;
- int fail = 0;
- size_t desired_depth;
- size_t d;
-
- /* The bug is triggered when PATH_MAX < getpagesize (), so skip
- this relative expensive and invasive test if that's not true. */
- if (getpagesize () <= PATH_MAX)
- return 0;
-
- cwd = getcwd (NULL, 0);
- if (cwd == NULL)
- return 0;
-
- initial_cwd_len = strlen (cwd);
- free (cwd);
- desired_depth = ((TARGET_LEN - 1 - initial_cwd_len)
- / (1 + strlen (dir_name)));
- for (d = 0; d < desired_depth; d++)
- {
- if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0)
- {
- fail = 3; /* Unable to construct deep hierarchy. */
- break;
- }
- }
-
- /* If libc has the bug in question, this invocation of getcwd
- results in a failed assertion. */
- cwd = getcwd (NULL, 0);
- if (cwd == NULL)
- fail = 4; /* getcwd failed. This is ok, and expected. */
- free (cwd);
-
- /* Call rmdir first, in case the above chdir failed. */
- rmdir (dir_name);
- while (0 < d--)
- {
- if (chdir ("..") < 0)
- break;
- rmdir (dir_name);
- }
-
- return 0;
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gl_cv_func_getcwd_abort_bug=no
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gl_cv_func_getcwd_abort_bug=yes
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_abort_bug" >&5
-$as_echo "$gl_cv_func_getcwd_abort_bug" >&6; }
- if test $gl_cv_func_getcwd_abort_bug = yes; then
- gl_abort_bug=yes
-fi
-
-;;
- esac
-
- case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in
- *yes,yes,no) ;;
- *)
- REPLACE_GETCWD=1
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext"
-
-
-
-
- :
-;;
- esac
-
-
-
- GNULIB_GETCWD=1
-
-
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETCWD 1
-_ACEOF
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
-$as_echo_n "checking for struct tm.tm_zone... " >&6; }
-if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (ac_aggr.tm_zone)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_member_struct_tm_tm_zone=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (sizeof ac_aggr.tm_zone)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_member_struct_tm_tm_zone=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_member_struct_tm_tm_zone=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
-$as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
-if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_TM_TM_ZONE 1
-_ACEOF
-
-
-fi
-
-if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TM_ZONE 1
-_ACEOF
-
-else
- { $as_echo "$as_me:$LINENO: checking whether tzname is declared" >&5
-$as_echo_n "checking whether tzname is declared... " >&6; }
-if test "${ac_cv_have_decl_tzname+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-
-int
-main ()
-{
-#ifndef tzname
- (void) tzname;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_tzname=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_tzname=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
-$as_echo "$ac_cv_have_decl_tzname" >&6; }
-if test "x$ac_cv_have_decl_tzname" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_TZNAME 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_TZNAME 0
-_ACEOF
-
-
-fi
-
-
- { $as_echo "$as_me:$LINENO: checking for tzname" >&5
-$as_echo_n "checking for tzname... " >&6; }
-if test "${ac_cv_var_tzname+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-#if !HAVE_DECL_TZNAME
-extern char *tzname[];
-#endif
-
-int
-main ()
-{
-return tzname[0][0];
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_var_tzname=yes
+ eval "$as_ac_var=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_var_tzname=no
+ eval "$as_ac_var=no"
fi
rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
-$as_echo "$ac_cv_var_tzname" >&6; }
- if test $ac_cv_var_tzname = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TZNAME 1
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
- fi
fi
+done
-
-
+ { $as_echo "$as_me:$LINENO: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5
+$as_echo_n "checking whether getcwd aborts when 4k < cwd_length < 16k... " >&6; }
+if test "${gl_cv_func_getcwd_abort_bug+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Remove any remnants of a previous test.
+ rm -rf confdir-14B---
+ # Arrange for deletion of the temporary directory this test creates.
+ ac_clean_files="$ac_clean_files confdir-14B---"
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_getcwd_abort_bug=yes
+else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <time.h> /* for time_t */
-#include <limits.h> /* for CHAR_BIT, LONG_MIN, LONG_MAX */
-#define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1];
-typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1];
+#include <stdlib.h>
+#include <unistd.h>
+#include <limits.h>
+#include <string.h>
+#include <sys/stat.h>
+
+/* Don't get link errors because mkdir is redefined to rpl_mkdir. */
+#undef mkdir
+
+#ifndef S_IRWXU
+# define S_IRWXU 0700
+#endif
+
+/* FIXME: skip the run-test altogether on systems without getpagesize. */
+#if ! HAVE_GETPAGESIZE
+# define getpagesize() 0
+#endif
+
+/* This size is chosen to be larger than PATH_MAX (4k), yet smaller than
+ the 16kB pagesize on ia64 linux. Those conditions make the code below
+ trigger a bug in glibc's getcwd implementation before 2.4.90-10. */
+#define TARGET_LEN (5 * 1024)
+
+int
+main ()
+{
+ char const *dir_name = "confdir-14B---";
+ char *cwd;
+ size_t initial_cwd_len;
+ int fail = 0;
+ size_t desired_depth;
+ size_t d;
+
+ /* The bug is triggered when PATH_MAX < getpagesize (), so skip
+ this relative expensive and invasive test if that's not true. */
+ if (getpagesize () <= PATH_MAX)
+ return 0;
+
+ cwd = getcwd (NULL, 0);
+ if (cwd == NULL)
+ return 0;
+
+ initial_cwd_len = strlen (cwd);
+ free (cwd);
+ desired_depth = ((TARGET_LEN - 1 - initial_cwd_len)
+ / (1 + strlen (dir_name)));
+ for (d = 0; d < desired_depth; d++)
+ {
+ if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0)
+ {
+ fail = 3; /* Unable to construct deep hierarchy. */
+ break;
+ }
+ }
+
+ /* If libc has the bug in question, this invocation of getcwd
+ results in a failed assertion. */
+ cwd = getcwd (NULL, 0);
+ if (cwd == NULL)
+ fail = 4; /* getcwd failed. This is ok, and expected. */
+ free (cwd);
+
+ /* Call rmdir first, in case the above chdir failed. */
+ rmdir (dir_name);
+ while (0 < d--)
+ {
+ if (chdir ("..") < 0)
+ break;
+ rmdir (dir_name);
+ }
+
+ return 0;
+}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_T_FITS_IN_LONG_INT 1
-_ACEOF
-
-
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_getcwd_abort_bug=no
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+( exit $ac_status )
+gl_cv_func_getcwd_abort_bug=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_abort_bug" >&5
+$as_echo "$gl_cv_func_getcwd_abort_bug" >&6; }
+ if test $gl_cv_func_getcwd_abort_bug = yes; then
+ gl_abort_bug=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+;;
+ esac
+
+ case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in
+ *yes,yes,no) ;;
+ *)
+ REPLACE_GETCWD=1
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext"
+
+
+
+
+ :
+;;
+ esac
+
+
+
+
+ GNULIB_GETCWD=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_GETCWD 1
+_ACEOF
+
+
+
+ # Code from module getdelim:
+
+
+
+
GNULIB_GETDELIM=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETDELIM 1
+#define GNULIB_TEST_GETDELIM 1
_ACEOF
+ # Code from module getdtablesize:
+
GNULIB_GETDTABLESIZE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETDTABLESIZE 1
+#define GNULIB_TEST_GETDTABLESIZE 1
_ACEOF
+ # Code from module getline:
+
GNULIB_GETLINE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETLINE 1
+#define GNULIB_TEST_GETLINE 1
_ACEOF
+ # Code from module getopt-gnu:
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETOPT_GNU 1
+#define GNULIB_TEST_GETOPT_GNU 1
_ACEOF
+ # Code from module getopt-posix:
+ # Code from module getpagesize:
;;
esac
+ { $as_echo "$as_me:$LINENO: checking whether getpagesize is declared" >&5
+$as_echo_n "checking whether getpagesize is declared... " >&6; }
+if test "${ac_cv_have_decl_getpagesize+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef getpagesize
+ (void) getpagesize;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_getpagesize=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_getpagesize=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpagesize" >&5
+$as_echo "$ac_cv_have_decl_getpagesize" >&6; }
+if test "x$ac_cv_have_decl_getpagesize" = x""yes; then
+ :
+else
+ HAVE_DECL_GETPAGESIZE=0
+fi
+
+
GNULIB_GETPAGESIZE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETPAGESIZE 1
+#define GNULIB_TEST_GETPAGESIZE 1
_ACEOF
+ # Code from module gettext:
+ # Code from module gettext-h:
+ # Code from module gettime:
+ # Code from module gettimeofday:
+
GNULIB_GETTIMEOFDAY=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_GETTIMEOFDAY 1
+#define GNULIB_TEST_GETTIMEOFDAY 1
_ACEOF
+ # Code from module gitlog-to-changelog:
+ # Code from module hash:
+ # Code from module havelib:
+ # Code from module human:
:
+ # Code from module include_next:
+ # Code from module inline:
{ $as_echo "$as_me:$LINENO: checking whether the compiler generally respects inline" >&5
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
gl_cv_c_inline_effective=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- gl_cv_c_inline_effective=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_c_inline_effective" >&5
-$as_echo "$gl_cv_c_inline_effective" >&6; }
- if test $gl_cv_c_inline_effective = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INLINE 1
-_ACEOF
-
- fi
-
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS imaxtostr.$ac_objext"
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS offtostr.$ac_objext"
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS umaxtostr.$ac_objext"
-
-
-
-
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ gl_cv_c_inline_effective=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_c_inline_effective" >&5
+$as_echo "$gl_cv_c_inline_effective" >&6; }
+ if test $gl_cv_c_inline_effective = yes; then
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_INLINE 1
+_ACEOF
- gl_LIBOBJS="$gl_LIBOBJS uinttostr.$ac_objext"
+ fi
+ # Code from module intprops:
+ # Code from module inttostr:
:
:
+ # Code from module inttypes:
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
+$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
+ if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
+ INT32_MAX_LT_INTMAX_MAX=1;
+ else
+ INT32_MAX_LT_INTMAX_MAX=0;
+ fi
+
+
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+ { $as_echo "$as_me:$LINENO: checking whether INT64_MAX == LONG_MAX" >&5
+$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
+if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined INT64_MAX
+ #define CONDITION (INT64_MAX == LONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (long long int) == sizeof (long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
+$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
+ if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
+ INT64_MAX_EQ_LONG_MAX=1;
+ else
+ INT64_MAX_EQ_LONG_MAX=0;
+ fi
+
+
+ else
+ INT64_MAX_EQ_LONG_MAX=-1
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking whether UINT32_MAX < UINTMAX_MAX" >&5
+$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
+if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT32_MAX && defined UINTMAX_MAX
+ #define CONDITION (UINT32_MAX < UINTMAX_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
+$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
+ if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
+ UINT32_MAX_LT_UINTMAX_MAX=1;
+ else
+ UINT32_MAX_LT_UINTMAX_MAX=0;
+ fi
+
+
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+ { $as_echo "$as_me:$LINENO: checking whether UINT64_MAX == ULONG_MAX" >&5
+$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
+if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT64_MAX
+ #define CONDITION (UINT64_MAX == ULONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
+$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+ if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
+ UINT64_MAX_EQ_ULONG_MAX=1;
+ else
+ UINT64_MAX_EQ_ULONG_MAX=0;
+ fi
+
+
+ else
+ UINT64_MAX_EQ_ULONG_MAX=-1
+ fi
+
+
+
+
+
+
+ for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <inttypes.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_gl_Symbol=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_gl_Symbol=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ as_val=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+
+ done
+
+
+ # Code from module langinfo:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_langinfo_h='<'langinfo.h'>'
+ else
+ { $as_echo "$as_me:$LINENO: checking absolute name of <langinfo.h>" >&5
+$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
+if test "${gl_cv_next_langinfo_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_langinfo_h = yes; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <langinfo.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+ gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n '\#/langinfo.h#{
+ s#.*"\(.*/langinfo.h\)".*#\1#
+ s#^/[^/]#//&#
+ p
+ q
+ }'`'"'
+ else
+ gl_cv_next_langinfo_h='<'langinfo.h'>'
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_langinfo_h" >&5
+$as_echo "$gl_cv_next_langinfo_h" >&6; }
+ fi
+ NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'langinfo.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_langinfo_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
+
+
+
+
+ HAVE_LANGINFO_CODESET=0
+ HAVE_LANGINFO_T_FMT_AMPM=0
+ HAVE_LANGINFO_ERA=0
+ HAVE_LANGINFO_YESEXPR=0
+
+
+
+
+
+
+ if test $ac_cv_header_langinfo_h = yes; then
+ HAVE_LANGINFO_H=1
+ { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines CODESET" >&5
+$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
+if test "${gl_cv_header_langinfo_codeset+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = CODESET;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_header_langinfo_codeset=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_header_langinfo_codeset=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_codeset" >&5
+$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
+ if test $gl_cv_header_langinfo_codeset = yes; then
+ HAVE_LANGINFO_CODESET=1
+ fi
+ { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines T_FMT_AMPM" >&5
+$as_echo_n "checking whether langinfo.h defines T_FMT_AMPM... " >&6; }
+if test "${gl_cv_header_langinfo_t_fmt_ampm+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <langinfo.h>
+int a = T_FMT_AMPM;
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_header_langinfo_t_fmt_ampm=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+ gl_cv_header_langinfo_t_fmt_ampm=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
-$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
- if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
- INT32_MAX_LT_INTMAX_MAX=1;
- else
- INT32_MAX_LT_INTMAX_MAX=0;
- fi
-
-
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- { $as_echo "$as_me:$LINENO: checking whether INT64_MAX == LONG_MAX" >&5
-$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
-if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_t_fmt_ampm" >&5
+$as_echo "$gl_cv_header_langinfo_t_fmt_ampm" >&6; }
+ if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+ HAVE_LANGINFO_T_FMT_AMPM=1
+ fi
+ { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines ERA" >&5
+$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
+if test "${gl_cv_header_langinfo_era+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Work also in C++ mode. */
- #define __STDC_LIMIT_MACROS 1
-
- /* Work if build is not clean. */
- #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
- #include <limits.h>
- #if HAVE_STDINT_H
- #include <stdint.h>
- #endif
+#include <langinfo.h>
+int a = ERA;
- #if defined INT64_MAX
- #define CONDITION (INT64_MAX == LONG_MAX)
- #elif HAVE_LONG_LONG_INT
- #define CONDITION (sizeof (long long int) == sizeof (long int))
- #else
- #define CONDITION 0
- #endif
- int test[CONDITION ? 1 : -1];
int
main ()
{
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
+ gl_cv_header_langinfo_era=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+ gl_cv_header_langinfo_era=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
-$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
- if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
- INT64_MAX_EQ_LONG_MAX=1;
- else
- INT64_MAX_EQ_LONG_MAX=0;
- fi
-
- else
- INT64_MAX_EQ_LONG_MAX=-1
- fi
-
- { $as_echo "$as_me:$LINENO: checking whether UINT32_MAX < UINTMAX_MAX" >&5
-$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
-if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_era" >&5
+$as_echo "$gl_cv_header_langinfo_era" >&6; }
+ if test $gl_cv_header_langinfo_era = yes; then
+ HAVE_LANGINFO_ERA=1
+ fi
+ { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines YESEXPR" >&5
+$as_echo_n "checking whether langinfo.h defines YESEXPR... " >&6; }
+if test "${gl_cv_header_langinfo_yesexpr+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Work also in C++ mode. */
- #define __STDC_LIMIT_MACROS 1
-
- /* Work if build is not clean. */
- #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
- #include <limits.h>
- #if HAVE_STDINT_H
- #include <stdint.h>
- #endif
+#include <langinfo.h>
+int a = YESEXPR;
- #if defined UINT32_MAX && defined UINTMAX_MAX
- #define CONDITION (UINT32_MAX < UINTMAX_MAX)
- #elif HAVE_LONG_LONG_INT
- #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
- #else
- #define CONDITION 0
- #endif
- int test[CONDITION ? 1 : -1];
int
main ()
{
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
+ gl_cv_header_langinfo_yesexpr=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
+ gl_cv_header_langinfo_yesexpr=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
-$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
- if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
- UINT32_MAX_LT_UINTMAX_MAX=1;
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_yesexpr" >&5
+$as_echo "$gl_cv_header_langinfo_yesexpr" >&6; }
+ if test $gl_cv_header_langinfo_yesexpr = yes; then
+ HAVE_LANGINFO_YESEXPR=1
+ fi
else
- UINT32_MAX_LT_UINTMAX_MAX=0;
+ HAVE_LANGINFO_H=0
fi
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- { $as_echo "$as_me:$LINENO: checking whether UINT64_MAX == ULONG_MAX" >&5
-$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
-if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then
+
+
+
+
+
+ for gl_func in nl_langinfo; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Work also in C++ mode. */
- #define __STDC_LIMIT_MACROS 1
-
- /* Work if build is not clean. */
- #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-
- #include <limits.h>
- #if HAVE_STDINT_H
- #include <stdint.h>
- #endif
+#include <langinfo.h>
- #if defined UINT64_MAX
- #define CONDITION (UINT64_MAX == ULONG_MAX)
- #elif HAVE_LONG_LONG_INT
- #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
- #else
- #define CONDITION 0
- #endif
- int test[CONDITION ? 1 : -1];
int
main ()
{
-
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
+ eval "$as_gl_Symbol=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
+ eval "$as_gl_Symbol=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
-$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
- if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
- UINT64_MAX_EQ_ULONG_MAX=1;
- else
- UINT64_MAX_EQ_ULONG_MAX=0;
- fi
+ac_res=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ as_val=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+ eval ac_cv_have_decl_$gl_func=yes
+fi
- else
- UINT64_MAX_EQ_ULONG_MAX=-1
- fi
+ done
+ # Code from module lchown:
- for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
- as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
- { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in lchown
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <inttypes.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 ()
{
-#undef $gl_func
- (void) $gl_func;
+return $ac_func ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_gl_Symbol=yes"
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_gl_Symbol=no"
+ eval "$as_ac_var=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_gl_Symbol'}
+ac_res=`eval 'as_val=${'$as_ac_var'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- as_val=`eval 'as_val=${'$as_gl_Symbol'}
+as_val=`eval 'as_val=${'$as_ac_var'}
$as_echo "$as_val"'`
if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
- eval ac_cv_have_decl_$gl_func=yes
-fi
+else
- done
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+fi
+done
+ if test $ac_cv_func_lchown = no; then
+ HAVE_LCHOWN=0
+ elif test "$gl_cv_func_chown_slash_works" != yes \
+ || test "$gl_cv_func_chown_ctime_works" != yes; then
+ gl_LIBOBJS="$gl_LIBOBJS lchown.$ac_objext"
+ REPLACE_LCHOWN=1
+ fi
+ GNULIB_LCHOWN=1
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_langinfo_h='<'langinfo.h'>'
- else
- { $as_echo "$as_me:$LINENO: checking absolute name of <langinfo.h>" >&5
-$as_echo_n "checking absolute name of <langinfo.h>... " >&6; }
-if test "${gl_cv_next_langinfo_h+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test $ac_cv_header_langinfo_h = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_LCHOWN 1
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_langinfo_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/langinfo.h#{
- s#.*"\(.*/langinfo.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_langinfo_h='<'langinfo.h'>'
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_langinfo_h" >&5
-$as_echo "$gl_cv_next_langinfo_h" >&6; }
- fi
- NEXT_LANGINFO_H=$gl_cv_next_langinfo_h
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'langinfo.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_langinfo_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H=$gl_next_as_first_directive
+ # Code from module link:
- HAVE_LANGINFO_CODESET=0
- HAVE_LANGINFO_ERA=0
+ if test $ac_cv_func_link = no; then
+ HAVE_LINK=0
- if test $ac_cv_header_langinfo_h = yes; then
- HAVE_LANGINFO_H=1
- { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines CODESET" >&5
-$as_echo_n "checking whether langinfo.h defines CODESET... " >&6; }
-if test "${gl_cv_header_langinfo_codeset+set}" = set; then
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext"
+
+ else
+ { $as_echo "$as_me:$LINENO: checking whether link handles trailing slash correctly" >&5
+$as_echo_n "checking whether link handles trailing slash correctly... " >&6; }
+if test "${gl_cv_func_link_works+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ touch conftest.a
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.a conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_link_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <langinfo.h>
-int a = CODESET;
+#include <unistd.h>
int
main ()
{
+if (!link ("conftest.a", "conftest.b/")) return 1;
+#if HAVE_LSTAT
+ if (!link ("conftest.lnk/", "conftest.b")) return 2;
+#endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- gl_cv_header_langinfo_codeset=yes
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_link_works=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_header_langinfo_codeset=no
+( exit $ac_status )
+gl_cv_func_link_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ rm -f conftest.a conftest.b conftest.lnk
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_codeset" >&5
-$as_echo "$gl_cv_header_langinfo_codeset" >&6; }
- if test $gl_cv_header_langinfo_codeset = yes; then
- HAVE_LANGINFO_CODESET=1
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_link_works" >&5
+$as_echo "$gl_cv_func_link_works" >&6; }
+ if test "$gl_cv_func_link_works" != yes; then
+ REPLACE_LINK=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS link.$ac_objext"
+
fi
- { $as_echo "$as_me:$LINENO: checking whether langinfo.h defines ERA" >&5
-$as_echo_n "checking whether langinfo.h defines ERA... " >&6; }
-if test "${gl_cv_header_langinfo_era+set}" = set; then
+ fi
+
+
+
+
+ GNULIB_LINK=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_LINK 1
+_ACEOF
+
+
+
+ # Code from module link-follow:
+
+
+
+
+
+
+ gl_link_follows_symlinks=0 # assume GNU behavior
+ if test $ac_cv_func_readlink = yes; then
+ { $as_echo "$as_me:$LINENO: checking whether link(2) dereferences a symlink" >&5
+$as_echo_n "checking whether link(2) dereferences a symlink... " >&6; }
+if test "${gl_cv_func_link_follows_symlink+set}" = set; then
$as_echo_n "(cached) " >&6
else
+
+ # Create a regular file.
+ echo > conftest.file
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_link_follows_symlink=unknown
+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 a = ERA;
+
+# include <sys/types.h>
+# include <sys/stat.h>
+# include <unistd.h>
+# include <stdlib.h>
+
+# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
+ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
+ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+
+ int
+ main ()
+ {
+ const char *file = "conftest.file";
+ const char *sym = "conftest.sym";
+ const char *hard = "conftest.hard";
+ struct stat sb_file, sb_hard;
+
+ /* Create a symlink to the regular file. */
+ if (symlink (file, sym))
+ return 2;
+
+ /* Create a hard link to that symlink. */
+ if (link (sym, hard))
+ return 3;
+
+ if (lstat (hard, &sb_hard))
+ return 4;
+ if (lstat (file, &sb_file))
+ return 5;
+
+ /* If the dev/inode of hard and file are the same, then
+ the link call followed the symlink. */
+ return SAME_INODE (sb_hard, sb_file) ? 1 : 0;
+ }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_link_follows_symlink=no
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ gl_cv_func_link_follows_symlink=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -f conftest.file conftest.sym conftest.hard
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_link_follows_symlink" >&5
+$as_echo "$gl_cv_func_link_follows_symlink" >&6; }
+ case $gl_cv_func_link_follows_symlink in
+ yes) gl_link_follows_symlinks=1 ;;
+ no) ;; # already defaulted to 0
+ *) gl_link_follows_symlinks=-1 ;;
+ esac
+ fi
+
+cat >>confdefs.h <<_ACEOF
+#define LINK_FOLLOWS_SYMLINKS $gl_link_follows_symlinks
+_ACEOF
+
+
+ # Code from module linkat:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_linkat = no; then
+ HAVE_LINKAT=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext"
+
+ else
+ { $as_echo "$as_me:$LINENO: checking whether linkat(,AT_SYMLINK_FOLLOW) works" >&5
+$as_echo_n "checking whether linkat(,AT_SYMLINK_FOLLOW) works... " >&6; }
+if test "${gl_cv_func_linkat_follow+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ rm -rf conftest.f1 conftest.f2
+ touch conftest.f1
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <fcntl.h>
+#include <unistd.h>
+#ifdef __linux__
+/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW
+ until 2.6.18. Always replace linkat to support older kernels. */
+choke me
+#endif
int
main ()
{
-
+return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2",
+ AT_SYMLINK_FOLLOW);
;
return 0;
}
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_header_langinfo_era=yes
+ gl_cv_func_linkat_follow=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_header_langinfo_era=no
+ gl_cv_func_linkat_follow="need runtime check"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+ rm -rf conftest.f1 conftest.f2
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_langinfo_era" >&5
-$as_echo "$gl_cv_header_langinfo_era" >&6; }
- if test $gl_cv_header_langinfo_era = yes; then
- HAVE_LANGINFO_ERA=1
- fi
- else
- HAVE_LANGINFO_H=0
- fi
-
-
-
-
-
-
- for gl_func in nl_langinfo; do
- as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
- { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_linkat_follow" >&5
+$as_echo "$gl_cv_func_linkat_follow" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether linkat handles trailing slash correctly" >&5
+$as_echo_n "checking whether linkat handles trailing slash correctly... " >&6; }
+if test "${gl_cv_func_linkat_slash+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ rm -rf conftest.a conftest.b conftest.c conftest.d
+ if test "$cross_compiling" = yes; then
+ # Guess yes on glibc systems, no otherwise.
+ case "$host_os" in
+ *-gnu*) gl_cv_func_linkat_slash="guessing yes";;
+ *) gl_cv_func_linkat_slash="guessing no";;
+ esac
+
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <langinfo.h>
+#include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <stdio.h>
int
main ()
{
-#undef $gl_func
- (void) $gl_func;
+int fd;
+ int err;
+ int ret;
+ /* Create a regular file. */
+ fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600);
+ if (fd < 0)
+ return 1;
+ if (write (fd, "hello", 5) < 5)
+ return 2;
+ if (close (fd) < 0)
+ return 3;
+ /* Test whether hard links are supported on the current
+ device. */
+ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b",
+ AT_SYMLINK_FOLLOW) < 0)
+ return 0;
+ /* Test whether a trailing "/" is treated like "/.". */
+ if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c",
+ AT_SYMLINK_FOLLOW) == 0)
+ return 4;
+ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/",
+ AT_SYMLINK_FOLLOW) == 0)
+ return 5;
+ return 0;
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_gl_Symbol=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_gl_Symbol=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- as_val=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
- eval ac_cv_have_decl_$gl_func=yes
-fi
-
- done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in lchown
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_try") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
+ (exit $ac_status); }; }; then
+ gl_cv_func_linkat_slash=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+( exit $ac_status )
+gl_cv_func_linkat_slash=no
fi
-
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-else
-
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+ rm -rf conftest.a conftest.b conftest.c conftest.d
fi
-done
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_linkat_slash" >&5
+$as_echo "$gl_cv_func_linkat_slash" >&6; }
+ case "$gl_cv_func_linkat_slash" in
+ *yes) gl_linkat_slash_bug=0 ;;
+ *) gl_linkat_slash_bug=1 ;;
+ esac
+ if test "$gl_cv_func_linkat_follow" != yes \
+ || test $gl_linkat_slash_bug = 1; then
+ REPLACE_LINKAT=1
- if test $ac_cv_func_lchown = no; then
- HAVE_LCHOWN=0
- elif test "$gl_cv_func_chown_slash_works" != yes \
- || test "$gl_cv_func_chown_ctime_works" != yes; then
+ gl_LIBOBJS="$gl_LIBOBJS linkat.$ac_objext"
- gl_LIBOBJS="$gl_LIBOBJS lchown.$ac_objext"
+cat >>confdefs.h <<_ACEOF
+#define LINKAT_TRAILING_SLASH_BUG $gl_linkat_slash_bug
+_ACEOF
- REPLACE_LCHOWN=1
+ fi
fi
- GNULIB_LCHOWN=1
+
+ GNULIB_LINKAT=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_LCHOWN 1
+#define GNULIB_TEST_LINKAT 1
_ACEOF
+ # Code from module localcharset:
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
+ # Code from module lseek:
else
if test $cross_compiling = no; then
cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
#include <sys/types.h> /* for off_t */
#include <stdio.h> /* for SEEK_CUR */
#include <unistd.h>
-int main ()
+int
+main ()
{
+
/* Exit with success only if stdin is seekable. */
return lseek (0, (off_t)0, SEEK_CUR) < 0;
+
+ ;
+ return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
conftest$ac_exeext conftest.$ac_ext
else
cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__
/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */
+
GNULIB_LSEEK=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_LSEEK 1
+#define GNULIB_TEST_LSEEK 1
_ACEOF
+ # Code from module lstat:
+
GNULIB_LSTAT=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_LSTAT 1
+#define GNULIB_TEST_LSTAT 1
_ACEOF
+ # Code from module malloc-gnu:
+
+
for ac_header in stdlib.h
do
if test $ac_cv_func_malloc_0_nonnull = yes; then
cat >>confdefs.h <<\_ACEOF
-#define HAVE_MALLOC 1
+#define HAVE_MALLOC_GNU 1
_ACEOF
else
cat >>confdefs.h <<\_ACEOF
-#define HAVE_MALLOC 0
+#define HAVE_MALLOC_GNU 0
_ACEOF
+
gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
+ REPLACE_MALLOC=1
-cat >>confdefs.h <<\_ACEOF
-#define malloc rpl_malloc
-_ACEOF
fi
-cat >>confdefs.h <<\_ACEOF
+
+cat >>confdefs.h <<_ACEOF
#define GNULIB_MALLOC_GNU 1
_ACEOF
+ # Code from module malloc-posix:
+
+
if test $gl_cv_func_malloc_posix = yes; then
- HAVE_MALLOC_POSIX=1
cat >>confdefs.h <<\_ACEOF
#define HAVE_MALLOC_POSIX 1
+
gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
- HAVE_MALLOC_POSIX=0
+ REPLACE_MALLOC=1
+
fi
GNULIB_MALLOC_POSIX=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MALLOC_POSIX 1
+#define GNULIB_TEST_MALLOC_POSIX 1
_ACEOF
+ # Code from module malloca:
+ # Code from module mbchar:
+ # Code from module mbrtowc:
else
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
if test $LOCALE_JA != none; then
if test "$cross_compiling" = yes; then
fi
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBRTOWC=1
- fi
+
if test $ac_cv_func_mbrtowc = no; then
HAVE_MBRTOWC=0
- fi
- if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBRTOWC=1
+ else
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc_nul_retval" >&5
$as_echo "$gl_cv_func_mbrtowc_nul_retval" >&6; }
- case "$gl_cv_func_mbrtowc_null_arg" in
- *yes) ;;
- *)
+ case "$gl_cv_func_mbrtowc_null_arg" in
+ *yes) ;;
+ *)
cat >>confdefs.h <<\_ACEOF
#define MBRTOWC_NULL_ARG_BUG 1
_ACEOF
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_retval" in
- *yes) ;;
- *)
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_retval" in
+ *yes) ;;
+ *)
cat >>confdefs.h <<\_ACEOF
#define MBRTOWC_RETVAL_BUG 1
_ACEOF
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_nul_retval" in
- *yes) ;;
- *)
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_nul_retval" in
+ *yes) ;;
+ *)
cat >>confdefs.h <<\_ACEOF
#define MBRTOWC_NUL_RETVAL_BUG 1
_ACEOF
- REPLACE_MBRTOWC=1
- ;;
- esac
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ fi
fi
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
+
GNULIB_MBRTOWC=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MBRTOWC 1
+#define GNULIB_TEST_MBRTOWC 1
_ACEOF
+ # Code from module mbscasecmp:
+
GNULIB_MBSCASECMP=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MBSCASECMP 1
+#define GNULIB_TEST_MBSCASECMP 1
_ACEOF
+ # Code from module mbsinit:
else
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
if test $LOCALE_JA != none; then
if test "$cross_compiling" = yes; then
fi
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBSINIT=1
- fi
+
if test $ac_cv_func_mbsinit = no; then
HAVE_MBSINIT=0
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBSINIT=1
+ fi
fi
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
+
GNULIB_MBSINIT=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MBSINIT 1
+#define GNULIB_TEST_MBSINIT 1
_ACEOF
+ # Code from module mbsrtowcs:
else
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
if test $LOCALE_JA != none; then
if test "$cross_compiling" = yes; then
fi
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBSRTOWCS=1
- fi
+
if test $ac_cv_func_mbsrtowcs = no; then
HAVE_MBSRTOWCS=0
- fi
- if test $HAVE_MBSRTOWCS != 0 && test $REPLACE_MBSRTOWCS != 1; then
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBSRTOWCS=1
+ else
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mbsrtowcs_works" >&5
$as_echo "$gl_cv_func_mbsrtowcs_works" >&6; }
- case "$gl_cv_func_mbsrtowcs_works" in
- *yes) ;;
- *) REPLACE_MBSRTOWCS=1 ;;
- esac
+ case "$gl_cv_func_mbsrtowcs_works" in
+ *yes) ;;
+ *) REPLACE_MBSRTOWCS=1 ;;
+ esac
+ fi
fi
if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
+
GNULIB_MBSRTOWCS=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MBSRTOWCS 1
+#define GNULIB_TEST_MBSRTOWCS 1
_ACEOF
+ # Code from module mbuiter:
:
+ # Code from module memchr:
+
GNULIB_MEMCHR=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MEMCHR 1
+#define GNULIB_TEST_MEMCHR 1
_ACEOF
+ # Code from module mempcpy:
+
GNULIB_MEMPCPY=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MEMPCPY 1
+#define GNULIB_TEST_MEMPCPY 1
_ACEOF
+ # Code from module memrchr:
+
GNULIB_MEMRCHR=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MEMRCHR 1
+#define GNULIB_TEST_MEMRCHR 1
_ACEOF
+ # Code from module mkdir:
fi
+ # Code from module mkdtemp:
int
main ()
{
-return $ac_func ();
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+
+fi
+done
+
+
+ if test $ac_cv_func_mkdtemp = no; then
+ HAVE_MKDTEMP=0
+ :
+
+ fi
+
+
+
+
+ GNULIB_MKDTEMP=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_MKDTEMP 1
+_ACEOF
+
+
+
+ # Code from module mkfifo:
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_mkfifo = no; then
+ HAVE_MKFIFO=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext"
+
+ else
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether mkfifo rejects trailing slashes" >&5
+$as_echo_n "checking whether mkfifo rejects trailing slashes... " >&6; }
+if test "${gl_cv_func_mkfifo_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.tmp conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_mkfifo_works="guessing no"
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/stat.h>
+
+int
+main ()
+{
+if (!mkfifo ("conftest.tmp/", 0600)) return 1;
+#if HAVE_LSTAT
+ if (!mkfifo ("conftest.lnk/", 0600)) return 2;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_mkfifo_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_mkfifo_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -f conftest.tmp conftest.lnk
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mkfifo_works" >&5
+$as_echo "$gl_cv_func_mkfifo_works" >&6; }
+ if test "$gl_cv_func_mkfifo_works" != yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define MKFIFO_TRAILING_SLASH_BUG 1
+_ACEOF
+
+ REPLACE_MKFIFO=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mkfifo.$ac_objext"
+
+ fi
+ fi
+
+
+
+
+ GNULIB_MKFIFO=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_MKFIFO 1
+_ACEOF
+
+
+
+ # Code from module mkfifoat:
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_mkfifoat = no; then
+ # No known system has mkfifoat but not mknodat
+ HAVE_MKFIFOAT=0
+ HAVE_MKNODAT=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mkfifoat.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mknodat.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_MKFIFOAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_MKFIFOAT 1
+_ACEOF
+
+
+
+
+
+
+ GNULIB_MKNODAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_MKNODAT 1
+_ACEOF
+
+
+
+ # Code from module mknod:
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_mknod = no; then
+ HAVE_MKNOD=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext"
+
+ else
+ { $as_echo "$as_me:$LINENO: checking whether mknod can create fifo without root privileges" >&5
+$as_echo_n "checking whether mknod can create fifo without root privileges... " >&6; }
+if test "${gl_cv_func_mknod_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_mknod_works="guessing no"
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/stat.h>
+ #include <unistd.h>
+
+int
+main ()
+{
+/* Indeterminate for super-user, assume no. Why are you running
+ configure as root, anyway? */
+ if (!geteuid ()) return 99;
+ if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_mknod_works=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+( exit $ac_status )
+if test $? == 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+ fi
+ gl_cv_func_mknod_works=no
fi
-
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+
+
+ rm -f conftest.fifo
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_mknod_works" >&5
+$as_echo "$gl_cv_func_mknod_works" >&6; }
+ if test "$gl_cv_func_mknod_works" != yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define MKNOD_FIFO_BUG 1
_ACEOF
-else
+ fi
+ if test $REPLACE_MKFIFO = 1 || test "$gl_cv_func_mknod_works" != yes; then
+ REPLACE_MKNOD=1
+
+
+
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-fi
-done
- if test $ac_cv_func_mkdtemp = no; then
- HAVE_MKDTEMP=0
- :
+ gl_LIBOBJS="$gl_LIBOBJS mknod.$ac_objext"
+
+ fi
fi
- GNULIB_MKDTEMP=1
+
+ GNULIB_MKNOD=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MKDTEMP 1
+#define GNULIB_TEST_MKNOD 1
_ACEOF
+ # Code from module mktime:
+
GNULIB_MKTIME=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_MKTIME 1
+#define GNULIB_TEST_MKTIME 1
_ACEOF
+ # Code from module modechange:
gl_LIBOBJS="$gl_LIBOBJS modechange.$ac_objext"
+ # Code from module multiarch:
+
+ # Code from module nl_langinfo:
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_nl_langinfo = yes; then
+ if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then
+ :
+ else
+ REPLACE_NL_LANGINFO=1
+
+cat >>confdefs.h <<\_ACEOF
+#define REPLACE_NL_LANGINFO 1
+_ACEOF
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext"
+
+ fi
+ else
+ HAVE_NL_LANGINFO=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_NL_LANGINFO=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_NL_LANGINFO 1
+_ACEOF
+
+
+
+ # Code from module obstack:
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for obstacks" >&5
+$as_echo_n "checking for obstacks... " >&6; }
+if test "${ac_cv_func_obstack+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ #include "obstack.h"
+int
+main ()
+{
+struct obstack mem;
+ #define obstack_chunk_alloc malloc
+ #define obstack_chunk_free free
+ obstack_init (&mem);
+ obstack_free (&mem, 0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_obstack=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_obstack=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5
+$as_echo "$ac_cv_func_obstack" >&6; }
+if test $ac_cv_func_obstack = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_OBSTACK 1
+_ACEOF
+
+else
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext"
+
+fi
+
+ # Code from module open:
+
+
+ case "$host_os" in
+ mingw* | pw*)
+
+
+ REPLACE_OPEN=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
+
+
+
+
+ :
+
+
+ ;;
+ *)
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether open recognizes a trailing slash" >&5
+$as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
+if test "${gl_cv_func_open_slash+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ touch conftest.tmp
+ ln -s conftest.tmp conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+
+ case "$host_os" in
+ freebsd* | aix* | hpux* | solaris2.[0-9]*)
+ 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 ()
+{
+#if HAVE_LSTAT
+ if (open ("conftest.lnk/", O_RDONLY) != -1) return 2;
+#endif
+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_open_slash=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_open_slash=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -f conftest.sl conftest.tmp conftest.lnk
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_open_slash" >&5
+$as_echo "$gl_cv_func_open_slash" >&6; }
+ case "$gl_cv_func_open_slash" in
+ *no)
+
+cat >>confdefs.h <<\_ACEOF
+#define OPEN_TRAILING_SLASH_BUG 1
+_ACEOF
+
+
+
+ REPLACE_OPEN=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
+
+
+
+
+ :
+
+
+ ;;
+ esac
+ ;;
+ esac
+
+
+
+
+ GNULIB_OPEN=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_OPEN 1
+_ACEOF
+
+
+
+ # Code from module openat:
+
+
+ GNULIB_OPENAT=1
+
+
+ GNULIB_FCHMODAT=1
+ GNULIB_FSTATAT=1
+ GNULIB_MKDIRAT=1
+
+
+ GNULIB_FCHOWNAT=1
+ GNULIB_UNLINKAT=1
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in fchmodat fstatat mkdirat openat unlinkat
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ eval "$as_ac_var=no"
+fi
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+else
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+fi
+done
+ case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in
+ yes+yes)
+ # GNU/Hurd has unlinkat, but it has the same bug as unlink.
+ if test $REPLACE_UNLINK = 1; then
- if test $ac_cv_func_nl_langinfo = yes; then
- if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then
- :
- else
- REPLACE_NL_LANGINFO=1
-cat >>confdefs.h <<\_ACEOF
-#define REPLACE_NL_LANGINFO 1
-_ACEOF
+ gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
+ REPLACE_UNLINKAT=1
+ fi ;;
+ yes+*)
+ # Solaris 9 has *at functions, but uniformly mishandles trailing
+ # slash in all of them.
- gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext"
- fi
- else
- HAVE_NL_LANGINFO=0
+ gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext"
+ REPLACE_OPENAT=1
- gl_LIBOBJS="$gl_LIBOBJS nl_langinfo.$ac_objext"
- fi
- GNULIB_NL_LANGINFO=1
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_NL_LANGINFO 1
-_ACEOF
+ gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext"
+ REPLACE_FSTATAT=1
+ gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
+ REPLACE_UNLINKAT=1
+ ;;
+ *)
+ HAVE_OPENAT=0
+ HAVE_UNLINKAT=0 # No known system with unlinkat but not openat
+ HAVE_FSTATAT=0 # No known system with fstatat but not openat
+ :
+;;
+ esac
+ if test $ac_cv_func_fchmodat != yes; then
+ HAVE_FCHMODAT=0
+ fi
+ if test $ac_cv_func_mkdirat != yes; then
+ HAVE_MKDIRAT=0
+ fi
-{ $as_echo "$as_me:$LINENO: checking for obstacks" >&5
-$as_echo_n "checking for obstacks... " >&6; }
-if test "${ac_cv_func_obstack+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for fchownat" >&5
+$as_echo_n "checking for fchownat... " >&6; }
+if test "${ac_cv_func_fchownat+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-$ac_includes_default
- #include "obstack.h"
+/* Define fchownat to an innocuous variant, in case <limits.h> declares fchownat.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define fchownat innocuous_fchownat
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char fchownat (); 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 fchownat
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fchownat ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_fchownat || defined __stub___fchownat
+choke me
+#endif
+
int
main ()
{
-struct obstack mem;
- #define obstack_chunk_alloc malloc
- #define obstack_chunk_free free
- obstack_init (&mem);
- obstack_free (&mem, 0);
+return fchownat ();
;
return 0;
}
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
}; then
- ac_cv_func_obstack=yes
+ ac_cv_func_fchownat=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_func_obstack=no
+ ac_cv_func_fchownat=no
fi
rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5
-$as_echo "$ac_cv_func_obstack" >&6; }
-if test $ac_cv_func_obstack = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_OBSTACK 1
-_ACEOF
-
-else
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext"
-
-fi
-
-
-
- case "$host_os" in
- mingw* | pw*)
-
-
- REPLACE_OPEN=1
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
-
-
-
-
- :
-
-
- ;;
- *)
-
-
-
-
-
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5
+$as_echo "$ac_cv_func_fchownat" >&6; }
+if test "x$ac_cv_func_fchownat" = x""yes; then
- { $as_echo "$as_me:$LINENO: checking whether open recognizes a trailing slash" >&5
-$as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
-if test "${gl_cv_func_open_slash+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5
+$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; }
+if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then
$as_echo_n "(cached) " >&6
else
- # Assume that if we have lstat, we can also check symlinks.
- if test $ac_cv_func_lstat = yes; then
- touch conftest.tmp
- ln -s conftest.tmp conftest.lnk
- fi
- if test "$cross_compiling" = yes; then
-
- case "$host_os" in
- freebsd*) gl_cv_func_open_slash="guessing no" ;;
- 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
+ gl_dangle=conftest.dangle
+ # Remove any remnants of a previous test.
+ rm -f $gl_dangle
+ # Arrange for deletion of the temporary file this test creates.
+ ac_clean_files="$ac_clean_files $gl_dangle"
+ ln -s conftest.no-such $gl_dangle
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_fchownat_nofollow_works=no
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
/* end confdefs.h. */
#include <fcntl.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-int main ()
+#include <unistd.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <sys/types.h>
+int
+main ()
{
-#if HAVE_LSTAT
- if (open ("conftest.lnk/", O_RDONLY) != -1) return 2;
-#endif
- return open ("conftest.sl/", O_CREAT, 0600) >= 0;
+ return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (),
+ AT_SYMLINK_NOFOLLOW) != 0
+ && errno == ENOENT);
}
+
_ACEOF
rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- gl_cv_func_open_slash=yes
+ gl_cv_func_fchownat_nofollow_works=yes
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
-gl_cv_func_open_slash=no
+gl_cv_func_fchownat_nofollow_works=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
- rm -f conftest.sl conftest.tmp conftest.lnk
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_open_slash" >&5
-$as_echo "$gl_cv_func_open_slash" >&6; }
- case "$gl_cv_func_open_slash" in
- *no)
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5
+$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; }
+ if test $gl_cv_func_fchownat_nofollow_works = no; then
+ REPLACE_FCHOWNAT=1
cat >>confdefs.h <<\_ACEOF
-#define OPEN_TRAILING_SLASH_BUG 1
+#define FCHOWNAT_NOFOLLOW_BUG 1
_ACEOF
-
- REPLACE_OPEN=1
-
-
-
+fi
+ if test $REPLACE_CHOWN = 1; then
+ REPLACE_FCHOWNAT=1
+ fi
+else
+ HAVE_FCHOWNAT=0
+fi
+ if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
- gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
- :
- ;;
- esac
- ;;
- esac
+ gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext"
+ fi
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_OPEN 1
-_ACEOF
+ # Code from module openat-die:
+ # Code from module parse-datetime:
- GNULIB_OPEN=1
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_OPEN 1
+ { $as_echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
+$as_echo_n "checking for struct tm.tm_zone... " >&6; }
+if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_cv_struct_tm>
+int
+main ()
+{
+static struct tm ac_aggr;
+if (ac_aggr.tm_zone)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_tm_tm_zone=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_cv_struct_tm>
- GNULIB_OPENAT=1
-
-
- GNULIB_FCHMODAT=1
- GNULIB_FSTATAT=1
- GNULIB_MKDIRAT=1
-
-
- GNULIB_FCHOWNAT=1
- GNULIB_UNLINKAT=1
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+int
+main ()
+{
+static struct tm ac_aggr;
+if (sizeof ac_aggr.tm_zone)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_tm_tm_zone=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_member_struct_tm_tm_zone=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
+$as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
+if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_TM_TM_ZONE 1
+_ACEOF
+fi
+if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TM_ZONE 1
+_ACEOF
+else
+ { $as_echo "$as_me:$LINENO: checking whether tzname is declared" >&5
+$as_echo_n "checking whether tzname is declared... " >&6; }
+if test "${ac_cv_have_decl_tzname+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+int
+main ()
+{
+#ifndef tzname
+ (void) tzname;
+#endif
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_tzname=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_have_decl_tzname=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
+$as_echo "$ac_cv_have_decl_tzname" >&6; }
+if test "x$ac_cv_have_decl_tzname" = x""yes; then
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_TZNAME 1
+_ACEOF
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_TZNAME 0
+_ACEOF
+fi
-for ac_func in fchmodat fstatat mkdirat openat unlinkat
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for tzname" >&5
+$as_echo_n "checking for tzname... " >&6; }
+if test "${ac_cv_var_tzname+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_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
+#include <time.h>
+#if !HAVE_DECL_TZNAME
+extern char *tzname[];
#endif
int
main ()
{
-return $ac_func ();
+return tzname[0][0];
;
return 0;
}
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
}; then
- eval "$as_ac_var=yes"
+ ac_cv_var_tzname=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+ ac_cv_var_tzname=no
fi
rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
+$as_echo "$ac_cv_var_tzname" >&6; }
+ if test $ac_cv_var_tzname = yes; then
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TZNAME 1
+_ACEOF
+ fi
fi
-done
-
-
-
-
- case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in
- yes+yes)
- # GNU/Hurd has unlinkat, but it has the same bug as unlink.
- if test $REPLACE_UNLINK = 1; then
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
-
- REPLACE_UNLINKAT=1
- fi ;;
- yes+*)
- # Solaris 9 has *at functions, but uniformly mishandles trailing
- # slash in all of them.
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS openat.$ac_objext"
-
- REPLACE_OPENAT=1
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext"
-
- REPLACE_FSTATAT=1
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS unlinkat.$ac_objext"
-
- REPLACE_UNLINKAT=1
- ;;
- *)
- HAVE_OPENAT=0
- HAVE_UNLINKAT=0 # No known system with unlinkat but not openat
- HAVE_FSTATAT=0 # No known system with fstatat but not openat
-
-
- :
-;;
- esac
- if test $ac_cv_func_fchmodat != yes; then
- HAVE_FCHMODAT=0
- fi
- if test $ac_cv_func_mkdirat != yes; then
- HAVE_MKDIRAT=0
- fi
- { $as_echo "$as_me:$LINENO: checking for fchownat" >&5
-$as_echo_n "checking for fchownat... " >&6; }
-if test "${ac_cv_func_fchownat+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-/* Define fchownat to an innocuous variant, in case <limits.h> declares fchownat.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define fchownat innocuous_fchownat
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char fchownat (); 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 fchownat
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char fchownat ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_fchownat || defined __stub___fchownat
-choke me
-#endif
+#include <time.h> /* for time_t */
+#include <limits.h> /* for CHAR_BIT, LONG_MIN, LONG_MAX */
+#define TYPE_MINIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
+#define TYPE_MAXIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
+typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1];
+typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1];
-int
-main ()
-{
-return fchownat ();
- ;
- return 0;
-}
_ACEOF
-rm -f conftest.$ac_objext 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- ac_cv_func_fchownat=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_fchownat=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5
-$as_echo "$ac_cv_func_fchownat" >&6; }
-if test "x$ac_cv_func_fchownat" = x""yes; then
-
- { $as_echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5
-$as_echo_n "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... " >&6; }
-if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ } && test -s conftest.$ac_objext; then
- gl_dangle=conftest.dangle
- # Remove any remnants of a previous test.
- rm -f $gl_dangle
- # Arrange for deletion of the temporary file this test creates.
- ac_clean_files="$ac_clean_files $gl_dangle"
- ln -s conftest.no-such $gl_dangle
- if test "$cross_compiling" = yes; then
- gl_cv_func_fchownat_nofollow_works=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+cat >>confdefs.h <<\_ACEOF
+#define TIME_T_FITS_IN_LONG_INT 1
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/types.h>
-int
-main ()
-{
- return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (),
- AT_SYMLINK_NOFOLLOW) != 0
- && errno == ENOENT);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gl_cv_func_fchownat_nofollow_works=yes
else
- $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-gl_cv_func_fchownat_nofollow_works=no
-fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5
-$as_echo "$gl_cv_func_fchownat_nofollow_works" >&6; }
- if test $gl_cv_func_fchownat_nofollow_works = no; then
- REPLACE_FCHOWNAT=1
-
-cat >>confdefs.h <<\_ACEOF
-#define FCHOWNAT_NOFOLLOW_BUG 1
-_ACEOF
-
-fi
-
-
-else
- HAVE_FCHOWNAT=0
fi
- if test $REPLACE_CHOWN = 1; then
- REPLACE_FCHOWNAT=1
- fi
- if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext"
-
- fi
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Code from module pathmax:
+ # Code from module priv-set:
done
+
+
+
+
+
+
+ # Code from module progname:
{ $as_echo "$as_me:$LINENO: checking whether program_invocation_name is declared" >&5
$as_echo_n "checking whether program_invocation_name is declared... " >&6; }
if test "${ac_cv_have_decl_program_invocation_name+set}" = set; then
fi
+ # Code from module quote:
+ # Code from module quotearg:
gl_LIBOBJS="$gl_LIBOBJS quotearg.$ac_objext"
+ # Code from module quotearg-simple:
+ # Code from module rawmemchr:
+
GNULIB_RAWMEMCHR=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_RAWMEMCHR 1
+#define GNULIB_TEST_RAWMEMCHR 1
_ACEOF
+ # Code from module readlink:
+
GNULIB_READLINK=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_READLINK 1
+#define GNULIB_TEST_READLINK 1
_ACEOF
+ # Code from module readlinkat:
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_readlinkat = no; then
+ HAVE_READLINKAT=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS readlinkat.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_READLINKAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_READLINKAT 1
+_ACEOF
+
+
+
+ # Code from module realloc-posix:
+
if test $gl_cv_func_malloc_posix = yes; then
- HAVE_REALLOC_POSIX=1
cat >>confdefs.h <<\_ACEOF
#define HAVE_REALLOC_POSIX 1
+
gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext"
- HAVE_REALLOC_POSIX=0
+ REPLACE_REALLOC=1
+
fi
GNULIB_REALLOC_POSIX=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_REALLOC_POSIX 1
+#define GNULIB_TEST_REALLOC_POSIX 1
_ACEOF
+ # Code from module regex:
if (!s)
return 1;
- /* Ensure that [b-a] is diagnosed as invalid. */
- re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+ /* Ensure that [b-a] is diagnosed as invalid, when
+ using RE_NO_EMPTY_RANGES. */
+ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES);
memset (®ex, 0, sizeof regex);
s = re_compile_pattern ("a[b-a]", 6, ®ex);
if (s == 0)
if (! REG_STARTEND)
return 1;
- /* Reject hosts whose regoff_t values are too narrow.
- These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t
- and 32-bit int. */
+#if 0
+ /* It would be nice to reject hosts whose regoff_t values are too
+ narrow (including glibc on hosts with 64-bit ptrdiff_t and
+ 32-bit int), but we should wait until glibc implements this
+ feature. Otherwise, support for equivalence classes and
+ multibyte collation symbols would always be broken except
+ when compiling --without-included-regex. */
if (sizeof (regoff_t) < sizeof (ptrdiff_t)
|| sizeof (regoff_t) < sizeof (ssize_t))
return 1;
+#endif
return 0;
;
fi
+ # Code from module rename:
-
-
-for ac_func in rmdir
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking whether rename honors trailing slash on destination" >&5
+$as_echo_n "checking whether rename honors trailing slash on destination... " >&6; }
+if test "${gl_cv_func_rename_slash_dst_works+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.lnk
+ touch conftest.f && mkdir conftest.d1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5
+$as_echo "$as_me: error: cannot create temporary files" >&2;}
+ { (exit 1); exit 1; }; }
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.f conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_rename_slash_dst_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
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
+# include <stdio.h>
+# include <stdlib.h>
int
main ()
{
-return $ac_func ();
+if (rename ("conftest.f", "conftest.f1/") == 0) return 1;
+ if (rename ("conftest.d1", "conftest.d2/") != 0) return 2;
+#if HAVE_LSTAT
+ if (rename ("conftest.f", "conftest.lnk/") == 0) return 3;
+#endif
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_rename_slash_dst_works=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+( exit $ac_status )
+gl_cv_func_rename_slash_dst_works=no
fi
-
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-else
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+ rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.lnk
fi
-done
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_slash_dst_works" >&5
+$as_echo "$gl_cv_func_rename_slash_dst_works" >&6; }
+ if test "x$gl_cv_func_rename_slash_dst_works" != xyes; then
- if test $ac_cv_func_rmdir = no; then
- REPLACE_RMDIR=1
- # If someone lacks rmdir, make configure fail, and request
- # a bug report to inform us about it.
- if test x"$SKIP_RMDIR_CHECK" != xyes; then
- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: Your system lacks the rmdir function.
- Please report this, along with the output of \"uname -a\", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_RMDIR_CHECK=yes.
- E.g., ./configure SKIP_RMDIR_CHECK=yes
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: Your system lacks the rmdir function.
- Please report this, along with the output of \"uname -a\", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_RMDIR_CHECK=yes.
- E.g., ./configure SKIP_RMDIR_CHECK=yes
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
- fi
- else
- { $as_echo "$as_me:$LINENO: checking whether rmdir works" >&5
-$as_echo_n "checking whether rmdir works... " >&6; }
-if test "${gl_cv_func_rmdir_works+set}" = set; then
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext"
+
+ REPLACE_RENAME=1
+
+cat >>confdefs.h <<\_ACEOF
+#define RENAME_TRAILING_SLASH_DEST_BUG 1
+_ACEOF
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking whether rename honors trailing slash on source" >&5
+$as_echo_n "checking whether rename honors trailing slash on source... " >&6; }
+if test "${gl_cv_func_rename_slash_src_works+set}" = set; then
$as_echo_n "(cached) " >&6
else
- mkdir conftest.dir
- touch conftest.file
- if test "$cross_compiling" = yes; then
- gl_cv_func_rmdir_works="guessing no"
+ rm -rf conftest.f conftest.d1 conftest.d2 conftest.lnk
+ touch conftest.f && mkdir conftest.d1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5
+$as_echo "$as_me: error: cannot create temporary files" >&2;}
+ { (exit 1); exit 1; }; }
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.f conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_rename_slash_src_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
+
+# include <stdio.h>
+# include <stdlib.h>
int
main ()
{
-return !rmdir ("conftest.file/") || errno != ENOTDIR
- || !rmdir ("conftest.dir/./");
+if (rename ("conftest.f/", "conftest.d2") == 0) return 1;
+ if (rename ("conftest.d1/", "conftest.d2") != 0) return 2;
+#if HAVE_LSTAT
+ if (rename ("conftest.lnk/", "conftest.f") == 0) return 3;
+#endif
+
;
return 0;
}
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- gl_cv_func_rmdir_works=yes
+ gl_cv_func_rename_slash_src_works=yes
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
-gl_cv_func_rmdir_works=no
+gl_cv_func_rename_slash_src_works=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
- rm -rf conftest.dir conftest.file
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rmdir_works" >&5
-$as_echo "$gl_cv_func_rmdir_works" >&6; }
- if test x"$gl_cv_func_rmdir_works" != xyes; then
- REPLACE_RMDIR=1
-
-
+ rm -rf conftest.f conftest.d1 conftest.d2 conftest.lnk
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_slash_src_works" >&5
+$as_echo "$gl_cv_func_rename_slash_src_works" >&6; }
+ if test "x$gl_cv_func_rename_slash_src_works" != xyes; then
- gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext"
-
- fi
- fi
- GNULIB_RMDIR=1
+ gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext"
+ REPLACE_RENAME=1
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_RMDIR 1
+#define RENAME_TRAILING_SLASH_SOURCE_BUG 1
_ACEOF
+ fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in rpmatch
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking whether rename manages hard links correctly" >&5
+$as_echo_n "checking whether rename manages hard links correctly... " >&6; }
+if test "${gl_cv_func_rename_link_works+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ rm -rf conftest.f conftest.f1
+ if touch conftest.f && ln conftest.f conftest.f1 &&
+ set x `ls -i conftest.f conftest.f1` && test "" = ""; then
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_rename_link_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
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
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
int
main ()
{
-return $ac_func ();
+if (rename ("conftest.f", "conftest.f1")) return 1;
+ if (unlink ("conftest.f1")) return 2;
+ if (rename ("conftest.f", "conftest.f")) return 3;
+ if (rename ("conftest.f1", "conftest.f1") == 0) return 4;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_rename_link_works=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
+( exit $ac_status )
+gl_cv_func_rename_link_works=no
fi
-
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-else
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+ else
+ gl_cv_func_rename_link_works="guessing no"
+ fi
+ rm -rf conftest.f conftest.f1
fi
-done
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_link_works" >&5
+$as_echo "$gl_cv_func_rename_link_works" >&6; }
+ if test "x$gl_cv_func_rename_link_works" != xyes; then
- if test $ac_cv_func_rpmatch = no; then
- HAVE_RPMATCH=0
- { $as_echo "$as_me:$LINENO: checking for nl_langinfo and YESEXPR" >&5
-$as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; }
-if test "${gl_cv_langinfo_yesexpr+set}" = set; then
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext"
+
+ REPLACE_RENAME=1
+
+cat >>confdefs.h <<\_ACEOF
+#define RENAME_HARD_LINK_BUG 1
+_ACEOF
+
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking whether rename manages existing destinations correctly" >&5
+$as_echo_n "checking whether rename manages existing destinations correctly... " >&6; }
+if test "${gl_cv_func_rename_dest_works+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ rm -rf conftest.f conftest.d1 conftest.d2
+ touch conftest.f && mkdir conftest.d1 conftest.d2 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot create temporary files" >&5
+$as_echo "$as_me: error: cannot create temporary files" >&2;}
+ { (exit 1); exit 1; }; }
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_rename_dest_works="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <langinfo.h>
+
+# include <stdio.h>
+# include <stdlib.h>
+
int
main ()
{
-char* cs = nl_langinfo(YESEXPR); return !cs;
+if (rename ("conftest.d1", "conftest.d2") != 0) return 1;
+ if (rename ("conftest.d2", "conftest.f") == 0) return 2;
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- gl_cv_langinfo_yesexpr=yes
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_rename_dest_works=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_langinfo_yesexpr=no
+( exit $ac_status )
+gl_cv_func_rename_dest_works=no
fi
-
rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_langinfo_yesexpr" >&5
-$as_echo "$gl_cv_langinfo_yesexpr" >&6; }
- if test $gl_cv_langinfo_yesexpr = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LANGINFO_YESEXPR 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- GNULIB_RPMATCH=1
+ rm -rf conftest.f conftest.d1 conftest.d2
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_RPMATCH 1
-_ACEOF
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rename_dest_works" >&5
+$as_echo "$gl_cv_func_rename_dest_works" >&6; }
+ if test "x$gl_cv_func_rename_dest_works" != xyes; then
+ gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext"
+ REPLACE_RENAME=1
+cat >>confdefs.h <<\_ACEOF
+#define RENAME_DEST_EXISTS_BUG 1
+_ACEOF
+ fi
- gl_LIBOBJS="$gl_LIBOBJS safe-read.$ac_objext"
+ GNULIB_RENAME=1
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_RENAME 1
+_ACEOF
+ # Code from module renameat:
- gl_LIBOBJS="$gl_LIBOBJS safe-write.$ac_objext"
+ if test $ac_cv_func_renameat = no; then
+ HAVE_RENAMEAT=0
+ gl_LIBOBJS="$gl_LIBOBJS renameat.$ac_objext"
- gl_LIBOBJS="$gl_LIBOBJS same.$ac_objext"
+ gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext"
+ elif test $REPLACE_RENAME = 1; then
+ REPLACE_RENAMEAT=1
+ gl_LIBOBJS="$gl_LIBOBJS renameat.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS at-func2.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_RENAMEAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_RENAMEAT 1
+_ACEOF
+
+
+
+ # Code from module rmdir:
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether rmdir works" >&5
+$as_echo_n "checking whether rmdir works... " >&6; }
+if test "${gl_cv_func_rmdir_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ mkdir conftest.dir
+ touch conftest.file
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_rmdir_works="guessing no"
+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>
+ #include <errno.h>
+ #include <unistd.h>
+
+int
+main ()
+{
+return !rmdir ("conftest.file/") || errno != ENOTDIR
+ || !rmdir ("conftest.dir/./");
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_rmdir_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_rmdir_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -rf conftest.dir conftest.file
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_rmdir_works" >&5
+$as_echo "$gl_cv_func_rmdir_works" >&6; }
+ if test x"$gl_cv_func_rmdir_works" != xyes; then
+ REPLACE_RMDIR=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS rmdir.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_RMDIR=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_RMDIR 1
+_ACEOF
+
+
+
+ # Code from module rpmatch:
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in rpmatch
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+ gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+
+fi
+done
+
+
+ if test $ac_cv_func_rpmatch = no; then
+ HAVE_RPMATCH=0
+
+ { $as_echo "$as_me:$LINENO: checking for nl_langinfo and YESEXPR" >&5
+$as_echo_n "checking for nl_langinfo and YESEXPR... " >&6; }
+if test "${gl_cv_langinfo_yesexpr+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ gl_cv_langinfo_yesexpr=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_langinfo_yesexpr=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_langinfo_yesexpr" >&5
+$as_echo "$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
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_RPMATCH 1
+_ACEOF
+
+
+
+ # Code from module safe-read:
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS safe-read.$ac_objext"
+
+
+
+
+
+
+ # Code from module safe-write:
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS safe-write.$ac_objext"
+
+
+
+
+
+
+
+
+ # Code from module same-inode:
+ # Code from module save-cwd:
+
+
+
+
+ # Code from module savedir:
gl_LIBOBJS="$gl_LIBOBJS savedir.$ac_objext"
+ # Code from module setenv:
if test $HAVE_SETENV$REPLACE_SETENV != 10; then
+
GNULIB_SETENV=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_SETENV 1
+#define GNULIB_TEST_SETENV 1
_ACEOF
+ # Code from module size_max:
for ac_header in stdint.h
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
+ extern size_t foo;
+ extern unsigned long foo;
int
main ()
+ # Code from module sleep:
{ $as_echo "$as_me:$LINENO: checking whether sleep is declared" >&5
+
GNULIB_SLEEP=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_SLEEP 1
+#define GNULIB_TEST_SLEEP 1
_ACEOF
+ # Code from module snprintf:
gl_cv_func_snprintf_usable=no
+
GNULIB_SNPRINTF=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_SNPRINTF 1
+#define GNULIB_TEST_SNPRINTF 1
_ACEOF
+ # Code from module ssize_t:
{ $as_echo "$as_me:$LINENO: checking for ssize_t" >&5
$as_echo_n "checking for ssize_t... " >&6; }
main ()
{
int x = sizeof (ssize_t *) + sizeof (ssize_t);
- return !x;
+ return !x;
;
return 0;
}
fi
+ # Code from module stat:
+
GNULIB_STAT=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STAT 1
+#define GNULIB_TEST_STAT 1
_ACEOF
+ # Code from module stat-macros:
+ # Code from module stat-time:
fi
+ # Code from module stdarg:
STDARG_H='';
NEXT_STDARG_H='<stdarg.h>';
fi
fi
+ # Code from module stdbool:
fi
+ # Code from module stddef:
fi
+ # Code from module stdint:
fi
+ # Code from module stdio:
+
- for gl_func in dprintf fpurge fseeko ftello getdelim getline popen renameat snprintf vdprintf vsnprintf; do
+
+ for gl_func in dprintf fpurge fseeko ftello getdelim getline popen renameat snprintf tmpfile vdprintf vsnprintf; do
as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
done
+ # Code from module stdlib:
- for gl_func in atoll canonicalize_file_name getloadavg getsubopt mkdtemp mkostemp mkostemps mkstemp mkstemps random_r initstat_r srandom_r setstate_r realpath rpmatch setenv strtod strtoll strtoull unsetenv; do
+
+
+
+
+ for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt unsetenv; do
as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
done
+ # Code from module stpcpy:
done
- if test $ac_cv_func_stpcpy = no; then
- HAVE_STPCPY=0
-
- :
-
- fi
-
-
-
- GNULIB_STPCPY=1
-
-
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STPCPY 1
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in strcasecmp
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-
- gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
-
-fi
-done
-
-
- if test $ac_cv_func_strcasecmp = no; then
- HAVE_STRCASECMP=0
+ if test $ac_cv_func_stpcpy = no; then
+ HAVE_STPCPY=0
:
+ GNULIB_STPCPY=1
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_STPCPY 1
+_ACEOF
+ # Code from module strcase:
-for ac_func in strncasecmp
+
+
+
+
+
+
+
+
+
+
+for ac_func in strcasecmp
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
done
- if test $ac_cv_func_strncasecmp = no; then
+ if test $ac_cv_func_strcasecmp = no; then
+ HAVE_STRCASECMP=0
:
fi
- { $as_echo "$as_me:$LINENO: checking whether strncasecmp is declared" >&5
-$as_echo_n "checking whether strncasecmp is declared... " >&6; }
-if test "${ac_cv_have_decl_strncasecmp+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef strncasecmp
- (void) strncasecmp;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_strncasecmp=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_have_decl_strncasecmp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strncasecmp" >&5
-$as_echo "$ac_cv_have_decl_strncasecmp" >&6; }
-if test "x$ac_cv_have_decl_strncasecmp" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRNCASECMP 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRNCASECMP 0
-_ACEOF
-
-
-fi
-
-
- if test $ac_cv_have_decl_strncasecmp = no; then
- HAVE_DECL_STRNCASECMP=0
- fi
-
-
-
-for ac_func in strchrnul
+for ac_func in strncasecmp
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
done
- if test $ac_cv_func_strchrnul = no; then
- HAVE_STRCHRNUL=0
- :
- fi
-
-
+ if test $ac_cv_func_strncasecmp = no; then
- GNULIB_STRCHRNUL=1
+ :
+ fi
+ { $as_echo "$as_me:$LINENO: checking whether strncasecmp is declared" >&5
+$as_echo_n "checking whether strncasecmp is declared... " >&6; }
+if test "${ac_cv_have_decl_strncasecmp+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef strncasecmp
+ (void) strncasecmp;
+#endif
-cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRCHRNUL 1
+ ;
+ return 0;
+}
_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_strncasecmp=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_cv_have_decl_strncasecmp=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strncasecmp" >&5
+$as_echo "$ac_cv_have_decl_strncasecmp" >&6; }
+if test "x$ac_cv_have_decl_strncasecmp" = x""yes; then
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRNCASECMP 1
+_ACEOF
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRNCASECMP 0
+_ACEOF
- if test $gl_cv_func_malloc_posix != yes; then
- REPLACE_STRDUP=1
+fi
+ if test $ac_cv_have_decl_strncasecmp = no; then
+ HAVE_DECL_STRNCASECMP=0
+ fi
+ # Code from module strchrnul:
- gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext"
- else
-for ac_func in strdup
+for ac_func in strchrnul
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
done
+ if test $ac_cv_func_strchrnul = no; then
+ HAVE_STRCHRNUL=0
+ :
+ fi
+
+
+
+
+ GNULIB_STRCHRNUL=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_STRCHRNUL 1
+_ACEOF
+
+
+
+ # Code from module strdup-posix:
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_strdup = yes; then
+ if test $gl_cv_func_malloc_posix != yes; then
+ REPLACE_STRDUP=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext"
+
+ :
+ fi
+ else
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strdup.$ac_objext"
+
+ :
fi
if test $ac_cv_have_decl_strdup = no; then
HAVE_DECL_STRDUP=0
fi
- :
+
GNULIB_STRDUP=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRDUP 1
+#define GNULIB_TEST_STRDUP 1
_ACEOF
+ # Code from module streq:
+ # Code from module strerror:
if test $REPLACE_STRERROR = 1; then
+
GNULIB_STRERROR=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRERROR 1
+#define GNULIB_TEST_STRERROR 1
_ACEOF
+ # Code from module string:
+ # Code from module strings:
+ # Code from module strndup:
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then
- case $host_os in
- aix*) gl_cv_func_strndup_works="guessing no";;
- *) gl_cv_func_strndup_works="guessing yes";;
+
+ case $host_os in
+ aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";;
+ *) gl_cv_func_strndup_works="guessing yes";;
esac
+
else
cat >conftest.$ac_ext <<_ACEOF
+
GNULIB_STRNDUP=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRNDUP 1
+#define GNULIB_TEST_STRNDUP 1
_ACEOF
+ # Code from module strnlen:
+
if test $ac_cv_have_decl_strnlen = no; then
HAVE_DECL_STRNLEN=0
- fi
-
- { $as_echo "$as_me:$LINENO: checking for working strnlen" >&5
+ else
+ { $as_echo "$as_me:$LINENO: checking for working strnlen" >&5
$as_echo_n "checking for working strnlen... " >&6; }
if test "${ac_cv_func_strnlen_working+set}" = set; then
$as_echo_n "(cached) " >&6
gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext"
- if test $ac_cv_func_strnlen_working = no; then
- # This is necessary because automake-1.6.1 doesn't understand
- # that the above use of AC_FUNC_STRNLEN means we may have to use
- # lib/strnlen.c.
- #AC_LIBOBJ([strnlen])
+ if test $ac_cv_func_strnlen_working = no; then
+ REPLACE_STRNLEN=1
+ fi
+ fi
+ if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
-cat >>confdefs.h <<\_ACEOF
-#define strnlen rpl_strnlen
-_ACEOF
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext"
:
fi
+
GNULIB_STRNLEN=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRNLEN 1
+#define GNULIB_TEST_STRNLEN 1
_ACEOF
+ # Code from module strnlen1:
+ # Code from module strtoimax:
+
GNULIB_STRTOIMAX=1
+ # Code from module strtol:
+
+ # Code from module strtoll:
+
GNULIB_STRTOLL=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRTOLL 1
+#define GNULIB_TEST_STRTOLL 1
_ACEOF
+ # Code from module strtoul:
+ # Code from module strtoull:
+
GNULIB_STRTOULL=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_STRTOULL 1
+#define GNULIB_TEST_STRTOULL 1
_ACEOF
+ # Code from module strtoumax:
+
GNULIB_STRTOUMAX=1
+ # Code from module symlink:
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_symlink = no; then
+ HAVE_SYMLINK=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext"
+
+ else
+ { $as_echo "$as_me:$LINENO: checking whether symlink handles trailing slash correctly" >&5
+$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
+if test "${gl_cv_func_symlink_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_symlink_works="guessing no"
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <unistd.h>
+
+int
+main ()
+{
+if (!symlink ("a", "conftest.link/")) return 1;
+ if (symlink ("conftest.f", "conftest.lnk2")) return 2;
+ if (!symlink ("a", "conftest.lnk2/")) return 3;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_symlink_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_symlink_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -f conftest.f conftest.link conftest.lnk2
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_symlink_works" >&5
+$as_echo "$gl_cv_func_symlink_works" >&6; }
+ if test "$gl_cv_func_symlink_works" != yes; then
+ REPLACE_SYMLINK=1
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext"
+
+ fi
+ fi
+
+
+
+
+ GNULIB_SYMLINK=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_SYMLINK 1
+_ACEOF
+
+
+
+ # Code from module symlinkat:
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_symlinkat = no; then
+ HAVE_SYMLINKAT=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS symlinkat.$ac_objext"
+
+ fi
+
+
+
+
+ GNULIB_SYMLINKAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_SYMLINKAT 1
+_ACEOF
+
+
+
+ # Code from module sys_stat:
+
$as_echo "$MKDIR_P" >&6; }
+ # Code from module sys_time:
$as_echo "$MKDIR_P" >&6; }
+ # Code from module sysexits:
+ # Code from module tempname:
:
+ # Code from module time:
+
+
+
+ # Code from module time_r:
- { $as_echo "$as_me:$LINENO: checking whether localtime_r is compatible with its POSIX signature" >&5
+
+
+
+ if test $ac_cv_func_localtime_r = yes; then
+ { $as_echo "$as_me:$LINENO: checking whether localtime_r is compatible with its POSIX signature" >&5
$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; }
if test "${gl_cv_time_r_posix+set}" = set; then
$as_echo_n "(cached) " >&6
main ()
{
/* We don't need to append 'restrict's to the argument types,
- even though the POSIX signature has the 'restrict's,
- since C99 says they can't affect type compatibility. */
- struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;
- if (ptr) return 0;
- /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */
- *localtime_r (0, 0);
+ even though the POSIX signature has the 'restrict's,
+ since C99 says they can't affect type compatibility. */
+ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;
+ if (ptr) return 0;
+ /* Check the return type is a pointer.
+ On HP-UX 10 it is 'int'. */
+ *localtime_r (0, 0);
+ ;
+ return 0;
+}
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_time_r_posix=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_time_r_posix=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_time_r_posix" >&5
+$as_echo "$gl_cv_time_r_posix" >&6; }
+ if test $gl_cv_time_r_posix = yes; then
+ REPLACE_LOCALTIME_R=0
+ else
+ REPLACE_LOCALTIME_R=1
+ fi
+ else
+ HAVE_LOCALTIME_R=0
+ fi
+ if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext"
+
+
+ :
+
+ fi
+
+
+
+
+ GNULIB_TIME_R=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_TIME_R 1
+_ACEOF
+
+
+
+ # Code from module timespec:
+
+
+
+ # Code from module unistd:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ else
+ { $as_echo "$as_me:$LINENO: checking absolute name of <unistd.h>" >&5
+$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
+if test "${gl_cv_next_unistd_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_unistd_h = yes; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <unistd.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+ gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n '\#/unistd.h#{
+ s#.*"\(.*/unistd.h\)".*#\1#
+ s#^/[^/]#//&#
+ p
+ q
+ }'`'"'
+ else
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5
+$as_echo "$gl_cv_next_unistd_h" >&6; }
+ fi
+ NEXT_UNISTD_H=$gl_cv_next_unistd_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'unistd.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_unistd_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_header_unistd_h = yes; then
+ HAVE_UNISTD_H=1
+ else
+ HAVE_UNISTD_H=0
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for gl_func in chown dup2 dup3 environ euidaccess faccessat fchdir fchownat fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell lchown link linkat lseek pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <unistd.h>
+/* Some systems declare various items in the wrong headers. */
+#ifndef __GLIBC__
+# include <fcntl.h>
+# include <stdio.h>
+# include <stdlib.h>
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+# endif
+#endif
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- gl_cv_time_r_posix=yes
+ eval "$as_gl_Symbol=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- gl_cv_time_r_posix=no
+ eval "$as_gl_Symbol=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_time_r_posix" >&5
-$as_echo "$gl_cv_time_r_posix" >&6; }
- if test $gl_cv_time_r_posix = yes; then
- REPLACE_LOCALTIME_R=0
- else
- REPLACE_LOCALTIME_R=1
-
-
-
-
+ac_res=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ as_val=`eval 'as_val=${'$as_gl_Symbol'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
- gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext"
+ # Code from module unistd-safer:
- :
- fi
+ gl_LIBOBJS="$gl_LIBOBJS dup-safer.$ac_objext"
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_unistd_h='<'unistd.h'>'
- else
- { $as_echo "$as_me:$LINENO: checking absolute name of <unistd.h>" >&5
-$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
-if test "${gl_cv_next_unistd_h+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test $ac_cv_header_unistd_h = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
-
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/unistd.h#{
- s#.*"\(.*/unistd.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_unistd_h='<'unistd.h'>'
- fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5
-$as_echo "$gl_cv_next_unistd_h" >&6; }
- fi
- NEXT_UNISTD_H=$gl_cv_next_unistd_h
-
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'unistd.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_unistd_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+ gl_LIBOBJS="$gl_LIBOBJS fd-safer.$ac_objext"
- if test $ac_cv_header_unistd_h = yes; then
- HAVE_UNISTD_H=1
- else
- HAVE_UNISTD_H=0
- fi
+ gl_LIBOBJS="$gl_LIBOBJS pipe-safer.$ac_objext"
+ # Code from module unitypes:
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+ }
+ }; then
+ LIBUNISTRING_UNITYPES_H='unitypes.h'
+ else
+ LIBUNISTRING_UNITYPES_H=
+ fi
+ # Code from module uniwidth/base:
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+ }
+ }; then
+ LIBUNISTRING_UNIWIDTH_H='uniwidth.h'
+ else
+ LIBUNISTRING_UNIWIDTH_H=
+ fi
+ # Code from module uniwidth/width:
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE=
+ LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE='#'
+else
+ LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE='#'
+ LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE=
+fi
+ # Code from module unlink:
- for gl_func in chown dup2 dup3 environ euidaccess faccessat fchdir fchownat fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell lchown link linkat lseek pipe2 pread readlink readlinkat rmdir sleep symlink symlinkat unlink unlinkat usleep; do
- as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
- { $as_echo "$as_me:$LINENO: checking whether $gl_func is declared without a macro" >&5
-$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
-if { as_var=$as_gl_Symbol; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5
+$as_echo_n "checking whether unlink honors trailing slashes... " >&6; }
+if test "${gl_cv_func_unlink_honors_slashes+set}" = set; then
$as_echo_n "(cached) " >&6
+else
+ touch conftest.file
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.file conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_unlink_honors_slashes="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <unistd.h>
-/* Some systems declare various items in the wrong headers. */
-#ifndef __GLIBC__
-# include <fcntl.h>
-# include <stdio.h>
-# include <stdlib.h>
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-# include <io.h>
-# endif
-#endif
+ #include <errno.h>
int
main ()
{
-#undef $gl_func
- (void) $gl_func;
+if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1;
+#if HAVE_LSTAT
+ if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2;
+#endif
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_gl_Symbol=yes"
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gl_cv_func_unlink_honors_slashes=yes
else
- $as_echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_gl_Symbol=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+( exit $ac_status )
+gl_cv_func_unlink_honors_slashes=no
fi
-ac_res=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- as_val=`eval 'as_val=${'$as_gl_Symbol'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
-_ACEOF
-
- eval ac_cv_have_decl_$gl_func=yes
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
- done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS dup-safer.$ac_objext"
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS fd-safer.$ac_objext"
-
-
-
-
-
-
-
-
-
- gl_LIBOBJS="$gl_LIBOBJS pipe-safer.$ac_objext"
-
-
-
-
-
- { $as_echo "$as_me:$LINENO: checking whether unlink honors trailing slashes" >&5
-$as_echo_n "checking whether unlink honors trailing slashes... " >&6; }
-if test "${gl_cv_func_unlink_works+set}" = set; then
+ rm -f conftest.file conftest.lnk
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_honors_slashes" >&5
+$as_echo "$gl_cv_func_unlink_honors_slashes" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether unlink of a parent directory fails is it should" >&5
+$as_echo_n "checking whether unlink of a parent directory fails is it should... " >&6; }
+if test "${gl_cv_func_unlink_parent_fails+set}" = set; then
$as_echo_n "(cached) " >&6
else
- touch conftest.file
- # Assume that if we have lstat, we can also check symlinks.
- if test $ac_cv_func_lstat = yes; then
- ln -s conftest.file conftest.lnk
- fi
- if test "$cross_compiling" = yes; then
- gl_cv_func_unlink_works="guessing no"
+ case "$host_os" in
+ darwin*)
+ if {
+ # Use the mktemp program if available. If not available, hide the error
+ # message.
+ tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+ } ||
+ {
+ # Use a simple mkdir command. It is guaranteed to fail if the directory
+ # already exists. $RANDOM is bash specific and expands to empty in shells
+ # other than bash, ksh and zsh. Its use does not increase security;
+ # rather, it minimizes the probability of failure in a very cluttered /tmp
+ # directory.
+ tmp=/tmp/gt$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ }; then
+ mkdir "$tmp/subdir"
+ GL_SUBDIR_FOR_UNLINK="$tmp/subdir"
+ export GL_SUBDIR_FOR_UNLINK
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_unlink_parent_fails="guessing no"
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <unistd.h>
- #include <errno.h>
-int
-main ()
-{
-if (!unlink ("conftest.file/") || errno != ENOTDIR) return 1;
-#if HAVE_LSTAT
- if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2;
-#endif
+ #include <stdlib.h>
+ #include <unistd.h>
+ int main ()
+ {
+ if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0)
+ return 1;
+ return unlink ("..") == 0;
+ }
- ;
- return 0;
-}
_ACEOF
rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- gl_cv_func_unlink_works=yes
+ gl_cv_func_unlink_parent_fails=yes
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
-gl_cv_func_unlink_works=no
+gl_cv_func_unlink_parent_fails=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
- rm -f conftest.file conftest.lnk
+ unset GL_SUBDIR_FOR_UNLINK
+ rm -rf "$tmp"
+ else
+ gl_cv_func_unlink_parent_fails="guessing no"
+ fi
+ ;;
+ *)
+ gl_cv_func_unlink_parent_fails="guessing yes"
+ ;;
+ esac
+
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_works" >&5
-$as_echo "$gl_cv_func_unlink_works" >&6; }
- if test x"$gl_cv_func_unlink_works" != xyes; then
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_unlink_parent_fails" >&5
+$as_echo "$gl_cv_func_unlink_parent_fails" >&6; }
+ case "$gl_cv_func_unlink_parent_fails" in
+ *no)
+
+cat >>confdefs.h <<\_ACEOF
+#define UNLINK_PARENT_BUG 1
+_ACEOF
+
+ ;;
+ esac
+ if test "$gl_cv_func_unlink_honors_slashes" != yes \
+ || { case "$gl_cv_func_unlink_parent_fails" in
+ *yes) false;;
+ *no) true;;
+ esac
+ }; then
REPLACE_UNLINK=1
+
GNULIB_UNLINK=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_UNLINK 1
+#define GNULIB_TEST_UNLINK 1
_ACEOF
+ # Code from module unlinkdir:
;;
esac
+ # Code from module unlocked-io:
cat >>confdefs.h <<\_ACEOF
+ # Code from module unsetenv:
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <stdlib.h>
extern
#ifdef __cplusplus
fi
- { $as_echo "$as_me:$LINENO: checking whether unsetenv works on duplicates" >&5
-$as_echo_n "checking whether unsetenv works on duplicates... " >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether unsetenv obeys POSIX" >&5
+$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
if test "${gl_cv_func_unsetenv_works+set}" = set; then
$as_echo_n "(cached) " >&6
else
/* end confdefs.h. */
#include <stdlib.h>
+ #include <errno.h>
int
main ()
entry[0] = 'a';
unsetenv ("a");
if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
;
return 0;
+
GNULIB_UNSETENV=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_UNSETENV 1
+#define GNULIB_TEST_UNSETENV 1
_ACEOF
+ # Code from module utimens:
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- gl_cv_func_futimesat_works=yes
+ gl_cv_func_futimesat_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_futimesat_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ rm -f conftest.file
+fi
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_futimesat_works" >&5
+$as_echo "$gl_cv_func_futimesat_works" >&6; }
+ if test "$gl_cv_func_futimesat_works" != yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FUTIMESAT_NULL_BUG 1
+_ACEOF
+
+ fi
+ fi
+
+ # Code from module utimensat:
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_func_utimensat = no; then
+ HAVE_UTIMENSAT=0
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS utimensat.$ac_objext"
+
+ else
+ { $as_echo "$as_me:$LINENO: checking whether utimensat works" >&5
+$as_echo_n "checking whether utimensat works... " >&6; }
+if test "${gl_cv_func_utimensat_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ gl_cv_func_utimensat_works="guessing no"
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int
+main ()
+{
+struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } };
+ struct stat st;
+ const char *f = "conftest.file";
+ if (close (creat (f, 0600))) return 1;
+ if (utimensat (AT_FDCWD, f, NULL, AT_SYMLINK_NOFOLLOW)) return 2;
+ if (utimensat (AT_FDCWD, f, ts, 0)) return 3;
+ sleep (1);
+ ts[0].tv_nsec = UTIME_NOW;
+ ts[1].tv_nsec = UTIME_OMIT;
+ if (utimensat (AT_FDCWD, f, ts, 0)) return 4;
+ if (stat (f, &st)) return 5;
+ if (st.st_ctime < st.st_atime) return 6;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef __linux__
+/* The Linux kernel added utimensat in 2.6.22, but has bugs with UTIME_OMIT
+ in several file systems as recently as 2.6.32. Always replace utimensat
+ to support older kernels. */
+choke me
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gl_cv_func_utimensat_works=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gl_cv_func_utimensat_works="needs runtime check"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
-gl_cv_func_futimesat_works=no
+gl_cv_func_utimensat_works=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
- rm -f conftest.file
fi
-{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_futimesat_works" >&5
-$as_echo "$gl_cv_func_futimesat_works" >&6; }
- if test "$gl_cv_func_futimesat_works" != yes; then
+{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_utimensat_works" >&5
+$as_echo "$gl_cv_func_utimensat_works" >&6; }
+ if test "$gl_cv_func_utimensat_works" != yes; then
+ REPLACE_UTIMENSAT=1
+
-cat >>confdefs.h <<\_ACEOF
-#define FUTIMESAT_NULL_BUG 1
-_ACEOF
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS utimensat.$ac_objext"
fi
fi
+ GNULIB_UTIMENSAT=1
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_TEST_UTIMENSAT 1
+_ACEOF
+
+
+
+ # Code from module vasnprintf:
+
+
+
fi
+ # Code from module vasprintf:
for ac_func in vasprintf
+
GNULIB_VASPRINTF=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_VASPRINTF 1
+#define GNULIB_TEST_VASPRINTF 1
_ACEOF
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format"
+ # Code from module verify:
+ # Code from module version-etc:
# Check whether --with-packager was given.
if test "${with_packager+set}" = set; then
{ (exit 1); exit 1; }; }
fi
+ # Code from module version-etc-fsf:
+ # Code from module vsnprintf:
gl_cv_func_vsnprintf_usable=no
+
GNULIB_VSNPRINTF=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_VSNPRINTF 1
+#define GNULIB_TEST_VSNPRINTF 1
_ACEOF
+ # Code from module warn-on-use:
+ # Code from module wchar:
done
+ # Code from module wcrtomb:
else
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
if test $LOCALE_JA != none; then
if test "$cross_compiling" = yes; then
fi
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_WCRTOMB=1
- fi
+
if test $ac_cv_func_wcrtomb = no; then
HAVE_WCRTOMB=0
- fi
- if test $HAVE_WCRTOMB != 0 && test $REPLACE_WCRTOMB != 1; then
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_WCRTOMB=1
+ else
- { $as_echo "$as_me:$LINENO: checking whether wcrtomb return value is correct" >&5
+ { $as_echo "$as_me:$LINENO: checking whether wcrtomb return value is correct" >&5
$as_echo_n "checking whether wcrtomb return value is correct... " >&6; }
if test "${gl_cv_func_wcrtomb_retval+set}" = set; then
$as_echo_n "(cached) " >&6
else
- case "$host_os" in
- # Guess no on AIX 4, OSF/1 and Solaris.
- aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
- esac
- if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
- if test "$cross_compiling" = yes; then
+ case "$host_os" in
+ # Guess no on AIX 4, OSF/1 and Solaris.
+ aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
+ esac
+ if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
+ if test "$cross_compiling" = yes; then
:
else
cat >conftest.$ac_ext <<_ACEOF
fi
- fi
+ fi
fi
{ $as_echo "$as_me:$LINENO: result: $gl_cv_func_wcrtomb_retval" >&5
$as_echo "$gl_cv_func_wcrtomb_retval" >&6; }
- case "$gl_cv_func_wcrtomb_retval" in
- *yes) ;;
- *) REPLACE_WCRTOMB=1 ;;
- esac
+ case "$gl_cv_func_wcrtomb_retval" in
+ *yes) ;;
+ *) REPLACE_WCRTOMB=1 ;;
+ esac
+ fi
fi
if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
+
GNULIB_WCRTOMB=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_WCRTOMB 1
+#define GNULIB_TEST_WCRTOMB 1
_ACEOF
+ # Code from module wctype:
+
+ if test $ac_cv_func_iswblank = yes; then
+ HAVE_ISWBLANK=1
+ REPLACE_ISWBLANK=0
+ else
+ HAVE_ISWBLANK=0
+ if test $ac_cv_have_decl_iswblank = yes; then
+ REPLACE_ISWBLANK=1
+ else
+ REPLACE_ISWBLANK=0
+ fi
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
if test $gt_cv_c_wint_t = yes; then
HAVE_WINT_T=1
else
fi
+ # Code from module wcwidth:
HAVE_DECL_WCWIDTH=0
fi
- if test $ac_cv_func_wcwidth = no; then
- REPLACE_WCWIDTH=1
- else
+ if test $ac_cv_func_wcwidth = yes; then
{ $as_echo "$as_me:$LINENO: checking whether wcwidth works reasonably in UTF-8 locales" >&5
$as_echo_n "checking whether wcwidth works reasonably in UTF-8 locales... " >&6; }
if test "${gl_cv_func_wcwidth_works+set}" = set; then
if test "$cross_compiling" = yes; then
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_wcwidth_works="guessing yes";;
- *) gl_cv_func_wcwidth_works="guessing no";;
+ # Guess yes on glibc and AIX 7 systems.
+ *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+ *) gl_cv_func_wcwidth_works="guessing no";;
esac
else
*no) REPLACE_WCWIDTH=1 ;;
esac
fi
- if test $REPLACE_WCWIDTH = 1; then
+ if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1; then
gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext"
fi
-
- if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then
+ if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1 \
+ || test $HAVE_DECL_WCWIDTH = 0; then
:
+
GNULIB_WCWIDTH=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_WCWIDTH 1
+#define GNULIB_TEST_WCWIDTH 1
_ACEOF
+ # Code from module write:
+
GNULIB_WRITE=1
+
cat >>confdefs.h <<\_ACEOF
-#define GNULIB_WRITE 1
+#define GNULIB_TEST_WRITE 1
_ACEOF
+ # Code from module xalloc:
:
+ # Code from module xalloc-die:
+ # Code from module xgetcwd:
+ # Code from module xsize:
done
+ # Code from module xstrndup:
:
+ # Code from module xstrtol:
gl_LIBOBJS="$gl_LIBOBJS xstrtol-error.$ac_objext"
+ # Code from module xstrtoumax:
+ # Code from module xvasprintf:
XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xasprintf:1:c-format"
+ # End of code from modules
gl_source_base='tests'
+ gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+
+ gl_module_indicator_condition=$gltests_WITNESS
+
+
-
-
# Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary.
pu_save_LIBS=$LIBS
LIB_SETSOCKOPT=
-for ac_func in fsync getdtablesize lstat mkfifo readlink symlink setlocale utimes
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- eval "$as_ac_var=no"
-fi
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-fi
-done
+
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether getgrgid is declared" >&5
$as_echo_n "checking whether getgrgid is declared... " >&6; }
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
ac_prog=ld
if test "$GCC" = yes; then
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
$as_echo_n "(cached) " >&6
else
- am_save_LIBS="$LIBS"
+ am_save_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
if test "$cross_compiling" = yes; then
- case "$host_os" in
+
+ case "$host_os" in
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
*) am_cv_func_iconv_works="guessing yes" ;;
esac
+
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
return 1;
}
}
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ return 1;
+ }
+ }
#if 0 /* This bug could be worked around by the caller. */
/* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
{
fi
+
for ac_header in iconv.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- GETTEXT_MACRO_VERSION=0.17
+ GETTEXT_MACRO_VERSION=0.18
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
+
{ $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+
;
return 0;
}
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
$as_echo_n "(cached) " >&6
else
- am_save_LIBS="$LIBS"
+ am_save_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
if test "$cross_compiling" = yes; then
- case "$host_os" in
+
+ case "$host_os" in
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
*) am_cv_func_iconv_works="guessing yes" ;;
esac
+
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
return 1;
}
}
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ return 1;
+ }
+ }
#if 0 /* This bug could be worked around by the caller. */
/* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
{
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
"C"
#endif
const char *_nl_expand_alias (const char *);
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
;
return 0;
}
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
"C"
#endif
const char *_nl_expand_alias (const char *);
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
;
return 0;
}
$as_test_x conftest$ac_exeext
}; then
LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
else
$as_echo "$as_me: failed program was:" >&5
{ { $as_echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
# 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.23, which was
+This file was extended by GNU tar $as_me 1.24, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-GNU tar config.status 1.23
+GNU tar config.status 1.24
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
-AC_INIT([GNU tar], [1.23], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.24], [bug-tar@gnu.org])
AC_CONFIG_SRCDIR([src/tar.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_PREREQ([2.63])
-AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 dist-shar std-options silent-rules])
+AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 dist-xz dist-shar std-options silent-rules])
# Enable silent rules by default:
AM_SILENT_RULES([yes])
AC_C_INLINE
AC_CHECK_HEADERS_ONCE(fcntl.h linux/fd.h memory.h net/errno.h \
- sgtty.h string.h stropts.h \
- sys/param.h sys/device.h sys/filio.h sys/gentape.h \
+ sgtty.h string.h \
+ sys/param.h sys/device.h sys/gentape.h \
sys/inet.h sys/io/trioctl.h \
sys/mtio.h sys/time.h sys/tprintf.h sys/tape.h \
unistd.h locale.h)
# paxutils modules
tar_PAXUTILS
-AC_CHECK_FUNCS(fsync getdtablesize lstat mkfifo readlink symlink setlocale utimes)
+AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink])
AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])
AC_CHECK_DECLS([time],,, [#include <time.h>])
fdl.texi\
freemanuals.texi\
genfile.texi\
- getdate.texi\
header.texi\
intern.texi\
+ parse-datetime.texi\
rendition.texi\
snapshot.texi\
sparse.texi\
all-check-docs: check-format check-options check-refs check-fixmes check-unrevised
-check-docs:
+check-docs:
$(MAKE) -k all-check-docs
#
MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \
TEXI2DVI="$(TEXI2DVI) -t @finalout" \
$(GENDOCS) --texi2html tar 'GNU tar manual'
-
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
fdl.texi\
freemanuals.texi\
genfile.texi\
- getdate.texi\
header.texi\
intern.texi\
+ parse-datetime.texi\
rendition.texi\
snapshot.texi\
sparse.texi\
all-check-docs: check-format check-options check-refs check-fixmes check-unrevised
-check-docs:
+check-docs:
$(MAKE) -k all-check-docs
#
@noindent
where @var{C} is one of the @dfn{control codes} described below,
@var{filename} is the name of the file @var{C} operates upon, and
-@samp{\0} represents a nul character (ASCII 0). The white space
+@samp{\0} represents a nul character (ASCII 0). The white space
characters were added for readability, real dumpdirs do not contain
them.
@enumerate 1
@item
Previous run dumped a directory @file{foo} which contained the
-following three directories:
+following three directories:
@smallexample
a
renaming @file{a} to @file{b} will destroy the existing directory.
To correctly process it, @GNUTAR{} needs a temporary directory, so
it creates the following dumpdir (newlines have been added for
-readability):
+readability):
@smallexample
@group
tells tar to rename the temporary directory to @file{foo/a}.
The exact placement of a dumpdir in the archive depends on the
-archive format (@pxref{Formats}):
+archive format (@pxref{Formats}):
@itemize
@item PAX archives
+@c The GNU Free Documentation License.
+@center Version 1.3, 3 November 2008
-@node GNU Free Documentation License
-@appendixsec GNU Free Documentation License
-
-@cindex FDL, GNU Free Documentation License
-@center Version 1.2, November 2002
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
@display
-Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+@uref{http://fsf.org/}
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
of text. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input
-format, @acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML},
-PostScript or @acronym{PDF} designed for human modification. Examples
-of transparent image formats include @acronym{PNG}, @acronym{XCF} and
-@acronym{JPG}. Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, @acronym{SGML} or
-@acronym{XML} for which the @acronym{DTD} and/or processing tools are
-not generally available, and the machine-generated @acronym{HTML},
-PostScript or @acronym{PDF} produced by some word processors for
+ASCII without markup, Texinfo input format, La@TeX{} input
+format, SGML or XML using a publicly available
+DTD, and standard-conforming simple HTML,
+PostScript or PDF designed for human modification. Examples
+of transparent image formats include PNG, XCF and
+JPG. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, SGML or
+XML for which the DTD and/or processing tools are
+not generally available, and the machine-generated HTML,
+PostScript or PDF produced by some word processors for
output purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
+The ``publisher'' means any person or entity that distributes copies
+of the Document to the public.
+
A section ``Entitled XYZ'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
@item
TERMINATION
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
@item
FUTURE REVISIONS OF THIS LICENSE
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+@item
+RELICENSING
+
+``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+
+``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+``Incorporate'' means to publish or republish a Document, in whole or
+in part, as part of another Document.
+
+An MMC is ``eligible for relicensing'' if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
@end enumerate
@page
-@appendixsubsec ADDENDUM: How to use this License for your documents
+@heading ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
@group
Copyright (C) @var{year} @var{your name}.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
@end smallexample
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with...Texts.'' line with this:
+replace the ``with@dots{}Texts.'' line with this:
@smallexample
@group
<p>The manual for %%PACKAGE%% is available in the following formats:</p>
<ul>
- <li><a href="%%PACKAGE%%.html">HTML
+ <li><a href="%%PACKAGE%%.html">HTML
(%%HTML_MONO_SIZE%%K bytes)</a> - entirely on one web page.</li>
<li><a href="html_node/index.html">HTML</a> - with one web page per
node.</li>
chapter.</li>
%%ENDIF HTML_CHAPTER%%
<li><a href="%%PACKAGE%%.html.gz">HTML compressed
- (%%HTML_MONO_GZ_SIZE%%K gzipped characters)</a> - entirely on
+ (%%HTML_MONO_GZ_SIZE%%K gzipped characters)</a> - entirely on
one web page.</li>
<li><a href="%%PACKAGE%%.html_node.tar.gz">HTML compressed
(%%HTML_NODE_TGZ_SIZE%%K gzipped tar file)</a> -
</p>
<p>
-Please send FSF & GNU inquiries to
+Please send FSF & GNU inquiries to
<a href="mailto:gnu@gnu.org"><em>gnu@gnu.org</em></a>.
-There are also <a href="/home.html#ContactInfo">other ways to contact</a>
+There are also <a href="/home.html#ContactInfo">other ways to contact</a>
the FSF.
<br />
Please send broken links and other corrections (or suggestions) to
+++ /dev/null
-@c GNU date syntax documentation
-
-@c Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-@c 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
-
-@c Permission is granted to copy, distribute and/or modify this document
-@c under the terms of the GNU Free Documentation License, Version 1.3 or
-@c any later version published by the Free Software Foundation; with no
-@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-@c Texts. A copy of the license is included in the ``GNU Free
-@c Documentation License'' file as part of this distribution.
-
-@node Date input formats
-@chapter Date input formats
-
-@cindex date input formats
-@findex get_date
-
-First, a quote:
-
-@quotation
-Our units of temporal measurement, from seconds on up to months, are so
-complicated, asymmetrical and disjunctive so as to make coherent mental
-reckoning in time all but impossible. Indeed, had some tyrannical god
-contrived to enslave our minds to time, to make it all but impossible
-for us to escape subjection to sodden routines and unpleasant surprises,
-he could hardly have done better than handing down our present system.
-It is like a set of trapezoidal building blocks, with no vertical or
-horizontal surfaces, like a language in which the simplest thought
-demands ornate constructions, useless particles and lengthy
-circumlocutions. Unlike the more successful patterns of language and
-science, which enable us to face experience boldly or at least
-level-headedly, our system of temporal calculation silently and
-persistently encourages our terror of time.
-
-@dots{} It is as though architects had to measure length in feet, width
-in meters and height in ells; as though basic instruction manuals
-demanded a knowledge of five different languages. It is no wonder then
-that we often look into our own immediate past or future, last Tuesday
-or a week from Sunday, with feelings of helpless confusion. @dots{}
-
---- Robert Grudin, @cite{Time and the Art of Living}.
-@end quotation
-
-This section describes the textual date representations that @sc{gnu}
-programs accept. These are the strings you, as a user, can supply as
-arguments to the various programs. The C interface (via the
-@code{get_date} function) is not described here.
-
-@menu
-* General date syntax:: Common rules.
-* Calendar date items:: 19 Dec 1994.
-* Time of day items:: 9:20pm.
-* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}.
-* Day of week items:: Monday and others.
-* Relative items in date strings:: next tuesday, 2 years ago.
-* Pure numbers in date strings:: 19931219, 1440.
-* Seconds since the Epoch:: @@1078100502.
-* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
-* Authors of get_date:: Bellovin, Eggert, Salz, Berets, et al.
-@end menu
-
-
-@node General date syntax
-@section General date syntax
-
-@cindex general date syntax
-
-@cindex items in date strings
-A @dfn{date} is a string, possibly empty, containing many items
-separated by whitespace. The whitespace may be omitted when no
-ambiguity arises. The empty string means the beginning of today (i.e.,
-midnight). Order of the items is immaterial. A date string may contain
-many flavors of items:
-
-@itemize @bullet
-@item calendar date items
-@item time of day items
-@item time zone items
-@item day of the week items
-@item relative items
-@item pure numbers.
-@end itemize
-
-@noindent We describe each of these item types in turn, below.
-
-@cindex numbers, written-out
-@cindex ordinal numbers
-@findex first @r{in date strings}
-@findex next @r{in date strings}
-@findex last @r{in date strings}
-A few ordinal numbers may be written out in words in some contexts. This is
-most useful for specifying day of the week items or relative items (see
-below). Among the most commonly used ordinal numbers, the word
-@samp{last} stands for @math{-1}, @samp{this} stands for 0, and
-@samp{first} and @samp{next} both stand for 1. Because the word
-@samp{second} stands for the unit of time there is no way to write the
-ordinal number 2, but for convenience @samp{third} stands for 3,
-@samp{fourth} for 4, @samp{fifth} for 5,
-@samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
-@samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
-@samp{twelfth} for 12.
-
-@cindex months, written-out
-When a month is written this way, it is still considered to be written
-numerically, instead of being ``spelled in full''; this changes the
-allowed strings.
-
-@cindex language, in dates
-In the current implementation, only English is supported for words and
-abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
-@samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}.
-
-@cindex language, in dates
-@cindex time zone item
-The output of the @command{date} command
-is not always acceptable as a date string,
-not only because of the language problem, but also because there is no
-standard meaning for time zone items like @samp{IST}. When using
-@command{date} to generate a date string intended to be parsed later,
-specify a date format that is independent of language and that does not
-use time zone items other than @samp{UTC} and @samp{Z}. Here are some
-ways to do this:
-
-@example
-$ LC_ALL=C TZ=UTC0 date
-Mon Mar 1 00:21:42 UTC 2004
-$ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ'
-2004-03-01 00:21:42Z
-$ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension.
-2004-02-29 16:21:42,692722128-0800
-$ date --rfc-2822 # a GNU extension
-Sun, 29 Feb 2004 16:21:42 -0800
-$ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension.
-2004-02-29 16:21:42 -0800
-$ date +'@@%s.%N' # %s and %N are GNU extensions.
-@@1078100502.692722128
-@end example
-
-@cindex case, ignored in dates
-@cindex comments, in dates
-Alphabetic case is completely ignored in dates. Comments may be introduced
-between round parentheses, as long as included parentheses are properly
-nested. Hyphens not followed by a digit are currently ignored. Leading
-zeros on numbers are ignored.
-
-Invalid dates like @samp{2005-02-29} or times like @samp{24:00} are
-rejected. In the typical case of a host that does not support leap
-seconds, a time like @samp{23:59:60} is rejected even if it
-corresponds to a valid leap second.
-
-
-@node Calendar date items
-@section Calendar date items
-
-@cindex calendar date item
-
-A @dfn{calendar date item} specifies a day of the year. It is
-specified differently, depending on whether the month is specified
-numerically or literally. All these strings specify the same calendar date:
-
-@example
-1972-09-24 # @sc{iso} 8601.
-72-9-24 # Assume 19xx for 69 through 99,
- # 20xx for 00 through 68.
-72-09-24 # Leading zeros are ignored.
-9/24/72 # Common U.S. writing.
-24 September 1972
-24 Sept 72 # September has a special abbreviation.
-24 Sep 72 # Three-letter abbreviations always allowed.
-Sep 24, 1972
-24-sep-72
-24sep72
-@end example
-
-The year can also be omitted. In this case, the last specified year is
-used, or the current year if none. For example:
-
-@example
-9/24
-sep 24
-@end example
-
-Here are the rules.
-
-@cindex @sc{iso} 8601 date format
-@cindex date format, @sc{iso} 8601
-For numeric months, the @sc{iso} 8601 format
-@samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is
-any positive number, @var{month} is a number between 01 and 12, and
-@var{day} is a number between 01 and 31. A leading zero must be present
-if a number is less than ten. If @var{year} is 68 or smaller, then 2000
-is added to it; otherwise, if @var{year} is less than 100,
-then 1900 is added to it. The construct
-@samp{@var{month}/@var{day}/@var{year}}, popular in the United States,
-is accepted. Also @samp{@var{month}/@var{day}}, omitting the year.
-
-@cindex month names in date strings
-@cindex abbreviations for months
-Literal months may be spelled out in full: @samp{January},
-@samp{February}, @samp{March}, @samp{April}, @samp{May}, @samp{June},
-@samp{July}, @samp{August}, @samp{September}, @samp{October},
-@samp{November} or @samp{December}. Literal months may be abbreviated
-to their first three letters, possibly followed by an abbreviating dot.
-It is also permitted to write @samp{Sept} instead of @samp{September}.
-
-When months are written literally, the calendar date may be given as any
-of the following:
-
-@example
-@var{day} @var{month} @var{year}
-@var{day} @var{month}
-@var{month} @var{day} @var{year}
-@var{day}-@var{month}-@var{year}
-@end example
-
-Or, omitting the year:
-
-@example
-@var{month} @var{day}
-@end example
-
-
-@node Time of day items
-@section Time of day items
-
-@cindex time of day item
-
-A @dfn{time of day item} in date strings specifies the time on a given
-day. Here are some examples, all of which represent the same time:
-
-@example
-20:02:00.000000
-20:02
-8:02pm
-20:02-0500 # In @sc{est} (U.S. Eastern Standard Time).
-@end example
-
-More generally, the time of day may be given as
-@samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is
-a number between 0 and 23, @var{minute} is a number between 0 and
-59, and @var{second} is a number between 0 and 59 possibly followed by
-@samp{.} or @samp{,} and a fraction containing one or more digits.
-Alternatively,
-@samp{:@var{second}} can be omitted, in which case it is taken to
-be zero. On the rare hosts that support leap seconds, @var{second}
-may be 60.
-
-@findex am @r{in date strings}
-@findex pm @r{in date strings}
-@findex midnight @r{in date strings}
-@findex noon @r{in date strings}
-If the time is followed by @samp{am} or @samp{pm} (or @samp{a.m.}
-or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and
-@samp{:@var{minute}} may be omitted (taken to be zero). @samp{am}
-indicates the first half of the day, @samp{pm} indicates the second
-half of the day. In this notation, 12 is the predecessor of 1:
-midnight is @samp{12am} while noon is @samp{12pm}.
-(This is the zero-oriented interpretation of @samp{12am} and @samp{12pm},
-as opposed to the old tradition derived from Latin
-which uses @samp{12m} for noon and @samp{12pm} for midnight.)
-
-@cindex time zone correction
-@cindex minutes, time zone correction by
-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.
-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).
-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.
-
-
-@node Time zone items
-@section Time zone items
-
-@cindex time zone item
-
-A @dfn{time zone item} specifies an international time zone, indicated
-by a small set of letters, e.g., @samp{UTC} or @samp{Z}
-for Coordinated Universal
-Time. Any included periods are ignored. By following a
-non-daylight-saving time zone by the string @samp{DST} in a separate
-word (that is, separated by some white space), the corresponding
-daylight saving time zone may be specified.
-Alternatively, a non-daylight-saving time zone can be followed by a
-time zone correction, to add the two values. This is normally done
-only for @samp{UTC}; for example, @samp{UTC+05:30} is equivalent to
-@samp{+05:30}.
-
-Time zone items other than @samp{UTC} and @samp{Z}
-are obsolescent and are not recommended, because they
-are ambiguous; for example, @samp{EST} has a different meaning in
-Australia than in the United States. Instead, it's better to use
-unambiguous numeric time zone corrections like @samp{-0500}, as
-described in the previous section.
-
-If neither a time zone item nor a time zone correction is supplied,
-time stamps are interpreted using the rules of the default time zone
-(@pxref{Specifying time zone rules}).
-
-
-@node Day of week items
-@section Day of week items
-
-@cindex day of week item
-
-The explicit mention of a day of the week will forward the date
-(only if necessary) to reach that day of the week in the future.
-
-Days of the week may be spelled out in full: @samp{Sunday},
-@samp{Monday}, @samp{Tuesday}, @samp{Wednesday}, @samp{Thursday},
-@samp{Friday} or @samp{Saturday}. Days may be abbreviated to their
-first three letters, optionally followed by a period. The special
-abbreviations @samp{Tues} for @samp{Tuesday}, @samp{Wednes} for
-@samp{Wednesday} and @samp{Thur} or @samp{Thurs} for @samp{Thursday} are
-also allowed.
-
-@findex next @var{day}
-@findex last @var{day}
-A number may precede a day of the week item to move forward
-supplementary weeks. It is best used in expression like @samp{third
-monday}. In this context, @samp{last @var{day}} or @samp{next
-@var{day}} is also acceptable; they move one week before or after
-the day that @var{day} by itself would represent.
-
-A comma following a day of the week item is ignored.
-
-
-@node Relative items in date strings
-@section Relative items in date strings
-
-@cindex relative items in date strings
-@cindex displacement of dates
-
-@dfn{Relative items} adjust a date (or the current date if none) forward
-or backward. The effects of relative items accumulate. Here are some
-examples:
-
-@example
-1 year
-1 year ago
-3 years
-2 days
-@end example
-
-@findex year @r{in date strings}
-@findex month @r{in date strings}
-@findex fortnight @r{in date strings}
-@findex week @r{in date strings}
-@findex day @r{in date strings}
-@findex hour @r{in date strings}
-@findex minute @r{in date strings}
-The unit of time displacement may be selected by the string @samp{year}
-or @samp{month} for moving by whole years or months. These are fuzzy
-units, as years and months are not all of equal duration. More precise
-units are @samp{fortnight} which is worth 14 days, @samp{week} worth 7
-days, @samp{day} worth 24 hours, @samp{hour} worth 60 minutes,
-@samp{minute} or @samp{min} worth 60 seconds, and @samp{second} or
-@samp{sec} worth one second. An @samp{s} suffix on these units is
-accepted and ignored.
-
-@findex ago @r{in date strings}
-The unit of time may be preceded by a multiplier, given as an optionally
-signed number. Unsigned numbers are taken as positively signed. No
-number at all implies 1 for a multiplier. Following a relative item by
-the string @samp{ago} is equivalent to preceding the unit by a
-multiplier with value @math{-1}.
-
-@findex day @r{in date strings}
-@findex tomorrow @r{in date strings}
-@findex yesterday @r{in date strings}
-The string @samp{tomorrow} is worth one day in the future (equivalent
-to @samp{day}), the string @samp{yesterday} is worth
-one day in the past (equivalent to @samp{day ago}).
-
-@findex now @r{in date strings}
-@findex today @r{in date strings}
-@findex this @r{in date strings}
-The strings @samp{now} or @samp{today} are relative items corresponding
-to zero-valued time displacement, these strings come from the fact
-a zero-valued time displacement represents the current time when not
-otherwise changed by previous items. They may be used to stress other
-items, like in @samp{12:00 today}. The string @samp{this} also has
-the meaning of a zero-valued time displacement, but is preferred in
-date strings like @samp{this thursday}.
-
-When a relative item causes the resulting date to cross a boundary
-where the clocks were adjusted, typically for daylight saving time,
-the resulting date and time are adjusted accordingly.
-
-The fuzz in units can cause problems with relative items. For
-example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01,
-because 2003-06-31 is an invalid date. To determine the previous
-month more reliably, you can ask for the month before the 15th of the
-current month. For example:
-
-@example
-$ date -R
-Thu, 31 Jul 2003 13:02:39 -0700
-$ date --date='-1 month' +'Last month was %B?'
-Last month was July?
-$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
-Last month was June!
-@end example
-
-Also, take care when manipulating dates around clock changes such as
-daylight saving leaps. In a few cases these have added or subtracted
-as much as 24 hours from the clock, so it is often wise to adopt
-universal time by setting the @env{TZ} environment variable to
-@samp{UTC0} before embarking on calendrical calculations.
-
-@node Pure numbers in date strings
-@section Pure numbers in date strings
-
-@cindex pure numbers in date strings
-
-The precise interpretation of a pure decimal number depends
-on the context in the date string.
-
-If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no
-other calendar date item (@pxref{Calendar date items}) appears before it
-in the date string, then @var{yyyy} is read as the year, @var{mm} as the
-month number and @var{dd} as the day of the month, for the specified
-calendar date.
-
-If the decimal number is of the form @var{hh}@var{mm} and no other time
-of day item appears before it in the date string, then @var{hh} is read
-as the hour of the day and @var{mm} as the minute of the hour, for the
-specified time of day. @var{mm} can also be omitted.
-
-If both a calendar date and a time of day appear to the left of a number
-in the date string, but no relative item, then the number overrides the
-year.
-
-
-@node Seconds since the Epoch
-@section Seconds since the Epoch
-
-If you precede a number with @samp{@@}, it represents an internal time
-stamp as a count of seconds. The number can contain an internal
-decimal point (either @samp{.} or @samp{,}); any excess precision not
-supported by the internal representation is truncated toward minus
-infinity. Such a number cannot be combined with any other date
-item, as it specifies a complete time stamp.
-
-@cindex beginning of time, for @acronym{POSIX}
-@cindex epoch, for @acronym{POSIX}
-Internally, computer times are represented as a count of seconds since
-an epoch---a well-defined point of time. On @acronym{GNU} and
-@acronym{POSIX} systems, the epoch is 1970-01-01 00:00:00 @sc{utc}, so
-@samp{@@0} represents this time, @samp{@@1} represents 1970-01-01
-00:00:01 @sc{utc}, and so forth. @acronym{GNU} and most other
-@acronym{POSIX}-compliant systems support such times as an extension
-to @acronym{POSIX}, using negative counts, so that @samp{@@-1}
-represents 1969-12-31 23:59:59 @sc{utc}.
-
-Traditional Unix systems count seconds with 32-bit two's-complement
-integers and can represent times from 1901-12-13 20:45:52 through
-2038-01-19 03:14:07 @sc{utc}. More modern systems use 64-bit counts
-of seconds with nanosecond subcounts, and can represent all the times
-in the known lifetime of the universe to a resolution of 1 nanosecond.
-
-On most hosts, these counts ignore the presence of leap seconds.
-For example, on most hosts @samp{@@915148799} represents 1998-12-31
-23:59:59 @sc{utc}, @samp{@@915148800} represents 1999-01-01 00:00:00
-@sc{utc}, and there is no way to represent the intervening leap second
-1998-12-31 23:59:60 @sc{utc}.
-
-@node Specifying time zone rules
-@section Specifying time zone rules
-
-@vindex TZ
-Normally, dates are interpreted using the rules of the current time
-zone, which in turn are specified by the @env{TZ} environment
-variable, or by a system default if @env{TZ} is not set. To specify a
-different set of default time zone rules that apply just to one date,
-start the date with a string of the form @samp{TZ="@var{rule}"}. The
-two quote characters (@samp{"}) must be present in the date, and any
-quotes or backslashes within @var{rule} must be escaped by a
-backslash.
-
-For example, with the @acronym{GNU} @command{date} command you can
-answer the question ``What time is it in New York when a Paris clock
-shows 6:30am on October 31, 2004?'' by using a date beginning with
-@samp{TZ="Europe/Paris"} as shown in the following shell transcript:
-
-@example
-$ export TZ="America/New_York"
-$ date --date='TZ="Europe/Paris" 2004-10-31 06:30'
-Sun Oct 31 01:30:00 EDT 2004
-@end example
-
-In this example, the @option{--date} operand begins with its own
-@env{TZ} setting, so the rest of that operand is processed according
-to @samp{Europe/Paris} rules, treating the string @samp{2004-10-31
-06:30} as if it were in Paris. However, since the output of the
-@command{date} command is processed according to the overall time zone
-rules, it uses New York time. (Paris was normally six hours ahead of
-New York in 2004, but this example refers to a brief Halloween period
-when the gap was five hours.)
-
-A @env{TZ} value is a rule that typically names a location in the
-@uref{http://www.twinsun.com/tz/tz-link.htm, @samp{tz} database}.
-A recent catalog of location names appears in the
-@uref{http://twiki.org/cgi-bin/xtra/tzdate, TWiki Date and Time
-Gateway}. A few non-@acronym{GNU} hosts require a colon before a
-location name in a @env{TZ} setting, e.g.,
-@samp{TZ=":America/New_York"}.
-
-The @samp{tz} database includes a wide variety of locations ranging
-from @samp{Arctic/Longyearbyen} to @samp{Antarctica/South_Pole}, but
-if you are at sea and have your own private time zone, or if you are
-using a non-@acronym{GNU} host that does not support the @samp{tz}
-database, you may need to use a @acronym{POSIX} rule instead. Simple
-@acronym{POSIX} rules like @samp{UTC0} specify a time zone without
-daylight saving time; other rules can specify simple daylight saving
-regimes. @xref{TZ Variable,, Specifying the Time Zone with @code{TZ},
-libc, The GNU C Library}.
-
-@node Authors of get_date
-@section Authors of @code{get_date}
-
-@cindex authors of @code{get_date}
-
-@cindex Bellovin, Steven M.
-@cindex Salz, Rich
-@cindex Berets, Jim
-@cindex MacKenzie, David
-@cindex Meyering, Jim
-@cindex Eggert, Paul
-@code{get_date} was originally implemented by Steven M. Bellovin
-(@email{smb@@research.att.com}) while at the University of North Carolina
-at Chapel Hill. The code was later tweaked by a couple of people on
-Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})
-and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various
-revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering,
-Paul Eggert and others.
-
-@cindex Pinard, F.
-@cindex Berry, K.
-This chapter was originally produced by Fran@,{c}ois Pinard
-(@email{pinard@@iro.umontreal.ca}) from the @file{getdate.y} source code,
-and then edited by K.@: Berry (@email{kb@@cs.umb.edu}).
The @code{uid} and @code{gid} fields are the numeric user and group
@acronym{ID} of the file owners, respectively. If the operating system does
not support numeric user or group @acronym{ID}s, these fields should
-be ignored.
+be ignored.
The @code{size} field is the size of the file in bytes; linked files
-are archived with this field specified as zero.
+are archived with this field specified as zero.
The @code{mtime} field is the data modification time of the file at
the time it was archived. It is the ASCII representation of the octal
@node Dumpdir
@unnumberedsec Dumpdir
@include dumpdir.texi
-
;; This file redefines texinfo-master-menu-list so that it takes into
;; account included files.
-;; Known bugs: @menu without previous sectioning command will inherit
+;; Known bugs: @menu without previous sectioning command will inherit
;; documentation string from the previous menu. However, since such a
;; menu is illegal in a texinfo file, we can live with it.
-(require 'texinfo)
+(require 'texinfo)
(require 'texnfo-upd)
(defun texinfo-master-menu-list-recursive (title)
--- /dev/null
+@c GNU date syntax documentation
+
+@c Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+@c 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3 or
+@c any later version published by the Free Software Foundation; with no
+@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+@c Texts. A copy of the license is included in the ``GNU Free
+@c Documentation License'' file as part of this distribution.
+
+@node Date input formats
+@chapter Date input formats
+
+@cindex date input formats
+@findex parse_datetime
+
+First, a quote:
+
+@quotation
+Our units of temporal measurement, from seconds on up to months, are so
+complicated, asymmetrical and disjunctive so as to make coherent mental
+reckoning in time all but impossible. Indeed, had some tyrannical god
+contrived to enslave our minds to time, to make it all but impossible
+for us to escape subjection to sodden routines and unpleasant surprises,
+he could hardly have done better than handing down our present system.
+It is like a set of trapezoidal building blocks, with no vertical or
+horizontal surfaces, like a language in which the simplest thought
+demands ornate constructions, useless particles and lengthy
+circumlocutions. Unlike the more successful patterns of language and
+science, which enable us to face experience boldly or at least
+level-headedly, our system of temporal calculation silently and
+persistently encourages our terror of time.
+
+@dots{} It is as though architects had to measure length in feet, width
+in meters and height in ells; as though basic instruction manuals
+demanded a knowledge of five different languages. It is no wonder then
+that we often look into our own immediate past or future, last Tuesday
+or a week from Sunday, with feelings of helpless confusion. @dots{}
+
+--- Robert Grudin, @cite{Time and the Art of Living}.
+@end quotation
+
+This section describes the textual date representations that @sc{gnu}
+programs accept. These are the strings you, as a user, can supply as
+arguments to the various programs. The C interface (via the
+@code{parse_datetime} function) is not described here.
+
+@menu
+* General date syntax:: Common rules.
+* Calendar date items:: 19 Dec 1994.
+* Time of day items:: 9:20pm.
+* Time zone items:: @sc{est}, @sc{pdt}, @sc{gmt}.
+* Day of week items:: Monday and others.
+* Relative items in date strings:: next tuesday, 2 years ago.
+* Pure numbers in date strings:: 19931219, 1440.
+* Seconds since the Epoch:: @@1078100502.
+* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
+* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al.
+@end menu
+
+
+@node General date syntax
+@section General date syntax
+
+@cindex general date syntax
+
+@cindex items in date strings
+A @dfn{date} is a string, possibly empty, containing many items
+separated by whitespace. The whitespace may be omitted when no
+ambiguity arises. The empty string means the beginning of today (i.e.,
+midnight). Order of the items is immaterial. A date string may contain
+many flavors of items:
+
+@itemize @bullet
+@item calendar date items
+@item time of day items
+@item time zone items
+@item day of the week items
+@item relative items
+@item pure numbers.
+@end itemize
+
+@noindent We describe each of these item types in turn, below.
+
+@cindex numbers, written-out
+@cindex ordinal numbers
+@findex first @r{in date strings}
+@findex next @r{in date strings}
+@findex last @r{in date strings}
+A few ordinal numbers may be written out in words in some contexts. This is
+most useful for specifying day of the week items or relative items (see
+below). Among the most commonly used ordinal numbers, the word
+@samp{last} stands for @math{-1}, @samp{this} stands for 0, and
+@samp{first} and @samp{next} both stand for 1. Because the word
+@samp{second} stands for the unit of time there is no way to write the
+ordinal number 2, but for convenience @samp{third} stands for 3,
+@samp{fourth} for 4, @samp{fifth} for 5,
+@samp{sixth} for 6, @samp{seventh} for 7, @samp{eighth} for 8,
+@samp{ninth} for 9, @samp{tenth} for 10, @samp{eleventh} for 11 and
+@samp{twelfth} for 12.
+
+@cindex months, written-out
+When a month is written this way, it is still considered to be written
+numerically, instead of being ``spelled in full''; this changes the
+allowed strings.
+
+@cindex language, in dates
+In the current implementation, only English is supported for words and
+abbreviations like @samp{AM}, @samp{DST}, @samp{EST}, @samp{first},
+@samp{January}, @samp{Sunday}, @samp{tomorrow}, and @samp{year}.
+
+@cindex language, in dates
+@cindex time zone item
+The output of the @command{date} command
+is not always acceptable as a date string,
+not only because of the language problem, but also because there is no
+standard meaning for time zone items like @samp{IST}. When using
+@command{date} to generate a date string intended to be parsed later,
+specify a date format that is independent of language and that does not
+use time zone items other than @samp{UTC} and @samp{Z}. Here are some
+ways to do this:
+
+@example
+$ LC_ALL=C TZ=UTC0 date
+Mon Mar 1 00:21:42 UTC 2004
+$ TZ=UTC0 date +'%Y-%m-%d %H:%M:%SZ'
+2004-03-01 00:21:42Z
+$ date --iso-8601=ns | tr T ' ' # --iso-8601 is a GNU extension.
+2004-02-29 16:21:42,692722128-0800
+$ date --rfc-2822 # a GNU extension
+Sun, 29 Feb 2004 16:21:42 -0800
+$ date +'%Y-%m-%d %H:%M:%S %z' # %z is a GNU extension.
+2004-02-29 16:21:42 -0800
+$ date +'@@%s.%N' # %s and %N are GNU extensions.
+@@1078100502.692722128
+@end example
+
+@cindex case, ignored in dates
+@cindex comments, in dates
+Alphabetic case is completely ignored in dates. Comments may be introduced
+between round parentheses, as long as included parentheses are properly
+nested. Hyphens not followed by a digit are currently ignored. Leading
+zeros on numbers are ignored.
+
+Invalid dates like @samp{2005-02-29} or times like @samp{24:00} are
+rejected. In the typical case of a host that does not support leap
+seconds, a time like @samp{23:59:60} is rejected even if it
+corresponds to a valid leap second.
+
+
+@node Calendar date items
+@section Calendar date items
+
+@cindex calendar date item
+
+A @dfn{calendar date item} specifies a day of the year. It is
+specified differently, depending on whether the month is specified
+numerically or literally. All these strings specify the same calendar date:
+
+@example
+1972-09-24 # @sc{iso} 8601.
+72-9-24 # Assume 19xx for 69 through 99,
+ # 20xx for 00 through 68.
+72-09-24 # Leading zeros are ignored.
+9/24/72 # Common U.S. writing.
+24 September 1972
+24 Sept 72 # September has a special abbreviation.
+24 Sep 72 # Three-letter abbreviations always allowed.
+Sep 24, 1972
+24-sep-72
+24sep72
+@end example
+
+The year can also be omitted. In this case, the last specified year is
+used, or the current year if none. For example:
+
+@example
+9/24
+sep 24
+@end example
+
+Here are the rules.
+
+@cindex @sc{iso} 8601 date format
+@cindex date format, @sc{iso} 8601
+For numeric months, the @sc{iso} 8601 format
+@samp{@var{year}-@var{month}-@var{day}} is allowed, where @var{year} is
+any positive number, @var{month} is a number between 01 and 12, and
+@var{day} is a number between 01 and 31. A leading zero must be present
+if a number is less than ten. If @var{year} is 68 or smaller, then 2000
+is added to it; otherwise, if @var{year} is less than 100,
+then 1900 is added to it. The construct
+@samp{@var{month}/@var{day}/@var{year}}, popular in the United States,
+is accepted. Also @samp{@var{month}/@var{day}}, omitting the year.
+
+@cindex month names in date strings
+@cindex abbreviations for months
+Literal months may be spelled out in full: @samp{January},
+@samp{February}, @samp{March}, @samp{April}, @samp{May}, @samp{June},
+@samp{July}, @samp{August}, @samp{September}, @samp{October},
+@samp{November} or @samp{December}. Literal months may be abbreviated
+to their first three letters, possibly followed by an abbreviating dot.
+It is also permitted to write @samp{Sept} instead of @samp{September}.
+
+When months are written literally, the calendar date may be given as any
+of the following:
+
+@example
+@var{day} @var{month} @var{year}
+@var{day} @var{month}
+@var{month} @var{day} @var{year}
+@var{day}-@var{month}-@var{year}
+@end example
+
+Or, omitting the year:
+
+@example
+@var{month} @var{day}
+@end example
+
+
+@node Time of day items
+@section Time of day items
+
+@cindex time of day item
+
+A @dfn{time of day item} in date strings specifies the time on a given
+day. Here are some examples, all of which represent the same time:
+
+@example
+20:02:00.000000
+20:02
+8:02pm
+20:02-0500 # In @sc{est} (U.S. Eastern Standard Time).
+@end example
+
+More generally, the time of day may be given as
+@samp{@var{hour}:@var{minute}:@var{second}}, where @var{hour} is
+a number between 0 and 23, @var{minute} is a number between 0 and
+59, and @var{second} is a number between 0 and 59 possibly followed by
+@samp{.} or @samp{,} and a fraction containing one or more digits.
+Alternatively,
+@samp{:@var{second}} can be omitted, in which case it is taken to
+be zero. On the rare hosts that support leap seconds, @var{second}
+may be 60.
+
+@findex am @r{in date strings}
+@findex pm @r{in date strings}
+@findex midnight @r{in date strings}
+@findex noon @r{in date strings}
+If the time is followed by @samp{am} or @samp{pm} (or @samp{a.m.}
+or @samp{p.m.}), @var{hour} is restricted to run from 1 to 12, and
+@samp{:@var{minute}} may be omitted (taken to be zero). @samp{am}
+indicates the first half of the day, @samp{pm} indicates the second
+half of the day. In this notation, 12 is the predecessor of 1:
+midnight is @samp{12am} while noon is @samp{12pm}.
+(This is the zero-oriented interpretation of @samp{12am} and @samp{12pm},
+as opposed to the old tradition derived from Latin
+which uses @samp{12m} for noon and @samp{12pm} for midnight.)
+
+@cindex time zone correction
+@cindex minutes, time zone correction by
+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.
+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).
+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.
+
+
+@node Time zone items
+@section Time zone items
+
+@cindex time zone item
+
+A @dfn{time zone item} specifies an international time zone, indicated
+by a small set of letters, e.g., @samp{UTC} or @samp{Z}
+for Coordinated Universal
+Time. Any included periods are ignored. By following a
+non-daylight-saving time zone by the string @samp{DST} in a separate
+word (that is, separated by some white space), the corresponding
+daylight saving time zone may be specified.
+Alternatively, a non-daylight-saving time zone can be followed by a
+time zone correction, to add the two values. This is normally done
+only for @samp{UTC}; for example, @samp{UTC+05:30} is equivalent to
+@samp{+05:30}.
+
+Time zone items other than @samp{UTC} and @samp{Z}
+are obsolescent and are not recommended, because they
+are ambiguous; for example, @samp{EST} has a different meaning in
+Australia than in the United States. Instead, it's better to use
+unambiguous numeric time zone corrections like @samp{-0500}, as
+described in the previous section.
+
+If neither a time zone item nor a time zone correction is supplied,
+time stamps are interpreted using the rules of the default time zone
+(@pxref{Specifying time zone rules}).
+
+
+@node Day of week items
+@section Day of week items
+
+@cindex day of week item
+
+The explicit mention of a day of the week will forward the date
+(only if necessary) to reach that day of the week in the future.
+
+Days of the week may be spelled out in full: @samp{Sunday},
+@samp{Monday}, @samp{Tuesday}, @samp{Wednesday}, @samp{Thursday},
+@samp{Friday} or @samp{Saturday}. Days may be abbreviated to their
+first three letters, optionally followed by a period. The special
+abbreviations @samp{Tues} for @samp{Tuesday}, @samp{Wednes} for
+@samp{Wednesday} and @samp{Thur} or @samp{Thurs} for @samp{Thursday} are
+also allowed.
+
+@findex next @var{day}
+@findex last @var{day}
+A number may precede a day of the week item to move forward
+supplementary weeks. It is best used in expression like @samp{third
+monday}. In this context, @samp{last @var{day}} or @samp{next
+@var{day}} is also acceptable; they move one week before or after
+the day that @var{day} by itself would represent.
+
+A comma following a day of the week item is ignored.
+
+
+@node Relative items in date strings
+@section Relative items in date strings
+
+@cindex relative items in date strings
+@cindex displacement of dates
+
+@dfn{Relative items} adjust a date (or the current date if none) forward
+or backward. The effects of relative items accumulate. Here are some
+examples:
+
+@example
+1 year
+1 year ago
+3 years
+2 days
+@end example
+
+@findex year @r{in date strings}
+@findex month @r{in date strings}
+@findex fortnight @r{in date strings}
+@findex week @r{in date strings}
+@findex day @r{in date strings}
+@findex hour @r{in date strings}
+@findex minute @r{in date strings}
+The unit of time displacement may be selected by the string @samp{year}
+or @samp{month} for moving by whole years or months. These are fuzzy
+units, as years and months are not all of equal duration. More precise
+units are @samp{fortnight} which is worth 14 days, @samp{week} worth 7
+days, @samp{day} worth 24 hours, @samp{hour} worth 60 minutes,
+@samp{minute} or @samp{min} worth 60 seconds, and @samp{second} or
+@samp{sec} worth one second. An @samp{s} suffix on these units is
+accepted and ignored.
+
+@findex ago @r{in date strings}
+The unit of time may be preceded by a multiplier, given as an optionally
+signed number. Unsigned numbers are taken as positively signed. No
+number at all implies 1 for a multiplier. Following a relative item by
+the string @samp{ago} is equivalent to preceding the unit by a
+multiplier with value @math{-1}.
+
+@findex day @r{in date strings}
+@findex tomorrow @r{in date strings}
+@findex yesterday @r{in date strings}
+The string @samp{tomorrow} is worth one day in the future (equivalent
+to @samp{day}), the string @samp{yesterday} is worth
+one day in the past (equivalent to @samp{day ago}).
+
+@findex now @r{in date strings}
+@findex today @r{in date strings}
+@findex this @r{in date strings}
+The strings @samp{now} or @samp{today} are relative items corresponding
+to zero-valued time displacement, these strings come from the fact
+a zero-valued time displacement represents the current time when not
+otherwise changed by previous items. They may be used to stress other
+items, like in @samp{12:00 today}. The string @samp{this} also has
+the meaning of a zero-valued time displacement, but is preferred in
+date strings like @samp{this thursday}.
+
+When a relative item causes the resulting date to cross a boundary
+where the clocks were adjusted, typically for daylight saving time,
+the resulting date and time are adjusted accordingly.
+
+The fuzz in units can cause problems with relative items. For
+example, @samp{2003-07-31 -1 month} might evaluate to 2003-07-01,
+because 2003-06-31 is an invalid date. To determine the previous
+month more reliably, you can ask for the month before the 15th of the
+current month. For example:
+
+@example
+$ date -R
+Thu, 31 Jul 2003 13:02:39 -0700
+$ date --date='-1 month' +'Last month was %B?'
+Last month was July?
+$ date --date="$(date +%Y-%m-15) -1 month" +'Last month was %B!'
+Last month was June!
+@end example
+
+Also, take care when manipulating dates around clock changes such as
+daylight saving leaps. In a few cases these have added or subtracted
+as much as 24 hours from the clock, so it is often wise to adopt
+universal time by setting the @env{TZ} environment variable to
+@samp{UTC0} before embarking on calendrical calculations.
+
+@node Pure numbers in date strings
+@section Pure numbers in date strings
+
+@cindex pure numbers in date strings
+
+The precise interpretation of a pure decimal number depends
+on the context in the date string.
+
+If the decimal number is of the form @var{yyyy}@var{mm}@var{dd} and no
+other calendar date item (@pxref{Calendar date items}) appears before it
+in the date string, then @var{yyyy} is read as the year, @var{mm} as the
+month number and @var{dd} as the day of the month, for the specified
+calendar date.
+
+If the decimal number is of the form @var{hh}@var{mm} and no other time
+of day item appears before it in the date string, then @var{hh} is read
+as the hour of the day and @var{mm} as the minute of the hour, for the
+specified time of day. @var{mm} can also be omitted.
+
+If both a calendar date and a time of day appear to the left of a number
+in the date string, but no relative item, then the number overrides the
+year.
+
+
+@node Seconds since the Epoch
+@section Seconds since the Epoch
+
+If you precede a number with @samp{@@}, it represents an internal time
+stamp as a count of seconds. The number can contain an internal
+decimal point (either @samp{.} or @samp{,}); any excess precision not
+supported by the internal representation is truncated toward minus
+infinity. Such a number cannot be combined with any other date
+item, as it specifies a complete time stamp.
+
+@cindex beginning of time, for @acronym{POSIX}
+@cindex epoch, for @acronym{POSIX}
+Internally, computer times are represented as a count of seconds since
+an epoch---a well-defined point of time. On @acronym{GNU} and
+@acronym{POSIX} systems, the epoch is 1970-01-01 00:00:00 @sc{utc}, so
+@samp{@@0} represents this time, @samp{@@1} represents 1970-01-01
+00:00:01 @sc{utc}, and so forth. @acronym{GNU} and most other
+@acronym{POSIX}-compliant systems support such times as an extension
+to @acronym{POSIX}, using negative counts, so that @samp{@@-1}
+represents 1969-12-31 23:59:59 @sc{utc}.
+
+Traditional Unix systems count seconds with 32-bit two's-complement
+integers and can represent times from 1901-12-13 20:45:52 through
+2038-01-19 03:14:07 @sc{utc}. More modern systems use 64-bit counts
+of seconds with nanosecond subcounts, and can represent all the times
+in the known lifetime of the universe to a resolution of 1 nanosecond.
+
+On most hosts, these counts ignore the presence of leap seconds.
+For example, on most hosts @samp{@@915148799} represents 1998-12-31
+23:59:59 @sc{utc}, @samp{@@915148800} represents 1999-01-01 00:00:00
+@sc{utc}, and there is no way to represent the intervening leap second
+1998-12-31 23:59:60 @sc{utc}.
+
+@node Specifying time zone rules
+@section Specifying time zone rules
+
+@vindex TZ
+Normally, dates are interpreted using the rules of the current time
+zone, which in turn are specified by the @env{TZ} environment
+variable, or by a system default if @env{TZ} is not set. To specify a
+different set of default time zone rules that apply just to one date,
+start the date with a string of the form @samp{TZ="@var{rule}"}. The
+two quote characters (@samp{"}) must be present in the date, and any
+quotes or backslashes within @var{rule} must be escaped by a
+backslash.
+
+For example, with the @acronym{GNU} @command{date} command you can
+answer the question ``What time is it in New York when a Paris clock
+shows 6:30am on October 31, 2004?'' by using a date beginning with
+@samp{TZ="Europe/Paris"} as shown in the following shell transcript:
+
+@example
+$ export TZ="America/New_York"
+$ date --date='TZ="Europe/Paris" 2004-10-31 06:30'
+Sun Oct 31 01:30:00 EDT 2004
+@end example
+
+In this example, the @option{--date} operand begins with its own
+@env{TZ} setting, so the rest of that operand is processed according
+to @samp{Europe/Paris} rules, treating the string @samp{2004-10-31
+06:30} as if it were in Paris. However, since the output of the
+@command{date} command is processed according to the overall time zone
+rules, it uses New York time. (Paris was normally six hours ahead of
+New York in 2004, but this example refers to a brief Halloween period
+when the gap was five hours.)
+
+A @env{TZ} value is a rule that typically names a location in the
+@uref{http://www.twinsun.com/tz/tz-link.htm, @samp{tz} database}.
+A recent catalog of location names appears in the
+@uref{http://twiki.org/cgi-bin/xtra/tzdate, TWiki Date and Time
+Gateway}. A few non-@acronym{GNU} hosts require a colon before a
+location name in a @env{TZ} setting, e.g.,
+@samp{TZ=":America/New_York"}.
+
+The @samp{tz} database includes a wide variety of locations ranging
+from @samp{Arctic/Longyearbyen} to @samp{Antarctica/South_Pole}, but
+if you are at sea and have your own private time zone, or if you are
+using a non-@acronym{GNU} host that does not support the @samp{tz}
+database, you may need to use a @acronym{POSIX} rule instead. Simple
+@acronym{POSIX} rules like @samp{UTC0} specify a time zone without
+daylight saving time; other rules can specify simple daylight saving
+regimes. @xref{TZ Variable,, Specifying the Time Zone with @code{TZ},
+libc, The GNU C Library}.
+
+@node Authors of parse_datetime
+@section Authors of @code{parse_datetime}
+@c the anchor keeps the old node name, to try to avoid breaking links
+@anchor{Authors of get_date}
+
+@cindex authors of @code{parse_datetime}
+
+@cindex Bellovin, Steven M.
+@cindex Salz, Rich
+@cindex Berets, Jim
+@cindex MacKenzie, David
+@cindex Meyering, Jim
+@cindex Eggert, Paul
+@code{parse_datetime} started life as @code{getdate}, as originally
+implemented by Steven M. Bellovin
+(@email{smb@@research.att.com}) while at the University of North Carolina
+at Chapel Hill. The code was later tweaked by a couple of people on
+Usenet, then completely overhauled by Rich $alz (@email{rsalz@@bbn.com})
+and Jim Berets (@email{jberets@@bbn.com}) in August, 1990. Various
+revisions for the @sc{gnu} system were made by David MacKenzie, Jim Meyering,
+Paul Eggert and others, including renaming it to @code{get_date} to
+avoid a conflict with the alternative Posix function @code{getdate},
+and a later rename to @code{parse_datetime}. The Posix function
+@code{getdate} can parse more locale-specific dates using
+@code{strptime}, but relies on an environment variable and external
+file, and lacks the thread-safety of @code{parse_datetime}.
+
+@cindex Pinard, F.
+@cindex Berry, K.
+This chapter was originally produced by Fran@,{c}ois Pinard
+(@email{pinard@@iro.umontreal.ca}) from the @file{parse_datetime.y} source code,
+and then edited by K.@: Berry (@email{kb@@cs.umb.edu}).
@end enumerate
@c End of snapshot.texi
-
possible to expand the file to its original form even without @GNUTAR{}.
@xref{Sparse Recovery}, for the detailed information on how to extract
sparse members without @GNUTAR{}.
-
-@set UPDATED 9 March 2010
-@set UPDATED-MONTH March 2010
-@set EDITION 1.23
-@set VERSION 1.23
+@set UPDATED 24 October 2010
+@set UPDATED-MONTH October 2010
+@set EDITION 1.24
+@set VERSION 1.24
$ @kbd{tar-snapshot-edit -b -r 0x0306-0x4500 /var/backup/snap.a}
file version 2
@end smallexample
-
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.23, 9 March 2010), which
+This manual is for GNU `tar' (version 1.24, 24 October 2010), which
creates and extracts files from archives.
Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
"GNU Free Documentation License".
\1f
Indirect:
-tar.info-1: 1252
-tar.info-2: 299753
+tar.info-1: 1255
+tar.info-2: 301175
\1f
Tag Table:
(Indirect)
-Node: Top\7f1252
-Node: Introduction\7f10541
-Node: Book Contents\7f11328
-Node: Definitions\7f13500
-Node: What tar Does\7f15303
-Node: Naming tar Archives\7f18069
-Node: Authors\7f18789
-Node: Reports\7f20602
-Node: Tutorial\7f20959
-Node: assumptions\7f21772
-Node: stylistic conventions\7f24247
-Node: basic tar options\7f24690
-Node: frequent operations\7f28328
-Node: Two Frequent Options\7f28980
-Node: file tutorial\7f29611
-Node: verbose tutorial\7f30968
-Ref: verbose member listing\7f33182
-Node: help tutorial\7f35935
-Node: create\7f36289
-Node: prepare for examples\7f37790
-Node: Creating the archive\7f39559
-Node: create verbose\7f42391
-Node: short create\7f43211
-Node: create dir\7f45964
-Node: list\7f48672
-Ref: listing member and file names\7f49946
-Node: list dir\7f52260
-Node: extract\7f53249
-Node: extracting archives\7f54363
-Node: extracting files\7f54853
-Ref: extracting files-Footnote-1\7f57500
-Node: extract dir\7f57880
-Node: extracting untrusted archives\7f60263
-Node: failing commands\7f61142
-Node: going further\7f62236
-Node: tar invocation\7f62449
-Node: Synopsis\7f63911
-Node: using tar options\7f68866
-Ref: TAR_OPTIONS\7f70443
-Node: Styles\7f71460
-Ref: Styles-Footnote-1\7f72959
-Node: Long Options\7f73215
-Node: Short Options\7f75387
-Ref: Short Options-Footnote-1\7f77195
-Node: Old Options\7f77412
-Ref: Old Options-Footnote-1\7f80299
-Node: Mixing\7f80469
-Ref: Mixing-Footnote-1\7f82835
-Node: All Options\7f82955
-Node: Operation Summary\7f83560
-Ref: --append\7f83680
-Ref: --catenate\7f83760
-Ref: --compare\7f83831
-Ref: --concatenate\7f84034
-Ref: --create\7f84144
-Ref: --delete\7f84212
-Ref: --diff\7f84326
-Ref: --extract\7f84382
-Ref: --get\7f84484
-Ref: --list\7f84542
-Ref: --update\7f84610
-Node: Option Summary\7f84820
-Ref: --absolute-names\7f84975
-Ref: --after-date\7f85153
-Ref: --anchored\7f85205
-Ref: --atime-preserve\7f85338
-Ref: --auto-compress\7f87858
-Ref: --backup\7f88085
-Ref: --block-number\7f88276
-Ref: --blocking-factor\7f88450
-Ref: --bzip2\7f88602
-Ref: --check-device\7f88709
-Ref: --checkpoint\7f88904
-Ref: --checkpoint-action\7f89346
-Ref: --check-links\7f90497
-Ref: --compress\7f90774
-Ref: --uncompress\7f90774
-Ref: --confirmation\7f90978
-Ref: --delay-directory-restore\7f91046
-Ref: --dereference\7f91247
-Ref: --directory\7f91432
-Ref: --exclude\7f91685
-Ref: --exclude-backups\7f91804
-Ref: --exclude-from\7f91894
-Ref: --exclude-caches\7f92040
-Ref: --exclude-caches-under\7f92248
-Ref: --exclude-caches-all\7f92426
-Ref: --exclude-tag\7f92555
-Ref: --exclude-tag-under\7f92726
-Ref: --exclude-tag-all\7f92916
-Ref: --exclude-vcs\7f93045
-Ref: --file\7f93211
-Ref: --files-from\7f93411
-Ref: --force-local\7f93614
-Ref: --format\7f93805
-Ref: --group\7f94475
-Ref: --gzip\7f94823
-Ref: --gunzip\7f94823
-Ref: --ungzip\7f94823
-Ref: --hard-dereference\7f95046
-Ref: --help\7f95233
-Ref: --ignore-case\7f95367
-Ref: --ignore-command-error\7f95494
-Ref: --ignore-failed-read\7f95605
-Ref: --ignore-zeros\7f95735
-Ref: --incremental\7f95880
-Ref: --index-file\7f96145
-Ref: --info-script\7f96230
-Ref: --new-volume-script\7f96230
-Ref: --interactive\7f96551
-Ref: --keep-newer-files\7f96763
-Ref: --keep-old-files\7f96905
-Ref: --label\7f97036
-Ref: --level\7f97324
-Ref: --listed-incremental\7f97765
-Ref: --lzip\7f98129
-Ref: --lzma\7f98229
-Ref: --mode\7f98429
-Ref: --mtime\7f98720
-Ref: --multi-volume\7f99161
-Ref: --newer\7f99365
-Ref: --newer-mtime\7f99643
-Ref: --no-anchored\7f99867
-Ref: --no-auto-compress\7f100004
-Ref: --no-check-device\7f100155
-Ref: --no-delay-directory-restore\7f100338
-Ref: --no-ignore-case\7f100591
-Ref: --no-ignore-command-error\7f100684
-Ref: --no-null\7f100839
-Ref: --no-overwrite-dir\7f101044
-Ref: --no-quote-chars\7f101187
-Ref: --no-recursion\7f101368
-Ref: --no-same-owner\7f101473
-Ref: --no-same-permissions\7f101656
-Ref: --no-seek\7f101858
-Ref: --no-unquote\7f102076
-Ref: --no-wildcards\7f102214
-Ref: --no-wildcards-match-slash\7f102298
-Ref: --null\7f102400
-Ref: --numeric-owner\7f102628
-Ref: --occurrence\7f103279
-Ref: --old-archive\7f103846
-Ref: --one-file-system\7f103895
-Ref: --overwrite\7f104073
-Ref: --overwrite-dir\7f104215
-Ref: --owner\7f104360
-Ref: --pax-option\7f104739
-Ref: --portability\7f105046
-Ref: --posix\7f105111
-Ref: --preserve\7f105153
-Ref: --preserve-order\7f105291
-Ref: --preserve-permissions\7f105355
-Ref: --same-permissions\7f105355
-Ref: --quote-chars\7f105769
-Ref: --quoting-style\7f105922
-Ref: --read-full-records\7f106243
-Ref: --record-size\7f106408
-Ref: --recursion\7f106539
-Ref: --recursive-unlink\7f106642
-Ref: --remove-files\7f106809
-Ref: --restrict\7f106955
-Ref: --rmt-command\7f107143
-Ref: --rsh-command\7f107284
-Ref: --same-order\7f107406
-Ref: --same-owner\7f107698
-Ref: --seek\7f108075
-Ref: --show-defaults\7f108444
-Ref: --show-omitted-dirs\7f108934
-Ref: --show-transformed-names\7f109088
-Ref: --show-stored-names\7f109088
-Ref: --sparse\7f109477
-Ref: --sparse-version\7f109616
-Ref: --starting-file\7f109840
-Ref: --strip-components\7f110029
-Ref: --suffix\7f110341
-Ref: --tape-length\7f110460
-Ref: --test-label\7f110615
-Ref: --to-command\7f110767
-Ref: --to-stdout\7f110926
-Ref: --totals\7f111079
-Ref: --touch\7f111310
-Ref: --transform\7f111512
-Ref: --xform\7f111512
-Ref: --unlink-first\7f112123
-Ref: --unquote\7f112291
-Ref: --use-compress-program\7f112398
-Ref: --utc\7f112576
-Ref: --verbose\7f112669
-Ref: --verify\7f112921
-Ref: --version\7f113039
-Ref: --volno-file\7f113211
-Ref: --warning\7f113398
-Ref: --wildcards\7f113575
-Ref: --wildcards-match-slash\7f113695
-Ref: --xz\7f113787
-Ref: Option Summary-Footnote-1\7f113918
-Node: Short Option Summary\7f114136
-Node: help\7f116337
-Ref: help-Footnote-1\7f120221
-Node: defaults\7f120432
-Node: verbose\7f121451
-Ref: totals\7f123752
-Ref: Progress information\7f125342
-Ref: show-omitted-dirs\7f126321
-Ref: block-number\7f126740
-Ref: verbose-Footnote-1\7f127767
-Node: checkpoints\7f127874
-Node: warnings\7f133268
-Node: interactive\7f135992
-Node: operations\7f138074
-Node: Basic tar\7f138333
-Ref: Basic tar-Footnote-1\7f141437
-Node: Advanced tar\7f141581
-Node: Operations\7f142426
-Node: append\7f144325
-Ref: append-Footnote-1\7f147420
-Node: appending files\7f147583
-Node: multiple\7f149301
-Node: update\7f151991
-Node: how to update\7f152967
-Node: concatenate\7f154749
-Ref: concatenate-Footnote-1\7f157997
-Node: delete\7f158135
-Node: compare\7f159908
-Node: create options\7f161336
-Node: override\7f161794
-Node: Ignore Failed Read\7f165226
-Node: extract options\7f165446
-Node: Reading\7f166279
-Node: read full records\7f167779
-Node: Ignore Zeros\7f168115
-Node: Writing\7f169106
-Node: Dealing with Old Files\7f169663
-Node: Overwrite Old Files\7f172090
-Node: Keep Old Files\7f173547
-Node: Keep Newer Files\7f174057
-Node: Unlink First\7f174347
-Node: Recursive Unlink\7f174751
-Node: Data Modification Times\7f175304
-Node: Setting Access Permissions\7f176114
-Node: Directory Modification Times and Permissions\7f176746
-Node: Writing to Standard Output\7f180358
-Node: Writing to an External Program\7f181893
-Node: remove files\7f185032
-Node: Scarce\7f185225
-Node: Starting File\7f185473
-Node: Same Order\7f186293
-Node: backup\7f187129
-Node: Applications\7f190215
-Node: looking ahead\7f191678
-Node: Backups\7f192504
-Node: Full Dumps\7f194085
-Node: Incremental Dumps\7f195891
-Ref: --level=0\7f198805
-Ref: device numbers\7f199338
-Ref: incremental-op\7f203669
-Ref: Incremental Dumps-Footnote-1\7f204043
-Ref: Incremental Dumps-Footnote-2\7f204193
-Node: Backup Levels\7f204681
-Node: Backup Parameters\7f207068
-Node: General-Purpose Variables\7f208249
-Ref: RSH\7f211410
-Node: Magnetic Tape Control\7f213289
-Node: User Hooks\7f214627
-Node: backup-specs example\7f215956
-Node: Scripted Backups\7f217099
-Ref: Scripted Backups-Footnote-1\7f219962
-Node: Scripted Restoration\7f220346
-Node: Choosing\7f222957
-Node: file\7f224079
-Ref: remote-dev\7f226715
-Ref: local and remote archives\7f227100
-Node: Selecting Archive Members\7f228131
-Ref: input name quoting\7f228812
-Node: files\7f230798
-Ref: files-Footnote-1\7f234072
-Node: nul\7f234230
-Node: exclude\7f236629
-Node: problems with exclude\7f241803
-Node: wildcards\7f243848
-Node: controlling pattern-matching\7f246432
-Ref: controlling pattern-matching-Footnote-1\7f250422
-Node: quoting styles\7f250638
-Ref: escape sequences\7f250984
-Node: transform\7f257119
-Ref: show-transformed-names\7f259110
-Node: after\7f265298
-Node: recurse\7f268900
-Node: one\7f271624
-Node: directory\7f273057
-Node: absolute\7f276119
-Ref: absolute-Footnote-1\7f279199
-Node: Date input formats\7f279550
-Node: General date syntax\7f281866
-Node: Calendar date items\7f284817
-Node: Time of day items\7f286814
-Node: Time zone items\7f289010
-Node: Day of week items\7f290244
-Node: Relative items in date strings\7f291233
-Node: Pure numbers in date strings\7f294035
-Node: Seconds since the Epoch\7f295016
-Node: Specifying time zone rules\7f296637
-Node: Authors of get_date\7f299001
-Node: Formats\7f299753
-Node: Compression\7f304441
-Node: gzip\7f304733
-Ref: auto-compress\7f307999
-Ref: gzip-Footnote-1\7f312247
-Node: sparse\7f312296
-Node: Attributes\7f315350
-Node: Portability\7f321171
-Node: Portable Names\7f322657
-Node: dereference\7f323362
-Node: hard links\7f324763
-Ref: hard links-Footnote-1\7f327661
-Node: old\7f327717
-Node: ustar\7f328901
-Node: gnu\7f329492
-Node: posix\7f330369
-Node: PAX keywords\7f330850
-Node: Checksumming\7f336460
-Node: Large or Negative Values\7f338386
-Node: Other Tars\7f339986
-Node: Split Recovery\7f341122
-Node: Sparse Recovery\7f344854
-Ref: extracting sparse v.0.x\7f348487
-Ref: Sparse Recovery-Footnote-1\7f351776
-Ref: Sparse Recovery-Footnote-2\7f351799
-Node: cpio\7f351920
-Node: Media\7f356677
-Node: Device\7f358607
-Node: Remote Tape Server\7f363681
-Node: Common Problems and Solutions\7f367404
-Node: Blocking\7f367796
-Node: Format Variations\7f374240
-Node: Blocking Factor\7f375152
-Node: Many\7f386804
-Node: Tape Positioning\7f390598
-Node: mt\7f392471
-Node: Using Multiple Tapes\7f394026
-Node: Multi-Volume Archives\7f396092
-Ref: tape-length\7f397577
-Ref: change volume prompt\7f397881
-Ref: volno-file\7f398752
-Ref: info-script\7f399304
-Ref: Multi-Volume Archives-Footnote-1\7f404491
-Ref: Multi-Volume Archives-Footnote-2\7f404601
-Node: Tape Files\7f404669
-Node: Tarcat\7f406151
-Node: label\7f407196
-Ref: --test-label option\7f408826
-Ref: label-Footnote-1\7f411870
-Node: verify\7f412105
-Node: Write Protection\7f415405
-Node: Changes\7f416235
-Node: Configuring Help Summary\7f419831
-Node: Fixing Snapshot Files\7f426332
-Node: Tar Internals\7f428518
-Node: Standard\7f428850
-Node: Extensions\7f451051
-Node: Sparse Formats\7f453611
-Node: Old GNU Format\7f454901
-Node: PAX 0\7f457302
-Node: PAX 1\7f460433
-Node: Snapshot Files\7f462171
-Node: Dumpdir\7f466632
-Node: Genfile\7f469878
-Node: Generate Mode\7f470971
-Node: Status Mode\7f475268
-Node: Exec Mode\7f477067
-Node: Free Software Needs Free Documentation\7f479812
-Node: Copying This Manual\7f484783
-Node: GNU Free Documentation License\7f485065
-Node: Index of Command Line Options\7f507472
-Node: Index\7f532883
+Node: Top\7f1255
+Node: Introduction\7f10671
+Node: Book Contents\7f11458
+Node: Definitions\7f13630
+Node: What tar Does\7f15433
+Node: Naming tar Archives\7f18199
+Node: Authors\7f18919
+Node: Reports\7f20732
+Node: Tutorial\7f21089
+Node: assumptions\7f21902
+Node: stylistic conventions\7f24377
+Node: basic tar options\7f24820
+Node: frequent operations\7f28458
+Node: Two Frequent Options\7f29110
+Node: file tutorial\7f29741
+Node: verbose tutorial\7f31098
+Ref: verbose member listing\7f33312
+Node: help tutorial\7f36065
+Node: create\7f36419
+Node: prepare for examples\7f37920
+Node: Creating the archive\7f39689
+Node: create verbose\7f42521
+Node: short create\7f43341
+Node: create dir\7f46094
+Node: list\7f48802
+Ref: listing member and file names\7f50076
+Node: list dir\7f52390
+Node: extract\7f53379
+Node: extracting archives\7f54493
+Node: extracting files\7f54983
+Ref: extracting files-Footnote-1\7f57630
+Node: extract dir\7f58010
+Node: extracting untrusted archives\7f60393
+Node: failing commands\7f61272
+Node: going further\7f62366
+Node: tar invocation\7f62579
+Node: Synopsis\7f64041
+Node: using tar options\7f68996
+Ref: TAR_OPTIONS\7f70573
+Node: Styles\7f71590
+Ref: Styles-Footnote-1\7f73089
+Node: Long Options\7f73345
+Node: Short Options\7f75517
+Ref: Short Options-Footnote-1\7f77325
+Node: Old Options\7f77542
+Ref: Old Options-Footnote-1\7f80429
+Node: Mixing\7f80599
+Ref: Mixing-Footnote-1\7f82965
+Node: All Options\7f83085
+Node: Operation Summary\7f83690
+Ref: --append\7f83810
+Ref: --catenate\7f83890
+Ref: --compare\7f83961
+Ref: --concatenate\7f84164
+Ref: --create\7f84274
+Ref: --delete\7f84342
+Ref: --diff\7f84456
+Ref: --extract\7f84512
+Ref: --get\7f84614
+Ref: --list\7f84672
+Ref: --update\7f84740
+Node: Option Summary\7f84950
+Ref: --absolute-names\7f85105
+Ref: --after-date\7f85283
+Ref: --anchored\7f85335
+Ref: --atime-preserve\7f85468
+Ref: --auto-compress\7f87988
+Ref: --backup\7f88215
+Ref: --block-number\7f88406
+Ref: --blocking-factor\7f88580
+Ref: --bzip2\7f88732
+Ref: --check-device\7f88839
+Ref: --checkpoint\7f89034
+Ref: --checkpoint-action\7f89476
+Ref: --check-links\7f90627
+Ref: --compress\7f90904
+Ref: --uncompress\7f90904
+Ref: --confirmation\7f91108
+Ref: --delay-directory-restore\7f91176
+Ref: --dereference\7f91377
+Ref: --directory\7f91571
+Ref: --exclude\7f91824
+Ref: --exclude-backups\7f91943
+Ref: --exclude-from\7f92033
+Ref: --exclude-caches\7f92179
+Ref: --exclude-caches-under\7f92387
+Ref: --exclude-caches-all\7f92565
+Ref: --exclude-tag\7f92694
+Ref: --exclude-tag-under\7f92865
+Ref: --exclude-tag-all\7f93055
+Ref: --exclude-vcs\7f93184
+Ref: --file\7f93350
+Ref: --files-from\7f93550
+Ref: --force-local\7f93753
+Ref: --format\7f93944
+Ref: --full-time\7f94614
+Ref: --group\7f95294
+Ref: --gzip\7f95642
+Ref: --gunzip\7f95642
+Ref: --ungzip\7f95642
+Ref: --hard-dereference\7f95865
+Ref: --help\7f96052
+Ref: --ignore-case\7f96186
+Ref: --ignore-command-error\7f96313
+Ref: --ignore-failed-read\7f96424
+Ref: --ignore-zeros\7f96554
+Ref: --incremental\7f96699
+Ref: --index-file\7f96964
+Ref: --info-script\7f97049
+Ref: --new-volume-script\7f97049
+Ref: --interactive\7f97370
+Ref: --keep-newer-files\7f97582
+Ref: --keep-old-files\7f97724
+Ref: --label\7f97855
+Ref: --level\7f98143
+Ref: --listed-incremental\7f98584
+Ref: --lzip\7f98948
+Ref: --lzma\7f99048
+Ref: --mode\7f99248
+Ref: --mtime\7f99539
+Ref: --multi-volume\7f99980
+Ref: --newer\7f100184
+Ref: --newer-mtime\7f100462
+Ref: --no-anchored\7f100686
+Ref: --no-auto-compress\7f100823
+Ref: --no-check-device\7f100974
+Ref: --no-delay-directory-restore\7f101157
+Ref: --no-ignore-case\7f101410
+Ref: --no-ignore-command-error\7f101503
+Ref: --no-null\7f101658
+Ref: --no-overwrite-dir\7f101863
+Ref: --no-quote-chars\7f102006
+Ref: --no-recursion\7f102187
+Ref: --no-same-owner\7f102292
+Ref: --no-same-permissions\7f102475
+Ref: --no-seek\7f102677
+Ref: --no-unquote\7f102895
+Ref: --no-wildcards\7f103033
+Ref: --no-wildcards-match-slash\7f103117
+Ref: --null\7f103219
+Ref: --numeric-owner\7f103447
+Ref: --occurrence\7f104098
+Ref: --old-archive\7f104665
+Ref: --one-file-system\7f104714
+Ref: --overwrite\7f104892
+Ref: --overwrite-dir\7f105034
+Ref: --owner\7f105179
+Ref: --pax-option\7f105558
+Ref: --portability\7f105865
+Ref: --posix\7f105930
+Ref: --preserve\7f105972
+Ref: --preserve-order\7f106110
+Ref: --preserve-permissions\7f106174
+Ref: --same-permissions\7f106174
+Ref: --quote-chars\7f106588
+Ref: --quoting-style\7f106741
+Ref: --read-full-records\7f107062
+Ref: --record-size\7f107227
+Ref: --recursion\7f107571
+Ref: --recursive-unlink\7f107674
+Ref: --remove-files\7f107841
+Ref: --restrict\7f107987
+Ref: --rmt-command\7f108175
+Ref: --rsh-command\7f108316
+Ref: --same-order\7f108438
+Ref: --same-owner\7f108730
+Ref: --seek\7f109107
+Ref: --show-defaults\7f109476
+Ref: --show-omitted-dirs\7f109966
+Ref: --show-transformed-names\7f110120
+Ref: --show-stored-names\7f110120
+Ref: --sparse\7f110509
+Ref: --sparse-version\7f110648
+Ref: --starting-file\7f110872
+Ref: --strip-components\7f111061
+Ref: --suffix\7f111373
+Ref: --tape-length\7f111492
+Ref: --test-label\7f111907
+Ref: --to-command\7f112059
+Ref: --to-stdout\7f112218
+Ref: --totals\7f112371
+Ref: --touch\7f112602
+Ref: --transform\7f112804
+Ref: --xform\7f112804
+Ref: --unlink-first\7f113415
+Ref: --unquote\7f113583
+Ref: --use-compress-program\7f113690
+Ref: --utc\7f113868
+Ref: --verbose\7f113961
+Ref: --verify\7f114213
+Ref: --version\7f114331
+Ref: --volno-file\7f114503
+Ref: --warning\7f114690
+Ref: --wildcards\7f114867
+Ref: --wildcards-match-slash\7f114987
+Ref: --xz\7f115079
+Ref: Option Summary-Footnote-1\7f115210
+Node: Short Option Summary\7f115428
+Node: help\7f117629
+Ref: help-Footnote-1\7f121513
+Node: defaults\7f121724
+Node: verbose\7f122743
+Ref: totals\7f125044
+Ref: Progress information\7f126634
+Ref: show-omitted-dirs\7f127613
+Ref: block-number\7f128032
+Ref: verbose-Footnote-1\7f129059
+Node: checkpoints\7f129166
+Node: warnings\7f134560
+Node: interactive\7f137284
+Node: operations\7f139366
+Node: Basic tar\7f139625
+Ref: Basic tar-Footnote-1\7f142729
+Node: Advanced tar\7f142873
+Node: Operations\7f143718
+Node: append\7f145617
+Ref: append-Footnote-1\7f148712
+Node: appending files\7f148875
+Node: multiple\7f150593
+Node: update\7f153285
+Node: how to update\7f154261
+Node: concatenate\7f156045
+Ref: concatenate-Footnote-1\7f159293
+Node: delete\7f159436
+Node: compare\7f161209
+Node: create options\7f162641
+Node: override\7f163099
+Node: Ignore Failed Read\7f166527
+Node: extract options\7f166747
+Node: Reading\7f167580
+Node: read full records\7f169080
+Node: Ignore Zeros\7f169416
+Node: Writing\7f170407
+Node: Dealing with Old Files\7f170964
+Node: Overwrite Old Files\7f173391
+Node: Keep Old Files\7f174848
+Node: Keep Newer Files\7f175358
+Node: Unlink First\7f175648
+Node: Recursive Unlink\7f176052
+Node: Data Modification Times\7f176605
+Node: Setting Access Permissions\7f177415
+Node: Directory Modification Times and Permissions\7f178047
+Node: Writing to Standard Output\7f181659
+Node: Writing to an External Program\7f183194
+Node: remove files\7f186333
+Node: Scarce\7f186526
+Node: Starting File\7f186774
+Node: Same Order\7f187575
+Node: backup\7f188411
+Node: Applications\7f191497
+Node: looking ahead\7f192958
+Node: Backups\7f193784
+Node: Full Dumps\7f195365
+Node: Incremental Dumps\7f197171
+Ref: --level=0\7f200085
+Ref: device numbers\7f200618
+Ref: incremental-op\7f204596
+Ref: Incremental Dumps-Footnote-1\7f204970
+Ref: Incremental Dumps-Footnote-2\7f205120
+Node: Backup Levels\7f205608
+Node: Backup Parameters\7f207995
+Node: General-Purpose Variables\7f209176
+Ref: RSH\7f212337
+Node: Magnetic Tape Control\7f214216
+Node: User Hooks\7f215554
+Node: backup-specs example\7f216883
+Node: Scripted Backups\7f218026
+Ref: Scripted Backups-Footnote-1\7f220889
+Node: Scripted Restoration\7f221273
+Node: Choosing\7f223884
+Node: file\7f225006
+Ref: remote-dev\7f227642
+Ref: local and remote archives\7f228027
+Node: Selecting Archive Members\7f229058
+Ref: input name quoting\7f229739
+Node: files\7f231725
+Ref: files-Footnote-1\7f234998
+Node: nul\7f235156
+Node: exclude\7f237555
+Node: problems with exclude\7f242729
+Node: wildcards\7f244774
+Node: controlling pattern-matching\7f247358
+Ref: controlling pattern-matching-Footnote-1\7f251348
+Node: quoting styles\7f251564
+Ref: escape sequences\7f251910
+Node: transform\7f258045
+Ref: show-transformed-names\7f260036
+Node: after\7f266227
+Node: recurse\7f269829
+Node: one\7f272553
+Node: directory\7f273986
+Node: absolute\7f277048
+Ref: absolute-Footnote-1\7f280219
+Node: Date input formats\7f280570
+Node: General date syntax\7f282892
+Node: Calendar date items\7f285843
+Node: Time of day items\7f287840
+Node: Time zone items\7f290036
+Node: Day of week items\7f291270
+Node: Relative items in date strings\7f292259
+Node: Pure numbers in date strings\7f295061
+Node: Seconds since the Epoch\7f296042
+Node: Specifying time zone rules\7f297663
+Node: Authors of parse_datetime\7f300033
+Ref: Authors of get_date\7f300212
+Node: Formats\7f301175
+Node: Compression\7f305863
+Node: gzip\7f306155
+Ref: auto-compress\7f311603
+Ref: gzip-Footnote-1\7f313843
+Node: lbzip2\7f313892
+Node: sparse\7f314989
+Node: Attributes\7f318043
+Node: Portability\7f323864
+Node: Portable Names\7f325350
+Node: dereference\7f326055
+Node: hard links\7f327182
+Ref: hard links-Footnote-1\7f330080
+Node: old\7f330136
+Node: ustar\7f331320
+Node: gnu\7f331911
+Node: posix\7f332788
+Node: PAX keywords\7f333269
+Node: Checksumming\7f338879
+Node: Large or Negative Values\7f340805
+Node: Other Tars\7f342405
+Node: Split Recovery\7f343541
+Node: Sparse Recovery\7f347273
+Ref: extracting sparse v.0.x\7f350906
+Ref: Sparse Recovery-Footnote-1\7f354195
+Ref: Sparse Recovery-Footnote-2\7f354218
+Node: cpio\7f354339
+Node: Media\7f359096
+Node: Device\7f361043
+Ref: size-suffixes\7f365832
+Node: Remote Tape Server\7f366942
+Node: Common Problems and Solutions\7f370665
+Node: Blocking\7f371057
+Node: Format Variations\7f377501
+Node: Blocking Factor\7f378413
+Node: Many\7f390065
+Node: Tape Positioning\7f393859
+Node: mt\7f395732
+Node: Using Multiple Tapes\7f397287
+Node: Multi-Volume Archives\7f399353
+Ref: tape-length\7f400838
+Ref: change volume prompt\7f401398
+Ref: volno-file\7f402269
+Ref: info-script\7f402821
+Ref: Multi-Volume Archives-Footnote-1\7f408008
+Ref: Multi-Volume Archives-Footnote-2\7f408118
+Node: Tape Files\7f408186
+Node: Tarcat\7f409668
+Node: label\7f410713
+Ref: --test-label option\7f412287
+Ref: label-Footnote-1\7f415732
+Ref: label-Footnote-2\7f415841
+Ref: label-Footnote-3\7f415974
+Node: verify\7f416209
+Node: Write Protection\7f419509
+Node: Reliability and security\7f420339
+Node: Reliability\7f420727
+Node: Permissions problems\7f421505
+Node: Data corruption and repair\7f421944
+Node: Race conditions\7f422870
+Node: Security\7f424610
+Node: Privacy\7f425213
+Node: Integrity\7f426462
+Node: Live untrusted data\7f428503
+Node: Security rules of thumb\7f430843
+Node: Changes\7f432372
+Node: Configuring Help Summary\7f435987
+Node: Fixing Snapshot Files\7f442488
+Node: Tar Internals\7f444674
+Node: Standard\7f445006
+Node: Extensions\7f467207
+Node: Sparse Formats\7f469767
+Node: Old GNU Format\7f471057
+Node: PAX 0\7f473458
+Node: PAX 1\7f476589
+Node: Snapshot Files\7f478327
+Node: Dumpdir\7f482788
+Node: Genfile\7f486034
+Node: Generate Mode\7f487127
+Node: Status Mode\7f491424
+Node: Exec Mode\7f493223
+Node: Free Software Needs Free Documentation\7f495968
+Node: GNU Free Documentation License\7f500950
+Node: Index of Command Line Options\7f526163
+Node: Index\7f551662
\1f
End Tag Table
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.23, 9 March 2010), which
+This manual is for GNU `tar' (version 1.24, 24 October 2010), which
creates and extracts files from archives.
Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
"GNU Free Documentation License".
GNU tar: an archiver tool
*************************
-This manual is for GNU `tar' (version 1.23, 9 March 2010), which
+This manual is for GNU `tar' (version 1.24, 24 October 2010), which
creates and extracts files from archives.
Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
"GNU Free Documentation License".
* Date input formats::
* Formats::
* Media::
+* Reliability and security::
Appendices
* Tar Internals::
* Genfile::
* Free Software Needs Free Documentation::
-* Copying This Manual::
+* GNU Free Documentation License::
* Index of Command Line Options::
* Index::
* Pure numbers in date strings:: 19931219, 1440.
* Seconds since the Epoch:: @1078100502.
* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
-* Authors of get_date:: Bellovin, Eggert, Salz, Berets, et al.
+* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al.
Controlling the Archive Format
* gzip:: Creating and Reading Compressed Archives
* sparse:: Archiving Sparse Files
+Creating and Reading Compressed Archives
+
+* lbzip2:: Using lbzip2 with GNU `tar'.
+
Making `tar' Archives More Portable
* Portable Names:: Portable Names
(`create', `list', and `extract') as well as two frequently used
options (`file' and `verbose'). The other chapters do not refer to the
tutorial frequently; however, if a section discusses something which is
-a complex variant of a basic concept, there may be a cross reference to
+a complex variant of a basic concept, there may be a cross-reference to
that basic concept. (The entire book, including the tutorial, assumes
that the reader understands some basic concepts of using a Unix-type
operating system; *note Tutorial::.)
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.23
+to create version 1.12. The book for versions from 1.14 up to 1.24
were edited by the current maintainer, Sergey Poznyakoff.
For version 1.12, Daniel Hagerty contributed a great deal of
`--dereference'
`-h'
- When creating a `tar' archive, `tar' will archive the file that a
- symbolic link points to, rather than archiving the symlink. *Note
- dereference::.
+ When reading or writing a file to be archived, `tar' accesses the
+ file that a symbolic link points to, rather than the symlink
+ itself. *Note dereference::.
`--directory=DIR'
`-C DIR'
*Note Formats::, for a detailed discussion of these formats.
+`--full-time'
+ This option instructs `tar' to print file times to their full
+ resolution. Usually this means 1-second resolution, but that
+ depends on the underlying file system. The `--full-time' option
+ takes effect only when detailed output (verbosity level 2 or
+ higher) has been requested using the `--verbose' option, e.g.,
+ when listing or extracting archives:
+
+ $ tar -t -v --full-time -f archive.tar
+
+ or, when creating an archive:
+
+ $ tar -c -vv --full-time -f archive.tar .
+
+ Notice, thar when creating the archive you need to specify
+ `--verbose' twice to get a detailed output (*note verbose
+ tutorial::).
+
`--group=GROUP'
Files added to the `tar' archive will have a group ID of GROUP,
rather than the group from the source file. GROUP is first decoded
`--level=N'
Force incremental backup of level N. As of GNU `tar' version
- 1.23, the option `--level=0' truncates the snapshot file, thereby
+ 1.24, the option `--level=0' truncates the snapshot file, thereby
forcing the level 0 dump. Other values of N are effectively
ignored. *Note --level=0::, for details and examples.
Specifies that `tar' should reblock its input, for reading from
pipes on systems with buggy implementations. *Note Reading::.
-`--record-size=SIZE'
+`--record-size=SIZE[SUF]'
Instructs `tar' to use SIZE bytes per record when accessing the
- archive. *Note Blocking Factor::.
+ archive. The argument can be suffixed with a "size suffix", e.g.
+ `--record-size=10K' for 10 Kilobytes. *Note size-suffixes::, for
+ a list of valid suffixes. *Note Blocking Factor::, for a detailed
+ description of this option.
`--recursion'
With this option, `tar' recurses into directories (default).
Alters the suffix `tar' uses when backing up files from the default
`~'. *Note backup::.
-`--tape-length=NUM'
-`-L NUM'
+`--tape-length=NUM[SUF]'
+`-L NUM[SUF]'
Specifies the length of tapes that `tar' is writing as being
- NUM x 1024 bytes long. *Note Using Multiple Tapes::.
+ NUM x 1024 bytes long. If optional SUF is given, it specifies a
+ multiplicative factor to be used instead of 1024. For example,
+ `-L2M' means 2 megabytes. *Note size-suffixes::, for a list of
+ allowed suffixes. *Note Using Multiple Tapes::, for a detailed
+ discussion of this option.
`--test-label'
Reads the volume label. If an argument is specified, test whether
`--show-transformed-names' option (*note show-transformed-names::).
`--uncompress'
- (See `--compress'. *note gzip::)
+ (See `--compress', *note gzip::)
`--ungzip'
- (See `--gzip'. *note gzip::)
+ (See `--gzip', *note gzip::)
`--unlink-first'
`-U'
standard output, and then exit successfully. For example,
`tar --version' might print:
- tar (GNU tar) 1.23
+ tar (GNU tar) 1.24
Copyright (C) 2010 Free Software Foundation, Inc.
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
$ tar --extract -vv --occurrence --file=collection.tar blues
-rw-r--r-- me user 21 1996-09-23 16:44 blues
- *Note Writing::, for more information on `--extract' and *Note
--occurrence: Option Summary, for the description of `--occurrence'
-option.
+ *Note Writing::, for more information on `--extract' and see *note
+-occurrence: Option Summary, for a description of `--occurrence' option.
\1f
File: tar.info, Node: update, Next: concatenate, Prev: append, Up: Advanced tar
`classical', in your practice directory, and some extra text to the
file `blues', using any text editor. Then invoke `tar' with the
`update' operation and the `--verbose' (`-v') option specified, using
-the names of all the files in the practice directory as file name
+the names of all the files in the `practice' directory as file name
arguments:
$ tar --update -v -f collection.tar blues folk rock classical
---------- Footnotes ----------
- (1) This can cause multiple members to have the same name, for
-information on how this affects reading the archive, *note multiple::.
+ (1) This can cause multiple members to have the same name. For
+information on how this affects reading the archive, see *note
+multiple::.
\1f
File: tar.info, Node: delete, Next: compare, Prev: concatenate, Up: Advanced tar
The spirit behind the `--compare' (`--diff', `-d') option is to
check whether the archive represents the current state of files on
disk, more than validating the integrity of the archive media. For
-this latter goal, *Note verify::.
+this latter goal, see *note verify::.
\1f
File: tar.info, Node: create options, Next: extract options, Prev: Advanced tar, Up: operations
`/' or `.'. In the latter case, the modification time of that
file will be used.
- The following example will set the modification date to 00:00:00
- UTC, January 1, 1970:
+ The following example will set the modification date to 00:00:00,
+ January 1, 1970:
$ tar -c -f archive.tar --mtime='1970-01-01' .
extracting only after member NAME of the archive. This assumes, of
course, that there is now free space, or that you are now extracting
into a different file system. (You could also choose to suspend `tar',
-remove unnecessary files from the file system, and then restart the
-same `tar' operation. In this case, `--starting-file' is not necessary.
-*Note Incremental Dumps::, *Note interactive::, and *note exclude::.)
+remove unnecessary files from the file system, and then resume the same
+`tar' operation. In this case, `--starting-file' is not necessary.)
+See also *note interactive::, and *note exclude::.
\1f
File: tar.info, Node: Same Order, Prev: Starting File, Up: Scarce
or
- $ tar --directory sourcedir --create --file=- . ) \
+ $ tar --directory sourcedir --create --file=- . \
| tar --directory targetdir --extract --file=-
This is one of the easiest methods to transfer a `tar' archive.
To list the contents of an incremental archive, use `--list' (*note
list::), as usual. To obtain more information about the archive, use
`--listed-incremental' or `--incremental' combined with two `--verbose'
-optionsTwo
-`--verbose' options were selected to avoid breaking usual
-verbose listing output (`--list --verbose') when using in
-scripts.
-
-
-
-
-
-Versions of GNU `tar' up to 1.15.1 used to dump verbatim binary
-contents of the DUMPDIR header (with terminating nulls) when
-`--incremental' or `--listed-incremental' option was
-given, no matter what the verbosity level(2):
+options(2):
tar --list --incremental --verbose --verbose archive.tar
libc.a
-
Notice that the option parsing algorithm used with `-T' is stricter
than the one used by shell. Namely, when specifying option arguments,
you should observe the following rules:
systems: `CVS', `RCS', `SCCS', `SVN', `Arch', `Bazaar',
`Mercurial', and `Darcs'.
- As of version 1.23, the following files are excluded:
+ As of version 1.24, the following files are excluded:
* `CVS/', and everything under it
--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
+ 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
$ tar -c -f archive.tar -C / home
+ *Note Integrity::, for some of the security-related implications of
+using this option.
+
---------- Footnotes ----------
(1) A side effect of this is that when `--create' is used with
This section describes the textual date representations that GNU
programs accept. These are the strings you, as a user, can supply as
-arguments to the various programs. The C interface (via the `get_date'
-function) is not described here.
+arguments to the various programs. The C interface (via the
+`parse_datetime' function) is not described here.
* Menu:
* Pure numbers in date strings:: 19931219, 1440.
* Seconds since the Epoch:: @1078100502.
* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
-* Authors of get_date:: Bellovin, Eggert, Salz, Berets, et al.
+* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al.
\1f
File: tar.info, Node: General date syntax, Next: Calendar date items, Up: Date input formats
way to represent the intervening leap second 1998-12-31 23:59:60 UTC.
\1f
-File: tar.info, Node: Specifying time zone rules, Next: Authors of get_date, Prev: Seconds since the Epoch, Up: Date input formats
+File: tar.info, Node: Specifying time zone rules, Next: Authors of parse_datetime, Prev: Seconds since the Epoch, Up: Date input formats
7.9 Specifying time zone rules
==============================
Variable.
\1f
-File: tar.info, Node: Authors of get_date, Prev: Specifying time zone rules, Up: Date input formats
+File: tar.info, Node: Authors of parse_datetime, Prev: Specifying time zone rules, Up: Date input formats
-7.10 Authors of `get_date'
-==========================
+7.10 Authors of `parse_datetime'
+================================
-`get_date' was originally implemented by Steven M. Bellovin
-(<smb@research.att.com>) while at the University of North Carolina at
-Chapel Hill. The code was later tweaked by a couple of people on
-Usenet, then completely overhauled by Rich $alz (<rsalz@bbn.com>) and
-Jim Berets (<jberets@bbn.com>) in August, 1990. Various revisions for
-the GNU system were made by David MacKenzie, Jim Meyering, Paul Eggert
-and others.
+`parse_datetime' started life as `getdate', as originally implemented
+by Steven M. Bellovin (<smb@research.att.com>) while at the University
+of North Carolina at Chapel Hill. The code was later tweaked by a
+couple of people on Usenet, then completely overhauled by Rich $alz
+(<rsalz@bbn.com>) and Jim Berets (<jberets@bbn.com>) in August, 1990.
+Various revisions for the GNU system were made by David MacKenzie, Jim
+Meyering, Paul Eggert and others, including renaming it to `get_date' to
+avoid a conflict with the alternative Posix function `getdate', and a
+later rename to `parse_datetime'. The Posix function `getdate' can
+parse more locale-specific dates using `strptime', but relies on an
+environment variable and external file, and lacks the thread-safety of
+`parse_datetime'.
This chapter was originally produced by Franc,ois Pinard
-(<pinard@iro.umontreal.ca>) from the `getdate.y' source code, and then
-edited by K. Berry (<kb@cs.umb.edu>).
+(<pinard@iro.umontreal.ca>) from the `parse_datetime.y' source code,
+and then edited by K. Berry (<kb@cs.umb.edu>).
This is tar.info, produced by makeinfo version 4.13 from tar.texi.
-This manual is for GNU `tar' (version 1.23, 9 March 2010), which
+This manual is for GNU `tar' (version 1.24, 24 October 2010), which
creates and extracts files from archives.
Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
- being "A GNU Manual," and with the Back-Cover Texts as in (a)
+ being "A GNU Manual", and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
"GNU Free Documentation License".
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.23 and Automake prior to 1.9.
+ 1.24 and Automake prior to 1.9.
ustar
Archive format defined by POSIX.1-1988 specification. It stores
$ tar cfz archive.tar.gz .
- You can also let GNU `tar' select the compression program basing on
+ You can also let GNU `tar' select the compression program based on
the suffix of the archive file name. This is done using
`--auto-compress' (`-a') command line option. For example, the
following invocation will use `bzip2' for compression:
$ tar cfa archive.tar.lzma .
For a complete list of file name suffixes recognized by GNU `tar',
-*note auto-compress::.
+see *note auto-compress::.
Reading compressed archive is even simpler: you don't need to specify
any additional options as GNU `tar' recognizes its format
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
+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
a compressed archive using `--concatenate' (`-A'). Secondly,
multi-volume archives cannot be compressed.
- The following table summarizes compression options used by GNU `tar'.
+ The following options allow to select a particular compressor
+program:
+
+`-z'
+`--gzip'
+`--ungzip'
+ Filter the archive through `gzip'.
+
+`-J'
+`--xz'
+ Filter the archive through `xz'.
+
+`-j'
+`--bzip2'
+ Filter the archive through `bzip2'.
+
+`--lzip'
+ Filter the archive through `lzip'.
+
+`--lzma'
+ Filter the archive through `lzma'.
+
+`--lzop'
+ Filter the archive through `lzop'.
+
+`-Z'
+`--compress'
+`--uncompress'
+ Filter the archive through `compress'.
+
+ When any of these options is given, GNU `tar' searches the compressor
+binary in the current path and invokes it. The name of the compressor
+program is specified at compilation time using a corresponding
+`--with-COMPNAME' option to `configure', e.g. `--with-bzip2' to select
+a specific `bzip2' binary. *Note lbzip2::, for a detailed discussion.
+
+ The output produced by `tar --help' shows the actual compressor
+names along with each of these options.
+
+ You can use any of these options 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. Most compression programs allow to
+override these by setting a program-specific environment variable. For
+example, when using `gzip' you can use `GZIP' as in the example below:
+
+ $ GZIP=--best tar cfz archive.tar.gz subdir
+
+Another way would be to use the `-I' option instead (see below), e.g.:
+
+ $ tar -cf archive.tar.gz -I 'gzip --best' subdir
+
+Finally, the third, traditional, way to achieve the same result is to
+use pipe:
+
+ $ tar cf - subdir | gzip --best -c - > archive.tar.gz
+
+ About corrupted compressed archives: compressed files have no
+redundancy, for maximum compression. The adaptive nature of the
+compression scheme means that the compression tables are implicitly
+spread all over the archive. If you lose a few blocks, the dynamic
+construction of the compression tables becomes unsynchronized, and there
+is little chance that you could recover later in the archive.
+
+ Another compression options provide a better control over creating
+compressed archives. These are:
`--auto-compress'
`-a'
`.lzo' `lzop'
`.xz' `xz'
-`-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'
-`--xz'
- Filter the archive through `xz'. Otherwise like `--gzip'.
-
-`-j'
-`--bzip2'
- Filter the archive through `bzip2'. Otherwise like `--gzip'.
-
-`--lzip'
- Filter the archive through `lzip'. Otherwise like `--gzip'.
-
-`--lzma'
- 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'
`-I=PROG'
Use external compression program PROG. Use this option if you are
$ tar -tf foo.tar.gpgz -Igpgz .
+* Menu:
+
+* lbzip2:: Using lbzip2 with GNU `tar'.
+
---------- Footnotes ----------
(1) It also had patent problems in the past.
+\1f
+File: tar.info, Node: lbzip2, Up: gzip
+
+8.1.1.1 Using lbzip2 with GNU `tar'.
+....................................
+
+`Lbzip2' is a multithreaded utility for handling `bzip2' compression,
+written by Laszlo Ersek. It makes use of multiple processors to speed
+up its operation and in general works considerably faster than `bzip2'.
+For a detailed description of `lbzip2' see
+`http://freshmeat.net/projects/lbzip2' and lbzip2: parallel bzip2
+utility
+(http://www.linuxinsight.com/lbzip2-parallel-bzip2-utility.html).
+
+ Recent versions of `lbzip2' are mostly command line compatible with
+`bzip2', which makes it possible to automatically invoke it via the
+`--bzip2' GNU `tar' command line option. To do so, GNU `tar' must be
+configured with the `--with-bzip2' command line option, like this:
+
+ $ ./configure --with-bzip2=lbzip2 [OTHER-OPTIONS]
+
+ Once configured and compiled this way, `tar --help' will show the
+following:
+
+ $ tar --help | grep -- --bzip2
+ -j, --bzip2 filter the archive through lbzip2
+
+which means that running `tar --bzip2' will invoke `lbzip2'.
+
\1f
File: tar.info, Node: sparse, Prev: gzip, Up: Compression
Normally, when `tar' archives a symbolic link, it writes a block to the
archive naming the target of the link. In that way, the `tar' archive
-is a faithful record of the file system contents. `--dereference'
-(`-h') is used with `--create' (`-c'), and causes `tar' to archive the
-files symbolic links point to, instead of the links themselves. When
-this option is used, when `tar' encounters a symbolic link, it will
-archive the linked-to file, instead of simply recording the presence of
-a symbolic link.
-
- The name under which the file is stored in the file system is not
-recorded in the archive. To record both the symbolic link name and the
-file name in the system, archive the file under both names. If all
-links were recorded automatically by `tar', an extracted file might be
-linked to a file name that no longer exists in the file system.
-
- If a linked-to file is encountered again by `tar' while creating the
-same archive, an entire second copy of it will be stored. (This
-_might_ be considered a bug.)
-
- So, for portable archives, do not archive symbolic links as such,
-and use `--dereference' (`-h'): many systems do not support symbolic
-links, and moreover, your distribution might be unusable if it contains
-unresolved symbolic links.
+is a faithful record of the file system contents. When `--dereference'
+(`-h') is used with `--create' (`-c'), `tar' archives the files
+symbolic links point to, instead of the links themselves.
+
+ When creating portable archives, use `--dereference' (`-h'): some
+systems do not support symbolic links, and moreover, your distribution
+might be unusable if it contains unresolved symbolic links.
+
+ When reading from an archive, the `--dereference' (`-h') option
+causes `tar' to follow an already-existing symbolic link when `tar'
+writes or reads a file named in the archive. Ordinarily, `tar' does
+not follow such a link, though it may remove the link before writing a
+new file. *Note Dealing with Old Files::.
+
+ The `--dereference' option is unsafe if an untrusted user can modify
+directories while `tar' is running. *Note Security::.
\1f
File: tar.info, Node: hard links, Next: old, Prev: dereference, Up: Portability
Archive format defined by POSIX.1-1988 specification is called `ustar'.
Although it is more flexible than the V7 format, it still has many
-restrictions (*Note ustar: Formats, for the detailed description of
+restrictions (*note ustar: Formats, for the detailed description of
`ustar' format). Along with V7 format, `ustar' format is a good choice
for archives intended to be read with other implementations of `tar'.
(1) *Note PAX 1::.
- (2) technically speaking, N is a "process ID" of the `tar' process
+ (2) Technically speaking, N is a "process ID" of the `tar' process
which created the archive (*note PAX keywords::).
\1f
longer read it).
\1f
-File: tar.info, Node: Media, Next: Changes, Prev: Formats, Up: Top
+File: tar.info, Node: Media, Next: Reliability and security, Prev: Formats, Up: Top
9 Tapes and Other Archive Media
*******************************
*Note Multi-Volume Archives::.
`-L NUM'
-`--tape-length=NUM'
- Change tape after writing NUM x 1024 bytes.
-
- This option might be useful when your tape drivers do not properly
- detect end of physical tapes. By being slightly conservative on
- the maximum tape length, you might avoid the problem entirely.
+`--tape-length=SIZE[SUF]'
+ Change tape after writing SIZE units of data. Unless SUF is
+ given, SIZE is treated as kilobytes, i.e. `SIZE x 1024' bytes.
+ The following suffixes alter this behavior:
-`-F FILE'
-`--info-script=FILE'
-`--new-volume-script=FILE'
- Execute `file' at end of each tape. This implies `--multi-volume'
- (`-M'). *Note info-script::, for a detailed description of this
- option.
+ Suffix Units Byte Equivalent
+ --------------------------------------------------------
+ b Blocks SIZE x 512
+ B Kilobytes SIZE x 1024
+ c Bytes SIZE
+ G Gigabytes SIZE x 1024^3
+ K Kilobytes SIZE x 1024
+ k Kilobytes SIZE x 1024
+ M Megabytes SIZE x 1024^2
+ P Petabytes SIZE x 1024^5
+ T Terabytes SIZE x 1024^4
+ w Words SIZE x 2
+
+ Table 9.1: Size Suffixes
+
+ This option might be useful when your tape drivers do not
+ properly detect end of physical tapes. By being slightly
+ conservative on the maximum tape length, you might avoid the
+ problem entirely.
+
+ `-F FILE'
+ `--info-script=FILE'
+ `--new-volume-script=FILE'
+ Execute `file' at end of each tape. This implies
+ `--multi-volume' (`-M'). *Note info-script::, for a detailed
+ description of this option.
\1f
File: tar.info, Node: Remote Tape Server, Next: Common Problems and Solutions, Prev: Device, Up: Media
detect the end of the tape itself, you can use `--tape-length' option
to inform it about the capacity of the tape:
-`--tape-length=SIZE'
-`-L SIZE'
- Set maximum length of a volume. The SIZE argument should then be
- the usable size of the tape in units of 1024 bytes. This option
- selects `--multi-volume' automatically. For example:
+`--tape-length=SIZE[SUF]'
+`-L SIZE[SUF]'
+ Set maximum length of a volume. The SUF, if given, specifies
+ units in which SIZE is expressed, e.g. `2M' mean 2 megabytes
+ (*note Table 9.1: size-suffixes, for a list of allowed size
+ suffixes). Without SUF, units of 1024 bytes (kilobyte) are
+ assumed.
+
+ This option selects `--multi-volume' automatically. For example:
$ tar --create --tape-length=41943040 --file=/dev/tape FILES
+ or, which is equivalent:
+
+ $ tar --create --tape-length=4G --file=/dev/tape FILES
+
When GNU `tar' comes to the end of a storage media, it asks you to
change the volume. The built-in prompt for POSIX locale is(1):
`--multi-volume' (*note Using Multiple Tapes::), then the volume label
will have `Volume NNN' appended to the name you give, where NNN is the
number of the volume of the archive. If you use the
-`--label=VOLUME-LABEL') option when reading an archive, it checks to
-make sure the label on the tape matches the one you give. *Note label::.
+`--label=VOLUME-LABEL' option when reading an archive, it checks to
+make sure the label on the tape matches the one you gave. *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,
9.7 Including a Label in the Archive
====================================
- _(This message will disappear, once this node revised.)_
-
To avoid problems caused by misplaced paper labels on the archive
-media, you can include a "label" entry--an archive member which
-contains the name of the archive--in the archive itself. Use the
-`--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') option in conjunction with
-the `--create' operation to include a label entry in the archive as it
-is being created.
+media, you can include a "label" entry -- an archive member which
+contains the name of the archive -- in the archive itself. Use the
+`--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') option(1) in conjunction
+with the `--create' operation to include a label entry in the archive
+as it is being created.
`--label=ARCHIVE-LABEL'
`-V ARCHIVE-LABEL'
However, `--list' option will cause listing entire contents of the
archive, which may be undesirable (for example, if the archive is
-stored on a tape). You can request checking only the volume by
+stored on a tape). You can request checking only the volume label by
specifying `--test-label' option. This option reads only the first
block of an archive, so it can be used with slow storage devices. For
example:
$ tar --test-label --file=iamanarchive
iamalabel
- If `--test-label' is used with a single command line argument, `tar'
-compares the volume label with the argument. It exits with code 0 if
-the two strings match, and with code 2 otherwise. In this case no
-output is displayed. For example:
+ If `--test-label' is used with one or more command line arguments,
+`tar' compares the volume label with each argument. It exits with code
+0 if a match is found, and with code 1 otherwise(2). No output is
+displayed, unless you also used the `--verbose' option. For example:
- $ tar --test-label --file=iamanarchive 'iamalable'
+ $ tar --test-label --file=iamanarchive 'iamalabel'
=> 0
- $ tar --test-label --file=iamanarchive 'iamalable' alabel
+ $ tar --test-label --file=iamanarchive 'alabel'
+ => 1
+
+ When used with the `--verbose' option, `tar' prints the actual
+volume label (if any), and a verbose diagnostics in case of a mismatch:
+
+ $ tar --test-label --verbose --file=iamanarchive 'iamalabel'
+ iamalabel
+ => 0
+ $ tar --test-label --verbose --file=iamanarchive 'alabel'
+ iamalabel
+ tar: Archive label mismatch
=> 1
If you request any operation, other than `--create', along with
label doesn't match the ARCHIVE-LABEL specified. In those cases,
ARCHIVE-LABEL argument is interpreted as a globbing-style pattern which
must match the actual magnetic volume label. *Note exclude::, for a
-precise description of how match is attempted(1). If the switch
+precise description of how match is attempted(3). If the switch
`--multi-volume' (`-M') is being used, the volume label matcher will
also suffix ARCHIVE-LABEL by ` Volume [1-9]*' if the initial match
fails, before giving up. Since the volume numbering is automatically
added in labels at creation time, it sounded logical to equally help
the user taking care of it when the archive is being read.
- The `--label' was once called `--volume', but is not available under
-that name anymore.
-
You can also use `--label' to get a common information on all tapes
of a series. For having this information different in each series
created through a single script used on a regular basis, just manage to
$ tar --create --file=/dev/tape --multi-volume \
--label="Daily backup for `date +%Y-%m-%d`"
- Also note that each label has its own date and time, which
-corresponds to when GNU `tar' initially attempted to write it, often
-soon after the operator launches `tar' or types the carriage return
-telling that the next tape is ready. Comparing date labels does give
-an idea of tape throughput only if the delays for rewinding tapes and
-the operator switching them were negligible, which is usually not the
-case.
+ Some more notes about volume labels:
+
+ * Each label has its own date and time, which corresponds to the
+ time when GNU `tar' initially attempted to write it, often soon
+ after the operator launches `tar' or types the carriage return
+ telling that the next tape is ready.
+
+ * Comparing date labels to get an idea of tape throughput is
+ unreliable. It gives correct results only if the delays for
+ rewinding tapes and the operator switching them were negligible,
+ which is usually not the case.
---------- Footnotes ----------
- (1) Previous versions of `tar' used full regular expression
+ (1) Until version 1.10, that option was called `--volume', but is
+not available under that name anymore.
+
+ (2) Note that GNU `tar' versions up to 1.23 indicated mismatch with
+an exit code 2 and printed a spurious diagnostics on stderr.
+
+ (3) Previous versions of `tar' used full regular expression
matching, or before that, only exact string matching, instead of
wildcard matchers. We decided for the sake of simplicity to use a
uniform matching device through `tar'.
changeable feature.
\1f
-File: tar.info, Node: Changes, Next: Configuring Help Summary, Prev: Media, Up: Top
+File: tar.info, Node: Reliability and security, Next: Changes, Prev: Media, Up: Top
+
+10 Reliability and Security
+***************************
+
+The `tar' command reads and writes files as any other application does,
+and is subject to the usual caveats about reliability and security.
+This section contains some commonsense advice on the topic.
+
+* Menu:
+
+* Reliability::
+* Security::
+
+\1f
+File: tar.info, Node: Reliability, Next: Security, Up: Reliability and security
+
+10.1 Reliability
+================
+
+Ideally, when `tar' is creating an archive, it reads from a file system
+that is not being modified, and encounters no errors or inconsistencies
+while reading and writing. If this is the case, the archive should
+faithfully reflect what was read. Similarly, when extracting from an
+archive, ideally `tar' ideally encounters no errors and the extracted
+files faithfully reflect what was in the archive.
+
+ However, when reading or writing real-world file systems, several
+things can go wrong; these include permissions problems, corruption of
+data, and race conditions.
+
+* Menu:
+
+* Permissions problems::
+* Data corruption and repair::
+* Race conditions::
+
+\1f
+File: tar.info, Node: Permissions problems, Next: Data corruption and repair, Up: Reliability
+
+10.1.1 Permissions Problems
+---------------------------
+
+If `tar' encounters errors while reading or writing files, it normally
+reports an error and exits with nonzero status. The work it does may
+therefore be incomplete. For example, when creating an archive, if
+`tar' cannot read a file then it cannot copy the file into the archive.
+
+\1f
+File: tar.info, Node: Data corruption and repair, Next: Race conditions, Prev: Permissions problems, Up: Reliability
+
+10.1.2 Data Corruption and Repair
+---------------------------------
+
+If an archive becomes corrupted by an I/O error, this may corrupt the
+data in an extracted file. Worse, it may corrupt the file's metadata,
+which may cause later parts of the archive to become misinterpreted.
+An tar-format archive contains a checksum that most likely will detect
+errors in the metadata, but it will not detect errors in the data.
+
+ If data corruption is a concern, you can compute and check your own
+checksums of an archive by using other programs, such as `cksum'.
+
+ When attempting to recover from a read error or data corruption in an
+archive, you may need to skip past the questionable data and read the
+rest of the archive. This requires some expertise in the archive
+format and in other software tools.
+
+\1f
+File: tar.info, Node: Race conditions, Prev: Data corruption and repair, Up: Reliability
+
+10.1.3 Race conditions
+----------------------
+
+If some other process is modifying the file system while `tar' is
+reading or writing files, the result may well be inconsistent due to
+race conditions. For example, if another process creates some files in
+a directory while `tar' is creating an archive containing the
+directory's files, `tar' may see some of the files but not others, or
+it may see a file that is in the process of being created. The
+resulting archive may not be a snapshot of the file system at any point
+in time. If an application such as a database system depends on an
+accurate snapshot, restoring from the `tar' archive of a live file
+system may therefore break that consistency and may break the
+application. The simplest way to avoid the consistency issues is to
+avoid making other changes to the file system while tar is reading it
+or writing it.
+
+ When creating an archive, several options are available to avoid race
+conditions. Some hosts have a way of snapshotting a file system, or of
+temporarily suspending all changes to a file system, by (say)
+suspending the only virtual machine that can modify a file system; if
+you use these facilities and have `tar -c' read from a snapshot when
+creating an archive, you can avoid inconsistency problems. More
+drastically, before starting `tar' you could suspend or shut down all
+processes other than `tar' that have access to the file system, or you
+could unmount the file system and then mount it read-only.
+
+ When extracting from an archive, one approach to avoid race
+conditions is to create a directory that no other process can write to,
+and extract into that.
+
+\1f
+File: tar.info, Node: Security, Prev: Reliability, Up: Reliability and security
+
+10.2 Security
+=============
+
+In some cases `tar' may be used in an adversarial situation, where an
+untrusted user is attempting to gain information about or modify
+otherwise-inaccessible files. Dealing with untrusted data (that is,
+data generated by an untrusted user) typically requires extra care,
+because even the smallest mistake in the use of `tar' is more likely to
+be exploited by an adversary than by a race condition.
+
+* Menu:
+
+* Privacy::
+* Integrity::
+* Live untrusted data::
+* Security rules of thumb::
+
+\1f
+File: tar.info, Node: Privacy, Next: Integrity, Up: Security
+
+10.2.1 Privacy
+--------------
+
+Standard privacy concerns apply when using `tar'. For example, suppose
+you are archiving your home directory into a file
+`/archive/myhome.tar'. Any secret information in your home directory,
+such as your SSH secret keys, are copied faithfully into the archive.
+Therefore, if your home directory contains any file that should not be
+read by some other user, the archive itself should be not be readable
+by that user. And even if the archive's data are inaccessible to
+untrusted users, its metadata (such as size or last-modified date) may
+reveal some information about your home directory; if the metadata are
+intended to be private, the archive's parent directory should also be
+inaccessible to untrusted users.
+
+ One precaution is to create `/archive' so that it is not accessible
+to any user, unless that user also has permission to access all the
+files in your home directory.
+
+ Similarly, when extracting from an archive, take care that the
+permissions of the extracted files are not more generous than what you
+want. Even if the archive itself is readable only to you, files
+extracted from it have their own permissions that may differ.
+
+\1f
+File: tar.info, Node: Integrity, Next: Live untrusted data, Prev: Privacy, Up: Security
+
+10.2.2 Integrity
+----------------
+
+When creating archives, take care that they are not writable by a
+untrusted user; otherwise, that user could modify the archive, and when
+you later extract from the archive you will get incorrect data.
+
+ When `tar' extracts from an archive, by default it writes into files
+relative to the working directory. If the archive was generated by an
+untrusted user, that user therefore can write into any file under the
+working directory. If the working directory contains a symbolic link
+to another directory, the untrusted user can also write into any file
+under the referenced directory. When extracting from an untrusted
+archive, it is therefore good practice to create an empty directory and
+run `tar' in that directory.
+
+ When extracting from two or more untrusted archives, each one should
+be extracted independently, into different empty directories.
+Otherwise, the first archive could create a symbolic link into an area
+outside the working directory, and the second one could follow the link
+and overwrite data that is not under the working directory. For
+example, when restoring from a series of incremental dumps, the
+archives should have been created by a trusted process, as otherwise
+the incremental restores might alter data outside the working directory.
+
+ If you use the `--absolute-names' (`-P') option when extracting,
+`tar' respects any file names in the archive, even file names that
+begin with `/' or contain `..'. As this lets the archive overwrite any
+file in your system that you can write, the `--absolute-names' (`-P')
+option should be used only for trusted archives.
+
+ Conversely, with the `--keep-old-files' (`-k') option, `tar' refuses
+to replace existing files when extracting; and with the
+`--no-overwrite-dir' option, `tar' refuses to replace the permissions
+or ownership of already-existing directories. These options may help
+when extracting from untrusted archives.
+
+\1f
+File: tar.info, Node: Live untrusted data, Next: Security rules of thumb, Prev: Integrity, Up: Security
+
+10.2.3 Dealing with Live Untrusted Data
+---------------------------------------
+
+Extra care is required when creating from or extracting into a file
+system that is accessible to untrusted users. For example, superusers
+who invoke `tar' must be wary about its actions being hijacked by an
+adversary who is reading or writing the file system at the same time
+that `tar' is operating.
+
+ When creating an archive from a live file system, `tar' is
+vulnerable to denial-of-service attacks. For example, an adversarial
+user could create the illusion of an indefinitely-deep directory
+hierarchy `d/e/f/g/...' by creating directories one step ahead of
+`tar', or the illusion of an indefinitely-long file by creating a
+sparse file but arranging for blocks to be allocated just before `tar'
+reads them. There is no easy way for `tar' to distinguish these
+scenarios from legitimate uses, so you may need to monitor `tar', just
+as you'd need to monitor any other system service, to detect such
+attacks.
+
+ While a superuser is extracting from an archive into a live file
+system, an untrusted user might replace a directory with a symbolic
+link, in hopes that `tar' will follow the symbolic link and extract
+data into files that the untrusted user does not have access to. Even
+if the archive was generated by the superuser, it may contain a file
+such as `d/etc/passwd' that the untrusted user earlier created in order
+to break in; if the untrusted user replaces the directory `d/etc' with
+a symbolic link to `/etc' while `tar' is running, `tar' will overwrite
+`/etc/passwd'. This attack can be prevented by extracting into a
+directory that is inaccessible to untrusted users.
+
+ Similar attacks via symbolic links are also possible when creating an
+archive, if the untrusted user can modify an ancestor of a top-level
+argument of `tar'. For example, an untrusted user that can modify
+`/home/eve' can hijack a running instance of `tar -cf -
+/home/eve/Documents/yesterday' by replacing `/home/eve/Documents' with
+a symbolic link to some other location. Attacks like these can be
+prevented by making sure that untrusted users cannot modify any files
+that are top-level arguments to `tar', or any ancestor directories of
+these files.
+
+\1f
+File: tar.info, Node: Security rules of thumb, Prev: Live untrusted data, Up: Security
+
+10.2.4 Security Rules of Thumb
+------------------------------
+
+This section briefly summarizes rules of thumb for avoiding security
+pitfalls.
+
+ * Protect archives at least as much as you protect any of the files
+ being archived.
+
+ * Extract from an untrusted archive only into an otherwise-empty
+ directory. This directory and its parent should be accessible
+ only to trusted users. For example:
+
+ $ chmod go-rwx .
+ $ mkdir -m go-rwx dir
+ $ cd dir
+ $ tar -xvf /archives/got-it-off-the-net.tar.gz
+
+ As a corollary, do not do an incremental restore from an untrusted
+ archive.
+
+ * Do not let untrusted users access files extracted from untrusted
+ archives without checking first for problems such as setuid
+ programs.
+
+ * Do not let untrusted users modify directories that are ancestors of
+ top-level arguments of `tar'. For example, while you are
+ executing `tar -cf /archive/u-home.tar /u/home', do not let an
+ untrusted user modify `/', `/archive', or `/u'.
+
+ * Pay attention to the diagnostics and exit status of `tar'.
+
+ * When archiving live file systems, monitor running instances of
+ `tar' to detect denial-of-service attacks.
+
+ * Avoid unusual options such as `--absolute-names' (`-P'),
+ `--dereference' (`-h'), `--overwrite', `--recursive-unlink', and
+ `--remove-files' unless you understand their security implications.
+
+
+\1f
+File: tar.info, Node: Changes, Next: Configuring Help Summary, Prev: Reliability and security, Up: Top
Appendix A Changes
******************
This appendix lists some important user-visible changes between version
-GNU `tar' 1.23 and previous versions. An up-to-date version of this
+GNU `tar' 1.24 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).
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.23 supports three snapshot file formats. The
+ GNU `tar' version 1.24 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.23, the "format 2" is used.
+version 1.16 and up to 1.24, the "format 2" is used.
GNU `tar' is able to read all three formats, but will create
snapshots only in format 2.
2. `Format 2' snapshot file begins with a format identifier, as
described for version 1, e.g.:
- GNU tar-1.23-2
+ GNU tar-1.24-2
This line is followed by newline. Rest of file consists of
records, separated by null (ASCII 0) characters. Thus, in contrast
Notice, that the use of compatibility mode is deprecated.
\1f
-File: tar.info, Node: Free Software Needs Free Documentation, Next: Copying This Manual, Prev: Genfile, Up: Top
+File: tar.info, Node: Free Software Needs Free Documentation, Next: GNU Free Documentation License, Prev: Genfile, Up: Top
Appendix F Free Software Needs Free Documentation
*************************************************
`http://www.fsf.org/doc/other-free-books.html'.
\1f
-File: tar.info, Node: Copying This Manual, Next: Index of Command Line Options, Prev: Free Software Needs Free Documentation, Up: Top
+File: tar.info, Node: GNU Free Documentation License, Next: Index of Command Line Options, Prev: Free Software Needs Free Documentation, Up: Top
-Appendix G Copying This Manual
-******************************
+Appendix G GNU Free Documentation License
+*****************************************
-* Menu:
+ Version 1.3, 3 November 2008
-* GNU Free Documentation License:: License for copying this manual
-
-\1f
-File: tar.info, Node: GNU Free Documentation License, Up: Copying This Manual
-
-G.1 GNU Free Documentation License
-==================================
-
- Version 1.2, November 2002
-
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
-G.1.1 ADDENDUM: How to use this License for your documents
-----------------------------------------------------------
+
+ADDENDUM: How to use this License for your documents
+====================================================
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
+ under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
permit their use in free software.
\1f
-File: tar.info, Node: Index of Command Line Options, Next: Index, Prev: Copying This Manual, Up: Top
+File: tar.info, Node: Index of Command Line Options, Next: Index, Prev: GNU Free Documentation License, Up: Top
Appendix H Index of Command Line Options
****************************************
This appendix contains an index of all GNU `tar' long command line
options. The options are listed without the preceding double-dash. For
-a cross-reference of short command line options, *note Short Option
+a cross-reference of short command line options, see *note Short Option
Summary::.
\0\b[index\0\b]
* absolute-names: absolute. (line 10)
* absolute-names, summary: Option Summary. (line 6)
-* add-file: files. (line 85)
+* add-file: files. (line 84)
* after-date: after. (line 24)
* after-date, summary: Option Summary. (line 12)
* anchored: controlling pattern-matching.
* append, summary: Operation Summary. (line 6)
* atime-preserve: Attributes. (line 10)
* atime-preserve, summary: Option Summary. (line 19)
-* auto-compress: gzip. (line 78)
+* auto-compress: gzip. (line 144)
* auto-compress, summary: Option Summary. (line 65)
* backup: backup. (line 41)
* backup, summary: Option Summary. (line 71)
* block-number, summary: Option Summary. (line 76)
* blocking-factor: Blocking Factor. (line 8)
* blocking-factor, summary: Option Summary. (line 82)
-* bzip2: gzip. (line 134)
* bzip2, summary: Option Summary. (line 87)
* catenate: concatenate. (line 6)
* catenate, summary: Operation Summary. (line 10)
* checkpoint-action, summary: Option Summary. (line 105)
* compare: compare. (line 6)
* compare, summary: Operation Summary. (line 14)
-* compress: gzip. (line 151)
+* compress: gzip. (line 101)
* compress, summary: Option Summary. (line 152)
* concatenate: concatenate. (line 6)
* concatenate, summary: Operation Summary. (line 20)
* force-local, short description: Device. (line 70)
* force-local, summary: Option Summary. (line 241)
* format, summary: Option Summary. (line 246)
+* full-time, summary: Option Summary. (line 271)
* get, summary: Operation Summary. (line 42)
* group: override. (line 75)
-* group, summary: Option Summary. (line 271)
-* gunzip, summary: Option Summary. (line 279)
-* gzip: gzip. (line 100)
-* gzip, summary: Option Summary. (line 279)
+* group, summary: Option Summary. (line 289)
+* gunzip, summary: Option Summary. (line 297)
+* gzip: gzip. (line 79)
+* gzip, summary: Option Summary. (line 297)
* hard-dereference, described: hard links. (line 59)
-* hard-dereference, summary: Option Summary. (line 287)
+* hard-dereference, summary: Option Summary. (line 305)
* help: help tutorial. (line 6)
* help, introduction: help. (line 27)
-* help, summary: Option Summary. (line 293)
+* help, summary: Option Summary. (line 311)
* ignore-case: controlling pattern-matching.
(line 86)
-* ignore-case, summary: Option Summary. (line 298)
+* ignore-case, summary: Option Summary. (line 316)
* ignore-command-error: Writing to an External Program.
(line 98)
-* ignore-command-error, summary: Option Summary. (line 302)
+* ignore-command-error, summary: Option Summary. (line 320)
* ignore-failed-read: Ignore Failed Read. (line 7)
-* ignore-failed-read, summary: Option Summary. (line 306)
+* ignore-failed-read, summary: Option Summary. (line 324)
* ignore-zeros: Ignore Zeros. (line 6)
* ignore-zeros, short description: Blocking Factor. (line 156)
-* ignore-zeros, summary: Option Summary. (line 310)
-* incremental, summary: Option Summary. (line 315)
-* incremental, using with --list: Incremental Dumps. (line 157)
-* index-file, summary: Option Summary. (line 322)
+* ignore-zeros, summary: Option Summary. (line 328)
+* incremental, summary: Option Summary. (line 333)
+* incremental, using with --list: Incremental Dumps. (line 186)
+* index-file, summary: Option Summary. (line 340)
* info-script: Multi-Volume Archives.
- (line 80)
-* info-script, short description: Device. (line 104)
-* info-script, summary: Option Summary. (line 325)
+ (line 88)
+* info-script, short description: Device. (line 122)
+* info-script, summary: Option Summary. (line 343)
* interactive: interactive. (line 14)
-* interactive, summary: Option Summary. (line 333)
+* interactive, summary: Option Summary. (line 351)
* keep-newer-files: Keep Newer Files. (line 6)
-* keep-newer-files, summary: Option Summary. (line 340)
+* keep-newer-files, summary: Option Summary. (line 358)
* 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 344)
-* label <1>: label. (line 8)
+* keep-old-files, summary: Option Summary. (line 362)
+* label <1>: label. (line 6)
* label: Tape Files. (line 6)
-* label, summary: Option Summary. (line 349)
+* label, summary: Option Summary. (line 367)
* level, described: Incremental Dumps. (line 76)
-* level, summary: Option Summary. (line 356)
+* level, summary: Option Summary. (line 374)
* list: list. (line 6)
* list, summary: Operation Summary. (line 46)
-* list, using with --incremental: Incremental Dumps. (line 159)
-* list, using with --listed-incremental: Incremental Dumps. (line 160)
+* list, using with --incremental: Incremental Dumps. (line 186)
+* list, using with --listed-incremental: Incremental Dumps. (line 186)
* list, using with --verbose: list. (line 30)
* list, using with file name arguments: list. (line 68)
* listed-incremental, described: Incremental Dumps. (line 14)
-* listed-incremental, summary: Option Summary. (line 366)
+* listed-incremental, summary: Option Summary. (line 384)
* listed-incremental, using with --extract: Incremental Dumps.
(line 121)
-* listed-incremental, using with --list: Incremental Dumps. (line 158)
-* lzip: gzip. (line 142)
-* lzip, summary: Option Summary. (line 374)
-* lzma: gzip. (line 145)
-* lzma, summary: Option Summary. (line 378)
-* lzop: gzip. (line 148)
+* listed-incremental, using with --list: Incremental Dumps. (line 186)
+* lzip: gzip. (line 92)
+* lzip, summary: Option Summary. (line 392)
+* lzma: gzip. (line 95)
+* lzma, summary: Option Summary. (line 396)
+* lzop: gzip. (line 98)
* mode: override. (line 14)
-* mode, summary: Option Summary. (line 386)
+* mode, summary: Option Summary. (line 404)
* mtime: override. (line 29)
-* mtime, summary: Option Summary. (line 392)
+* mtime, summary: Option Summary. (line 410)
* multi-volume: Multi-Volume Archives.
(line 6)
* multi-volume, short description: Device. (line 88)
-* multi-volume, summary: Option Summary. (line 401)
+* multi-volume, summary: Option Summary. (line 419)
* new-volume-script: Multi-Volume Archives.
- (line 80)
-* new-volume-script, short description: Device. (line 104)
-* new-volume-script, summary: Option Summary. (line 325)
+ (line 88)
+* new-volume-script, short description: Device. (line 122)
+* new-volume-script, summary: Option Summary. (line 343)
* newer: after. (line 24)
-* newer, summary: Option Summary. (line 409)
+* newer, summary: Option Summary. (line 427)
* newer-mtime: after. (line 35)
-* newer-mtime, summary: Option Summary. (line 417)
+* newer-mtime, summary: Option Summary. (line 435)
* no-anchored: controlling pattern-matching.
(line 79)
-* no-anchored, summary: Option Summary. (line 422)
-* no-auto-compress, summary: Option Summary. (line 426)
+* no-anchored, summary: Option Summary. (line 440)
+* no-auto-compress, summary: Option Summary. (line 444)
* no-check-device, described: Incremental Dumps. (line 104)
-* no-check-device, summary: Option Summary. (line 430)
+* no-check-device, summary: Option Summary. (line 448)
* no-delay-directory-restore: Directory Modification Times and Permissions.
(line 68)
-* no-delay-directory-restore, summary: Option Summary. (line 435)
+* no-delay-directory-restore, summary: Option Summary. (line 453)
* no-ignore-case: controlling pattern-matching.
(line 86)
-* no-ignore-case, summary: Option Summary. (line 441)
+* no-ignore-case, summary: Option Summary. (line 459)
* no-ignore-command-error: Writing to an External Program.
(line 103)
-* no-ignore-command-error, summary: Option Summary. (line 444)
+* no-ignore-command-error, summary: Option Summary. (line 462)
* no-null, described: nul. (line 15)
-* no-null, summary: Option Summary. (line 448)
-* no-overwrite-dir, summary: Option Summary. (line 453)
-* no-quote-chars, summary: Option Summary. (line 457)
+* no-null, summary: Option Summary. (line 466)
+* no-overwrite-dir, summary: Option Summary. (line 471)
+* no-quote-chars, summary: Option Summary. (line 475)
* no-recursion: recurse. (line 11)
-* no-recursion, summary: Option Summary. (line 462)
+* no-recursion, summary: Option Summary. (line 480)
* no-same-owner: Attributes. (line 63)
-* no-same-owner, summary: Option Summary. (line 466)
-* no-same-permissions, summary: Option Summary. (line 472)
-* no-seek, summary: Option Summary. (line 477)
+* no-same-owner, summary: Option Summary. (line 484)
+* no-same-permissions, summary: Option Summary. (line 490)
+* no-seek, summary: Option Summary. (line 495)
* no-unquote: Selecting Archive Members.
(line 42)
-* no-unquote, summary: Option Summary. (line 482)
+* no-unquote, summary: Option Summary. (line 500)
* no-wildcards: controlling pattern-matching.
(line 41)
-* no-wildcards, summary: Option Summary. (line 486)
+* no-wildcards, summary: Option Summary. (line 504)
* no-wildcards-match-slash: controlling pattern-matching.
(line 92)
-* no-wildcards-match-slash, summary: Option Summary. (line 489)
+* no-wildcards-match-slash, summary: Option Summary. (line 507)
* null, described: nul. (line 11)
-* null, summary: Option Summary. (line 492)
+* null, summary: Option Summary. (line 510)
* numeric-owner: Attributes. (line 69)
-* numeric-owner, summary: Option Summary. (line 498)
+* numeric-owner, summary: Option Summary. (line 516)
* occurrence, described: append. (line 34)
-* occurrence, summary: Option Summary. (line 515)
-* old-archive, summary: Option Summary. (line 529)
+* occurrence, summary: Option Summary. (line 533)
+* old-archive, summary: Option Summary. (line 547)
* one-file-system: one. (line 14)
-* one-file-system, summary: Option Summary. (line 532)
+* one-file-system, summary: Option Summary. (line 550)
* overwrite: Overwrite Old Files. (line 6)
* overwrite, introduced: Dealing with Old Files.
(line 22)
-* overwrite, summary: Option Summary. (line 537)
+* overwrite, summary: Option Summary. (line 555)
* overwrite-dir: Overwrite Old Files. (line 28)
* overwrite-dir, introduced: Dealing with Old Files.
(line 6)
-* overwrite-dir, summary: Option Summary. (line 541)
+* overwrite-dir, summary: Option Summary. (line 559)
* owner: override. (line 57)
-* owner, summary: Option Summary. (line 545)
+* owner, summary: Option Summary. (line 563)
* pax-option: PAX keywords. (line 6)
-* pax-option, summary: Option Summary. (line 554)
-* portability, summary: Option Summary. (line 560)
-* posix, summary: Option Summary. (line 564)
+* pax-option, summary: Option Summary. (line 572)
+* portability, summary: Option Summary. (line 578)
+* posix, summary: Option Summary. (line 582)
* preserve: Attributes. (line 122)
-* preserve, summary: Option Summary. (line 567)
+* preserve, summary: Option Summary. (line 585)
* preserve-order: Same Order. (line 6)
-* preserve-order, summary: Option Summary. (line 571)
+* preserve-order, summary: Option Summary. (line 589)
* preserve-permissions: Setting Access Permissions.
(line 10)
* preserve-permissions, short description: Attributes. (line 109)
-* preserve-permissions, summary: Option Summary. (line 574)
-* quote-chars, summary: Option Summary. (line 584)
+* preserve-permissions, summary: Option Summary. (line 592)
+* quote-chars, summary: Option Summary. (line 602)
* quoting-style: quoting styles. (line 38)
-* quoting-style, summary: Option Summary. (line 588)
+* quoting-style, summary: Option Summary. (line 606)
* read-full-records <1>: read full records. (line 6)
* read-full-records: Reading. (line 6)
* read-full-records, short description: Blocking Factor. (line 172)
-* read-full-records, summary: Option Summary. (line 595)
-* record-size, summary: Option Summary. (line 600)
+* read-full-records, summary: Option Summary. (line 613)
+* record-size, summary: Option Summary. (line 618)
* recursion: recurse. (line 22)
-* recursion, summary: Option Summary. (line 604)
+* recursion, summary: Option Summary. (line 625)
* recursive-unlink: Recursive Unlink. (line 6)
-* recursive-unlink, summary: Option Summary. (line 608)
+* recursive-unlink, summary: Option Summary. (line 629)
* remove-files: remove files. (line 6)
-* remove-files, summary: Option Summary. (line 613)
-* restrict, summary: Option Summary. (line 617)
-* rmt-command, summary: Option Summary. (line 622)
+* remove-files, summary: Option Summary. (line 634)
+* restrict, summary: Option Summary. (line 638)
+* rmt-command, summary: Option Summary. (line 643)
* rsh-command: Device. (line 73)
-* rsh-command, summary: Option Summary. (line 626)
+* rsh-command, summary: Option Summary. (line 647)
* same-order: Same Order. (line 6)
-* same-order, summary: Option Summary. (line 630)
+* same-order, summary: Option Summary. (line 651)
* same-owner: Attributes. (line 44)
-* same-owner, summary: Option Summary. (line 638)
+* same-owner, summary: Option Summary. (line 659)
* same-permissions: Setting Access Permissions.
(line 10)
* same-permissions, short description: Attributes. (line 109)
-* same-permissions, summary: Option Summary. (line 574)
-* seek, summary: Option Summary. (line 647)
+* same-permissions, summary: Option Summary. (line 592)
+* seek, summary: Option Summary. (line 668)
* show-defaults: defaults. (line 6)
-* show-defaults, summary: Option Summary. (line 656)
+* show-defaults, summary: Option Summary. (line 677)
* show-omitted-dirs: verbose. (line 107)
-* show-omitted-dirs, summary: Option Summary. (line 668)
+* show-omitted-dirs, summary: Option Summary. (line 689)
* show-stored-names: list. (line 60)
-* show-stored-names, summary: Option Summary. (line 672)
+* show-stored-names, summary: Option Summary. (line 693)
* show-transformed-names: transform. (line 45)
-* show-transformed-names, summary: Option Summary. (line 672)
+* show-transformed-names, summary: Option Summary. (line 693)
* sparse: sparse. (line 22)
-* sparse, summary: Option Summary. (line 680)
+* sparse, summary: Option Summary. (line 701)
* sparse-version: sparse. (line 57)
-* sparse-version, summary: Option Summary. (line 685)
+* sparse-version, summary: Option Summary. (line 706)
* starting-file: Starting File. (line 6)
-* starting-file, summary: Option Summary. (line 690)
+* starting-file, summary: Option Summary. (line 711)
* strip-components: transform. (line 25)
-* strip-components, summary: Option Summary. (line 696)
+* strip-components, summary: Option Summary. (line 717)
* suffix: backup. (line 68)
-* suffix, summary: Option Summary. (line 705)
+* suffix, summary: Option Summary. (line 726)
* tape-length: Multi-Volume Archives.
(line 33)
* tape-length, short description: Device. (line 96)
-* tape-length, summary: Option Summary. (line 709)
-* test-label: label. (line 37)
-* test-label, summary: Option Summary. (line 714)
+* tape-length, summary: Option Summary. (line 730)
+* test-label: label. (line 35)
+* test-label, summary: Option Summary. (line 739)
* to-command: Writing to an External Program.
(line 9)
-* to-command, summary: Option Summary. (line 718)
+* to-command, summary: Option Summary. (line 743)
* to-stdout: Writing to Standard Output.
(line 14)
-* to-stdout, summary: Option Summary. (line 722)
+* to-stdout, summary: Option Summary. (line 747)
* totals: verbose. (line 46)
-* totals, summary: Option Summary. (line 727)
+* totals, summary: Option Summary. (line 752)
* touch <1>: Attributes. (line 33)
* touch: Data Modification Times.
(line 15)
-* touch, summary: Option Summary. (line 732)
+* touch, summary: Option Summary. (line 757)
* transform: transform. (line 74)
-* transform, summary: Option Summary. (line 738)
-* uncompress: gzip. (line 151)
+* transform, summary: Option Summary. (line 763)
+* uncompress: gzip. (line 101)
* uncompress, summary: Option Summary. (line 152)
-* ungzip: gzip. (line 100)
-* ungzip, summary: Option Summary. (line 279)
+* ungzip: gzip. (line 79)
+* ungzip, summary: Option Summary. (line 297)
* unlink-first: Unlink First. (line 6)
* unlink-first, introduced: Dealing with Old Files.
(line 42)
-* unlink-first, summary: Option Summary. (line 758)
+* unlink-first, summary: Option Summary. (line 783)
* unquote: Selecting Archive Members.
(line 39)
-* unquote, summary: Option Summary. (line 764)
+* unquote, summary: Option Summary. (line 789)
* update <1>: how to update. (line 6)
* update: update. (line 6)
* update, summary: Operation Summary. (line 50)
* usage: help. (line 54)
-* use-compress-program: gzip. (line 156)
-* use-compress-program, summary: Option Summary. (line 768)
-* utc, summary: Option Summary. (line 773)
+* use-compress-program: gzip. (line 166)
+* use-compress-program, summary: Option Summary. (line 793)
+* utc, summary: Option Summary. (line 798)
* verbose: verbose. (line 18)
* verbose, introduced: verbose tutorial. (line 6)
-* verbose, summary: Option Summary. (line 777)
+* verbose, summary: Option Summary. (line 802)
* 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 784)
+* verify, summary: Option Summary. (line 809)
* verify, using with --create: verify. (line 24)
* version: help. (line 6)
-* version, summary: Option Summary. (line 789)
+* version, summary: Option Summary. (line 814)
* volno-file: Multi-Volume Archives.
- (line 71)
-* volno-file, summary: Option Summary. (line 794)
+ (line 79)
+* volno-file, summary: Option Summary. (line 819)
* warning, explained: warnings. (line 12)
-* warning, summary: Option Summary. (line 799)
+* warning, summary: Option Summary. (line 824)
* wildcards: controlling pattern-matching.
(line 38)
-* wildcards, summary: Option Summary. (line 804)
+* wildcards, summary: Option Summary. (line 829)
* wildcards-match-slash: controlling pattern-matching.
(line 92)
-* wildcards-match-slash, summary: Option Summary. (line 808)
+* wildcards-match-slash, summary: Option Summary. (line 833)
* xform: transform. (line 74)
-* xform, summary: Option Summary. (line 738)
-* xz, summary: Option Summary. (line 811)
+* xform, summary: Option Summary. (line 763)
+* xz: gzip. (line 84)
+* xz, summary: Option Summary. (line 836)
\1f
File: tar.info, Node: Index, Prev: Index of Command Line Options, Up: Top
* atrributes, files: Attributes. (line 6)
* Attempting extraction of symbolic links as hard links, warning message: warnings.
(line 77)
-* authors of get_date: Authors of get_date. (line 6)
+* authors of parse_datetime: Authors of parse_datetime.
+ (line 6)
* Avoiding recursion in directories: recurse. (line 6)
* backup options: backup. (line 6)
* backup suffix: backup. (line 68)
* beginning of time, for POSIX: Seconds since the Epoch.
(line 13)
* bell, checkpoint action: checkpoints. (line 65)
-* Bellovin, Steven M.: Authors of get_date. (line 6)
-* Berets, Jim: Authors of get_date. (line 6)
-* Berry, K.: Authors of get_date. (line 14)
+* Bellovin, Steven M.: Authors of parse_datetime.
+ (line 6)
+* Berets, Jim: Authors of parse_datetime.
+ (line 6)
+* Berry, K.: Authors of parse_datetime.
+ (line 19)
* binary equivalent archives, creating: PAX keywords. (line 132)
* block: Blocking. (line 6)
* Block number where error occurred: verbose. (line 115)
* Concatenating Archives: concatenate. (line 6)
* contains a cache directory tag, warning message: warnings. (line 43)
* contiguous-cast: warnings. (line 74)
-* corrupted archives <1>: gzip. (line 119)
+* corrupted archives <1>: gzip. (line 134)
* corrupted archives: Full Dumps. (line 8)
* Creation of the archive: create. (line 8)
* Current %s is newer or same age, warning message: warnings. (line 83)
* dup-args-note: Configuring Help Summary.
(line 68)
* echo, checkpoint action: checkpoints. (line 25)
-* Eggert, Paul: Authors of get_date. (line 6)
+* Eggert, Paul: Authors of parse_datetime.
+ (line 6)
* End-of-archive blocks, ignoring: Ignore Zeros. (line 6)
* End-of-archive info script: Multi-Volume Archives.
- (line 80)
+ (line 88)
* entry: Naming tar Archives. (line 11)
* epoch, for POSIX: Seconds since the Epoch.
(line 13)
* extracting Nth copy of the file: append. (line 34)
* Extraction: extract. (line 6)
* extraction: Definitions. (line 22)
-* FDL, GNU Free Documentation License: GNU Free Documentation License.
- (line 6)
* file archival: Top. (line 24)
* file attributes: Attributes. (line 6)
* file changed as we read it, warning message: warnings. (line 64)
* genfile, generate mode: Generate Mode. (line 6)
* genfile, reading a list of file names: Generate Mode. (line 22)
* genfile, seeking to a given offset: Generate Mode. (line 18)
-* get_date: Date input formats. (line 6)
* Getting program version number: help. (line 6)
* git, excluding files: exclude. (line 37)
* GNU archive format: gnu. (line 6)
* 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 171)
-* gpg, using with tar: gzip. (line 171)
+* gnupg, using with tar: gzip. (line 181)
+* gpg, using with tar: gzip. (line 181)
* gzip: gzip. (line 6)
* hard links, dereferencing: hard links. (line 6)
* header-col: Configuring Help Summary.
(line 86)
* implausibly old time stamp %s, warning message: warnings. (line 72)
* Info script: Multi-Volume Archives.
- (line 80)
+ (line 88)
* Interactive operation: interactive. (line 6)
* ISO 8601 date format: Calendar date items. (line 30)
* items in date strings: General date syntax. (line 6)
(line 6)
* last DAY: Day of week items. (line 15)
* last in date strings: General date syntax. (line 26)
+* Laszlo Ersek: lbzip2. (line 6)
+* lbzip2: lbzip2. (line 6)
* Listing all tar options: help. (line 27)
* listing member and file names: list. (line 41)
-* Listing volume label: label. (line 29)
+* Listing volume label: label. (line 27)
* Lists of file names: files. (line 6)
* Local and remote archives: file. (line 71)
* long options: Long Options. (line 6)
* lzip: gzip. (line 6)
* lzma: gzip. (line 6)
* lzop: gzip. (line 6)
-* MacKenzie, David: Authors of get_date. (line 6)
+* MacKenzie, David: Authors of parse_datetime.
+ (line 6)
* Malformed dumpdir: 'X' never used, warning message: warnings.
(line 102)
* member: Definitions. (line 15)
* members, multiple: multiple. (line 6)
* Members, replacing with other members: append. (line 47)
* Mercurial, excluding files: exclude. (line 37)
-* Meyering, Jim: Authors of get_date. (line 6)
+* Meyering, Jim: Authors of parse_datetime.
+ (line 6)
* Middle of the archive, starting in the: Starting File. (line 11)
* midnight in date strings: Time of day items. (line 22)
* minute in date strings: Relative items in date strings.
* ordinal numbers: General date syntax. (line 26)
* Overwriting old files, prevention: Dealing with Old Files.
(line 16)
+* parse_datetime: Date input formats. (line 6)
* pattern, genfile: Generate Mode. (line 39)
* PAX archive format: posix. (line 6)
* Permissions of extracted files: Setting Access Permissions.
(line 6)
-* Pinard, F.: Authors of get_date. (line 14)
+* Pinard, F.: Authors of parse_datetime.
+ (line 19)
* pm in date strings: Time of day items. (line 22)
* POSIX archive format: posix. (line 6)
* Progress information: verbose. (line 83)
* RSH_COMMAND: General-Purpose Variables.
(line 77)
* Running out of space: Scarce. (line 8)
-* Salz, Rich: Authors of get_date. (line 6)
+* Salz, Rich: Authors of parse_datetime.
+ (line 6)
* SCCS, excluding files: exclude. (line 37)
* short options: Short Options. (line 6)
* short options with mandatory arguments: Short Options. (line 13)
(line 15)
* TAR_ARCHIVE, checkpoint script environment: checkpoints. (line 108)
* TAR_ARCHIVE, info script environment variable: Multi-Volume Archives.
- (line 100)
+ (line 108)
* TAR_ARCHIVE, to-command environment: Writing to an External Program.
(line 76)
* TAR_ATIME, to-command environment: Writing to an External Program.
* TAR_BLOCKING_FACTOR, checkpoint script environment: checkpoints.
(line 111)
* TAR_BLOCKING_FACTOR, info script environment variable: Multi-Volume Archives.
- (line 103)
+ (line 111)
* TAR_BLOCKING_FACTOR, to-command environment: Writing to an External Program.
(line 79)
* TAR_CHECKPOINT, checkpoint script environment: checkpoints. (line 114)
* TAR_CTIME, to-command environment: Writing to an External Program.
(line 58)
* TAR_FD, info script environment variable: Multi-Volume Archives.
- (line 117)
+ (line 125)
* TAR_FILENAME, to-command environment: Writing to an External Program.
(line 37)
* TAR_FILETYPE, to-command environment: Writing to an External Program.
(line 22)
* TAR_FORMAT, checkpoint script environment: checkpoints. (line 121)
* TAR_FORMAT, info script environment variable: Multi-Volume Archives.
- (line 113)
+ (line 121)
* TAR_FORMAT, to-command environment: Writing to an External Program.
(line 85)
* TAR_GID, to-command environment: Writing to an External Program.
(line 61)
* TAR_SUBCOMMAND, checkpoint script environment: checkpoints. (line 117)
* TAR_SUBCOMMAND, info script environment variable: Multi-Volume Archives.
- (line 109)
+ (line 117)
* TAR_UID, to-command environment: Writing to an External Program.
(line 64)
* TAR_UNAME, to-command environment: Writing to an External Program.
(line 43)
* TAR_VERSION, checkpoint script environment: checkpoints. (line 105)
* TAR_VERSION, info script environment variable: Multi-Volume Archives.
- (line 97)
+ (line 105)
* TAR_VERSION, to-command environment: Writing to an External Program.
(line 73)
* TAR_VOLUME, info script environment variable: Multi-Volume Archives.
- (line 106)
+ (line 114)
* TAR_VOLUME, to-command environment: Writing to an External Program.
(line 82)
* tarcat: Tarcat. (line 6)
* Updating an archive: update. (line 6)
* usage-indent: Configuring Help Summary.
(line 154)
-* Using encrypted archives: gzip. (line 171)
+* Using encrypted archives: gzip. (line 181)
* ustar archive format: ustar. (line 6)
* uuencode: Applications. (line 8)
* v7 archive format: old. (line 6)
* version-control Emacs variable: backup. (line 49)
* VERSION_CONTROL: backup. (line 41)
* volno file: Multi-Volume Archives.
- (line 71)
+ (line 79)
* VOLNO_FILE: General-Purpose Variables.
(line 82)
-* Volume label, listing: label. (line 29)
+* Volume label, listing: label. (line 27)
* Volume number file: Multi-Volume Archives.
- (line 71)
+ (line 79)
* week in date strings: Relative items in date strings.
(line 15)
* Where is the archive?: file. (line 6)
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
+Invariant Sections, with the Front-Cover Texts being ``A GNU Manual'',
and with the Back-Cover Texts as in (a) below. A copy of the license
-is included in the section entitled "GNU Free Documentation License".
+is included in the section entitled ``GNU Free Documentation
+License''.
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
* Date input formats::
* Formats::
* Media::
+* Reliability and security::
Appendices
* Tar Internals::
* Genfile::
* Free Software Needs Free Documentation::
-* Copying This Manual::
+* GNU Free Documentation License::
* Index of Command Line Options::
* Index::
* Pure numbers in date strings:: 19931219, 1440.
* Seconds since the Epoch:: @@1078100502.
* Specifying time zone rules:: TZ="America/New_York", TZ="UTC0".
-* Authors of get_date:: Bellovin, Eggert, Salz, Berets, et al.
+* Authors of parse_datetime:: Bellovin, Eggert, Salz, Berets, et al.
Controlling the Archive Format
* gzip:: Creating and Reading Compressed Archives
* sparse:: Archiving Sparse Files
+Creating and Reading Compressed Archives
+
+* lbzip2:: Using lbzip2 with @GNUTAR{}.
+
Making @command{tar} Archives More Portable
* Portable Names:: Portable Names
two frequently used options (@samp{file} and @samp{verbose}). The other
chapters do not refer to the tutorial frequently; however, if a section
discusses something which is a complex variant of a basic concept, there
-may be a cross reference to that basic concept. (The entire book,
+may be a cross-reference to that basic concept. (The entire book,
including the tutorial, assumes that the reader understands some basic
concepts of using a Unix-type operating system; @pxref{Tutorial}.)
@item --check-device
Check device numbers when creating a list of modified files for
incremental archiving. This is the default. @xref{device numbers},
-for a detailed description.
+for a detailed description.
@opsummary{checkpoint}
@item --checkpoint[=@var{number}]
@item --dereference
@itemx -h
-When creating a @command{tar} archive, @command{tar} will archive the
-file that a symbolic link points to, rather than archiving the
-symlink. @xref{dereference}.
+When reading or writing a file to be archived, @command{tar} accesses
+the file that a symbolic link points to, rather than the symlink
+itself. @xref{dereference}.
@opsummary{directory}
@item --directory=@var{dir}
@xref{Formats}, for a detailed discussion of these formats.
+@opsummary{full-time}
+@item --full-time
+This option instructs @command{tar} to print file times to their full
+resolution. Usually this means 1-second resolution, but that depends
+on the underlying file system. The @option{--full-time} option takes
+effect only when detailed output (verbosity level 2 or higher) has
+been requested using the @option{--verbose} option, e.g., when listing
+or extracting archives:
+
+@smallexample
+$ @kbd{tar -t -v --full-time -f archive.tar}
+@end smallexample
+
+@noindent
+or, when creating an archive:
+
+@smallexample
+$ @kbd{tar -c -vv --full-time -f archive.tar .}
+@end smallexample
+
+Notice, thar when creating the archive you need to specify
+@option{--verbose} twice to get a detailed output (@pxref{verbose
+tutorial}).
+
@opsummary{group}
@item --group=@var{group}
@item --no-check-device
Do not check device numbers when creating a list of modified files
for incremental archiving. @xref{device numbers}, for
-a detailed description.
+a detailed description.
@opsummary{no-delay-directory-restore}
@item --no-delay-directory-restore
from pipes on systems with buggy implementations. @xref{Reading}.
@opsummary{record-size}
-@item --record-size=@var{size}
+@item --record-size=@var{size}[@var{suf}]
Instructs @command{tar} to use @var{size} bytes per record when accessing the
-archive. @xref{Blocking Factor}.
+archive. The argument can be suffixed with a @dfn{size suffix}, e.g.
+@option{--record-size=10K} for 10 Kilobytes. @xref{size-suffixes},
+for a list of valid suffixes. @xref{Blocking Factor}, for a detailed
+description of this option.
@opsummary{recursion}
@item --recursion
Here is an example of what you can see using this option:
@smallexample
-$ tar --show-defaults
+$ @kbd{tar --show-defaults}
--format=gnu -f- -b20 --quoting-style=escape
--rmt-command=/usr/libexec/rmt --rsh-command=/usr/bin/rsh
@end smallexample
@samp{~}. @xref{backup}.
@opsummary{tape-length}
-@item --tape-length=@var{num}
-@itemx -L @var{num}
+@item --tape-length=@var{num}[@var{suf}]
+@itemx -L @var{num}[@var{suf}]
Specifies the length of tapes that @command{tar} is writing as being
-@w{@var{num} x 1024} bytes long. @xref{Using Multiple Tapes}.
+@w{@var{num} x 1024} bytes long. If optional @var{suf} is given, it
+specifies a multiplicative factor to be used instead of 1024. For
+example, @samp{-L2M} means 2 megabytes. @xref{size-suffixes}, for a
+list of allowed suffixes. @xref{Using Multiple Tapes}, for a detailed
+discussion of this option.
@opsummary{test-label}
@item --test-label
@opsummary{uncompress}
@item --uncompress
-(See @option{--compress}. @pxref{gzip})
+(See @option{--compress}, @pxref{gzip})
@opsummary{ungzip}
@item --ungzip
-(See @option{--gzip}. @pxref{gzip})
+(See @option{--gzip}, @pxref{gzip})
@opsummary{unlink-first}
@item --unlink-first
@samp{Current %s is newer or same age}
@kwindex unknown-keyword
@cindex @samp{Ignoring unknown extended header keyword `%s'}, warning message
-@item unknown-keyword
+@item unknown-keyword
@samp{Ignoring unknown extended header keyword `%s'}
@end table
Other operations don't deal with these members as perfectly as you might
prefer; if you were to use @option{--extract} to extract the archive,
-only the most recently added copy of a member with the same name as
+only the most recently added copy of a member with the same name as
other members would end up in the working directory. This is because
@option{--extract} extracts an archive in the order the members appeared
in the archive; the most recently archived members will be extracted
@end smallexample
@xref{Writing}, for more information on @option{--extract} and
-@xref{Option Summary, --occurrence}, for the description of
+see @ref{Option Summary, --occurrence}, for a description of
@option{--occurrence} option.
@node update
@file{classical}, in your practice directory, and some extra text to the
file @file{blues}, using any text editor. Then invoke @command{tar} with
the @samp{update} operation and the @option{--verbose} (@option{-v})
-option specified, using the names of all the files in the practice
+option specified, using the names of all the files in the @file{practice}
directory as file name arguments:
@smallexample
@option{--file} option and name the rest of archives to be
concatenated on the command line. The members, and their member
names, will be copied verbatim from those archives to the first
-one@footnote{This can cause multiple members to have the same name, for
-information on how this affects reading the archive, @ref{multiple}.}.
+one@footnote{This can cause multiple members to have the same name. For
+information on how this affects reading the archive, see @ref{multiple}.}.
The new, concatenated archive will be called by the same name as the
one given with the @option{--file} option. As usual, if you omit
@option{--file}, @command{tar} will use the value of the environment
The spirit behind the @option{--compare} (@option{--diff},
@option{-d}) option is to check whether the archive represents the
current state of files on disk, more than validating the integrity of
-the archive media. For this latter goal, @xref{verify}.
+the archive media. For this latter goal, see @ref{verify}.
@node create options
@section Options Used by @option{--create}
with @samp{/} or @samp{.}. In the latter case, the modification time
of that file will be used.
-The following example will set the modification date to 00:00:00 UTC,
+The following example will set the modification date to 00:00:00,
January 1, 1970:
@smallexample
archive. This assumes, of course, that there is now free space, or
that you are now extracting into a different file system. (You could
also choose to suspend @command{tar}, remove unnecessary files from
-the file system, and then restart the same @command{tar} operation.
-In this case, @option{--starting-file} is not necessary.
-@xref{Incremental Dumps}, @xref{interactive}, and @ref{exclude}.)
+the file system, and then resume the same @command{tar} operation.
+In this case, @option{--starting-file} is not necessary.) See also
+@ref{interactive}, and @ref{exclude}.
@node Same Order
@unnumberedsubsubsec Same Order
The command also works using long option forms:
@smallexample
+@group
$ @kbd{(cd sourcedir; tar --create --file=- . ) \
| (cd targetdir; tar --extract --file=-)}
+@end group
@end smallexample
@noindent
or
@smallexample
-$ @kbd{tar --directory sourcedir --create --file=- . ) \
+@group
+$ @kbd{tar --directory sourcedir --create --file=- . \
| tar --directory targetdir --extract --file=-}
+@end group
@end smallexample
@noindent
Some users are enthusiastic about @code{Amanda} (The Advanced Maryland
Automatic Network Disk Archiver), a backup system developed by James
da Silva @file{jds@@cs.umd.edu} and available on many Unix systems.
-This is free software, and it is available from @uref{http://www.amanda.org}.
+This is free software, and it is available from @uref{http://www.amanda.org}.
@FIXME{
for an incremental dump. This is the default behavior. The purpose
of this option is to undo the effect of the @option{--no-check-device}
if it was given in @env{TAR_OPTIONS} environment variable
-(@pxref{TAR_OPTIONS}).
+(@pxref{TAR_OPTIONS}).
@end table
There is also another way to cope with changing device numbers. It is
--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
+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
$ @kbd{tar -c -f archive.tar -C / home}
@end smallexample
-@include getdate.texi
+@xref{Integrity}, for some of the security-related implications
+of using this option.
+
+@include parse-datetime.texi
@node Formats
@chapter Controlling the Archive Format
a wide variety of compression programs, namely: @command{gzip},
@command{bzip2}, @command{lzip}, @command{lzma}, @command{lzop},
@command{xz} and traditional @command{compress}. The latter is
-supported mostly for backward compatibility, and we recommend
+supported mostly for backward compatibility, and we recommend
against using it, because it is by far less effective than the other
compression programs@footnote{It also had patent problems in the past.}.
create a @command{gzip} compressed archive, @option{-j}
(@option{--bzip2}) to create a @command{bzip2} compressed archive,
@option{--lzip} to create an @asis{lzip} compressed archive,
-@option{-J} (@option{--xz}) to create an @asis{XZ} archive,
+@option{-J} (@option{--xz}) to create an @asis{XZ} archive,
@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.
$ @kbd{tar cfz archive.tar.gz .}
@end smallexample
-You can also let @GNUTAR{} select the compression program basing on
+You can also let @GNUTAR{} select the compression program based on
the suffix of the archive file name. This is done using
@option{--auto-compress} (@option{-a}) command line option. For
example, the following invocation will use @command{bzip2} for
@end smallexample
For a complete list of file name suffixes recognized by @GNUTAR{},
-@ref{auto-compress}.
+see @ref{auto-compress}.
Reading compressed archive is even simpler: you don't need to specify
any additional options as @GNUTAR{} recognizes its format
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).
+(@pxref{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
@option{--concatenate} (@option{-A}). Secondly, multi-volume
archives cannot be compressed.
-The following table summarizes compression options used by @GNUTAR{}.
+The following options allow to select a particular compressor program:
@table @option
-@anchor{auto-compress}
-@opindex auto-compress
-@item --auto-compress
-@itemx -a
-Select a compression program to use by the archive file name
-suffix. The following suffixes are recognized:
-
-@multitable @columnfractions 0.3 0.6
-@headitem Suffix @tab Compression program
-@item @samp{.gz} @tab @command{gzip}
-@item @samp{.tgz} @tab @command{gzip}
-@item @samp{.taz} @tab @command{gzip}
-@item @samp{.Z} @tab @command{compress}
-@item @samp{.taZ} @tab @command{compress}
-@item @samp{.bz2} @tab @command{bzip2}
-@item @samp{.tz2} @tab @command{bzip2}
-@item @samp{.tbz2} @tab @command{bzip2}
-@item @samp{.tbz} @tab @command{bzip2}
-@item @samp{.lz} @tab @command{lzip}
-@item @samp{.lzma} @tab @command{lzma}
-@item @samp{.tlz} @tab @command{lzma}
-@item @samp{.lzo} @tab @command{lzop}
-@item @samp{.xz} @tab @command{xz}
-@end multitable
-
@opindex gzip
@opindex ungzip
@item -z
@itemx --ungzip
Filter the archive through @command{gzip}.
-You can use @option{--gzip} and @option{--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 @command{tar} program to enforce the specified (or default) record
-size. The default compression parameters are used; if you need to
-override them, set @env{GZIP} environment variable, e.g.:
-
-@smallexample
-$ @kbd{GZIP=--best tar cfz archive.tar.gz subdir}
-@end smallexample
-
-@noindent
-Another way would be to avoid the @option{--gzip} (@option{--gunzip}, @option{--ungzip}, @option{-z}) option and run
-@command{gzip} explicitly:
-
-@smallexample
-$ @kbd{tar cf - subdir | gzip --best -c - > archive.tar.gz}
-@end smallexample
-
-@cindex corrupted archives
-About corrupted compressed archives: @command{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 @GNUTAR{}. 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!
-
-@opindex bzip2
+@opindex xz
@item -J
@itemx --xz
-Filter the archive through @code{xz}. Otherwise like
-@option{--gzip}.
+Filter the archive through @code{xz}.
@item -j
@itemx --bzip2
-Filter the archive through @code{bzip2}. Otherwise like @option{--gzip}.
+Filter the archive through @code{bzip2}.
@opindex lzip
@item --lzip
-Filter the archive through @command{lzip}. Otherwise like @option{--gzip}.
+Filter the archive through @command{lzip}.
@opindex lzma
@item --lzma
-Filter the archive through @command{lzma}. Otherwise like @option{--gzip}.
+Filter the archive through @command{lzma}.
@opindex lzop
@item --lzop
-Filter the archive through @command{lzop}. Otherwise like
-@option{--gzip}.
+Filter the archive through @command{lzop}.
@opindex compress
@opindex uncompress
@item -Z
@itemx --compress
@itemx --uncompress
-Filter the archive through @command{compress}. Otherwise like @option{--gzip}.
+Filter the archive through @command{compress}.
+@end table
+
+When any of these options is given, @GNUTAR{} searches the compressor
+binary in the current path and invokes it. The name of the compressor
+program is specified at compilation time using a corresponding
+@option{--with-@var{compname}} option to @command{configure}, e.g.
+@option{--with-bzip2} to select a specific @command{bzip2} binary.
+@xref{lbzip2}, for a detailed discussion.
+
+The output produced by @command{tar --help} shows the actual
+compressor names along with each of these options.
+
+You can use any of these options 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
+@command{tar} program to enforce the specified (or default) record
+size. The default compression parameters are used. Most compression
+programs allow to override these by setting a program-specific
+environment variable. For example, when using @command{gzip} you can
+use @env{GZIP} as in the example below:
+
+@smallexample
+$ @kbd{GZIP=--best tar cfz archive.tar.gz subdir}
+@end smallexample
+
+@noindent
+Another way would be to use the @option{-I} option instead (see
+below), e.g.:
+
+@smallexample
+$ @kbd{tar -cf archive.tar.gz -I 'gzip --best' subdir}
+@end smallexample
+
+@noindent
+Finally, the third, traditional, way to achieve the same result is to
+use pipe:
+
+@smallexample
+$ @kbd{tar cf - subdir | gzip --best -c - > archive.tar.gz}
+@end smallexample
+
+@cindex corrupted archives
+About corrupted compressed archives: compressed files have no
+redundancy, for maximum compression. The adaptive nature of the
+compression scheme means that the compression tables are implicitly
+spread all over the archive. If you lose a few blocks, the dynamic
+construction of the compression tables becomes unsynchronized, and there
+is little chance that you could recover later in the archive.
+
+Another compression options provide a better control over creating
+compressed archives. These are:
+
+@table @option
+@anchor{auto-compress}
+@opindex auto-compress
+@item --auto-compress
+@itemx -a
+Select a compression program to use by the archive file name
+suffix. The following suffixes are recognized:
+
+@multitable @columnfractions 0.3 0.6
+@headitem Suffix @tab Compression program
+@item @samp{.gz} @tab @command{gzip}
+@item @samp{.tgz} @tab @command{gzip}
+@item @samp{.taz} @tab @command{gzip}
+@item @samp{.Z} @tab @command{compress}
+@item @samp{.taZ} @tab @command{compress}
+@item @samp{.bz2} @tab @command{bzip2}
+@item @samp{.tz2} @tab @command{bzip2}
+@item @samp{.tbz2} @tab @command{bzip2}
+@item @samp{.tbz} @tab @command{bzip2}
+@item @samp{.lz} @tab @command{lzip}
+@item @samp{.lzma} @tab @command{lzma}
+@item @samp{.tlz} @tab @command{lzma}
+@item @samp{.lzo} @tab @command{lzop}
+@item @samp{.xz} @tab @command{xz}
+@end multitable
@opindex use-compress-program
@item --use-compress-program=@var{prog}
end up with less space on the tape.
@end ignore
+@menu
+* lbzip2:: Using lbzip2 with @GNUTAR{}.
+@end menu
+
+@node lbzip2
+@subsubsection Using lbzip2 with @GNUTAR{}.
+@cindex lbzip2
+@cindex Laszlo Ersek
+ @command{Lbzip2} is a multithreaded utility for handling
+@samp{bzip2} compression, written by Laszlo Ersek. It makes use of
+multiple processors to speed up its operation and in general works
+considerably faster than @command{bzip2}. For a detailed description
+of @command{lbzip2} see @uref{http://freshmeat.net/@/projects/@/lbzip2} and
+@uref{http://www.linuxinsight.com/@/lbzip2-parallel-bzip2-utility.html,
+lbzip2: parallel bzip2 utility}.
+
+ Recent versions of @command{lbzip2} are mostly command line compatible
+with @command{bzip2}, which makes it possible to automatically invoke
+it via the @option{--bzip2} @GNUTAR{} command line option. To do so,
+@GNUTAR{} must be configured with the @option{--with-bzip2} command
+line option, like this:
+
+@smallexample
+$ @kbd{./configure --with-bzip2=lbzip2 [@var{other-options}]}
+@end smallexample
+
+ Once configured and compiled this way, @command{tar --help} will show the
+following:
+
+@smallexample
+@group
+$ @kbd{tar --help | grep -- --bzip2}
+ -j, --bzip2 filter the archive through lbzip2
+@end group
+@end smallexample
+
+@noindent
+which means that running @command{tar --bzip2} will invoke @command{lbzip2}.
+
@node sparse
@subsection Archiving Sparse Files
@cindex Sparse Files
Normally, when @command{tar} archives a symbolic link, it writes a
block to the archive naming the target of the link. In that way, the
@command{tar} archive is a faithful record of the file system contents.
-@option{--dereference} (@option{-h}) is used with @option{--create} (@option{-c}), and causes
-@command{tar} to archive the files symbolic links point to, instead of
-the links themselves. When this option is used, when @command{tar}
-encounters a symbolic link, it will archive the linked-to file,
-instead of simply recording the presence of a symbolic link.
-
-The name under which the file is stored in the file system is not
-recorded in the archive. To record both the symbolic link name and
-the file name in the system, archive the file under both names. If
-all links were recorded automatically by @command{tar}, an extracted file
-might be linked to a file name that no longer exists in the file
-system.
-
-If a linked-to file is encountered again by @command{tar} while creating
-the same archive, an entire second copy of it will be stored. (This
-@emph{might} be considered a bug.)
+When @option{--dereference} (@option{-h}) is used with
+@option{--create} (@option{-c}), @command{tar} archives the files
+symbolic links point to, instead of
+the links themselves.
-So, for portable archives, do not archive symbolic links as such,
-and use @option{--dereference} (@option{-h}): many systems do not support
+When creating portable archives, use @option{--dereference}
+(@option{-h}): some systems do not support
symbolic links, and moreover, your distribution might be unusable if
it contains unresolved symbolic links.
+When reading from an archive, the @option{--dereference} (@option{-h})
+option causes @command{tar} to follow an already-existing symbolic
+link when @command{tar} writes or reads a file named in the archive.
+Ordinarily, @command{tar} does not follow such a link, though it may
+remove the link before writing a new file. @xref{Dealing with Old
+Files}.
+
+The @option{--dereference} option is unsafe if an untrusted user can
+modify directories while @command{tar} is running. @xref{Security}.
+
@node hard links
@subsection Hard Links
@cindex File names, using hard links
@cindex ustar archive format
Archive format defined by @acronym{POSIX}.1-1988 specification is called
@code{ustar}. Although it is more flexible than the V7 format, it
-still has many restrictions (@xref{Formats,ustar}, for the detailed
+still has many restrictions (@pxref{Formats,ustar}, for the detailed
description of @code{ustar} format). Along with V7 format,
@code{ustar} format is a good choice for archives intended to be read
with other implementations of @command{tar}.
additional data will be needed to restore it. If the original file
name was @file{@var{dir}/@var{name}}, then the condensed file will be
named @file{@var{dir}/@/GNUSparseFile.@var{n}/@/@var{name}}, where
-@var{n} is a decimal number@footnote{technically speaking, @var{n} is a
+@var{n} is a decimal number@footnote{Technically speaking, @var{n} is a
@dfn{process @acronym{ID}} of the @command{tar} process which created the
archive (@pxref{PAX keywords}).}.
@xopindex{tape-length, short description}
@item -L @var{num}
-@itemx --tape-length=@var{num}
-Change tape after writing @var{num} x 1024 bytes.
+@itemx --tape-length=@var{size}[@var{suf}]
+Change tape after writing @var{size} units of data. Unless @var{suf} is
+given, @var{size} is treated as kilobytes, i.e. @samp{@var{size} x
+1024} bytes. The following suffixes alter this behavior:
+
+@float Table, size-suffixes
+@caption{Size Suffixes}
+@multitable @columnfractions 0.2 0.3 0.3
+@headitem Suffix @tab Units @tab Byte Equivalent
+@item b @tab Blocks @tab @var{size} x 512
+@item B @tab Kilobytes @tab @var{size} x 1024
+@item c @tab Bytes @tab @var{size}
+@item G @tab Gigabytes @tab @var{size} x 1024^3
+@item K @tab Kilobytes @tab @var{size} x 1024
+@item k @tab Kilobytes @tab @var{size} x 1024
+@item M @tab Megabytes @tab @var{size} x 1024^2
+@item P @tab Petabytes @tab @var{size} x 1024^5
+@item T @tab Terabytes @tab @var{size} x 1024^4
+@item w @tab Words @tab @var{size} x 2
+@end multitable
+@end float
This option might be useful when your tape drivers do not properly
detect end of physical tapes. By being slightly conservative on the
@anchor{tape-length}
@table @option
@opindex tape-length
-@item --tape-length=@var{size}
-@itemx -L @var{size}
-Set maximum length of a volume. The @var{size} argument should then
-be the usable size of the tape in units of 1024 bytes. This option
-selects @option{--multi-volume} automatically. For example:
+@item --tape-length=@var{size}[@var{suf}]
+@itemx -L @var{size}[@var{suf}]
+Set maximum length of a volume. The @var{suf}, if given, specifies
+units in which @var{size} is expressed, e.g. @samp{2M} mean 2
+megabytes (@pxref{size-suffixes}, for a list of allowed size
+suffixes). Without @var{suf}, units of 1024 bytes (kilobyte) are
+assumed.
+
+This option selects @option{--multi-volume} automatically. For example:
@smallexample
$ @kbd{tar --create --tape-length=41943040 --file=/dev/tape @var{files}}
@end smallexample
+
+@noindent
+or, which is equivalent:
+
+@smallexample
+$ @kbd{tar --create --tape-length=4G --file=/dev/tape @var{files}}
+@end smallexample
@end table
@anchor{change volume prompt}
@option{--multi-volume} (@pxref{Using Multiple Tapes}), then the
volume label will have @samp{Volume @var{nnn}} appended to the name
you give, where @var{nnn} is the number of the volume of the archive.
-If you use the @option{--label=@var{volume-label}}) option when
+If you use the @option{--label=@var{volume-label}} option when
reading an archive, it checks to make sure the label on the tape
-matches the one you give. @xref{label}.
+matches the one you gave. @xref{label}.
When @command{tar} writes an archive to tape, it creates a single
tape file. If multiple archives are written to the same tape, one
@cindex Labeling an archive
@cindex Labels on the archive media
@cindex Labeling multi-volume archives
-@UNREVISED
@opindex label
To avoid problems caused by misplaced paper labels on the archive
-media, you can include a @dfn{label} entry---an archive member which
-contains the name of the archive---in the archive itself. Use the
+media, you can include a @dfn{label} entry --- an archive member which
+contains the name of the archive --- in the archive itself. Use the
@option{--label=@var{archive-label}} (@option{-V @var{archive-label}})
-option in conjunction with the @option{--create} operation to include
-a label entry in the archive as it is being created.
+option@footnote{Until version 1.10, that option was called
+@option{--volume}, but is not available under that name anymore.} in
+conjunction with the @option{--create} operation to include a label
+entry in the archive as it is being created.
@table @option
@item --label=@var{archive-label}
However, @option{--list} option will cause listing entire
contents of the archive, which may be undesirable (for example, if the
archive is stored on a tape). You can request checking only the volume
-by specifying @option{--test-label} option. This option reads only the
+label by specifying @option{--test-label} option. This option reads only the
first block of an archive, so it can be used with slow storage
devices. For example:
@end group
@end smallexample
- If @option{--test-label} is used with a single command line
-argument, @command{tar} compares the volume label with the
-argument. It exits with code 0 if the two strings match, and with code
-2 otherwise. In this case no output is displayed. For example:
+ If @option{--test-label} is used with one or more command line
+arguments, @command{tar} compares the volume label with each
+argument. It exits with code 0 if a match is found, and with code 1
+otherwise@footnote{Note that @GNUTAR{} versions up to 1.23 indicated
+mismatch with an exit code 2 and printed a spurious diagnostics on
+stderr.}. No output is displayed, unless you also used the
+@option{--verbose} option. For example:
@smallexample
@group
-$ @kbd{tar --test-label --file=iamanarchive 'iamalable'}
+$ @kbd{tar --test-label --file=iamanarchive 'iamalabel'}
@result{} 0
-$ @kbd{tar --test-label --file=iamanarchive 'iamalable' alabel}
+$ @kbd{tar --test-label --file=iamanarchive 'alabel'}
+@result{} 1
+@end group
+@end smallexample
+
+ When used with the @option{--verbose} option, @command{tar}
+prints the actual volume label (if any), and a verbose diagnostics in
+case of a mismatch:
+
+@smallexample
+@group
+$ @kbd{tar --test-label --verbose --file=iamanarchive 'iamalabel'}
+iamalabel
+@result{} 0
+$ @kbd{tar --test-label --verbose --file=iamanarchive 'alabel'}
+iamalabel
+tar: Archive label mismatch
@result{} 1
@end group
@end smallexample
creation time, it sounded logical to equally help the user taking care
of it when the archive is being read.
- The @option{--label} was once called @option{--volume}, but is not
-available under that name anymore.
-
You can also use @option{--label} to get a common information on
all tapes of a series. For having this information different in each
series created through a single script used on a regular basis, just
@end group
@end smallexample
- Also note that each label has its own date and time, which corresponds
-to when @GNUTAR{} initially attempted to write it,
+ Some more notes about volume labels:
+
+@itemize @bullet
+@item Each label has its own date and time, which corresponds
+to the time when @GNUTAR{} initially attempted to write it,
often soon after the operator launches @command{tar} or types the
-carriage return telling that the next tape is ready. Comparing date
-labels does give an idea of tape throughput only if the delays for
-rewinding tapes and the operator switching them were negligible, which
-is usually not the case.
+carriage return telling that the next tape is ready.
+
+@item Comparing date labels to get an idea of tape throughput is
+unreliable. It gives correct results only if the delays for rewinding
+tapes and the operator switching them were negligible, which is
+usually not the case.
+@end itemize
@node verify
@section Verifying Data as It is Stored
which can be removed from the center of a tape reel, or some other
changeable feature.
+@node Reliability and security
+@chapter Reliability and Security
+
+The @command{tar} command reads and writes files as any other
+application does, and is subject to the usual caveats about
+reliability and security. This section contains some commonsense
+advice on the topic.
+
+@menu
+* Reliability::
+* Security::
+@end menu
+
+@node Reliability
+@section Reliability
+
+Ideally, when @command{tar} is creating an archive, it reads from a
+file system that is not being modified, and encounters no errors or
+inconsistencies while reading and writing. If this is the case, the
+archive should faithfully reflect what was read. Similarly, when
+extracting from an archive, ideally @command{tar} ideally encounters
+no errors and the extracted files faithfully reflect what was in the
+archive.
+
+However, when reading or writing real-world file systems, several
+things can go wrong; these include permissions problems, corruption of
+data, and race conditions.
+
+@menu
+* Permissions problems::
+* Data corruption and repair::
+* Race conditions::
+@end menu
+
+@node Permissions problems
+@subsection Permissions Problems
+
+If @command{tar} encounters errors while reading or writing files, it
+normally reports an error and exits with nonzero status. The work it
+does may therefore be incomplete. For example, when creating an
+archive, if @command{tar} cannot read a file then it cannot copy the
+file into the archive.
+
+@node Data corruption and repair
+@subsection Data Corruption and Repair
+
+If an archive becomes corrupted by an I/O error, this may corrupt the
+data in an extracted file. Worse, it may corrupt the file's metadata,
+which may cause later parts of the archive to become misinterpreted.
+An tar-format archive contains a checksum that most likely will detect
+errors in the metadata, but it will not detect errors in the data.
+
+If data corruption is a concern, you can compute and check your own
+checksums of an archive by using other programs, such as
+@command{cksum}.
+
+When attempting to recover from a read error or data corruption in an
+archive, you may need to skip past the questionable data and read the
+rest of the archive. This requires some expertise in the archive
+format and in other software tools.
+
+@node Race conditions
+@subsection Race conditions
+
+If some other process is modifying the file system while @command{tar}
+is reading or writing files, the result may well be inconsistent due
+to race conditions. For example, if another process creates some
+files in a directory while @command{tar} is creating an archive
+containing the directory's files, @command{tar} may see some of the
+files but not others, or it may see a file that is in the process of
+being created. The resulting archive may not be a snapshot of the
+file system at any point in time. If an application such as a
+database system depends on an accurate snapshot, restoring from the
+@command{tar} archive of a live file system may therefore break that
+consistency and may break the application. The simplest way to avoid
+the consistency issues is to avoid making other changes to the file
+system while tar is reading it or writing it.
+
+When creating an archive, several options are available to avoid race
+conditions. Some hosts have a way of snapshotting a file system, or
+of temporarily suspending all changes to a file system, by (say)
+suspending the only virtual machine that can modify a file system; if
+you use these facilities and have @command{tar -c} read from a
+snapshot when creating an archive, you can avoid inconsistency
+problems. More drastically, before starting @command{tar} you could
+suspend or shut down all processes other than @command{tar} that have
+access to the file system, or you could unmount the file system and
+then mount it read-only.
+
+When extracting from an archive, one approach to avoid race conditions
+is to create a directory that no other process can write to, and
+extract into that.
+
+@node Security
+@section Security
+
+In some cases @command{tar} may be used in an adversarial situation,
+where an untrusted user is attempting to gain information about or
+modify otherwise-inaccessible files. Dealing with untrusted data
+(that is, data generated by an untrusted user) typically requires
+extra care, because even the smallest mistake in the use of
+@command{tar} is more likely to be exploited by an adversary than by a
+race condition.
+
+@menu
+* Privacy::
+* Integrity::
+* Live untrusted data::
+* Security rules of thumb::
+@end menu
+
+@node Privacy
+@subsection Privacy
+
+Standard privacy concerns apply when using @command{tar}. For
+example, suppose you are archiving your home directory into a file
+@file{/archive/myhome.tar}. Any secret information in your home
+directory, such as your SSH secret keys, are copied faithfully into
+the archive. Therefore, if your home directory contains any file that
+should not be read by some other user, the archive itself should be
+not be readable by that user. And even if the archive's data are
+inaccessible to untrusted users, its metadata (such as size or
+last-modified date) may reveal some information about your home
+directory; if the metadata are intended to be private, the archive's
+parent directory should also be inaccessible to untrusted users.
+
+One precaution is to create @file{/archive} so that it is not
+accessible to any user, unless that user also has permission to access
+all the files in your home directory.
+
+Similarly, when extracting from an archive, take care that the
+permissions of the extracted files are not more generous than what you
+want. Even if the archive itself is readable only to you, files
+extracted from it have their own permissions that may differ.
+
+@node Integrity
+@subsection Integrity
+
+When creating archives, take care that they are not writable by a
+untrusted user; otherwise, that user could modify the archive, and
+when you later extract from the archive you will get incorrect data.
+
+When @command{tar} extracts from an archive, by default it writes into
+files relative to the working directory. If the archive was generated
+by an untrusted user, that user therefore can write into any file
+under the working directory. If the working directory contains a
+symbolic link to another directory, the untrusted user can also write
+into any file under the referenced directory. When extracting from an
+untrusted archive, it is therefore good practice to create an empty
+directory and run @command{tar} in that directory.
+
+When extracting from two or more untrusted archives, each one should
+be extracted independently, into different empty directories.
+Otherwise, the first archive could create a symbolic link into an area
+outside the working directory, and the second one could follow the
+link and overwrite data that is not under the working directory. For
+example, when restoring from a series of incremental dumps, the
+archives should have been created by a trusted process, as otherwise
+the incremental restores might alter data outside the working
+directory.
+
+If you use the @option{--absolute-names} (@option{-P}) option when
+extracting, @command{tar} respects any file names in the archive, even
+file names that begin with @file{/} or contain @file{..}. As this
+lets the archive overwrite any file in your system that you can write,
+the @option{--absolute-names} (@option{-P}) option should be used only
+for trusted archives.
+
+Conversely, with the @option{--keep-old-files} (@option{-k}) option,
+@command{tar} refuses to replace existing files when extracting; and
+with the @option{--no-overwrite-dir} option, @command{tar} refuses to
+replace the permissions or ownership of already-existing directories.
+These options may help when extracting from untrusted archives.
+
+@node Live untrusted data
+@subsection Dealing with Live Untrusted Data
+
+Extra care is required when creating from or extracting into a file
+system that is accessible to untrusted users. For example, superusers
+who invoke @command{tar} must be wary about its actions being hijacked
+by an adversary who is reading or writing the file system at the same
+time that @command{tar} is operating.
+
+When creating an archive from a live file system, @command{tar} is
+vulnerable to denial-of-service attacks. For example, an adversarial
+user could create the illusion of an indefinitely-deep directory
+hierarchy @file{d/e/f/g/...} by creating directories one step ahead of
+@command{tar}, or the illusion of an indefinitely-long file by
+creating a sparse file but arranging for blocks to be allocated just
+before @command{tar} reads them. There is no easy way for
+@command{tar} to distinguish these scenarios from legitimate uses, so
+you may need to monitor @command{tar}, just as you'd need to monitor
+any other system service, to detect such attacks.
+
+While a superuser is extracting from an archive into a live file
+system, an untrusted user might replace a directory with a symbolic
+link, in hopes that @command{tar} will follow the symbolic link and
+extract data into files that the untrusted user does not have access
+to. Even if the archive was generated by the superuser, it may
+contain a file such as @file{d/etc/passwd} that the untrusted user
+earlier created in order to break in; if the untrusted user replaces
+the directory @file{d/etc} with a symbolic link to @file{/etc} while
+@command{tar} is running, @command{tar} will overwrite
+@file{/etc/passwd}. This attack can be prevented by extracting into a
+directory that is inaccessible to untrusted users.
+
+Similar attacks via symbolic links are also possible when creating an
+archive, if the untrusted user can modify an ancestor of a top-level
+argument of @command{tar}. For example, an untrusted user that can
+modify @file{/home/eve} can hijack a running instance of @samp{tar -cf
+- /home/eve/Documents/yesterday} by replacing
+@file{/home/eve/Documents} with a symbolic link to some other
+location. Attacks like these can be prevented by making sure that
+untrusted users cannot modify any files that are top-level arguments
+to @command{tar}, or any ancestor directories of these files.
+
+@node Security rules of thumb
+@subsection Security Rules of Thumb
+
+This section briefly summarizes rules of thumb for avoiding security
+pitfalls.
+
+@itemize @bullet
+
+@item
+Protect archives at least as much as you protect any of the files
+being archived.
+
+@item
+Extract from an untrusted archive only into an otherwise-empty
+directory. This directory and its parent should be accessible only to
+trusted users. For example:
+
+@example
+@group
+$ @kbd{chmod go-rwx .}
+$ @kbd{mkdir -m go-rwx dir}
+$ @kbd{cd dir}
+$ @kbd{tar -xvf /archives/got-it-off-the-net.tar.gz}
+@end group
+@end example
+
+As a corollary, do not do an incremental restore from an untrusted archive.
+
+@item
+Do not let untrusted users access files extracted from untrusted
+archives without checking first for problems such as setuid programs.
+
+@item
+Do not let untrusted users modify directories that are ancestors of
+top-level arguments of @command{tar}. For example, while you are
+executing @samp{tar -cf /archive/u-home.tar /u/home}, do not let an
+untrusted user modify @file{/}, @file{/archive}, or @file{/u}.
+
+@item
+Pay attention to the diagnostics and exit status of @command{tar}.
+
+@item
+When archiving live file systems, monitor running instances of
+@command{tar} to detect denial-of-service attacks.
+
+@item
+Avoid unusual options such as @option{--absolute-names} (@option{-P}),
+@option{--dereference} (@option{-h}), @option{--overwrite},
+@option{--recursive-unlink}, and @option{--remove-files} unless you
+understand their security implications.
+
+@end itemize
+
@node Changes
@appendix Changes
@appendix Free Software Needs Free Documentation
@include freemanuals.texi
-@node Copying This Manual
-@appendix Copying This Manual
-
-@menu
-* GNU Free Documentation License:: License for copying this manual
-@end menu
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
@include fdl.texi
This appendix contains an index of all @GNUTAR{} long command line
options. The options are listed without the preceding double-dash.
-For a cross-reference of short command line options, @ref{Short Option Summary}.
+For a cross-reference of short command line options, see
+@ref{Short Option Summary}.
@printindex op
@end ifclear
@xopindex{\option\, summary}
@end macro
-
-
-@set UPDATED 9 March 2010
-@set UPDATED-MONTH March 2010
-@set EDITION 1.23
-@set VERSION 1.23
+@set UPDATED 24 October 2010
+@set UPDATED-MONTH October 2010
+@set EDITION 1.24
+@set VERSION 1.24
+# -*- buffer-read-only: t -*- vi: set ro:
+# DO NOT EDIT! GENERATED AUTOMATICALLY!
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile canonicalize closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown localcharset mkdtemp modechange obstack priv-set progname quote quotearg rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul timespec unlinkdir unlocked-io utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail fdopendir fdutimensat fileblocks fnmatch-gnu fseeko full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat rpmatch safe-read savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
## end gnulib module alloca-opt
-## begin gnulib module areadlink-with-size
+## begin gnulib module areadlink
-libgnu_a_SOURCES += areadlink-with-size.c
+libgnu_a_SOURCES += areadlink.c
EXTRA_DIST += areadlink.h
-## end gnulib module areadlink-with-size
+## end gnulib module areadlink
+
+## begin gnulib module areadlinkat
+
+libgnu_a_SOURCES += areadlinkat.c
+
+EXTRA_DIST += areadlink.h
+
+## end gnulib module areadlinkat
## begin gnulib module arg-nonnull
## end gnulib module c-ctype
-## begin gnulib module canonicalize
+## begin gnulib module canonicalize-lgpl
-EXTRA_DIST += canonicalize.c canonicalize.h
+EXTRA_DIST += canonicalize-lgpl.c
-EXTRA_libgnu_a_SOURCES += canonicalize.c
+EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c
-## end gnulib module canonicalize
+## end gnulib module canonicalize-lgpl
## begin gnulib module chdir-long
## end gnulib module chown
+## begin gnulib module cloexec
+
+
+EXTRA_DIST += cloexec.c cloexec.h
+
+EXTRA_libgnu_a_SOURCES += cloexec.c
+
+## end gnulib module cloexec
+
## begin gnulib module close
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
-e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \
-e 's|@''GNULIB_FDOPENDIR''@|$(GNULIB_FDOPENDIR)|g' \
-e 's|@''GNULIB_SCANDIR''@|$(GNULIB_SCANDIR)|g' \
-e 's|@''GNULIB_ALPHASORT''@|$(GNULIB_ALPHASORT)|g' \
-e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
-e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
-e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
-e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
-e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
-e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
-e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
-e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
-e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
-e 's|@''GNULIB_FCNTL''@|$(GNULIB_FCNTL)|g' \
-e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \
## end gnulib module fdopendir
-## begin gnulib module file-set
+## begin gnulib module fdutimensat
-libgnu_a_SOURCES += file-set.c
+libgnu_a_SOURCES += fdutimensat.c
-EXTRA_DIST += file-set.h
+EXTRA_DIST += utimens.h
-## end gnulib module file-set
+## end gnulib module fdutimensat
## begin gnulib module fileblocks
## end gnulib module fileblocks
+## begin gnulib module filenamecat-lgpl
+
+
+EXTRA_DIST += filenamecat-lgpl.c filenamecat.h
+
+EXTRA_libgnu_a_SOURCES += filenamecat-lgpl.c
+
+## end gnulib module filenamecat-lgpl
+
## begin gnulib module float
BUILT_SOURCES += $(FLOAT_H)
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
< $(srcdir)/float.in.h; \
} > $@-t && \
## end gnulib module fseeko
-## begin gnulib module ftruncate
+## begin gnulib module full-write
+libgnu_a_SOURCES += full-write.h full-write.c
-EXTRA_DIST += ftruncate.c
+## end gnulib module full-write
-EXTRA_libgnu_a_SOURCES += ftruncate.c
+## begin gnulib module futimens
-## end gnulib module ftruncate
-## begin gnulib module full-write
+EXTRA_DIST += futimens.c
-libgnu_a_SOURCES += full-write.h full-write.c
+EXTRA_libgnu_a_SOURCES += futimens.c
-## end gnulib module full-write
+## end gnulib module futimens
## begin gnulib module getcwd
## end gnulib module getcwd
-## begin gnulib module getdate
-
-libgnu_a_SOURCES += getdate.y
-BUILT_SOURCES += getdate.c
-MAINTAINERCLEANFILES += getdate.c
-EXTRA_DIST += getdate.c
-
-EXTRA_DIST += getdate.h
-
-## end gnulib module getdate
-
## begin gnulib module getdelim
sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
< $(srcdir)/getopt.in.h; \
# This option has no effect when the user disables NLS (because then the intl
# directory contains no libintl.h file) or when the project does not use
# "gettextize --intl".
-#AM_CPPFLAGS += -I$(top_builddir)/intl
+AM_CPPFLAGS += -I$(top_builddir)/intl
EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
## end gnulib module hash
-## begin gnulib module hash-pjw
-
-libgnu_a_SOURCES += hash-pjw.h hash-pjw.c
-
-## end gnulib module hash-pjw
-
-## begin gnulib module hash-triple
-
-libgnu_a_SOURCES += hash-triple.c
-
-EXTRA_DIST += hash-triple.h
-
-## end gnulib module hash-triple
-
## begin gnulib module havelib
## begin gnulib module inttostr
+libgnu_a_SOURCES += \
+ imaxtostr.c \
+ inttostr.c \
+ offtostr.c \
+ uinttostr.c \
+ umaxtostr.c
-EXTRA_DIST += imaxtostr.c inttostr.c inttostr.h offtostr.c uinttostr.c umaxtostr.c
+EXTRA_DIST += anytostr.c inttostr.h
-EXTRA_libgnu_a_SOURCES += imaxtostr.c inttostr.c offtostr.c uinttostr.c umaxtostr.c
+EXTRA_libgnu_a_SOURCES += anytostr.c
## end gnulib module inttostr
sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
-e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \
-e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
-e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
-e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
-e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
## end gnulib module lchown
+## begin gnulib module link
+
+
+EXTRA_DIST += link.c
+
+EXTRA_libgnu_a_SOURCES += link.c
+
+## end gnulib module link
+
+## begin gnulib module linkat
+
+
+EXTRA_DIST += at-func2.c linkat.c
+
+EXTRA_libgnu_a_SOURCES += at-func2.c linkat.c
+
+## end gnulib module linkat
+
## begin gnulib module localcharset
libgnu_a_SOURCES += localcharset.h localcharset.c
## end gnulib module lstat
-## begin gnulib module malloc
+## begin gnulib module malloc-gnu
EXTRA_DIST += malloc.c
EXTRA_libgnu_a_SOURCES += malloc.c
-## end gnulib module malloc
+## end gnulib module malloc-gnu
## begin gnulib module malloc-posix
## end gnulib module mkdtemp
+## begin gnulib module mkfifo
+
+
+EXTRA_DIST += mkfifo.c
+
+EXTRA_libgnu_a_SOURCES += mkfifo.c
+
+## end gnulib module mkfifo
+
+## begin gnulib module mkfifoat
+
+
+EXTRA_DIST += mkfifoat.c mknodat.c
+
+EXTRA_libgnu_a_SOURCES += mkfifoat.c mknodat.c
+
+## end gnulib module mkfifoat
+
+## begin gnulib module mknod
+
+
+EXTRA_DIST += mknod.c
+
+EXTRA_libgnu_a_SOURCES += mknod.c
+
+## end gnulib module mknod
+
## begin gnulib module mktime
## end gnulib module openat-die
+## begin gnulib module parse-datetime
+
+# This rule overrides the Automake generated .y.c rule, to ensure that the
+# parse-datetime.c file gets generated in the source directory, not in the
+# build directory.
+parse-datetime.c: parse-datetime.y
+ $(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \
+ y.tab.c parse-datetime.c \
+ y.tab.h parse-datetime.h \
+ y.output parse-datetime.output \
+ -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \
+ mv parse-datetime.c parse-datetime.c-t && \
+ mv parse-datetime.c-t $(srcdir)/parse-datetime.c
+libgnu_a_SOURCES += parse-datetime.y
+BUILT_SOURCES += parse-datetime.c
+MOSTLYCLEANFILES += parse-datetime.c-t
+MAINTAINERCLEANFILES += parse-datetime.c
+EXTRA_DIST += parse-datetime.c
+
+EXTRA_DIST += parse-datetime.h
+
+## end gnulib module parse-datetime
+
## begin gnulib module pathmax
## end gnulib module readlink
+## begin gnulib module readlinkat
+
+
+EXTRA_DIST += readlinkat.c
+
+EXTRA_libgnu_a_SOURCES += readlinkat.c
+
+## end gnulib module readlinkat
+
## begin gnulib module realloc-posix
## end gnulib module regex
+## begin gnulib module rename
+
+
+EXTRA_DIST += rename.c
+
+EXTRA_libgnu_a_SOURCES += rename.c
+
+## end gnulib module rename
+
+## begin gnulib module renameat
+
+
+EXTRA_DIST += at-func2.c renameat.c
+
+EXTRA_libgnu_a_SOURCES += at-func2.c renameat.c
+
+## end gnulib module renameat
+
## begin gnulib module rmdir
## end gnulib module safe-write
-## begin gnulib module same
-
-
-EXTRA_DIST += same.c same.h
-
-EXTRA_libgnu_a_SOURCES += same.c
-
-## end gnulib module same
-
## begin gnulib module same-inode
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
< $(srcdir)/stdarg.in.h; \
} > $@-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
-e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
-e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
-e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \
-e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
-e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
-e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
+ -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \
-e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
-e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \
-e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
-e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
-e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
-e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
-e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
-e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's|@''GNULIB__EXIT''@|$(GNULIB__EXIT)|g' \
-e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
-e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
-e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
+ -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \
-e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \
-e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
-e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \
+ -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \
-e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
-e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
-e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
-e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
-e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
-e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
+ -e 's|@''GNULIB_SYSTEM_POSIX''@|$(GNULIB_SYSTEM_POSIX)|g' \
+ -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \
-e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
+ -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
- -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
-e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
- -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
- -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \
-e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
-e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
-e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
-e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
+ -e 's|@''GNULIB_STRNCAT''@|$(GNULIB_STRNCAT)|g' \
-e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
-e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
-e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
-e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
< $(srcdir)/string.in.h | \
sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
-e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
-e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
-e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
-e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
## end gnulib module strtoumax
+## begin gnulib module symlink
+
+
+EXTRA_DIST += symlink.c
+
+EXTRA_libgnu_a_SOURCES += symlink.c
+
+## end gnulib module symlink
+
+## begin gnulib module symlinkat
+
+
+EXTRA_DIST += symlinkat.c
+
+EXTRA_libgnu_a_SOURCES += symlinkat.c
+
+## end gnulib module symlinkat
+
## begin gnulib module sys_stat
BUILT_SOURCES += sys/stat.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \
-e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \
sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
-e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
-e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \
< $(srcdir)/sysexits.in.h; \
} > $@-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \
-e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \
-e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \
-e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \
+ -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \
+ -e 's|@''HAVE_LOCALTIME_R''@|$(HAVE_LOCALTIME_R)|g' \
+ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
- -e 's|@''REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
-e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
-e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
-e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
-e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
-e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \
-e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \
+ -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \
-e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \
-e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
-e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \
-e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \
+ -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \
-e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \
-e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
-e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
-e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
-e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
-e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
-e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
-e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
-e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_TTYNAME_R''@|$(HAVE_TTYNAME_R)|g' \
-e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
-e 's|@''HAVE_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_DUP''@|$(REPLACE_DUP)|g' \
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
-e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
-e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
-e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
-e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
-e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
## begin gnulib module unitypes
+BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
-EXTRA_DIST += unitypes.h
+unitypes.h: unitypes.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unitypes.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += unitypes.h unitypes.h-t
+
+EXTRA_DIST += unitypes.in.h
## end gnulib module unitypes
## begin gnulib module uniwidth/base
+BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H)
+
+uniwidth.h: uniwidth.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/uniwidth.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t
-EXTRA_DIST += localcharset.h uniwidth.h
+EXTRA_DIST += localcharset.h uniwidth.in.h
## end gnulib module uniwidth/base
## begin gnulib module uniwidth/width
+if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH
libgnu_a_SOURCES += uniwidth/width.c
+endif
EXTRA_DIST += uniwidth/cjk.h
## end gnulib module utimens
+## begin gnulib module utimensat
+
+
+EXTRA_DIST += utimensat.c
+
+EXTRA_libgnu_a_SOURCES += utimensat.c
+
+## end gnulib module utimensat
+
## begin gnulib module vasnprintf
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
+ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \
-e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
+ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \
-e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@SET_MAKE@
+# -*- buffer-read-only: t -*- vi: set ro:
+# DO NOT EDIT! GENERATED AUTOMATICALLY!
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
#
# This file is free software, distributed under the terms of the GNU
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile canonicalize closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown localcharset mkdtemp modechange obstack priv-set progname quote quotearg rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul timespec unlinkdir unlocked-io utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libgnu --source-base=gnu --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=lock --no-libtool --macro-prefix=gl alloca argmatch argp argp-version-etc backupfile closeout configmake dirname error exclude exitfail fdopendir fdutimensat fileblocks fnmatch-gnu fseeko full-write futimens getline getopt-gnu getpagesize gettext gettime gitlog-to-changelog hash human inttostr inttypes lchown linkat localcharset mkdtemp mkfifoat modechange obstack openat parse-datetime priv-set progname quote quotearg readlinkat renameat rpmatch safe-read savedir setenv snprintf stat-time stdbool stdint stpcpy strdup-posix strerror strtol strtoul symlinkat timespec unlinkdir unlocked-io utimensat version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax xvasprintf
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_1 = uniwidth/width.c
subdir = gnu
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in alloca.c getdate.c
+ $(srcdir)/Makefile.in alloca.c parse-datetime.c
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
am__v_at_0 = @
libgnu_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
+am__libgnu_a_SOURCES_DIST = areadlink.c areadlinkat.c argp.h argp-ba.c \
+ argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c \
+ argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c \
+ argp-pvh.c argp-xinl.c argp-version-etc.h argp-version-etc.c \
+ bitrotate.h c-ctype.h c-ctype.c close-hook.c exitfail.c \
+ fdutimensat.c full-write.h full-write.c gettext.h imaxtostr.c \
+ inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \
+ openat-die.c parse-datetime.y priv-set.c progname.h progname.c \
+ size_max.h strnlen1.h strnlen1.c uniwidth/width.c verify.h \
+ version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \
+ xsize.h xstrndup.h xstrndup.c xstrtoumax.c xvasprintf.h \
+ xvasprintf.c xasprintf.c
am__dirstamp = $(am__leading_dot)dirstamp
-am_libgnu_a_OBJECTS = areadlink-with-size.$(OBJEXT) argp-ba.$(OBJEXT) \
- argp-eexst.$(OBJEXT) argp-fmtstream.$(OBJEXT) \
- argp-fs-xinl.$(OBJEXT) argp-help.$(OBJEXT) \
- argp-parse.$(OBJEXT) argp-pin.$(OBJEXT) argp-pv.$(OBJEXT) \
- argp-pvh.$(OBJEXT) argp-xinl.$(OBJEXT) \
+@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT)
+am_libgnu_a_OBJECTS = areadlink.$(OBJEXT) areadlinkat.$(OBJEXT) \
+ argp-ba.$(OBJEXT) argp-eexst.$(OBJEXT) \
+ argp-fmtstream.$(OBJEXT) argp-fs-xinl.$(OBJEXT) \
+ argp-help.$(OBJEXT) argp-parse.$(OBJEXT) argp-pin.$(OBJEXT) \
+ argp-pv.$(OBJEXT) argp-pvh.$(OBJEXT) argp-xinl.$(OBJEXT) \
argp-version-etc.$(OBJEXT) c-ctype.$(OBJEXT) \
- close-hook.$(OBJEXT) exitfail.$(OBJEXT) file-set.$(OBJEXT) \
- full-write.$(OBJEXT) getdate.$(OBJEXT) hash-pjw.$(OBJEXT) \
- hash-triple.$(OBJEXT) localcharset.$(OBJEXT) malloca.$(OBJEXT) \
- mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) openat-die.$(OBJEXT) \
- priv-set.$(OBJEXT) progname.$(OBJEXT) strnlen1.$(OBJEXT) \
- uniwidth/width.$(OBJEXT) version-etc.$(OBJEXT) \
+ close-hook.$(OBJEXT) exitfail.$(OBJEXT) fdutimensat.$(OBJEXT) \
+ full-write.$(OBJEXT) imaxtostr.$(OBJEXT) inttostr.$(OBJEXT) \
+ offtostr.$(OBJEXT) uinttostr.$(OBJEXT) umaxtostr.$(OBJEXT) \
+ localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \
+ mbscasecmp.$(OBJEXT) openat-die.$(OBJEXT) \
+ parse-datetime.$(OBJEXT) priv-set.$(OBJEXT) progname.$(OBJEXT) \
+ strnlen1.$(OBJEXT) $(am__objects_1) version-etc.$(OBJEXT) \
version-etc-fsf.$(OBJEXT) xalloc-die.$(OBJEXT) \
xstrndup.$(OBJEXT) xstrtoumax.$(OBJEXT) xvasprintf.$(OBJEXT) \
xasprintf.$(OBJEXT)
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
-DIST_SOURCES = $(libgnu_a_SOURCES) $(EXTRA_libgnu_a_SOURCES)
+DIST_SOURCES = $(am__libgnu_a_SOURCES_DIST) $(EXTRA_libgnu_a_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
noinst_HEADERS =
noinst_LIBRARIES = libgnu.a
noinst_LTLIBRARIES =
-
-# This is for those projects which use "gettextize --intl" to put a source-code
-# copy of libintl into their package. In such projects, every Makefile.am needs
-# -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory.
-# For the Makefile.ams in other directories it is the maintainer's
-# responsibility; for the one from gnulib we do it here.
-# This option has no effect when the user disables NLS (because then the intl
-# directory contains no libintl.h file) or when the project does not use
-# "gettextize --intl".
-#AM_CPPFLAGS += -I$(top_builddir)/intl
-EXTRA_DIST = alloca.c alloca.in.h areadlink.h \
+EXTRA_DIST = alloca.c alloca.in.h areadlink.h areadlink.h \
$(top_srcdir)/build-aux/arg-nonnull.h argmatch.c argmatch.h \
backupfile.c backupfile.h btowc.c \
- $(top_srcdir)/build-aux/c++defs.h canonicalize.c \
- canonicalize.h chdir-long.c chdir-long.h chown.c fchown-stub.c \
- close.c close-hook.h close-stream.c close-stream.h closeout.c \
- closeout.h dirent.in.h dirent--.h dirent-safer.h \
+ $(top_srcdir)/build-aux/c++defs.h canonicalize-lgpl.c \
+ chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.c \
+ cloexec.h close.c close-hook.h close-stream.c close-stream.h \
+ closeout.c closeout.h dirent.in.h dirent--.h dirent-safer.h \
opendir-safer.c dirfd.c basename.c dirname.c stripslash.c \
basename-lgpl.c dirname-lgpl.c dirname.h stripslash.c dup2.c \
errno.in.h error.c error.h exclude.c exclude.h exitfail.h \
fchdir.c fclose.c fcntl.c fcntl.in.h fdopendir.c openat-priv.h \
- openat-proc.c file-set.h 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 getdtablesize.c getline.c getopt.c getopt.in.h \
- getopt1.c getopt_int.h getpagesize.c \
+ openat-proc.c utimens.h fileblocks.c filenamecat-lgpl.c \
+ filenamecat.h float.in.h fnmatch.c fnmatch.in.h fnmatch_loop.c \
+ fpending.c fpending.h fseeko.c stdio-impl.h futimens.c \
+ getcwd.c getdelim.c getdtablesize.c getline.c getopt.c \
+ getopt.in.h getopt1.c getopt_int.h getpagesize.c \
$(top_srcdir)/build-aux/config.rpath gettime.c gettimeofday.c \
$(top_srcdir)/build-aux/gitlog-to-changelog hash.c hash.h \
- hash-triple.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 langinfo.in.h \
- lchown.c config.charset ref-add.sin ref-del.sin lseek.c \
- lstat.c malloc.c malloc.c malloca.h malloca.valgrind mbchar.h \
- mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c \
- memchr.valgrind mempcpy.c memrchr.c mkdir.c mkdtemp.c \
- mktime-internal.h mktime.c modechange.c modechange.h \
- nl_langinfo.c obstack.c obstack.h open.c at-func.c fchmodat.c \
- fchownat.c fstatat.c mkdirat.c openat-priv.h openat-proc.c \
- openat.c openat.h unlinkat.c pathmax.h priv-set.h quote.c \
+ $(top_srcdir)/build-aux/config.rpath human.c human.h \
+ intprops.h anytostr.c inttostr.h inttypes.in.h langinfo.in.h \
+ lchown.c link.c at-func2.c linkat.c config.charset ref-add.sin \
+ ref-del.sin lseek.c lstat.c malloc.c malloc.c malloca.h \
+ malloca.valgrind mbchar.h mbrtowc.c mbsinit.c \
+ mbsrtowcs-state.c mbsrtowcs.c memchr.c memchr.valgrind \
+ mempcpy.c memrchr.c mkdir.c mkdtemp.c mkfifo.c mkfifoat.c \
+ mknodat.c mknod.c mktime-internal.h mktime.c modechange.c \
+ modechange.h nl_langinfo.c obstack.c obstack.h open.c \
+ at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c \
+ openat-priv.h openat-proc.c openat.c openat.h unlinkat.c \
+ parse-datetime.c parse-datetime.h pathmax.h priv-set.h quote.c \
quote.h quotearg.c quotearg.h rawmemchr.c rawmemchr.valgrind \
- readlink.c 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.c \
- same.h same-inode.h save-cwd.c save-cwd.h savedir.c savedir.h \
- setenv.c sleep.c snprintf.c stat.c stat-macros.h stat-time.h \
- stdarg.in.h stdbool.in.h stddef.in.h stdint.in.h stdio-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 \
- tempname.h time.in.h time_r.c timespec.h unistd.in.h \
- dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h \
- unitypes.h localcharset.h uniwidth.h uniwidth/cjk.h unlink.c \
- unlinkdir.c unlinkdir.h unlocked-io.h unsetenv.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 \
- asprintf.c vasprintf.c vsnprintf.c \
- $(top_srcdir)/build-aux/warn-on-use.h wchar.in.h wcrtomb.c \
- wctype.in.h wcwidth.c write.c xalloc.h xmalloc.c xgetcwd.c \
- xgetcwd.h xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c \
- xalloc.h
+ readlink.c readlinkat.c realloc.c regcomp.c regex.c regex.h \
+ regex_internal.c regex_internal.h regexec.c rename.c \
+ at-func2.c renameat.c rmdir.c rpmatch.c safe-read.c \
+ safe-read.h safe-write.c safe-write.h same-inode.h save-cwd.c \
+ save-cwd.h savedir.c savedir.h setenv.c sleep.c snprintf.c \
+ stat.c stat-macros.h stat-time.h stdarg.in.h stdbool.in.h \
+ stddef.in.h stdint.in.h stdio-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 symlink.c \
+ symlinkat.c sys_stat.in.h sys_time.in.h sysexits.in.h \
+ tempname.c tempname.h time.in.h time_r.c timespec.h \
+ unistd.in.h dup-safer.c fd-safer.c pipe-safer.c unistd--.h \
+ unistd-safer.h unitypes.in.h localcharset.h uniwidth.in.h \
+ uniwidth/cjk.h unlink.c unlinkdir.c unlinkdir.h unlocked-io.h \
+ unsetenv.c utimens.c utimens.h utimensat.c asnprintf.c \
+ float+.h printf-args.c printf-args.h printf-parse.c \
+ printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \
+ vasprintf.c vsnprintf.c $(top_srcdir)/build-aux/warn-on-use.h \
+ wchar.in.h wcrtomb.c wctype.in.h wcwidth.c write.c xalloc.h \
+ xmalloc.c xgetcwd.c xgetcwd.h xstrtol-error.c xstrtol.c \
+ xstrtol.h xstrtoul.c xalloc.h
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
# statements but through direct file reference. Therefore this snippet must be
# present in all Makefile.am that need it. This is ensured by the applicability
# 'all' defined above.
BUILT_SOURCES = $(ALLOCA_H) arg-nonnull.h c++defs.h configmake.h \
- dirent.h $(ERRNO_H) fcntl.h $(FLOAT_H) $(FNMATCH_H) getdate.c \
- $(GETOPT_H) inttypes.h langinfo.h $(STDARG_H) $(STDBOOL_H) \
- $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h strings.h \
- sys/stat.h sys/time.h $(SYSEXITS_H) time.h unistd.h \
+ dirent.h $(ERRNO_H) fcntl.h $(FLOAT_H) $(FNMATCH_H) \
+ $(GETOPT_H) inttypes.h langinfo.h parse-datetime.c $(STDARG_H) \
+ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h \
+ strings.h sys/stat.h sys/time.h $(SYSEXITS_H) time.h unistd.h \
+ $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) \
warn-on-use.h wchar.h wctype.h
SUFFIXES = .sed .sin
MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arg-nonnull.h \
arg-nonnull.h-t c++defs.h c++defs.h-t dirent.h dirent.h-t \
errno.h errno.h-t fcntl.h fcntl.h-t float.h float.h-t \
fnmatch.h fnmatch.h-t getopt.h getopt.h-t inttypes.h \
- inttypes.h-t langinfo.h langinfo.h-t stdarg.h stdarg.h-t \
- stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t \
- stdio.h stdio.h-t stdlib.h stdlib.h-t string.h string.h-t \
- strings.h strings.h-t sys/stat.h sys/stat.h-t sys/time.h \
- sys/time.h-t sysexits.h sysexits.h-t time.h time.h-t unistd.h \
- unistd.h-t warn-on-use.h warn-on-use.h-t wchar.h wchar.h-t \
- wctype.h wctype.h-t
+ inttypes.h-t langinfo.h langinfo.h-t parse-datetime.c-t \
+ stdarg.h stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t \
+ stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t \
+ string.h string.h-t strings.h strings.h-t sys/stat.h \
+ sys/stat.h-t sys/time.h sys/time.h-t sysexits.h sysexits.h-t \
+ time.h time.h-t unistd.h unistd.h-t unitypes.h unitypes.h-t \
+ uniwidth.h uniwidth.h-t warn-on-use.h warn-on-use.h-t wchar.h \
+ wchar.h-t wctype.h wctype.h-t
MOSTLYCLEANDIRS = sys
CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
ref-del.sed
DISTCLEANFILES =
-MAINTAINERCLEANFILES = getdate.c
-AM_CPPFLAGS =
+MAINTAINERCLEANFILES = parse-datetime.c
+
+# This is for those projects which use "gettextize --intl" to put a source-code
+# copy of libintl into their package. In such projects, every Makefile.am needs
+# -I$(top_builddir)/intl, so that <libintl.h> can be found in this directory.
+# For the Makefile.ams in other directories it is the maintainer's
+# responsibility; for the one from gnulib we do it here.
+# This option has no effect when the user disables NLS (because then the intl
+# directory contains no libintl.h file) or when the project does not use
+# "gettextize --intl".
+AM_CPPFLAGS = -I$(top_builddir)/intl
AM_CFLAGS =
-libgnu_a_SOURCES = areadlink-with-size.c argp.h argp-ba.c argp-eexst.c \
- argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c argp-help.c \
- argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c argp-pvh.c \
- argp-xinl.c argp-version-etc.h argp-version-etc.c bitrotate.h \
- c-ctype.h c-ctype.c close-hook.c exitfail.c file-set.c \
- full-write.h full-write.c getdate.y gettext.h hash-pjw.h \
- hash-pjw.c hash-triple.c localcharset.h localcharset.c \
- malloca.c mbchar.c mbscasecmp.c mbuiter.h openat-die.c \
- priv-set.c progname.h progname.c size_max.h strnlen1.h \
- strnlen1.c uniwidth/width.c verify.h version-etc.h \
- version-etc.c version-etc-fsf.c xalloc-die.c xsize.h \
- xstrndup.h xstrndup.c xstrtoumax.c xvasprintf.h xvasprintf.c \
- xasprintf.c
+libgnu_a_SOURCES = areadlink.c areadlinkat.c argp.h argp-ba.c \
+ argp-eexst.c argp-fmtstream.c argp-fmtstream.h argp-fs-xinl.c \
+ argp-help.c argp-namefrob.h argp-parse.c argp-pin.c argp-pv.c \
+ argp-pvh.c argp-xinl.c argp-version-etc.h argp-version-etc.c \
+ bitrotate.h c-ctype.h c-ctype.c close-hook.c exitfail.c \
+ fdutimensat.c full-write.h full-write.c gettext.h imaxtostr.c \
+ inttostr.c offtostr.c uinttostr.c umaxtostr.c localcharset.h \
+ localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \
+ openat-die.c parse-datetime.y priv-set.c progname.h progname.c \
+ size_max.h strnlen1.h strnlen1.c $(am__append_1) verify.h \
+ version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \
+ xsize.h xstrndup.h xstrndup.c xstrtoumax.c xvasprintf.h \
+ xvasprintf.c xasprintf.c
libgnu_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@
EXTRA_libgnu_a_SOURCES = alloca.c argmatch.c backupfile.c btowc.c \
- canonicalize.c chdir-long.c chown.c fchown-stub.c close.c \
- close-stream.c closeout.c opendir-safer.c dirfd.c basename.c \
- dirname.c stripslash.c basename-lgpl.c dirname-lgpl.c \
- stripslash.c dup2.c error.c exclude.c fchdir.c fclose.c \
- fcntl.c fdopendir.c openat-proc.c fileblocks.c fnmatch.c \
- fnmatch_loop.c fpending.c fseeko.c ftruncate.c getcwd.c \
- getdelim.c getdtablesize.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 mbrtowc.c mbsinit.c \
- mbsrtowcs-state.c mbsrtowcs.c memchr.c mempcpy.c memrchr.c \
- mkdir.c mkdtemp.c mktime.c modechange.c nl_langinfo.c \
+ canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c \
+ cloexec.c close.c close-stream.c closeout.c opendir-safer.c \
+ dirfd.c basename.c dirname.c stripslash.c basename-lgpl.c \
+ dirname-lgpl.c stripslash.c dup2.c error.c exclude.c fchdir.c \
+ fclose.c fcntl.c fdopendir.c openat-proc.c fileblocks.c \
+ filenamecat-lgpl.c fnmatch.c fnmatch_loop.c fpending.c \
+ fseeko.c futimens.c getcwd.c getdelim.c getdtablesize.c \
+ getline.c getopt.c getopt1.c getpagesize.c gettime.c \
+ gettimeofday.c hash.c human.c anytostr.c lchown.c link.c \
+ at-func2.c linkat.c lseek.c lstat.c malloc.c malloc.c \
+ mbrtowc.c mbsinit.c mbsrtowcs-state.c mbsrtowcs.c memchr.c \
+ mempcpy.c memrchr.c mkdir.c mkdtemp.c mkfifo.c mkfifoat.c \
+ mknodat.c mknod.c mktime.c modechange.c nl_langinfo.c \
obstack.c open.c at-func.c fchmodat.c fchownat.c fstatat.c \
mkdirat.c openat-proc.c openat.c unlinkat.c quote.c quotearg.c \
- rawmemchr.c readlink.c realloc.c regcomp.c regex.c \
- regex_internal.c regexec.c rmdir.c rpmatch.c safe-read.c \
- safe-write.c same.c save-cwd.c savedir.c setenv.c sleep.c \
- snprintf.c stat.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 \
+ rawmemchr.c readlink.c readlinkat.c realloc.c regcomp.c \
+ regex.c regex_internal.c regexec.c rename.c at-func2.c \
+ renameat.c rmdir.c rpmatch.c safe-read.c safe-write.c \
+ save-cwd.c savedir.c setenv.c sleep.c snprintf.c stat.c \
+ 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 symlink.c \
+ symlinkat.c tempname.c time_r.c dup-safer.c fd-safer.c \
pipe-safer.c unlink.c unlinkdir.c unsetenv.c utimens.c \
- asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
- asprintf.c vasprintf.c vsnprintf.c wcrtomb.c wcwidth.c write.c \
- xmalloc.c xgetcwd.c xstrtol-error.c xstrtol.c xstrtoul.c
+ utimensat.c asnprintf.c printf-args.c printf-parse.c \
+ vasnprintf.c asprintf.c vasprintf.c vsnprintf.c wcrtomb.c \
+ wcwidth.c write.c xmalloc.c xgetcwd.c xstrtol-error.c \
+ xstrtol.c xstrtoul.c
ARG_NONNULL_H = arg-nonnull.h
CXXDEFS_H = c++defs.h
charset_alias = $(DESTDIR)$(libdir)/charset.alias
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink-with-size.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anytostr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlinkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-ba.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argp-eexst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backupfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename-lgpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btowc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize.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)/cloexec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-hook.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopendir.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-set.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdutimensat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenamecat-lgpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/futimens.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-pjw.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-triple.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/human.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdirat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdtemp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfifo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkfifoat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mknod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mknodat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modechange.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nl_langinfo.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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir-safer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse-datetime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/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)/readlinkat.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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-write.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/same.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savedir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlinkat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimensat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Po@am__quote@
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
- -rm -f getdate.c
+ -rm -f parse-datetime.c
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
-e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \
-e 's|@''GNULIB_FDOPENDIR''@|$(GNULIB_FDOPENDIR)|g' \
-e 's|@''GNULIB_SCANDIR''@|$(GNULIB_SCANDIR)|g' \
-e 's|@''GNULIB_ALPHASORT''@|$(GNULIB_ALPHASORT)|g' \
-e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
-e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
-e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
-e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
-e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
-e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
-e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
-e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
-e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
-e 's|@''GNULIB_FCNTL''@|$(GNULIB_FCNTL)|g' \
-e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
< $(srcdir)/float.in.h; \
} > $@-t && \
sed -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
< $(srcdir)/getopt.in.h; \
sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
-e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
-e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
sed -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_LANGINFO_H''@|$(NEXT_LANGINFO_H)|g' \
-e 's|@''GNULIB_NL_LANGINFO''@|$(GNULIB_NL_LANGINFO)|g' \
-e 's|@''HAVE_LANGINFO_CODESET''@|$(HAVE_LANGINFO_CODESET)|g' \
+ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|$(HAVE_LANGINFO_T_FMT_AMPM)|g' \
-e 's|@''HAVE_LANGINFO_ERA''@|$(HAVE_LANGINFO_ERA)|g' \
+ -e 's|@''HAVE_LANGINFO_YESEXPR''@|$(HAVE_LANGINFO_YESEXPR)|g' \
-e 's|@''HAVE_NL_LANGINFO''@|$(HAVE_NL_LANGINFO)|g' \
-e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
mv t-$@ $@
+# This rule overrides the Automake generated .y.c rule, to ensure that the
+# parse-datetime.c file gets generated in the source directory, not in the
+# build directory.
+parse-datetime.c: parse-datetime.y
+ $(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \
+ y.tab.c parse-datetime.c \
+ y.tab.h parse-datetime.h \
+ y.output parse-datetime.output \
+ -- $(YACC) $(YFLAGS) $(AM_YFLAGS) && \
+ mv parse-datetime.c parse-datetime.c-t && \
+ mv parse-datetime.c-t $(srcdir)/parse-datetime.c
+
# We need the following in order to create <stdarg.h> when the system
# doesn't have one that works with the given compiler.
stdarg.h: stdarg.in.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
< $(srcdir)/stdarg.in.h; \
} > $@-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
-e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
-e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
-e 's|@''GNULIB_DPRINTF''@|$(GNULIB_DPRINTF)|g' \
-e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
-e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
-e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
+ -e 's|@''GNULIB_TMPFILE''@|$(GNULIB_TMPFILE)|g' \
-e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
-e 's|@''GNULIB_VDPRINTF''@|$(GNULIB_VDPRINTF)|g' \
-e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
-e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
-e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
-e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
-e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
-e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
-e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
-e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's|@''GNULIB__EXIT''@|$(GNULIB__EXIT)|g' \
-e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
-e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
-e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
+ -e 's|@''GNULIB_GRANTPT''@|$(GNULIB_GRANTPT)|g' \
-e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \
-e 's|@''GNULIB_MKOSTEMPS''@|$(GNULIB_MKOSTEMPS)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
-e 's|@''GNULIB_MKSTEMPS''@|$(GNULIB_MKSTEMPS)|g' \
+ -e 's|@''GNULIB_PTSNAME''@|$(GNULIB_PTSNAME)|g' \
-e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
-e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
-e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
-e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
-e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
-e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
+ -e 's|@''GNULIB_SYSTEM_POSIX''@|$(GNULIB_SYSTEM_POSIX)|g' \
+ -e 's|@''GNULIB_UNLOCKPT''@|$(GNULIB_UNLOCKPT)|g' \
-e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
+ -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
-e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
- -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
-e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
- -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
-e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
- -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
-e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
-e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
-e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \
-e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
-e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
-e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
-e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
-e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
-e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
+ -e 's|@''GNULIB_STRNCAT''@|$(GNULIB_STRNCAT)|g' \
-e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
-e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
-e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
-e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
< $(srcdir)/string.in.h | \
sed -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
-e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
-e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
-e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
-e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-e 's|@''GNULIB_FCHMODAT''@|$(GNULIB_FCHMODAT)|g' \
-e 's|@''GNULIB_FSTATAT''@|$(GNULIB_FSTATAT)|g' \
sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
-e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
-e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \
< $(srcdir)/sysexits.in.h; \
} > $@-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
-e 's|@''GNULIB_MKTIME''@|$(GNULIB_MKTIME)|g' \
-e 's|@''GNULIB_NANOSLEEP''@|$(GNULIB_NANOSLEEP)|g' \
-e 's|@''GNULIB_STRPTIME''@|$(GNULIB_STRPTIME)|g' \
-e 's|@''GNULIB_TIMEGM''@|$(GNULIB_TIMEGM)|g' \
+ -e 's|@''GNULIB_TIME_R''@|$(GNULIB_TIME_R)|g' \
+ -e 's|@''HAVE_LOCALTIME_R''@|$(HAVE_LOCALTIME_R)|g' \
+ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
-e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
-e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
- -e 's|@''REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
-e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
-e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
-e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
-e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
-e 's|@''GNULIB_PIPE2''@|$(GNULIB_PIPE2)|g' \
-e 's|@''GNULIB_PREAD''@|$(GNULIB_PREAD)|g' \
+ -e 's|@''GNULIB_PWRITE''@|$(GNULIB_PWRITE)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''GNULIB_READLINKAT''@|$(GNULIB_READLINKAT)|g' \
-e 's|@''GNULIB_RMDIR''@|$(GNULIB_RMDIR)|g' \
-e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
-e 's|@''GNULIB_SYMLINK''@|$(GNULIB_SYMLINK)|g' \
-e 's|@''GNULIB_SYMLINKAT''@|$(GNULIB_SYMLINKAT)|g' \
+ -e 's|@''GNULIB_TTYNAME_R''@|$(GNULIB_TTYNAME_R)|g' \
-e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \
-e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
-e 's|@''GNULIB_UNLINK''@|$(GNULIB_UNLINK)|g' \
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
-e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
-e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
-e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
-e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
-e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
-e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
-e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
-e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_TTYNAME_R''@|$(HAVE_TTYNAME_R)|g' \
-e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
-e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
-e 's|@''HAVE_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_DUP''@|$(REPLACE_DUP)|g' \
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
-e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
-e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
-e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
-e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
-e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
-e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
-e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
-e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
} > $@-t && \
mv $@-t $@
+
+unitypes.h: unitypes.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unitypes.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+
+uniwidth.h: uniwidth.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/uniwidth.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
# The warn-on-use.h that gets inserted into generated .h files is the same as
# build-aux/warn-on-use.h, except that it has the copyright header cut off.
warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
+ -e 's/@''HAVE_ISWBLANK''@/$(HAVE_ISWBLANK)/g' \
-e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
+ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \
-e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* anytostr.c -- convert integers to printable strings
+
+ Copyright (C) 2001, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert */
+
+#include <config.h>
+
+#include "inttostr.h"
+#include "verify.h"
+
+/* Convert I to a printable string in BUF, which must be at least
+ INT_BUFSIZE_BOUND (INTTYPE) bytes long. Return the address of the
+ printable string, which need not start at BUF. */
+
+char * __attribute_warn_unused_result__
+anytostr (inttype i, char *buf)
+{
+ verify (TYPE_SIGNED (inttype) == inttype_is_signed);
+ char *p = buf + INT_STRLEN_BOUND (inttype);
+ *p = 0;
+
+#if inttype_is_signed
+ if (i < 0)
+ {
+ do
+ *--p = '0' - i % 10;
+ while ((i /= 10) != 0);
+
+ *--p = '-';
+ }
+ else
+#endif
+ {
+ do
+ *--p = '0' + i % 10;
+ while ((i /= 10) != 0);
+ }
+
+ return p;
+}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* readlink wrapper to return the link name in malloc'd storage.
- Unlike xreadlink and xreadlink_with_size, don't ever call exit.
-
- Copyright (C) 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Jim Meyering <jim@meyering.net> */
-
-#include <config.h>
-
-#include "areadlink.h"
-
-#include <errno.h>
-#include <limits.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#ifndef SSIZE_MAX
-# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
-#endif
-
-/* SYMLINK_MAX is used only for an initial memory-allocation sanity
- check, so it's OK to guess too small on hosts where there is no
- arbitrary limit to symbolic link length. */
-#ifndef SYMLINK_MAX
-# define SYMLINK_MAX 1024
-#endif
-
-#define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX)
-
-/* Call readlink to get the symbolic link value of FILE.
- SIZE is a hint as to how long the link is expected to be;
- typically it is taken from st_size. It need not be correct.
- Return a pointer to that NUL-terminated string in malloc'd storage.
- If readlink fails, malloc fails, or if the link value is longer
- than SSIZE_MAX, return NULL (caller may use errno to diagnose). */
-
-char *
-areadlink_with_size (char const *file, size_t size)
-{
- /* Some buggy file systems report garbage in st_size. Defend
- against them by ignoring outlandish st_size values in the initial
- memory allocation. */
- size_t symlink_max = SYMLINK_MAX;
- size_t INITIAL_LIMIT_BOUND = 8 * 1024;
- size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND
- ? symlink_max + 1
- : INITIAL_LIMIT_BOUND);
-
- /* The initial buffer size for the link value. */
- size_t buf_size = size < initial_limit ? size + 1 : initial_limit;
-
- while (1)
- {
- ssize_t r;
- size_t link_length;
- char *buffer = malloc (buf_size);
-
- if (buffer == NULL)
- return NULL;
- r = readlink (file, buffer, buf_size);
- link_length = r;
-
- /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1
- with errno == ERANGE if the buffer is too small. */
- if (r < 0 && errno != ERANGE)
- {
- int saved_errno = errno;
- free (buffer);
- errno = saved_errno;
- return NULL;
- }
-
- if (link_length < buf_size)
- {
- buffer[link_length] = 0;
- return buffer;
- }
-
- free (buffer);
- if (buf_size <= MAXSIZE / 2)
- buf_size *= 2;
- else if (buf_size < MAXSIZE)
- buf_size = MAXSIZE;
- else
- {
- errno = ENOMEM;
- return NULL;
- }
- }
-}
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
+ Unlike xreadlink and xreadlink_with_size, don't ever call exit.
+
+ Copyright (C) 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Jim Meyering <jim@meyering.net>
+ and Bruno Haible <bruno@clisp.org>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "areadlink.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifndef SSIZE_MAX
+# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
+#endif
+
+/* Use the system functions, not the gnulib overrides in this file. */
+#undef malloc
+#undef realloc
+
+/* The initial buffer size for the link value. A power of 2
+ detects arithmetic overflow earlier, but is not required. */
+enum {
+ INITIAL_BUF_SIZE = 1024
+};
+
+/* Call readlink to get the symbolic link value of FILENAME.
+ Return a pointer to that NUL-terminated string in malloc'd storage.
+ If readlink fails, return NULL and set errno.
+ If realloc fails, or if the link value is longer than SIZE_MAX :-),
+ return NULL and set errno to ENOMEM. */
+
+char *
+areadlink (char const *filename)
+{
+ /* Allocate the initial buffer on the stack. This way, in the common
+ case of a symlink of small size, we get away with a single small malloc()
+ instead of a big malloc() followed by a shrinking realloc(). */
+ char initial_buf[INITIAL_BUF_SIZE];
+
+ char *buffer = initial_buf;
+ size_t buf_size = sizeof initial_buf;
+
+ while (1)
+ {
+ /* Attempt to read the link into the current buffer. */
+ ssize_t link_length = readlink (filename, buffer, buf_size);
+
+ /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1
+ with errno == ERANGE if the buffer is too small. */
+ if (link_length < 0 && errno != ERANGE)
+ {
+ if (buffer != initial_buf)
+ {
+ int saved_errno = errno;
+ free (buffer);
+ errno = saved_errno;
+ }
+ return NULL;
+ }
+
+ if ((size_t) link_length < buf_size)
+ {
+ buffer[link_length++] = '\0';
+
+ /* Return it in a chunk of memory as small as possible. */
+ if (buffer == initial_buf)
+ {
+ buffer = (char *) malloc (link_length);
+ if (buffer == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' gnulib module. */
+ errno = ENOMEM;
+ return NULL;
+ }
+ memcpy (buffer, initial_buf, link_length);
+ }
+ else
+ {
+ /* Shrink buffer before returning it. */
+ if ((size_t) link_length < buf_size)
+ {
+ char *smaller_buffer = (char *) realloc (buffer, link_length);
+
+ if (smaller_buffer != NULL)
+ buffer = smaller_buffer;
+ }
+ }
+ return buffer;
+ }
+
+ if (buffer != initial_buf)
+ free (buffer);
+ buf_size *= 2;
+ if (SSIZE_MAX < buf_size || (SIZE_MAX / 2 < SSIZE_MAX && buf_size == 0))
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
+ buffer = (char *) malloc (buf_size);
+ if (buffer == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' gnulib module. */
+ errno = ENOMEM;
+ return NULL;
+ }
+ }
+}
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* areadlinkat.c -- readlinkat wrapper to return malloc'd link name
+ Unlike xreadlinkat, only call exit on failure to change directory.
+
+ Copyright (C) 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Jim Meyering <jim@meyering.net>,
+ and Bruno Haible <bruno@clisp.org>,
+ and Eric Blake <ebb9@byu.net>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "areadlink.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifndef SSIZE_MAX
+# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
+#endif
+
+#if HAVE_READLINKAT
+
+/* The initial buffer size for the link value. A power of 2
+ detects arithmetic overflow earlier, but is not required. */
+enum {
+ INITIAL_BUF_SIZE = 1024
+};
+
+/* Call readlinkat to get the symbolic link value of FILENAME relative to FD.
+ Return a pointer to that NUL-terminated string in malloc'd storage.
+ If readlinkat fails, return NULL and set errno (although failure to
+ change directory will issue a diagnostic and exit).
+ If realloc fails, or if the link value is longer than SIZE_MAX :-),
+ return NULL and set errno to ENOMEM. */
+
+char *
+areadlinkat (int fd, char const *filename)
+{
+ /* Allocate the initial buffer on the stack. This way, in the common
+ case of a symlink of small size, we get away with a single small malloc()
+ instead of a big malloc() followed by a shrinking realloc(). */
+ char initial_buf[INITIAL_BUF_SIZE];
+
+ char *buffer = initial_buf;
+ size_t buf_size = sizeof initial_buf;
+
+ while (1)
+ {
+ /* Attempt to read the link into the current buffer. */
+ ssize_t link_length = readlinkat (fd, filename, buffer, buf_size);
+
+ /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1
+ with errno == ERANGE if the buffer is too small. */
+ if (link_length < 0 && errno != ERANGE)
+ {
+ if (buffer != initial_buf)
+ {
+ int saved_errno = errno;
+ free (buffer);
+ errno = saved_errno;
+ }
+ return NULL;
+ }
+
+ if ((size_t) link_length < buf_size)
+ {
+ buffer[link_length++] = '\0';
+
+ /* Return it in a chunk of memory as small as possible. */
+ if (buffer == initial_buf)
+ {
+ buffer = (char *) malloc (link_length);
+ if (buffer == NULL)
+ /* errno is ENOMEM. */
+ return NULL;
+ memcpy (buffer, initial_buf, link_length);
+ }
+ else
+ {
+ /* Shrink buffer before returning it. */
+ if ((size_t) link_length < buf_size)
+ {
+ char *smaller_buffer = (char *) realloc (buffer, link_length);
+
+ if (smaller_buffer != NULL)
+ buffer = smaller_buffer;
+ }
+ }
+ return buffer;
+ }
+
+ if (buffer != initial_buf)
+ free (buffer);
+ buf_size *= 2;
+ if (SSIZE_MAX < buf_size || (SIZE_MAX / 2 < SSIZE_MAX && buf_size == 0))
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
+ buffer = (char *) malloc (buf_size);
+ if (buffer == NULL)
+ /* errno is ENOMEM. */
+ return NULL;
+ }
+}
+
+#else /* !HAVE_READLINKAT */
+
+/* It is more efficient to change directories only once and call
+ areadlink, rather than repeatedly call the replacement
+ readlinkat. */
+
+# define AT_FUNC_NAME areadlinkat
+# define AT_FUNC_F1 areadlink
+# define AT_FUNC_POST_FILE_PARAM_DECLS /* empty */
+# define AT_FUNC_POST_FILE_ARGS /* empty */
+# define AT_FUNC_RESULT char *
+# define AT_FUNC_FAIL NULL
+# include "at-func.c"
+# undef AT_FUNC_NAME
+# undef AT_FUNC_F1
+# undef AT_FUNC_POST_FILE_PARAM_DECLS
+# undef AT_FUNC_POST_FILE_ARGS
+# undef AT_FUNC_RESULT
+# undef AT_FUNC_FAIL
+
+#endif /* !HAVE_READLINKAT */
else
/* Both entries are in clusters, we can just compare the clusters. */
return (rc = hol_cluster_cmp (entry1->cluster, entry2->cluster)) ?
- rc : HOL_ENTRY_PTRCMP(entry1, entry2);
+ rc : HOL_ENTRY_PTRCMP (entry1, entry2);
}
else if (group1 == group2)
/* The entries are both in the same cluster and group, so compare them
else if (!short1 && !short2 && long1 && long2)
/* Only long options. */
return (rc = __strcasecmp (long1, long2)) ?
- rc : HOL_ENTRY_PTRCMP(entry1, entry2);
+ rc : HOL_ENTRY_PTRCMP (entry1, entry2);
else
/* Compare short/short, long/short, short/long, using the first
character of long options. Entries without *any* valid
/* 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 :
- (rc = first2 - first1) ?
- rc : HOL_ENTRY_PTRCMP(entry1, entry2);
+ (rc = first2 - first1) ?
+ rc : HOL_ENTRY_PTRCMP (entry1, entry2);
}
}
else
/* Within the same cluster, but not the same group, so just compare
groups. */
- return group_cmp (group1, group2, HOL_ENTRY_PTRCMP(entry1, entry2));
+ return group_cmp (group1, group2, HOL_ENTRY_PTRCMP (entry1, entry2));
}
/* Version of hol_entry_cmp with correct signature for qsort. */
#if defined GNULIB_ARGP_DISABLE_DIRNAME
# define __argp_base_name(arg) arg
#elif defined GNULIB_ARGP_EXTERN_BASENAME
-extern char *__argp_base_name(const char *arg);
+extern char *__argp_base_name (const char *arg);
#else
# include "dirname.h"
# define __argp_base_name last_component
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Define an at-style functions like linkat or renameat.
+ Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 and Eric Blake */
+
+#include <config.h>
+
+#include "openat-priv.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
+#include "filenamecat.h"
+#include "openat.h"
+#include "same-inode.h"
+#include "save-cwd.h"
+
+/* Call FUNC to operate on a pair of files, where FILE1 is relative to FD1,
+ and FILE2 is relative to FD2. If possible, do it without changing the
+ working directory. Otherwise, resort to using save_cwd/fchdir,
+ FUNC, restore_cwd (up to two times). If either the save_cwd or the
+ restore_cwd fails, then give a diagnostic and exit nonzero. */
+int
+at_func2 (int fd1, char const *file1,
+ int fd2, char const *file2,
+ int (*func) (char const *file1, char const *file2))
+{
+ struct saved_cwd saved_cwd;
+ int saved_errno;
+ int err;
+ char *file1_alt;
+ char *file2_alt;
+ struct stat st1;
+ struct stat st2;
+
+ /* There are 16 possible scenarios, based on whether an fd is
+ AT_FDCWD or real, and whether a file is absolute or relative:
+
+ fd1 file1 fd2 file2 action
+ 0 cwd abs cwd abs direct call
+ 1 cwd abs cwd rel direct call
+ 2 cwd abs fd abs direct call
+ 3 cwd abs fd rel chdir to fd2
+ 4 cwd rel cwd abs direct call
+ 5 cwd rel cwd rel direct call
+ 6 cwd rel fd abs direct call
+ 7 cwd rel fd rel convert file1 to abs, then case 3
+ 8 fd abs cwd abs direct call
+ 9 fd abs cwd rel direct call
+ 10 fd abs fd abs direct call
+ 11 fd abs fd rel chdir to fd2
+ 12 fd rel cwd abs chdir to fd1
+ 13 fd rel cwd rel convert file2 to abs, then case 12
+ 14 fd rel fd abs chdir to fd1
+ 15a fd1 rel fd1 rel chdir to fd1
+ 15b fd1 rel fd2 rel chdir to fd1, then case 7
+
+ Try some optimizations to reduce fd to AT_FDCWD, or to at least
+ avoid converting an absolute name or doing a double chdir. */
+
+ if ((fd1 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file1))
+ && (fd2 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file2)))
+ return func (file1, file2); /* Case 0-2, 4-6, 8-10. */
+
+ /* If /proc/self/fd works, we don't need any stat or chdir. */
+ {
+ char proc_buf1[OPENAT_BUFFER_SIZE];
+ char *proc_file1 = ((fd1 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file1))
+ ? (char *) file1
+ : openat_proc_name (proc_buf1, fd1, file1));
+ if (proc_file1)
+ {
+ char proc_buf2[OPENAT_BUFFER_SIZE];
+ char *proc_file2 = ((fd2 == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file2))
+ ? (char *) file2
+ : openat_proc_name (proc_buf2, fd2, file2));
+ if (proc_file2)
+ {
+ int proc_result = func (proc_file1, proc_file2);
+ int proc_errno = errno;
+ if (proc_file1 != proc_buf1 && proc_file1 != file1)
+ free (proc_file1);
+ if (proc_file2 != proc_buf2 && proc_file2 != file2)
+ free (proc_file2);
+ /* If the syscall succeeds, or if it fails with an unexpected
+ errno value, then return right away. Otherwise, fall through
+ and resort to using save_cwd/restore_cwd. */
+ if (0 <= proc_result)
+ return proc_result;
+ if (! EXPECTED_ERRNO (proc_errno))
+ {
+ errno = proc_errno;
+ return proc_result;
+ }
+ }
+ else if (proc_file1 != proc_buf1 && proc_file1 != file1)
+ free (proc_file1);
+ }
+ }
+
+ /* Cases 3, 7, 11-15 remain. Time to normalize directory fds, if
+ possible. */
+ if (IS_ABSOLUTE_FILE_NAME (file1))
+ fd1 = AT_FDCWD; /* Case 11 reduced to 3. */
+ else if (IS_ABSOLUTE_FILE_NAME (file2))
+ fd2 = AT_FDCWD; /* Case 14 reduced to 12. */
+
+ /* Cases 3, 7, 12, 13, 15 remain. */
+
+ if (fd1 == AT_FDCWD) /* Cases 3, 7. */
+ {
+ if (stat (".", &st1) == -1 || fstat (fd2, &st2) == -1)
+ return -1;
+ if (!S_ISDIR (st2.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ if (SAME_INODE (st1, st2)) /* Reduced to cases 1, 5. */
+ return func (file1, file2);
+ }
+ else if (fd2 == AT_FDCWD) /* Cases 12, 13. */
+ {
+ if (stat (".", &st2) == -1 || fstat (fd1, &st1) == -1)
+ return -1;
+ if (!S_ISDIR (st1.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ if (SAME_INODE (st1, st2)) /* Reduced to cases 4, 5. */
+ return func (file1, file2);
+ }
+ else if (fd1 != fd2) /* Case 15b. */
+ {
+ if (fstat (fd1, &st1) == -1 || fstat (fd2, &st2) == -1)
+ return -1;
+ if (!S_ISDIR (st1.st_mode) || !S_ISDIR (st2.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ if (SAME_INODE (st1, st2)) /* Reduced to case 15a. */
+ {
+ fd2 = fd1;
+ if (stat (".", &st1) == 0 && SAME_INODE (st1, st2))
+ return func (file1, file2); /* Further reduced to case 5. */
+ }
+ }
+ else /* Case 15a. */
+ {
+ if (fstat (fd1, &st1) == -1)
+ return -1;
+ if (!S_ISDIR (st1.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ if (stat (".", &st2) == 0 && SAME_INODE (st1, st2))
+ return func (file1, file2); /* Reduced to case 5. */
+ }
+
+ /* Cases 3, 7, 12, 13, 15a, 15b remain. With all reductions in
+ place, it is time to start changing directories. */
+
+ if (save_cwd (&saved_cwd) != 0)
+ openat_save_fail (errno);
+
+ if (fd1 != AT_FDCWD && fd2 != AT_FDCWD && fd1 != fd2) /* Case 15b. */
+ {
+ if (fchdir (fd1) != 0)
+ {
+ saved_errno = errno;
+ free_cwd (&saved_cwd);
+ errno = saved_errno;
+ return -1;
+ }
+ fd1 = AT_FDCWD; /* Reduced to case 7. */
+ }
+
+ /* Cases 3, 7, 12, 13, 15a remain. Convert one relative name to
+ absolute, if necessary. */
+
+ file1_alt = (char *) file1;
+ file2_alt = (char *) file2;
+
+ if (fd1 == AT_FDCWD && !IS_ABSOLUTE_FILE_NAME (file1)) /* Case 7. */
+ {
+ /* It would be nicer to use:
+ file1_alt = file_name_concat (xgetcwd (), file1, NULL);
+ but libraries should not call xalloc_die. */
+ char *cwd = getcwd (NULL, 0);
+ if (!cwd)
+ {
+ saved_errno = errno;
+ free_cwd (&saved_cwd);
+ errno = saved_errno;
+ return -1;
+ }
+ file1_alt = mfile_name_concat (cwd, file1, NULL);
+ if (!file1_alt)
+ {
+ saved_errno = errno;
+ free (cwd);
+ free_cwd (&saved_cwd);
+ errno = saved_errno;
+ return -1;
+ }
+ free (cwd); /* Reduced to case 3. */
+ }
+ else if (fd2 == AT_FDCWD && !IS_ABSOLUTE_FILE_NAME (file2)) /* Case 13. */
+ {
+ char *cwd = getcwd (NULL, 0);
+ if (!cwd)
+ {
+ saved_errno = errno;
+ free_cwd (&saved_cwd);
+ errno = saved_errno;
+ return -1;
+ }
+ file2_alt = mfile_name_concat (cwd, file2, NULL);
+ if (!file2_alt)
+ {
+ saved_errno = errno;
+ free (cwd);
+ free_cwd (&saved_cwd);
+ errno = saved_errno;
+ return -1;
+ }
+ free (cwd); /* Reduced to case 12. */
+ }
+
+ /* Cases 3, 12, 15a remain. Change to the correct directory. */
+ if (fchdir (fd1 == AT_FDCWD ? fd2 : fd1) != 0)
+ {
+ saved_errno = errno;
+ free_cwd (&saved_cwd);
+ if (file1 != file1_alt)
+ free (file1_alt);
+ else if (file2 != file2_alt)
+ free (file2_alt);
+ errno = saved_errno;
+ return -1;
+ }
+
+ /* Finally safe to perform the user's function, then clean up. */
+
+ err = func (file1_alt, file2_alt);
+ saved_errno = (err < 0 ? errno : 0);
+
+ if (file1 != file1_alt)
+ free (file1_alt);
+ else if (file2 != file2_alt)
+ free (file2_alt);
+
+ if (restore_cwd (&saved_cwd) != 0)
+ openat_restore_fail (errno);
+
+ free_cwd (&saved_cwd);
+
+ if (saved_errno)
+ errno = saved_errno;
+ return err;
+}
+#undef CALL_FUNC
+#undef FUNC_RESULT
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert unibyte character to wide character.
- Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
#include <wchar.h>
#include <stdio.h>
+#include <stdlib.h>
wint_t
btowc (int c)
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Return the canonical absolute name of a given file.
+ Copyright (C) 1996-2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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/>. */
+
+#ifndef _LIBC
+# include <config.h>
+#endif
+
+#if !HAVE_CANONICALIZE_FILE_NAME || !FUNC_REALPATH_WORKS || defined _LIBC
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <alloca.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+#if HAVE_SYS_PARAM_H || defined _LIBC
+# include <sys/param.h>
+#endif
+#include <sys/stat.h>
+#include <errno.h>
+#include <stddef.h>
+
+#ifdef _LIBC
+# include <shlib-compat.h>
+#else
+# define SHLIB_COMPAT(lib, introduced, obsoleted) 0
+# define versioned_symbol(lib, local, symbol, version) extern int dummy
+# define compat_symbol(lib, local, symbol, version)
+# define weak_alias(local, symbol)
+# define __canonicalize_file_name canonicalize_file_name
+# define __realpath realpath
+# include "pathmax.h"
+# include "malloca.h"
+# if HAVE_GETCWD
+# if IN_RELOCWRAPPER
+ /* When building the relocatable program wrapper, use the system's getcwd
+ function, not the gnulib override, otherwise we would get a link error.
+ */
+# undef getcwd
+# endif
+# ifdef VMS
+ /* We want the directory in Unix syntax, not in VMS syntax. */
+# define __getcwd(buf, max) getcwd (buf, max, 0)
+# else
+# define __getcwd getcwd
+# endif
+# else
+# define __getcwd(buf, max) getwd (buf)
+# endif
+# define __readlink readlink
+# define __set_errno(e) errno = (e)
+/* Use the system functions, not the gnulib overrides in this file. */
+# undef malloc
+# ifndef MAXSYMLINKS
+# ifdef SYMLOOP_MAX
+# define MAXSYMLINKS SYMLOOP_MAX
+# else
+# define MAXSYMLINKS 20
+# endif
+# endif
+#endif
+
+#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+#endif
+
+#if !FUNC_REALPATH_WORKS || defined _LIBC
+/* Return the canonical absolute name of file NAME. A canonical name
+ does not contain any `.', `..' components nor any repeated path
+ separators ('/') or symlinks. All path components must exist. If
+ RESOLVED is null, the result is malloc'd; otherwise, if the
+ canonical name is PATH_MAX chars or more, returns null with `errno'
+ set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
+ returns the name in RESOLVED. If the name cannot be resolved and
+ RESOLVED is non-NULL, it contains the path of the first component
+ that cannot be resolved. If the path can be resolved, RESOLVED
+ holds the same value as the value returned. */
+
+char *
+__realpath (const char *name, char *resolved)
+{
+ char *rpath, *dest, *extra_buf = NULL;
+ const char *start, *end, *rpath_limit;
+ long int path_max;
+ int num_links = 0;
+
+ if (name == NULL)
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ either parameter is a null pointer. We extend this to allow
+ the RESOLVED parameter to be NULL in case the we are expected to
+ allocate the room for the return value. */
+ __set_errno (EINVAL);
+ return NULL;
+ }
+
+ if (name[0] == '\0')
+ {
+ /* As per Single Unix Specification V2 we must return an error if
+ the name argument points to an empty string. */
+ __set_errno (ENOENT);
+ return NULL;
+ }
+
+#ifdef PATH_MAX
+ path_max = PATH_MAX;
+#else
+ path_max = pathconf (name, _PC_PATH_MAX);
+ if (path_max <= 0)
+ path_max = 1024;
+#endif
+
+ if (resolved == NULL)
+ {
+ rpath = malloc (path_max);
+ if (rpath == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' gnulib module. */
+ errno = ENOMEM;
+ return NULL;
+ }
+ }
+ else
+ rpath = resolved;
+ rpath_limit = rpath + path_max;
+
+ if (name[0] != '/')
+ {
+ if (!__getcwd (rpath, path_max))
+ {
+ rpath[0] = '\0';
+ goto error;
+ }
+ dest = strchr (rpath, '\0');
+ }
+ else
+ {
+ rpath[0] = '/';
+ dest = rpath + 1;
+ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && name[1] == '/')
+ *dest++ = '/';
+ }
+
+ for (start = end = name; *start; start = end)
+ {
+#ifdef _LIBC
+ struct stat64 st;
+#else
+ struct stat st;
+#endif
+ int n;
+
+ /* Skip sequence of multiple path-separators. */
+ while (*start == '/')
+ ++start;
+
+ /* Find end of path component. */
+ for (end = start; *end && *end != '/'; ++end)
+ /* Nothing. */;
+
+ if (end - start == 0)
+ break;
+ else if (end - start == 1 && start[0] == '.')
+ /* nothing */;
+ else if (end - start == 2 && start[0] == '.' && start[1] == '.')
+ {
+ /* Back up to previous component, ignore if at root already. */
+ if (dest > rpath + 1)
+ while ((--dest)[-1] != '/');
+ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1
+ && *dest == '/')
+ dest++;
+ }
+ else
+ {
+ size_t new_size;
+
+ if (dest[-1] != '/')
+ *dest++ = '/';
+
+ if (dest + (end - start) >= rpath_limit)
+ {
+ ptrdiff_t dest_offset = dest - rpath;
+ char *new_rpath;
+
+ if (resolved)
+ {
+ __set_errno (ENAMETOOLONG);
+ if (dest > rpath + 1)
+ dest--;
+ *dest = '\0';
+ goto error;
+ }
+ new_size = rpath_limit - rpath;
+ if (end - start + 1 > path_max)
+ new_size += end - start + 1;
+ else
+ new_size += path_max;
+ new_rpath = (char *) realloc (rpath, new_size);
+ if (new_rpath == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'realloc-posix' gnulib module. */
+ errno = ENOMEM;
+ goto error;
+ }
+ rpath = new_rpath;
+ rpath_limit = rpath + new_size;
+
+ dest = rpath + dest_offset;
+ }
+
+#ifdef _LIBC
+ dest = __mempcpy (dest, start, end - start);
+#else
+ memcpy (dest, start, end - start);
+ dest += end - start;
+#endif
+ *dest = '\0';
+
+#ifdef _LIBC
+ if (__lxstat64 (_STAT_VER, rpath, &st) < 0)
+#else
+ if (lstat (rpath, &st) < 0)
+#endif
+ goto error;
+
+ if (S_ISLNK (st.st_mode))
+ {
+ char *buf;
+ size_t len;
+
+ if (++num_links > MAXSYMLINKS)
+ {
+ __set_errno (ELOOP);
+ goto error;
+ }
+
+ buf = malloca (path_max);
+ if (!buf)
+ {
+ errno = ENOMEM;
+ goto error;
+ }
+
+ n = __readlink (rpath, buf, path_max - 1);
+ if (n < 0)
+ {
+ int saved_errno = errno;
+ freea (buf);
+ errno = saved_errno;
+ goto error;
+ }
+ buf[n] = '\0';
+
+ if (!extra_buf)
+ {
+ extra_buf = malloca (path_max);
+ if (!extra_buf)
+ {
+ freea (buf);
+ errno = ENOMEM;
+ goto error;
+ }
+ }
+
+ len = strlen (end);
+ if ((long int) (n + len) >= path_max)
+ {
+ freea (buf);
+ __set_errno (ENAMETOOLONG);
+ goto error;
+ }
+
+ /* Careful here, end may be a pointer into extra_buf... */
+ memmove (&extra_buf[n], end, len + 1);
+ name = end = memcpy (extra_buf, buf, n);
+
+ if (buf[0] == '/')
+ {
+ dest = rpath + 1; /* It's an absolute symlink */
+ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && buf[1] == '/')
+ *dest++ = '/';
+ }
+ else
+ {
+ /* Back up to previous component, ignore if at root
+ already: */
+ if (dest > rpath + 1)
+ while ((--dest)[-1] != '/');
+ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1
+ && *dest == '/')
+ dest++;
+ }
+ }
+ else if (!S_ISDIR (st.st_mode) && *end != '\0')
+ {
+ __set_errno (ENOTDIR);
+ goto error;
+ }
+ }
+ }
+ if (dest > rpath + 1 && dest[-1] == '/')
+ --dest;
+ if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rpath + 1 && *dest == '/')
+ dest++;
+ *dest = '\0';
+
+ if (extra_buf)
+ freea (extra_buf);
+
+ return rpath;
+
+error:
+ {
+ int saved_errno = errno;
+ if (extra_buf)
+ freea (extra_buf);
+ if (resolved == NULL)
+ free (rpath);
+ errno = saved_errno;
+ }
+ return NULL;
+}
+versioned_symbol (libc, __realpath, realpath, GLIBC_2_3);
+#endif /* !FUNC_REALPATH_WORKS || defined _LIBC */
+
+
+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3)
+char *
+attribute_compat_text_section
+__old_realpath (const char *name, char *resolved)
+{
+ if (resolved == NULL)
+ {
+ __set_errno (EINVAL);
+ return NULL;
+ }
+
+ return __realpath (name, resolved);
+}
+compat_symbol (libc, __old_realpath, realpath, GLIBC_2_0);
+#endif
+
+
+char *
+__canonicalize_file_name (const char *name)
+{
+ return __realpath (name, NULL);
+}
+weak_alias (__canonicalize_file_name, canonicalize_file_name)
+
+#else
+
+/* This declaration is solely to ensure that after preprocessing
+ this file is never empty. */
+typedef int dummy;
+
+#endif
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Return the canonical absolute name of a given file.
- Copyright (C) 1996-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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>
-
-#include "canonicalize.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "areadlink.h"
-#include "file-set.h"
-#include "hash-triple.h"
-#include "pathmax.h"
-#include "xalloc.h"
-#include "xgetcwd.h"
-
-#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
-# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
-#endif
-
-#if !((HAVE_CANONICALIZE_FILE_NAME && FUNC_REALPATH_WORKS) \
- || GNULIB_CANONICALIZE_LGPL)
-/* Return the canonical absolute name of file NAME. A canonical name
- does not contain any `.', `..' components nor any repeated file name
- separators ('/') or symlinks. All components must exist.
- The result is malloc'd. */
-
-char *
-canonicalize_file_name (const char *name)
-{
- return canonicalize_filename_mode (name, CAN_EXISTING);
-}
-#endif /* !HAVE_CANONICALIZE_FILE_NAME */
-
-/* Return true if we've already seen the triple, <FILENAME, dev, ino>.
- If *HT is not initialized, initialize it. */
-static bool
-seen_triple (Hash_table **ht, char const *filename, struct stat const *st)
-{
- if (*ht == NULL)
- {
- size_t initial_capacity = 7;
- *ht = hash_initialize (initial_capacity,
- NULL,
- triple_hash,
- triple_compare_ino_str,
- triple_free);
- if (*ht == NULL)
- xalloc_die ();
- }
-
- if (seen_file (*ht, filename, st))
- return true;
-
- record_file (*ht, filename, st);
- return false;
-}
-
-/* Return the canonical absolute name of file NAME, while treating
- missing elements according to CAN_MODE. A canonical name
- does not contain any `.', `..' components nor any repeated file name
- separators ('/') or symlinks. Whether components must exist
- or not depends on canonicalize mode. The result is malloc'd. */
-
-char *
-canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode)
-{
- char *rname, *dest, *extra_buf = NULL;
- char const *start;
- char const *end;
- char const *rname_limit;
- size_t extra_len = 0;
- Hash_table *ht = NULL;
- int saved_errno;
-
- if (name == NULL)
- {
- errno = EINVAL;
- return NULL;
- }
-
- if (name[0] == '\0')
- {
- errno = ENOENT;
- return NULL;
- }
-
- if (name[0] != '/')
- {
- rname = xgetcwd ();
- if (!rname)
- return NULL;
- dest = strchr (rname, '\0');
- if (dest - rname < PATH_MAX)
- {
- char *p = xrealloc (rname, PATH_MAX);
- dest = p + (dest - rname);
- rname = p;
- rname_limit = rname + PATH_MAX;
- }
- else
- {
- rname_limit = dest;
- }
- }
- else
- {
- rname = xmalloc (PATH_MAX);
- rname_limit = rname + PATH_MAX;
- rname[0] = '/';
- dest = rname + 1;
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && name[1] == '/')
- *dest++ = '/';
- }
-
- for (start = name; *start; start = end)
- {
- /* Skip sequence of multiple file name separators. */
- while (*start == '/')
- ++start;
-
- /* Find end of component. */
- for (end = start; *end && *end != '/'; ++end)
- /* Nothing. */;
-
- if (end - start == 0)
- break;
- else if (end - start == 1 && start[0] == '.')
- /* nothing */;
- else if (end - start == 2 && start[0] == '.' && start[1] == '.')
- {
- /* Back up to previous component, ignore if at root already. */
- if (dest > rname + 1)
- while ((--dest)[-1] != '/');
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1
- && *dest == '/')
- dest++;
- }
- else
- {
- struct stat st;
-
- if (dest[-1] != '/')
- *dest++ = '/';
-
- if (dest + (end - start) >= rname_limit)
- {
- ptrdiff_t dest_offset = dest - rname;
- size_t new_size = rname_limit - rname;
-
- if (end - start + 1 > PATH_MAX)
- new_size += end - start + 1;
- else
- new_size += PATH_MAX;
- rname = xrealloc (rname, new_size);
- rname_limit = rname + new_size;
-
- dest = rname + dest_offset;
- }
-
- dest = memcpy (dest, start, end - start);
- dest += end - start;
- *dest = '\0';
-
- if (lstat (rname, &st) != 0)
- {
- saved_errno = errno;
- if (can_mode == CAN_EXISTING)
- goto error;
- if (can_mode == CAN_ALL_BUT_LAST)
- {
- if (end[strspn (end, "/")] || saved_errno != ENOENT)
- goto error;
- continue;
- }
- st.st_mode = 0;
- }
-
- if (S_ISLNK (st.st_mode))
- {
- char *buf;
- size_t n, len;
-
- /* Detect loops. We cannot use the cycle-check module here,
- since it's actually possible to encounter the same symlink
- more than once in a given traversal. However, encountering
- the same symlink,NAME pair twice does indicate a loop. */
- if (seen_triple (&ht, name, &st))
- {
- if (can_mode == CAN_MISSING)
- continue;
- saved_errno = ELOOP;
- goto error;
- }
-
- buf = areadlink_with_size (rname, st.st_size);
- if (!buf)
- {
- if (can_mode == CAN_MISSING && errno != ENOMEM)
- continue;
- saved_errno = errno;
- goto error;
- }
-
- n = strlen (buf);
- len = strlen (end);
-
- if (!extra_len)
- {
- extra_len =
- ((n + len + 1) > PATH_MAX) ? (n + len + 1) : PATH_MAX;
- extra_buf = xmalloc (extra_len);
- }
- else if ((n + len + 1) > extra_len)
- {
- extra_len = n + len + 1;
- extra_buf = xrealloc (extra_buf, extra_len);
- }
-
- /* Careful here, end may be a pointer into extra_buf... */
- memmove (&extra_buf[n], end, len + 1);
- name = end = memcpy (extra_buf, buf, n);
-
- if (buf[0] == '/')
- {
- dest = rname + 1; /* It's an absolute symlink */
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && buf[1] == '/')
- *dest++ = '/';
- }
- else
- {
- /* Back up to previous component, ignore if at root
- already: */
- if (dest > rname + 1)
- while ((--dest)[-1] != '/');
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1
- && *dest == '/')
- dest++;
- }
-
- free (buf);
- }
- else
- {
- if (!S_ISDIR (st.st_mode) && *end && (can_mode != CAN_MISSING))
- {
- saved_errno = ENOTDIR;
- goto error;
- }
- }
- }
- }
- if (dest > rname + 1 && dest[-1] == '/')
- --dest;
- if (DOUBLE_SLASH_IS_DISTINCT_ROOT && dest == rname + 1 && *dest == '/')
- dest++;
- *dest = '\0';
- if (rname_limit != dest + 1)
- rname = xrealloc (rname, dest - rname + 1);
-
- free (extra_buf);
- if (ht)
- hash_free (ht);
- return rname;
-
-error:
- free (extra_buf);
- free (rname);
- if (ht)
- hash_free (ht);
- errno = saved_errno;
- return NULL;
-}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Return the canonical absolute name of a given file.
- Copyright (C) 1996-2007, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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/>. */
-
-#ifndef CANONICALIZE_H_
-# define CANONICALIZE_H_
-
-#include <stdlib.h> /* for canonicalize_file_name */
-
-enum canonicalize_mode_t
- {
- /* All components must exist. */
- CAN_EXISTING = 0,
-
- /* All components excluding last one must exist. */
- CAN_ALL_BUT_LAST = 1,
-
- /* No requirements on components existence. */
- CAN_MISSING = 2
- };
-typedef enum canonicalize_mode_t canonicalize_mode_t;
-
-/* Return a malloc'd string containing the canonical absolute name of
- the named file. This acts like canonicalize_file_name, except that
- whether components must exist depends on the canonicalize_mode_t
- argument. */
-char *canonicalize_filename_mode (const char *, canonicalize_mode_t);
-
-#endif /* !CANONICALIZE_H_ */
cdb_advance_fd (struct cd_buf *cdb, char const *dir)
{
int new_fd = openat (cdb->fd, dir,
- O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK);
+ O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK);
if (new_fd < 0)
return -1;
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* closexec.c - set or clear the close-on-exec descriptor flag
+
+ Copyright (C) 1991, 2004-2006, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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/>.
+
+ The code is taken from glibc/manual/llio.texi */
+
+#include <config.h>
+
+#include "cloexec.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+/* Set the `FD_CLOEXEC' flag of DESC if VALUE is true,
+ or clear the flag if VALUE is false.
+ Return 0 on success, or -1 on error with `errno' set.
+
+ Note that on MingW, this function does NOT protect DESC from being
+ inherited into spawned children. Instead, either use dup_cloexec
+ followed by closing the original DESC, or use interfaces such as
+ open or pipe2 that accept flags like O_CLOEXEC to create DESC
+ non-inheritable in the first place. */
+
+int
+set_cloexec_flag (int desc, bool value)
+{
+#ifdef F_SETFD
+
+ int flags = fcntl (desc, F_GETFD, 0);
+
+ if (0 <= flags)
+ {
+ int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC);
+
+ if (flags == newflags
+ || fcntl (desc, F_SETFD, newflags) != -1)
+ return 0;
+ }
+
+ return -1;
+
+#else /* !F_SETFD */
+
+ /* Use dup2 to reject invalid file descriptors; the cloexec flag
+ will be unaffected. */
+ if (desc < 0)
+ {
+ errno = EBADF;
+ return -1;
+ }
+ if (dup2 (desc, desc) < 0)
+ /* errno is EBADF here. */
+ return -1;
+
+ /* There is nothing we can do on this kind of platform. Punt. */
+ return 0;
+#endif /* !F_SETFD */
+}
+
+
+/* Duplicates a file handle FD, while marking the copy to be closed
+ prior to exec or spawn. Returns -1 and sets errno if FD could not
+ be duplicated. */
+
+int
+dup_cloexec (int fd)
+{
+ return fcntl (fd, F_DUPFD_CLOEXEC, 0);
+}
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* closexec.c - set or clear the close-on-exec descriptor flag
+
+ Copyright (C) 2004, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 <stdbool.h>
+
+/* Set the `FD_CLOEXEC' flag of DESC if VALUE is true,
+ or clear the flag if VALUE is false.
+ Return 0 on success, or -1 on error with `errno' set.
+
+ Note that on MingW, this function does NOT protect DESC from being
+ inherited into spawned children. Instead, either use dup_cloexec
+ followed by closing the original DESC, or use interfaces such as
+ open or pipe2 that accept flags like O_CLOEXEC to create DESC
+ non-inheritable in the first place. */
+
+int set_cloexec_flag (int desc, bool value);
+
+/* Duplicates a file handle FD, while marking the copy to be closed
+ prior to exec or spawn. Returns -1 and sets errno if FD could not
+ be duplicated. */
+
+int dup_cloexec (int fd);
int
close_stream (FILE *stream)
{
- bool some_pending = (__fpending (stream) != 0);
- bool prev_fail = (ferror (stream) != 0);
- bool fclose_fail = (fclose (stream) != 0);
+ const bool some_pending = (__fpending (stream) != 0);
+ const bool prev_fail = (ferror (stream) != 0);
+ const bool fclose_fail = (fclose (stream) != 0);
/* Return an error indication if there was a previous failure or if
fclose failed, with one exception: ignore an fclose failure if
# The current list of GNU canonical charset names is as follows.
#
# name MIME? used by which systems
-# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin
-# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-3 Y glibc solaris
+# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin
+# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+# ISO-8859-3 Y glibc solaris cygwin
# ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin
-# ISO-8859-6 Y glibc aix hpux solaris
-# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin
-# ISO-8859-8 Y glibc aix hpux osf solaris
-# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
-# ISO-8859-13 glibc netbsd openbsd darwin
-# ISO-8859-14 glibc
-# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin
+# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
+# ISO-8859-6 Y glibc aix hpux solaris cygwin
+# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin
+# ISO-8859-8 Y glibc aix hpux osf solaris cygwin
+# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin
+# ISO-8859-13 glibc netbsd openbsd darwin cygwin
+# ISO-8859-14 glibc cygwin
+# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin
# KOI8-R Y glibc solaris freebsd netbsd openbsd darwin
-# KOI8-U Y glibc freebsd netbsd openbsd darwin
+# KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin
# KOI8-T glibc
# CP437 dos
# CP775 dos
# CP869 dos
# CP874 woe32 dos
# CP922 aix
-# CP932 aix woe32 dos
+# CP932 aix cygwin woe32 dos
# CP943 aix
# CP949 osf darwin woe32 dos
# CP950 woe32 dos
# CP1129 aix
# CP1131 darwin
# CP1250 woe32
-# CP1251 glibc solaris netbsd openbsd darwin woe32
+# CP1251 glibc solaris netbsd openbsd darwin cygwin woe32
# CP1252 aix woe32
# CP1253 woe32
# CP1254 woe32
# CP1257 woe32
# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
-# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin
+# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
# EUC-TW glibc aix hpux irix osf solaris netbsd
-# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin
+# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin
# BIG5-HKSCS glibc solaris darwin
-# GBK glibc aix osf solaris darwin woe32 dos
+# GBK glibc aix osf solaris darwin cygwin woe32 dos
# GB18030 glibc solaris netbsd darwin
# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
# JOHAB glibc solaris woe32
-# TIS-620 glibc aix hpux osf solaris
+# TIS-620 glibc aix hpux osf solaris cygwin
# VISCII Y glibc
# TCVN5712-1 glibc
# ARMSCII-8 glibc darwin
-# GEORGIAN-PS glibc
+# GEORGIAN-PS glibc cygwin
# PT154 glibc
# HP-ROMAN8 hpux
# HP-ARABIC8 hpux
# HP-KANA8 hpux
# DEC-KANJI osf
# DEC-HANYU osf
-# UTF-8 Y glibc aix hpux osf solaris netbsd darwin
+# UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin
#
# Note: Names which are not marked as being a MIME name should not be used in
# Internet protocols for information interchange (mail, news, etc.).
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_DIRENT_H@
_GL_CXXALIASWARN (closedir);
#if @GNULIB_DIRFD@
-# if !@HAVE_DECL_DIRFD@ && !defined dirfd
/* Return the file descriptor associated with the given directory stream,
or -1 if none exists. */
-_GL_EXTERN_C int dirfd (DIR *dir) _GL_ARG_NONNULL ((1));
+# if @REPLACE_DIRFD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef dirfd
+# define dirfd rpl_dirfd
+# endif
+_GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (dirfd, int, (DIR *));
+# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd
+ /* dirfd is defined as a macro and not as a function.
+ Turn it into a function and get rid of the macro. */
+static inline int (dirfd) (DIR *dp) { return dirfd (dp); }
+# undef dirfd
+# endif
+# if !(@HAVE_DECL_DIRFD@ || defined dirfd)
+_GL_FUNCDECL_SYS (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (dirfd, int, (DIR *));
# endif
+_GL_CXXALIASWARN (dirfd);
#elif defined GNULIB_POSIXCHECK
# undef dirfd
# if HAVE_RAW_DECL_DIRFD
_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd));
_GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd));
# else
-# if !@HAVE_FDOPENDIR@
+# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@
_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd));
# endif
_GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd));
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_ERRNO_H@
/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
+ Likewise, on NonStop Kernel, EDQUOT is not defined.
Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151,
HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
# define GNULIB_defined_ESTALE 1
# endif
+# ifndef EDQUOT
+# define EDQUOT 2010
+# define GNULIB_defined_EDQUOT 1
+# endif
+
# ifndef ECANCELED
# define ECANCELED 2008
# define GNULIB_defined_ECANCELED 1
# include <fcntl.h>
# include <unistd.h>
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Get declarations of the Win32 API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# endif
+
+/* The gnulib override of fcntl is not needed in this file. */
+# undef fcntl
+
# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
# ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
# endif /* HAVE_STRERROR_R || defined strerror_r */
#endif /* not _LIBC */
+#if !_LIBC
+/* Return non-zero if FD is open. */
+static inline int
+is_open (int fd)
+{
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On Win32: The initial state of unassigned standard file descriptors is
+ that they are open but point to an INVALID_HANDLE_VALUE. There is no
+ fcntl, and the gnulib replacement fcntl does not support F_GETFL. */
+ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
+# else
+# ifndef F_GETFL
+# error Please port fcntl to your platform
+# endif
+ return 0 <= fcntl (fd, F_GETFL);
+# endif
+}
+#endif
+
static inline void
flush_stdout (void)
{
-#if !_LIBC && defined F_GETFL
+#if !_LIBC
int stdout_fd;
# if GNULIB_FREOPEN_SAFER
/* POSIX states that fflush (stdout) after fclose is unspecified; it
is safe in glibc, but not on all other platforms. fflush (NULL)
is always defined, but too draconian. */
- if (0 <= stdout_fd && 0 <= fcntl (stdout_fd, F_GETFL))
+ if (0 <= stdout_fd && is_open (stdout_fd))
#endif
fflush (stdout);
}
return false;
}
+static void
+unescape_pattern (char *str)
+{
+ int inset = 0;
+ char *q = str;
+ do
+ {
+ if (inset)
+ {
+ if (*q == ']')
+ inset = 0;
+ }
+ else if (*q == '[')
+ inset = 1;
+ else if (*q == '\\')
+ q++;
+ }
+ while ((*str++ = *q++));
+}
+
/* Return a newly allocated and empty exclude list. */
struct exclude *
{
char const *pattern = exclude[i].pattern;
int options = exclude[i].options;
- if (excluded != exclude_fnmatch (pattern, f, options))
+ if (exclude_fnmatch (pattern, f, options))
return !excluded;
}
return excluded;
seg = new_exclude_segment (ex, exclude_hash, options);
str = xstrdup (pattern);
+ if (options & EXCLUDE_WILDCARDS)
+ unescape_pattern (str);
p = hash_insert (seg->v.table, str);
if (p != str)
free (str);
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_system_fcntl_h
/* Special invocation convention. */
# define O_CLOEXEC O_NOINHERIT
#endif
+#ifndef O_CLOEXEC
+# define O_CLOEXEC 0
+#endif
+
#ifndef O_DIRECT
# define O_DIRECT 0
#endif
# define O_DSYNC 0
#endif
+#ifndef O_EXEC
+# define O_EXEC O_RDONLY /* This is often close enough in older systems. */
+#endif
+
#ifndef O_NDELAY
# define O_NDELAY 0
#endif
# define O_RSYNC 0
#endif
+#ifndef O_SEARCH
+# define O_SEARCH O_RDONLY /* This is often close enough in older systems. */
+#endif
+
#ifndef O_SYNC
# define O_SYNC 0
#endif
# include "dirent--.h"
# endif
-/* Replacement for Solaris' function by the same name.
- <http://www.google.com/search?q=fdopendir+site:docs.sun.com>
+static DIR *fdopendir_with_dup (int, int);
+static DIR *fd_clone_opendir (int);
+
+/* Replacement for POSIX fdopendir.
+
First, try to simulate it via opendir ("/proc/self/fd/FD"). Failing
that, simulate it by using fchdir metadata, or by doing
save_cwd/fchdir/opendir(".")/restore_cwd.
If either the save_cwd or the restore_cwd fails (relatively unlikely),
then give a diagnostic and exit nonzero.
- Otherwise, this function works just like Solaris' fdopendir.
+
+ If successful, the resulting stream is based on FD in
+ implementations where streams are based on file descriptors and in
+ applications where no other thread or signal handler allocates or
+ frees file descriptors. In other cases, consult dirfd on the result
+ to find out whether FD is still being used.
+
+ Otherwise, this function works just like POSIX fdopendir.
W A R N I N G:
- Unlike other fd-related functions, this one effectively consumes
- its FD parameter. The caller should not close or otherwise
- manipulate FD if this function returns successfully. Also, this
- implementation does not guarantee that dirfd(fdopendir(n))==n;
- the open directory stream may use a clone of FD, or have no
- associated fd at all. */
+
+ Unlike other fd-related functions, this one places constraints on FD.
+ If this function returns successfully, FD is under control of the
+ dirent.h system, and the caller should not close or modify the state of
+ FD other than by the dirent.h functions. */
DIR *
fdopendir (int fd)
+{
+ return fdopendir_with_dup (fd, -1);
+}
+
+/* Like fdopendir, except that if OLDER_DUPFD is not -1, it is known
+ to be a dup of FD which is less than FD - 1 and which will be
+ closed by the caller and not otherwise used by the caller. This
+ function makes sure that FD is closed and all file descriptors less
+ than FD are open, and then calls fd_clone_opendir on a dup of FD.
+ That way, barring race conditions, fd_clone_opendir returns a
+ stream whose file descriptor is FD. */
+static DIR *
+fdopendir_with_dup (int fd, int older_dupfd)
+{
+ int dupfd = dup (fd);
+ if (dupfd < 0 && errno == EMFILE)
+ dupfd = older_dupfd;
+ if (dupfd < 0)
+ return NULL;
+ else
+ {
+ DIR *dir;
+ int saved_errno;
+ if (dupfd < fd - 1 && dupfd != older_dupfd)
+ {
+ dir = fdopendir_with_dup (fd, dupfd);
+ saved_errno = errno;
+ }
+ else
+ {
+ close (fd);
+ dir = fd_clone_opendir (dupfd);
+ saved_errno = errno;
+ if (! dir)
+ {
+ int fd1 = dup (dupfd);
+ if (fd1 != fd)
+ openat_save_fail (fd1 < 0 ? errno : EBADF);
+ }
+ }
+
+ if (dupfd != older_dupfd)
+ close (dupfd);
+ errno = saved_errno;
+ return dir;
+ }
+}
+
+/* Like fdopendir, except the result controls a clone of FD. It is
+ the caller's responsibility both to close FD and (if the result is
+ not null) to closedir the result. */
+static DIR *
+fd_clone_opendir (int fd)
{
int saved_errno;
DIR *dir;
dir = opendir (name);
saved_errno = errno;
# else /* !REPLACE_FCHDIR */
+
+ /* Occupy the destination FD slot, so that save_cwd cannot hijack it. */
+ int fd_reserve = dup (fd);
+ if (fd_reserve < 0)
+ {
+ saved_errno = errno;
+ dir = NULL;
+ goto fail;
+ }
+
struct saved_cwd saved_cwd;
if (save_cwd (&saved_cwd) != 0)
openat_save_fail (errno);
+ /* Liberate the target file descriptor, so that opendir uses it. */
+ close (fd_reserve);
+
if (fchdir (fd) != 0)
{
dir = NULL;
# endif /* !REPLACE_FCHDIR */
}
- if (dir)
- close (fd);
+ fail:
if (proc_file != buf)
free (proc_file);
errno = saved_errno;
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Set file access and modification times.
+
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3 of the License, or any
+ later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake. */
+
+/* derived from a function in utimens.c */
+
+#include <config.h>
+
+#include "utimens.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/* Set the access and modification time stamps of FD (a.k.a. FILE) to be
+ TIMESPEC[0] and TIMESPEC[1], respectively; relative to directory DIR.
+ FD must be either negative -- in which case it is ignored --
+ or a file descriptor that is open on FILE.
+ If FD is nonnegative, then FILE can be NULL, which means
+ use just futimes (or equivalent) instead of utimes (or equivalent),
+ and fail if on an old system without futimes (or equivalent).
+ If TIMESPEC is null, set the time stamps to the current time.
+ ATFLAG is passed to utimensat if FD is negative or futimens was
+ unsupported, which can allow operation on FILE as a symlink.
+ Return 0 on success, -1 (setting errno) on failure. */
+
+int
+fdutimensat (int fd, int dir, char const *file, struct timespec const ts[2],
+ int atflag)
+{
+ int result = 1;
+ if (0 <= fd)
+ result = futimens (fd, ts);
+ if (file && (fd < 0 || (result == -1 && errno == ENOSYS)))
+ result = utimensat (dir, file, ts, atflag);
+ if (result == 1)
+ {
+ errno = EBADF;
+ result = -1;
+ }
+ return result;
+}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Specialized functions to manipulate a set of files.
- Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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 <config.h>
-#include "file-set.h"
-
-#include "hash-triple.h"
-#include "xalloc.h"
-
-/* Record file, FILE, and dev/ino from *STATS, in the hash table, HT.
- If HT is NULL, return immediately.
- If memory allocation fails, exit immediately. */
-void
-record_file (Hash_table *ht, char const *file, struct stat const *stats)
-{
- struct F_triple *ent;
-
- if (ht == NULL)
- return;
-
- ent = xmalloc (sizeof *ent);
- ent->name = xstrdup (file);
- ent->st_ino = stats->st_ino;
- ent->st_dev = stats->st_dev;
-
- {
- struct F_triple *ent_from_table = hash_insert (ht, ent);
- if (ent_from_table == NULL)
- {
- /* Insertion failed due to lack of memory. */
- xalloc_die ();
- }
-
- if (ent_from_table != ent)
- {
- /* There was alread a matching entry in the table, so ENT was
- not inserted. Free it. */
- triple_free (ent);
- }
- }
-}
-
-/* Return true if there is an entry in hash table, HT,
- for the file described by FILE and STATS. */
-bool
-seen_file (Hash_table const *ht, char const *file,
- struct stat const *stats)
-{
- struct F_triple new_ent;
-
- if (ht == NULL)
- return false;
-
- new_ent.name = (char *) file;
- new_ent.st_ino = stats->st_ino;
- new_ent.st_dev = stats->st_dev;
-
- return !!hash_lookup (ht, &new_ent);
-}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdbool.h>
-
-#include "hash.h"
-
-extern void record_file (Hash_table *ht, char const *file,
- struct stat const *stats)
- __attribute__((nonnull(2, 3)));
-
-extern bool seen_file (Hash_table const *ht, char const *file,
- struct stat const *stats);
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Concatenate two arbitrary file names.
+
+ Copyright (C) 1996-2007, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 <config.h>
+
+/* Specification. */
+#include "filenamecat.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "dirname.h"
+
+#if ! HAVE_MEMPCPY && ! defined mempcpy
+# define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
+#endif
+
+/* Return the longest suffix of F that is a relative file name.
+ If it has no such suffix, return the empty string. */
+
+static char const *
+longest_relative_suffix (char const *f)
+{
+ for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++)
+ continue;
+ return f;
+}
+
+/* Concatenate two file name components, DIR and ABASE, in
+ newly-allocated storage and return the result.
+ The resulting file name F is such that the commands "ls F" and "(cd
+ DIR; ls BASE)" refer to the same file, where BASE is ABASE with any
+ file system prefixes and leading separators removed.
+ Arrange for a directory separator if necessary between DIR and BASE
+ in the result, removing any redundant separators.
+ In any case, if BASE_IN_RESULT is non-NULL, set
+ *BASE_IN_RESULT to point to the copy of ABASE in the returned
+ concatenation. However, if ABASE begins with more than one slash,
+ set *BASE_IN_RESULT to point to the sole corresponding slash that
+ is copied into the result buffer.
+
+ Return NULL if malloc fails. */
+
+char *
+mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
+{
+ char const *dirbase = last_component (dir);
+ size_t dirbaselen = base_len (dirbase);
+ size_t dirlen = dirbase - dir + dirbaselen;
+ size_t needs_separator = (dirbaselen && ! ISSLASH (dirbase[dirbaselen - 1]));
+
+ char const *base = longest_relative_suffix (abase);
+ size_t baselen = strlen (base);
+
+ char *p_concat = malloc (dirlen + needs_separator + baselen + 1);
+ char *p;
+
+ if (p_concat == NULL)
+ return NULL;
+
+ p = mempcpy (p_concat, dir, dirlen);
+ *p = DIRECTORY_SEPARATOR;
+ p += needs_separator;
+
+ if (base_in_result)
+ *base_in_result = p - IS_ABSOLUTE_FILE_NAME (abase);
+
+ p = mempcpy (p, base, baselen);
+ *p = '\0';
+
+ return p_concat;
+}
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Concatenate two arbitrary file names.
+
+ Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2010 Free Software
+ Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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. */
+
+#if GNULIB_FILENAMECAT
+char *file_name_concat (char const *dir, char const *base,
+ char **base_in_result);
+#endif
+
+char *mfile_name_concat (char const *dir, char const *base,
+ char **base_in_result);
#define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT)
/* Verify that SIZEOF_FLT <= sizeof (float) etc. */
-typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1];
-typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1];
-typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1];
+typedef int verify_sizeof_flt[SIZEOF_FLT <= sizeof (float) ? 1 : -1];
+typedef int verify_sizeof_dbl[SIZEOF_DBL <= sizeof (double) ? 1 : - 1];
+typedef int verify_sizeof_ldbl[SIZEOF_LDBL <= sizeof (long double) ? 1 : - 1];
#endif /* _FLOATPLUS_H */
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_FLOAT_H@
#include "stdio-impl.h"
+int
+fseeko (FILE *fp, off_t offset, int whence)
#undef fseeko
#if !HAVE_FSEEKO
# undef fseek
# define fseeko fseek
#endif
-
-int
-rpl_fseeko (FILE *fp, off_t offset, int whence)
{
#if LSEEK_PIPE_BROKEN
/* mingw gives bogus answers rather than failure on non-seekable files. */
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* ftruncate emulations that work on some System V's.
- This file is in the public domain. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unistd.h>
-
-#include <sys/types.h>
-#include <fcntl.h>
-
-#ifdef F_CHSIZE
-
-int
-ftruncate (int fd, off_t length)
-{
- return fcntl (fd, F_CHSIZE, length);
-}
-
-#else /* not F_CHSIZE */
-# ifdef F_FREESP
-
-/* By William Kucharski <kucharsk@netcom.com>. */
-
-# include <sys/stat.h>
-# include <errno.h>
-
-int
-ftruncate (int fd, off_t length)
-{
- struct flock fl;
- struct stat filebuf;
-
- if (fstat (fd, &filebuf) < 0)
- return -1;
-
- if (filebuf.st_size < length)
- {
- /* Extend file length. */
- if (lseek (fd, (length - 1), SEEK_SET) < 0)
- return -1;
-
- /* Write a "0" byte. */
- if (write (fd, "", 1) != 1)
- return -1;
- }
- else
- {
-
- /* Truncate length. */
-
- fl.l_whence = 0;
- fl.l_len = 0;
- fl.l_start = length;
- fl.l_type = F_WRLCK; /* write lock on file space */
-
- /* This relies on the *undocumented* F_FREESP argument to fcntl,
- which truncates the file so that it ends at the position
- indicated by fl.l_start. Will minor miracles never cease? */
-
- if (fcntl (fd, F_FREESP, &fl) < 0)
- return -1;
- }
-
- return 0;
-}
-
-# else /* not F_CHSIZE nor F_FREESP */
-# if HAVE_CHSIZE /* native Windows, e.g. mingw */
-
-int
-ftruncate (int fd, off_t length)
-{
- return chsize (fd, length);
-}
-
-# else /* not F_CHSIZE nor F_FREESP nor HAVE_CHSIZE */
-
-# include <errno.h>
-
-int
-ftruncate (int fd, off_t length)
-{
- errno = EIO;
- return -1;
-}
-
-# endif /* not HAVE_CHSIZE */
-# endif /* not F_FREESP */
-#endif /* not F_CHSIZE */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Set the access and modification time of an open fd.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "utimens.h"
+
+/* Set the access and modification time stamps of FD to be
+ TIMESPEC[0] and TIMESPEC[1], respectively.
+ Fail with ENOSYS on systems without futimes (or equivalent).
+ If TIMESPEC is null, set the time stamps to the current time.
+ Return 0 on success, -1 (setting errno) on failure. */
+int
+futimens (int fd, struct timespec const times[2])
+{
+ /* fdutimens also works around bugs in native futimens, when running
+ with glibc compiled against newer headers but on a Linux kernel
+ older than 2.6.32. */
+ return fdutimens (fd, NULL, times);
+}
size_t allocated = size;
size_t used;
-#if HAVE_PARTLY_WORKING_GETCWD
- /* The system getcwd works, except it sometimes fails when it
- shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If
- AT_FDCWD is not defined, the algorithm below is O(N**2) and this
- is much slower than the system getcwd (at least on GNU/Linux).
- So trust the system getcwd's results unless they look
- suspicious.
+#if HAVE_RAW_DECL_GETCWD
+ /* If AT_FDCWD is not defined, the algorithm below is O(N**2) and
+ this is much slower than the system getcwd (at least on
+ GNU/Linux). So trust the system getcwd's results unless they
+ look suspicious.
Use the system getcwd even if we have openat support, since the
system getcwd works even when a parent is unreadable, while the
# undef getcwd
dir = getcwd (buf, size);
- if (dir || (errno != ERANGE && errno != ENAMETOOLONG && errno != ENOENT))
+ if (dir)
return dir;
+
+ /* Solaris getcwd (NULL, 0) fails with errno == EINVAL, but it has
+ internal magic that lets it work even if an ancestor directory is
+ inaccessible, which is better in many cases. So in this case try
+ again with a buffer that's almost always big enough. */
+ if (errno == EINVAL && buf == NULL && size == 0)
+ {
+ char big_buffer[BIG_FILE_NAME_LENGTH + 1];
+ dir = getcwd (big_buffer, sizeof big_buffer);
+ if (dir)
+ return strdup (dir);
+ }
+
+# if HAVE_PARTLY_WORKING_GETCWD
+ /* The system getcwd works, except it sometimes fails when it
+ shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. */
+ if (errno != ERANGE && errno != ENAMETOOLONG && errno != ENOENT)
+ return NULL;
+# endif
#endif
if (size == 0)
dirstream = fdopendir (fd);
if (dirstream == NULL)
goto lose;
- /* Reset fd. It may have been closed by fdopendir. */
- fd = dirfd (dirstream);
fd_needs_closing = false;
#else
dirstream = __opendir (dotlist);
+++ /dev/null
-/* A Bison parser, made by GNU Bison 2.3. */
-
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "2.3"
-
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers. */
-#define YYPURE 1
-
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- tAGO = 258,
- tDST = 259,
- tYEAR_UNIT = 260,
- tMONTH_UNIT = 261,
- tHOUR_UNIT = 262,
- tMINUTE_UNIT = 263,
- tSEC_UNIT = 264,
- tDAY_UNIT = 265,
- tDAY_SHIFT = 266,
- tDAY = 267,
- tDAYZONE = 268,
- tLOCAL_ZONE = 269,
- tMERIDIAN = 270,
- tMONTH = 271,
- tORDINAL = 272,
- tZONE = 273,
- tSNUMBER = 274,
- tUNUMBER = 275,
- tSDECIMAL_NUMBER = 276,
- tUDECIMAL_NUMBER = 277
- };
-#endif
-/* Tokens. */
-#define tAGO 258
-#define tDST 259
-#define tYEAR_UNIT 260
-#define tMONTH_UNIT 261
-#define tHOUR_UNIT 262
-#define tMINUTE_UNIT 263
-#define tSEC_UNIT 264
-#define tDAY_UNIT 265
-#define tDAY_SHIFT 266
-#define tDAY 267
-#define tDAYZONE 268
-#define tLOCAL_ZONE 269
-#define tMERIDIAN 270
-#define tMONTH 271
-#define tORDINAL 272
-#define tZONE 273
-#define tSNUMBER 274
-#define tUNUMBER 275
-#define tSDECIMAL_NUMBER 276
-#define tUDECIMAL_NUMBER 277
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 1 "getdate.y"
-
-/* Parse a string into an internal time stamp.
-
- Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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/>. */
-
-/* Originally written by Steven M. Bellovin <smb@research.att.com> while
- at the University of North Carolina at Chapel Hill. Later tweaked by
- a couple of people on Usenet. Completely overhauled by Rich $alz
- <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990.
-
- Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do
- the right thing about local DST. Also modified by Paul Eggert
- <eggert@cs.ucla.edu> in February 2004 to support
- nanosecond-resolution time stamps, and in October 2004 to support
- TZ strings in dates. */
-
-/* FIXME: Check for arithmetic overflow in all cases, not just
- some of them. */
-
-#include <config.h>
-
-#include "getdate.h"
-
-#include "intprops.h"
-#include "timespec.h"
-#include "verify.h"
-
-/* There's no need to extend the stack, so there's no need to involve
- alloca. */
-#define YYSTACK_USE_ALLOCA 0
-
-/* Tell Bison how much stack space is needed. 20 should be plenty for
- this grammar, which is not right recursive. Beware setting it too
- high, since that might cause problems on machines whose
- implementations have lame stack-overflow checking. */
-#define YYMAXDEPTH 20
-#define YYINITDEPTH YYMAXDEPTH
-
-/* Since the code of getdate.y is not included in the Emacs executable
- itself, there is no need to #define static in this file. Even if
- the code were included in the Emacs executable, it probably
- wouldn't do any harm to #undef it here; this will only cause
- problems if we try to write to a static variable, which I don't
- think this code needs to do. */
-#ifdef emacs
-# undef static
-#endif
-
-#include <c-ctype.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "xalloc.h"
-
-
-/* ISDIGIT differs from isdigit, as follows:
- - Its arg may be any int or unsigned int; it need not be an unsigned char
- or EOF.
- - It's typically faster.
- POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
- isdigit unless it's important to use the locale's definition
- of `digit' even when the host does not conform to POSIX. */
-#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
-
-/* Shift A right by B bits portably, by dividing A by 2**B and
- truncating towards minus infinity. A and B should be free of side
- effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
- INT_BITS is the number of useful bits in an int. GNU code can
- assume that INT_BITS is at least 32.
-
- ISO C99 says that A >> B is implementation-defined if A < 0. Some
- implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift
- right in the usual way when A < 0, so SHR falls back on division if
- ordinary A >> B doesn't seem to be the usual signed shift. */
-#define SHR(a, b) \
- (-1 >> 1 == -1 \
- ? (a) >> (b) \
- : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0))
-
-#define EPOCH_YEAR 1970
-#define TM_YEAR_BASE 1900
-
-#define HOUR(x) ((x) * 60)
-
-/* long_time_t is a signed integer type that contains all time_t values. */
-verify (TYPE_IS_INTEGER (time_t));
-#if TIME_T_FITS_IN_LONG_INT
-typedef long int long_time_t;
-#else
-typedef time_t long_time_t;
-#endif
-
-/* Lots of this code assumes time_t and time_t-like values fit into
- long_time_t. */
-verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t)
- && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t));
-
-/* FIXME: It also assumes that signed integer overflow silently wraps around,
- but this is not true any more with recent versions of GCC 4. */
-
-/* An integer value, and the number of digits in its textual
- representation. */
-typedef struct
-{
- bool negative;
- long int value;
- size_t digits;
-} textint;
-
-/* An entry in the lexical lookup table. */
-typedef struct
-{
- char const *name;
- int type;
- int value;
-} table;
-
-/* Meridian: am, pm, or 24-hour style. */
-enum { MERam, MERpm, MER24 };
-
-enum { BILLION = 1000000000, LOG10_BILLION = 9 };
-
-/* Relative times. */
-typedef struct
-{
- /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
- long int year;
- long int month;
- long int day;
- long int hour;
- long int minutes;
- long_time_t seconds;
- long int ns;
-} relative_time;
-
-#if HAVE_COMPOUND_LITERALS
-# define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 })
-#else
-static relative_time const RELATIVE_TIME_0;
-#endif
-
-/* Information passed to and from the parser. */
-typedef struct
-{
- /* The input string remaining to be parsed. */
- const char *input;
-
- /* N, if this is the Nth Tuesday. */
- long int day_ordinal;
-
- /* Day of week; Sunday is 0. */
- int day_number;
-
- /* tm_isdst flag for the local zone. */
- int local_isdst;
-
- /* Time zone, in minutes east of UTC. */
- long int time_zone;
-
- /* Style used for time. */
- int meridian;
-
- /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */
- textint year;
- long int month;
- long int day;
- long int hour;
- long int minutes;
- struct timespec seconds; /* includes nanoseconds */
-
- /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
- relative_time rel;
-
- /* Presence or counts of nonterminals of various flavors parsed so far. */
- bool timespec_seen;
- bool rels_seen;
- size_t dates_seen;
- size_t days_seen;
- size_t local_zones_seen;
- size_t dsts_seen;
- size_t times_seen;
- size_t zones_seen;
-
- /* Table of local time zone abbrevations, terminated by a null entry. */
- table local_time_zone_table[3];
-} parser_control;
-
-union YYSTYPE;
-static int yylex (union YYSTYPE *, parser_control *);
-static int yyerror (parser_control const *, char const *);
-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,
- YYYY, ...). */
-static void
-digits_to_date_time (parser_control *pc, textint text_int)
-{
- if (pc->dates_seen && ! pc->year.digits
- && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits))
- pc->year = text_int;
- else
- {
- if (4 < text_int.digits)
- {
- pc->dates_seen++;
- pc->day = text_int.value % 100;
- pc->month = (text_int.value / 100) % 100;
- pc->year.value = text_int.value / 10000;
- pc->year.digits = text_int.digits - 4;
- }
- else
- {
- pc->times_seen++;
- if (text_int.digits <= 2)
- {
- pc->hour = text_int.value;
- pc->minutes = 0;
- }
- else
- {
- pc->hour = text_int.value / 100;
- pc->minutes = text_int.value % 100;
- }
- pc->seconds.tv_sec = 0;
- pc->seconds.tv_nsec = 0;
- pc->meridian = MER24;
- }
- }
-}
-
-/* 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. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table. */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-#line 285 "getdate.y"
-{
- long int intval;
- textint textintval;
- struct timespec timespec;
- relative_time rel;
-}
-/* Line 187 of yacc.c. */
-#line 421 "getdate.c"
- YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
-
-/* Copy the second part of user declarations. */
-
-
-/* Line 216 of yacc.c. */
-#line 434 "getdate.c"
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
-#endif
-
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int i)
-#else
-static int
-YYID (i)
- int i;
-#endif
-{
- return i;
-}
-#endif
-
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
-
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 12
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 98
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 27
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 21
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 82
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 100
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 277
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const yytype_uint8 yytranslate[] =
-{
- 0, 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, 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,
- 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, 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,
- 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, 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,
- 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, 22
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint8 yyprhs[] =
-{
- 0, 0, 3, 5, 7, 10, 11, 14, 16, 18,
- 20, 22, 24, 26, 28, 30, 33, 38, 44, 51,
- 59, 61, 64, 66, 69, 73, 75, 78, 80, 83,
- 86, 89, 93, 99, 103, 107, 111, 114, 119, 122,
- 126, 129, 131, 133, 136, 139, 141, 144, 147, 149,
- 152, 155, 157, 160, 163, 165, 168, 171, 173, 176,
- 179, 182, 185, 187, 189, 192, 195, 198, 201, 204,
- 207, 209, 211, 213, 215, 217, 219, 221, 223, 226,
- 227, 230, 231
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int8 yyrhs[] =
-{
- 28, 0, -1, 29, -1, 30, -1, 23, 41, -1,
- -1, 30, 31, -1, 32, -1, 33, -1, 34, -1,
- 36, -1, 35, -1, 37, -1, 44, -1, 45, -1,
- 20, 15, -1, 20, 24, 20, 47, -1, 20, 24,
- 20, 19, 46, -1, 20, 24, 20, 24, 43, 47,
- -1, 20, 24, 20, 24, 43, 19, 46, -1, 14,
- -1, 14, 4, -1, 18, -1, 18, 39, -1, 18,
- 19, 46, -1, 13, -1, 18, 4, -1, 12, -1,
- 12, 25, -1, 17, 12, -1, 20, 12, -1, 20,
- 26, 20, -1, 20, 26, 20, 26, 20, -1, 20,
- 19, 19, -1, 20, 16, 19, -1, 16, 19, 19,
- -1, 16, 20, -1, 16, 20, 25, 20, -1, 20,
- 16, -1, 20, 16, 20, -1, 38, 3, -1, 38,
- -1, 40, -1, 17, 5, -1, 20, 5, -1, 5,
- -1, 17, 6, -1, 20, 6, -1, 6, -1, 17,
- 10, -1, 20, 10, -1, 10, -1, 17, 7, -1,
- 20, 7, -1, 7, -1, 17, 8, -1, 20, 8,
- -1, 8, -1, 17, 9, -1, 20, 9, -1, 21,
- 9, -1, 22, 9, -1, 9, -1, 39, -1, 19,
- 5, -1, 19, 6, -1, 19, 10, -1, 19, 7,
- -1, 19, 8, -1, 19, 9, -1, 11, -1, 42,
- -1, 43, -1, 21, -1, 19, -1, 22, -1, 20,
- -1, 20, -1, 20, 39, -1, -1, 24, 20, -1,
- -1, 15, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 311, 311, 312, 316, 323, 325, 329, 331, 333,
- 335, 337, 339, 340, 341, 345, 350, 355, 362, 367,
- 377, 382, 390, 392, 395, 397, 399, 404, 409, 414,
- 419, 427, 432, 452, 459, 467, 475, 480, 486, 491,
- 500, 502, 504, 509, 511, 513, 515, 517, 519, 521,
- 523, 525, 527, 529, 531, 533, 535, 537, 539, 541,
- 543, 545, 547, 549, 553, 555, 557, 559, 561, 563,
- 568, 572, 572, 575, 576, 581, 582, 587, 592, 603,
- 604, 610, 611
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "tAGO", "tDST", "tYEAR_UNIT",
- "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT",
- "tDAY_SHIFT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH",
- "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER",
- "tUDECIMAL_NUMBER", "'@'", "':'", "','", "'/'", "$accept", "spec",
- "timespec", "items", "item", "time", "local_zone", "zone", "day", "date",
- "rel", "relunit", "relunit_snumber", "dayshift", "seconds",
- "signed_seconds", "unsigned_seconds", "number", "hybrid",
- "o_colon_minutes", "o_merid", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const yytype_uint16 yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 64, 58, 44, 47
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 27, 28, 28, 29, 30, 30, 31, 31, 31,
- 31, 31, 31, 31, 31, 32, 32, 32, 32, 32,
- 33, 33, 34, 34, 34, 34, 34, 35, 35, 35,
- 35, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 37, 37, 37, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 39, 39, 39, 39, 39, 39,
- 40, 41, 41, 42, 42, 43, 43, 44, 45, 46,
- 46, 47, 47
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 1, 1, 2, 0, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 4, 5, 6, 7,
- 1, 2, 1, 2, 3, 1, 2, 1, 2, 2,
- 2, 3, 5, 3, 3, 3, 2, 4, 2, 3,
- 2, 1, 1, 2, 2, 1, 2, 2, 1, 2,
- 2, 1, 2, 2, 1, 2, 2, 1, 2, 2,
- 2, 2, 1, 1, 2, 2, 2, 2, 2, 2,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
- 2, 0, 1
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 5, 0, 0, 2, 3, 74, 76, 73, 75, 4,
- 71, 72, 1, 45, 48, 54, 57, 62, 51, 70,
- 27, 25, 20, 0, 0, 22, 0, 77, 0, 0,
- 6, 7, 8, 9, 11, 10, 12, 41, 63, 42,
- 13, 14, 28, 21, 0, 36, 43, 46, 52, 55,
- 58, 49, 29, 26, 79, 23, 64, 65, 67, 68,
- 69, 66, 44, 47, 53, 56, 59, 50, 30, 15,
- 38, 0, 0, 0, 78, 60, 61, 40, 35, 0,
- 0, 24, 34, 39, 33, 81, 31, 37, 80, 82,
- 79, 0, 16, 0, 17, 81, 32, 79, 18, 19
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int8 yydefgoto[] =
-{
- -1, 2, 3, 4, 30, 31, 32, 33, 34, 35,
- 36, 37, 38, 39, 9, 10, 11, 40, 41, 81,
- 92
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -82
-static const yytype_int8 yypact[] =
-{
- -17, 56, 15, -82, 26, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- 36, -82, 68, 10, 50, 9, 59, -5, 72, 73,
- -82, -82, -82, -82, -82, -82, -82, 80, -82, -82,
- -82, -82, -82, -82, 65, 61, -82, -82, -82, -82,
- -82, -82, -82, -82, 17, -82, -82, -82, -82, -82,
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- 60, 44, 67, 69, -82, -82, -82, -82, -82, 70,
- 71, -82, -82, -82, -82, -7, 62, -82, -82, -82,
- 74, -2, -82, 75, -82, 55, -82, 74, -82, -82
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
-{
- -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
- -82, -82, 46, -82, -82, -82, -6, -82, -82, -81,
- -3
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -1
-static const yytype_uint8 yytable[] =
-{
- 62, 63, 64, 65, 66, 67, 1, 68, 89, 94,
- 69, 70, 90, 53, 71, 12, 99, 91, 6, 72,
- 8, 73, 56, 57, 58, 59, 60, 61, 54, 44,
- 45, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 80, 23, 24, 25, 26, 27, 28, 29, 56,
- 57, 58, 59, 60, 61, 46, 47, 48, 49, 50,
- 51, 42, 52, 84, 56, 57, 58, 59, 60, 61,
- 89, 55, 43, 74, 97, 5, 6, 7, 8, 82,
- 83, 75, 76, 77, 78, 95, 79, 85, 93, 86,
- 87, 88, 98, 0, 0, 96, 0, 0, 80
-};
-
-static const yytype_int8 yycheck[] =
-{
- 5, 6, 7, 8, 9, 10, 23, 12, 15, 90,
- 15, 16, 19, 4, 19, 0, 97, 24, 20, 24,
- 22, 26, 5, 6, 7, 8, 9, 10, 19, 19,
- 20, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 24, 16, 17, 18, 19, 20, 21, 22, 5,
- 6, 7, 8, 9, 10, 5, 6, 7, 8, 9,
- 10, 25, 12, 19, 5, 6, 7, 8, 9, 10,
- 15, 25, 4, 27, 19, 19, 20, 21, 22, 19,
- 20, 9, 9, 3, 19, 91, 25, 20, 26, 20,
- 20, 20, 95, -1, -1, 20, -1, -1, 24
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_uint8 yystos[] =
-{
- 0, 23, 28, 29, 30, 19, 20, 21, 22, 41,
- 42, 43, 0, 5, 6, 7, 8, 9, 10, 11,
- 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)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
-
-#define YYFAIL goto yyerrlab
-
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY && yylen == 1) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
- YYPOPSTACK (1); \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (pc, YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
-
-
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
-#endif
-
-
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
-
-#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments. */
-
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, YYLEX_PARAM)
-#else
-# define YYLEX yylex (&yylval, pc)
-#endif
-
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, pc); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- parser_control *pc;
-#endif
-{
- if (!yyvaluep)
- return;
- YYUSE (pc);
-# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
-# endif
- switch (yytype)
- {
- default:
- break;
- }
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, pc)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- parser_control *pc;
-#endif
-{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
- yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc);
- YYFPRINTF (yyoutput, ")");
-}
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
-#else
-static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
-#endif
-{
- YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule, parser_control *pc)
-#else
-static void
-yy_reduce_print (yyvsp, yyrule, pc)
- YYSTYPE *yyvsp;
- int yyrule;
- parser_control *pc;
-#endif
-{
- int yynrhs = yyr2[yyrule];
- int yyi;
- unsigned long int yylno = yyrline[yyrule];
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- fprintf (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- , pc);
- fprintf (stderr, "\n");
- }
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule, pc); \
-} while (YYID (0))
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-\f
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static YYSIZE_T
-yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
-
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
- {
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
-
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
-
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
-
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
- }
-}
-#endif /* YYERROR_VERBOSE */
-\f
-
-/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_control *pc)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, pc)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
- parser_control *pc;
-#endif
-{
- YYUSE (yyvaluep);
- YYUSE (pc);
-
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- switch (yytype)
- {
-
- default:
- break;
- }
-}
-\f
-
-/* Prevent warnings from -Wmissing-prototypes. */
-
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (parser_control *pc);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-
-
-
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (parser_control *pc)
-#else
-int
-yyparse (pc)
- parser_control *pc;
-#endif
-#endif
-{
- /* The look-ahead symbol. */
-int yychar;
-
-/* The semantic value of the look-ahead symbol. */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
-
-
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
-
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
-
- yyssp = yyss;
- yyvsp = yyvs;
-
- goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
-
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to look-ahead token. */
- yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
- goto yydefault;
-
- /* Not known => get a look-ahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the look-ahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
-
- yystate = yyn;
- *++yyvsp = yylval;
-
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
-yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 4:
-#line 317 "getdate.y"
- {
- pc->seconds = (yyvsp[(2) - (2)].timespec);
- pc->timespec_seen = true;
- }
- break;
-
- case 7:
-#line 330 "getdate.y"
- { pc->times_seen++; }
- break;
-
- case 8:
-#line 332 "getdate.y"
- { pc->local_zones_seen++; }
- break;
-
- case 9:
-#line 334 "getdate.y"
- { pc->zones_seen++; }
- break;
-
- case 10:
-#line 336 "getdate.y"
- { pc->dates_seen++; }
- break;
-
- case 11:
-#line 338 "getdate.y"
- { pc->days_seen++; }
- break;
-
- case 15:
-#line 346 "getdate.y"
- {
- set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0);
- pc->meridian = (yyvsp[(2) - (2)].intval);
- }
- break;
-
- case 16:
-#line 351 "getdate.y"
- {
- set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0);
- pc->meridian = (yyvsp[(4) - (4)].intval);
- }
- break;
-
- case 17:
-#line 356 "getdate.y"
- {
- 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 (pc, (yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval));
- }
- break;
-
- case 18:
-#line 363 "getdate.y"
- {
- set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec);
- pc->meridian = (yyvsp[(6) - (6)].intval);
- }
- break;
-
- case 19:
-#line 368 "getdate.y"
- {
- set_hhmmss (pc, (yyvsp[(1) - (7)].textintval).value, (yyvsp[(3) - (7)].textintval).value, (yyvsp[(5) - (7)].timespec).tv_sec, (yyvsp[(5) - (7)].timespec).tv_nsec);
- pc->meridian = MER24;
- pc->zones_seen++;
- pc->time_zone = time_zone_hhmm (pc, (yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval));
- }
- break;
-
- case 20:
-#line 378 "getdate.y"
- {
- pc->local_isdst = (yyvsp[(1) - (1)].intval);
- pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
- }
- break;
-
- case 21:
-#line 383 "getdate.y"
- {
- pc->local_isdst = 1;
- pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
- }
- break;
-
- case 22:
-#line 391 "getdate.y"
- { pc->time_zone = (yyvsp[(1) - (1)].intval); }
- break;
-
- case 23:
-#line 393 "getdate.y"
- { pc->time_zone = (yyvsp[(1) - (2)].intval);
- apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); }
- break;
-
- case 24:
-#line 396 "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 398 "getdate.y"
- { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
- break;
-
- case 26:
-#line 400 "getdate.y"
- { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
- break;
-
- case 27:
-#line 405 "getdate.y"
- {
- pc->day_ordinal = 0;
- pc->day_number = (yyvsp[(1) - (1)].intval);
- }
- break;
-
- case 28:
-#line 410 "getdate.y"
- {
- pc->day_ordinal = 0;
- pc->day_number = (yyvsp[(1) - (2)].intval);
- }
- break;
-
- case 29:
-#line 415 "getdate.y"
- {
- pc->day_ordinal = (yyvsp[(1) - (2)].intval);
- pc->day_number = (yyvsp[(2) - (2)].intval);
- }
- break;
-
- case 30:
-#line 420 "getdate.y"
- {
- pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
- pc->day_number = (yyvsp[(2) - (2)].intval);
- }
- break;
-
- case 31:
-#line 428 "getdate.y"
- {
- pc->month = (yyvsp[(1) - (3)].textintval).value;
- pc->day = (yyvsp[(3) - (3)].textintval).value;
- }
- break;
-
- case 32:
-#line 433 "getdate.y"
- {
- /* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
- otherwise as MM/DD/YY.
- The goal in recognizing YYYY/MM/DD is solely to support legacy
- machine-generated dates like those in an RCS log listing. If
- you want portability, use the ISO 8601 format. */
- if (4 <= (yyvsp[(1) - (5)].textintval).digits)
- {
- pc->year = (yyvsp[(1) - (5)].textintval);
- pc->month = (yyvsp[(3) - (5)].textintval).value;
- pc->day = (yyvsp[(5) - (5)].textintval).value;
- }
- else
- {
- pc->month = (yyvsp[(1) - (5)].textintval).value;
- pc->day = (yyvsp[(3) - (5)].textintval).value;
- pc->year = (yyvsp[(5) - (5)].textintval);
- }
- }
- break;
-
- case 33:
-#line 453 "getdate.y"
- {
- /* ISO 8601 format. YYYY-MM-DD. */
- pc->year = (yyvsp[(1) - (3)].textintval);
- pc->month = -(yyvsp[(2) - (3)].textintval).value;
- pc->day = -(yyvsp[(3) - (3)].textintval).value;
- }
- break;
-
- case 34:
-#line 460 "getdate.y"
- {
- /* e.g. 17-JUN-1992. */
- pc->day = (yyvsp[(1) - (3)].textintval).value;
- pc->month = (yyvsp[(2) - (3)].intval);
- pc->year.value = -(yyvsp[(3) - (3)].textintval).value;
- pc->year.digits = (yyvsp[(3) - (3)].textintval).digits;
- }
- break;
-
- case 35:
-#line 468 "getdate.y"
- {
- /* e.g. JUN-17-1992. */
- pc->month = (yyvsp[(1) - (3)].intval);
- pc->day = -(yyvsp[(2) - (3)].textintval).value;
- pc->year.value = -(yyvsp[(3) - (3)].textintval).value;
- pc->year.digits = (yyvsp[(3) - (3)].textintval).digits;
- }
- break;
-
- case 36:
-#line 476 "getdate.y"
- {
- pc->month = (yyvsp[(1) - (2)].intval);
- pc->day = (yyvsp[(2) - (2)].textintval).value;
- }
- break;
-
- case 37:
-#line 481 "getdate.y"
- {
- pc->month = (yyvsp[(1) - (4)].intval);
- pc->day = (yyvsp[(2) - (4)].textintval).value;
- pc->year = (yyvsp[(4) - (4)].textintval);
- }
- break;
-
- case 38:
-#line 487 "getdate.y"
- {
- pc->day = (yyvsp[(1) - (2)].textintval).value;
- pc->month = (yyvsp[(2) - (2)].intval);
- }
- break;
-
- case 39:
-#line 492 "getdate.y"
- {
- pc->day = (yyvsp[(1) - (3)].textintval).value;
- pc->month = (yyvsp[(2) - (3)].intval);
- pc->year = (yyvsp[(3) - (3)].textintval);
- }
- break;
-
- case 40:
-#line 501 "getdate.y"
- { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), -1); }
- break;
-
- case 41:
-#line 503 "getdate.y"
- { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
- break;
-
- case 42:
-#line 505 "getdate.y"
- { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
- break;
-
- case 43:
-#line 510 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
- break;
-
- case 44:
-#line 512 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 45:
-#line 514 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
- break;
-
- case 46:
-#line 516 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
- break;
-
- case 47:
-#line 518 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 48:
-#line 520 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
- break;
-
- case 49:
-#line 522 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
- break;
-
- case 50:
-#line 524 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
- break;
-
- case 51:
-#line 526 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
- break;
-
- case 52:
-#line 528 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
- break;
-
- case 53:
-#line 530 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 54:
-#line 532 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
- break;
-
- case 55:
-#line 534 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
- break;
-
- case 56:
-#line 536 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 57:
-#line 538 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
- break;
-
- case 58:
-#line 540 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
- break;
-
- case 59:
-#line 542 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 60:
-#line 544 "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 546 "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 548 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
- break;
-
- case 64:
-#line 554 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 65:
-#line 556 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 66:
-#line 558 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
- break;
-
- case 67:
-#line 560 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 68:
-#line 562 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 69:
-#line 564 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
- break;
-
- case 70:
-#line 569 "getdate.y"
- { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
- break;
-
- case 74:
-#line 577 "getdate.y"
- { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
- break;
-
- case 76:
-#line 583 "getdate.y"
- { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
- break;
-
- case 77:
-#line 588 "getdate.y"
- { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); }
- break;
-
- case 78:
-#line 593 "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));
- apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1);
- }
- break;
-
- case 79:
-#line 603 "getdate.y"
- { (yyval.intval) = -1; }
- break;
-
- case 80:
-#line 605 "getdate.y"
- { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
- break;
-
- case 81:
-#line 610 "getdate.y"
- { (yyval.intval) = MER24; }
- break;
-
- case 82:
-#line 612 "getdate.y"
- { (yyval.intval) = (yyvsp[(1) - (1)].intval); }
- break;
-
-
-/* Line 1267 of yacc.c. */
-#line 2177 "getdate.c"
- default: break;
- }
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;
-
-
- /* Now `shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (pc, YY_("syntax error"));
-#else
- {
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (pc, yymsg);
- }
- else
- {
- yyerror (pc, YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
- }
-#endif
- }
-
-
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse look-ahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval, pc);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse look-ahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
- /* Do not reclaim the symbols of the rule which action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp, pc);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- *++yyvsp = yylval;
-
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#ifndef yyoverflow
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (pc, YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
-#endif
-
-yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval, pc);
- /* Do not reclaim the symbols of the rule which action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp, pc);
- YYPOPSTACK (1);
- }
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
-}
-
-
-#line 615 "getdate.y"
-
-
-static table const meridian_table[] =
-{
- { "AM", tMERIDIAN, MERam },
- { "A.M.", tMERIDIAN, MERam },
- { "PM", tMERIDIAN, MERpm },
- { "P.M.", tMERIDIAN, MERpm },
- { NULL, 0, 0 }
-};
-
-static table const dst_table[] =
-{
- { "DST", tDST, 0 }
-};
-
-static table const month_and_day_table[] =
-{
- { "JANUARY", tMONTH, 1 },
- { "FEBRUARY", tMONTH, 2 },
- { "MARCH", tMONTH, 3 },
- { "APRIL", tMONTH, 4 },
- { "MAY", tMONTH, 5 },
- { "JUNE", tMONTH, 6 },
- { "JULY", tMONTH, 7 },
- { "AUGUST", tMONTH, 8 },
- { "SEPTEMBER",tMONTH, 9 },
- { "SEPT", tMONTH, 9 },
- { "OCTOBER", tMONTH, 10 },
- { "NOVEMBER", tMONTH, 11 },
- { "DECEMBER", tMONTH, 12 },
- { "SUNDAY", tDAY, 0 },
- { "MONDAY", tDAY, 1 },
- { "TUESDAY", tDAY, 2 },
- { "TUES", tDAY, 2 },
- { "WEDNESDAY",tDAY, 3 },
- { "WEDNES", tDAY, 3 },
- { "THURSDAY", tDAY, 4 },
- { "THUR", tDAY, 4 },
- { "THURS", tDAY, 4 },
- { "FRIDAY", tDAY, 5 },
- { "SATURDAY", tDAY, 6 },
- { NULL, 0, 0 }
-};
-
-static table const time_units_table[] =
-{
- { "YEAR", tYEAR_UNIT, 1 },
- { "MONTH", tMONTH_UNIT, 1 },
- { "FORTNIGHT",tDAY_UNIT, 14 },
- { "WEEK", tDAY_UNIT, 7 },
- { "DAY", tDAY_UNIT, 1 },
- { "HOUR", tHOUR_UNIT, 1 },
- { "MINUTE", tMINUTE_UNIT, 1 },
- { "MIN", tMINUTE_UNIT, 1 },
- { "SECOND", tSEC_UNIT, 1 },
- { "SEC", tSEC_UNIT, 1 },
- { NULL, 0, 0 }
-};
-
-/* Assorted relative-time words. */
-static table const relative_time_table[] =
-{
- { "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 },
- { "FIRST", tORDINAL, 1 },
-/*{ "SECOND", tORDINAL, 2 }, */
- { "THIRD", tORDINAL, 3 },
- { "FOURTH", tORDINAL, 4 },
- { "FIFTH", tORDINAL, 5 },
- { "SIXTH", tORDINAL, 6 },
- { "SEVENTH", tORDINAL, 7 },
- { "EIGHTH", tORDINAL, 8 },
- { "NINTH", tORDINAL, 9 },
- { "TENTH", tORDINAL, 10 },
- { "ELEVENTH", tORDINAL, 11 },
- { "TWELFTH", tORDINAL, 12 },
- { "AGO", tAGO, 1 },
- { NULL, 0, 0 }
-};
-
-/* The universal time zone table. These labels can be used even for
- time stamps that would not otherwise be valid, e.g., GMT time
- stamps in London during summer. */
-static table const universal_time_zone_table[] =
-{
- { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */
- { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
- { "UTC", tZONE, HOUR ( 0) },
- { NULL, 0, 0 }
-};
-
-/* The time zone table. This table is necessarily incomplete, as time
- zone abbreviations are ambiguous; e.g. Australians interpret "EST"
- as Eastern time in Australia, not as US Eastern Standard Time.
- You cannot rely on getdate to handle arbitrary time zone
- abbreviations; use numeric abbreviations like `-0500' instead. */
-static table const time_zone_table[] =
-{
- { "WET", tZONE, HOUR ( 0) }, /* Western European */
- { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */
- { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */
- { "ART", tZONE, -HOUR ( 3) }, /* Argentina */
- { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */
- { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */
- { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */
- { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */
- { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */
- { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */
- { "CLT", tZONE, -HOUR ( 4) }, /* Chile */
- { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */
- { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */
- { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */
- { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */
- { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */
- { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */
- { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */
- { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */
- { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */
- { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */
- { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */
- { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */
- { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */
- { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */
- { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */
- { "WAT", tZONE, HOUR ( 1) }, /* West Africa */
- { "CET", tZONE, HOUR ( 1) }, /* Central European */
- { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */
- { "MET", tZONE, HOUR ( 1) }, /* Middle European */
- { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */
- { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
- { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
- { "EET", tZONE, HOUR ( 2) }, /* Eastern European */
- { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */
- { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */
- { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */
- { "EAT", tZONE, HOUR ( 3) }, /* East Africa */
- { "MSK", tZONE, HOUR ( 3) }, /* Moscow */
- { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */
- { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */
- { "SGT", tZONE, HOUR ( 8) }, /* Singapore */
- { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */
- { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */
- { "GST", tZONE, HOUR (10) }, /* Guam Standard */
- { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */
- { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */
- { NULL, 0, 0 }
-};
-
-/* Military time zone table. */
-static table const military_table[] =
-{
- { "A", tZONE, -HOUR ( 1) },
- { "B", tZONE, -HOUR ( 2) },
- { "C", tZONE, -HOUR ( 3) },
- { "D", tZONE, -HOUR ( 4) },
- { "E", tZONE, -HOUR ( 5) },
- { "F", tZONE, -HOUR ( 6) },
- { "G", tZONE, -HOUR ( 7) },
- { "H", tZONE, -HOUR ( 8) },
- { "I", tZONE, -HOUR ( 9) },
- { "K", tZONE, -HOUR (10) },
- { "L", tZONE, -HOUR (11) },
- { "M", tZONE, -HOUR (12) },
- { "N", tZONE, HOUR ( 1) },
- { "O", tZONE, HOUR ( 2) },
- { "P", tZONE, HOUR ( 3) },
- { "Q", tZONE, HOUR ( 4) },
- { "R", tZONE, HOUR ( 5) },
- { "S", tZONE, HOUR ( 6) },
- { "T", tZONE, HOUR ( 7) },
- { "U", tZONE, HOUR ( 8) },
- { "V", tZONE, HOUR ( 9) },
- { "W", tZONE, HOUR (10) },
- { "X", tZONE, HOUR (11) },
- { "Y", tZONE, HOUR (12) },
- { "Z", tZONE, HOUR ( 0) },
- { NULL, 0, 0 }
-};
-
-\f
-
-/* 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. 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 (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)
- n_minutes = (s.value / 100) * 60 + s.value % 100;
- else
- 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
-to_hour (long int hours, int meridian)
-{
- switch (meridian)
- {
- default: /* Pacify GCC. */
- case MER24:
- return 0 <= hours && hours < 24 ? hours : -1;
- case MERam:
- return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1;
- case MERpm:
- return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1;
- }
-}
-
-static long int
-to_year (textint textyear)
-{
- long int year = textyear.value;
-
- if (year < 0)
- year = -year;
-
- /* XPG4 suggests that years 00-68 map to 2000-2068, and
- years 69-99 map to 1969-1999. */
- else if (textyear.digits == 2)
- year += year < 69 ? 2000 : 1900;
-
- return year;
-}
-
-static table const *
-lookup_zone (parser_control const *pc, char const *name)
-{
- table const *tp;
-
- for (tp = universal_time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- /* Try local zone abbreviations before those in time_zone_table, as
- the local ones are more likely to be right. */
- for (tp = pc->local_time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- for (tp = time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- return NULL;
-}
-
-#if ! HAVE_TM_GMTOFF
-/* Yield the difference between *A and *B,
- measured in seconds, ignoring leap seconds.
- The body of this function is taken directly from the GNU C Library;
- see src/strftime.c. */
-static long int
-tm_diff (struct tm const *a, struct tm const *b)
-{
- /* Compute intervening leap days correctly even if year is negative.
- Take care to avoid int overflow in leap day calculations. */
- int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3);
- int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3);
- int a100 = a4 / 25 - (a4 % 25 < 0);
- int b100 = b4 / 25 - (b4 % 25 < 0);
- int a400 = SHR (a100, 2);
- int b400 = SHR (b100, 2);
- int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
- long int ayear = a->tm_year;
- long int years = ayear - b->tm_year;
- long int days = (365 * years + intervening_leap_days
- + (a->tm_yday - b->tm_yday));
- return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
- + (a->tm_min - b->tm_min))
- + (a->tm_sec - b->tm_sec));
-}
-#endif /* ! HAVE_TM_GMTOFF */
-
-static table const *
-lookup_word (parser_control const *pc, char *word)
-{
- char *p;
- char *q;
- size_t wordlen;
- table const *tp;
- bool period_found;
- bool abbrev;
-
- /* Make it uppercase. */
- for (p = word; *p; p++)
- {
- unsigned char ch = *p;
- *p = c_toupper (ch);
- }
-
- for (tp = meridian_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* See if we have an abbreviation for a month. */
- wordlen = strlen (word);
- abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.');
-
- for (tp = month_and_day_table; tp->name; tp++)
- if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0)
- return tp;
-
- if ((tp = lookup_zone (pc, word)))
- return tp;
-
- if (strcmp (word, dst_table[0].name) == 0)
- return dst_table;
-
- for (tp = time_units_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* Strip off any plural and try the units table again. */
- if (word[wordlen - 1] == 'S')
- {
- word[wordlen - 1] = '\0';
- for (tp = time_units_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
- word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */
- }
-
- for (tp = relative_time_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* Military time zones. */
- if (wordlen == 1)
- for (tp = military_table; tp->name; tp++)
- if (word[0] == tp->name[0])
- return tp;
-
- /* Drop out any periods and try the time zone table again. */
- for (period_found = false, p = q = word; (*p = *q); q++)
- if (*q == '.')
- period_found = true;
- else
- p++;
- if (period_found && (tp = lookup_zone (pc, word)))
- return tp;
-
- return NULL;
-}
-
-static int
-yylex (YYSTYPE *lvalp, parser_control *pc)
-{
- unsigned char c;
- size_t count;
-
- for (;;)
- {
- while (c = *pc->input, c_isspace (c))
- pc->input++;
-
- if (ISDIGIT (c) || c == '-' || c == '+')
- {
- char const *p;
- int sign;
- unsigned long int value;
- if (c == '-' || c == '+')
- {
- sign = c == '-' ? -1 : 1;
- while (c = *++pc->input, c_isspace (c))
- continue;
- if (! ISDIGIT (c))
- /* skip the '-' sign */
- continue;
- }
- else
- sign = 0;
- p = pc->input;
- for (value = 0; ; value *= 10)
- {
- unsigned long int value1 = value + (c - '0');
- if (value1 < value)
- return '?';
- value = value1;
- c = *++p;
- if (! ISDIGIT (c))
- break;
- if (ULONG_MAX / 10 < value)
- return '?';
- }
- if ((c == '.' || c == ',') && ISDIGIT (p[1]))
- {
- time_t s;
- int ns;
- int digits;
- unsigned long int value1;
-
- /* Check for overflow when converting value to time_t. */
- if (sign < 0)
- {
- s = - value;
- if (0 < s)
- return '?';
- value1 = -s;
- }
- else
- {
- s = value;
- if (s < 0)
- return '?';
- value1 = s;
- }
- if (value != value1)
- return '?';
-
- /* Accumulate fraction, to ns precision. */
- p++;
- ns = *p++ - '0';
- for (digits = 2; digits <= LOG10_BILLION; digits++)
- {
- ns *= 10;
- if (ISDIGIT (*p))
- ns += *p++ - '0';
- }
-
- /* Skip excess digits, truncating toward -Infinity. */
- if (sign < 0)
- for (; ISDIGIT (*p); p++)
- if (*p != '0')
- {
- ns++;
- break;
- }
- while (ISDIGIT (*p))
- p++;
-
- /* Adjust to the timespec convention, which is that
- tv_nsec is always a positive offset even if tv_sec is
- negative. */
- if (sign < 0 && ns)
- {
- s--;
- if (! (s < 0))
- return '?';
- ns = BILLION - ns;
- }
-
- lvalp->timespec.tv_sec = s;
- lvalp->timespec.tv_nsec = ns;
- pc->input = p;
- return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER;
- }
- else
- {
- lvalp->textintval.negative = sign < 0;
- if (sign < 0)
- {
- lvalp->textintval.value = - value;
- if (0 < lvalp->textintval.value)
- return '?';
- }
- else
- {
- lvalp->textintval.value = value;
- if (lvalp->textintval.value < 0)
- return '?';
- }
- lvalp->textintval.digits = p - pc->input;
- pc->input = p;
- return sign ? tSNUMBER : tUNUMBER;
- }
- }
-
- if (c_isalpha (c))
- {
- char buff[20];
- char *p = buff;
- table const *tp;
-
- do
- {
- if (p < buff + sizeof buff - 1)
- *p++ = c;
- c = *++pc->input;
- }
- while (c_isalpha (c) || c == '.');
-
- *p = '\0';
- tp = lookup_word (pc, buff);
- if (! tp)
- return '?';
- lvalp->intval = tp->value;
- return tp->type;
- }
-
- if (c != '(')
- return *pc->input++;
- count = 0;
- do
- {
- c = *pc->input++;
- if (c == '\0')
- return c;
- if (c == '(')
- count++;
- else if (c == ')')
- count--;
- }
- while (count != 0);
- }
-}
-
-/* Do nothing if the parser reports an error. */
-static int
-yyerror (parser_control const *pc _GL_UNUSED,
- char const *s _GL_UNUSED)
-{
- return 0;
-}
-
-/* If *TM0 is the old and *TM1 is the new value of a struct tm after
- passing it to mktime, return true if it's OK that mktime returned T.
- It's not OK if *TM0 has out-of-range members. */
-
-static bool
-mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t)
-{
- if (t == (time_t) -1)
- {
- /* Guard against falsely reporting an error when parsing a time
- stamp that happens to equal (time_t) -1, on a host that
- supports such a time stamp. */
- tm1 = localtime (&t);
- if (!tm1)
- return false;
- }
-
- return ! ((tm0->tm_sec ^ tm1->tm_sec)
- | (tm0->tm_min ^ tm1->tm_min)
- | (tm0->tm_hour ^ tm1->tm_hour)
- | (tm0->tm_mday ^ tm1->tm_mday)
- | (tm0->tm_mon ^ tm1->tm_mon)
- | (tm0->tm_year ^ tm1->tm_year));
-}
-
-/* A reasonable upper bound for the size of ordinary TZ strings.
- Use heap allocation if TZ's length exceeds this. */
-enum { TZBUFSIZE = 100 };
-
-/* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated
- otherwise. */
-static char *
-get_tz (char tzbuf[TZBUFSIZE])
-{
- char *tz = getenv ("TZ");
- if (tz)
- {
- size_t tzsize = strlen (tz) + 1;
- tz = (tzsize <= TZBUFSIZE
- ? memcpy (tzbuf, tz, tzsize)
- : xmemdup (tz, tzsize));
- }
- return tz;
-}
-
-/* Parse a date/time string, storing the resulting time value into *RESULT.
- The string itself is pointed to by P. Return true if successful.
- P can be an incomplete or relative time specification; if so, use
- *NOW as the basis for the returned time. */
-bool
-get_date (struct timespec *result, char const *p, struct timespec const *now)
-{
- time_t Start;
- long int Start_ns;
- struct tm const *tmp;
- struct tm tm;
- struct tm tm0;
- parser_control pc;
- struct timespec gettime_buffer;
- unsigned char c;
- bool tz_was_altered = false;
- char *tz0 = NULL;
- char tz0buf[TZBUFSIZE];
- bool ok = true;
-
- if (! now)
- {
- gettime (&gettime_buffer);
- now = &gettime_buffer;
- }
-
- Start = now->tv_sec;
- Start_ns = now->tv_nsec;
-
- tmp = localtime (&now->tv_sec);
- if (! tmp)
- return false;
-
- while (c = *p, c_isspace (c))
- p++;
-
- if (strncmp (p, "TZ=\"", 4) == 0)
- {
- char const *tzbase = p + 4;
- size_t tzsize = 1;
- char const *s;
-
- for (s = tzbase; *s; s++, tzsize++)
- if (*s == '\\')
- {
- s++;
- if (! (*s == '\\' || *s == '"'))
- break;
- }
- else if (*s == '"')
- {
- char *z;
- char *tz1;
- char tz1buf[TZBUFSIZE];
- bool large_tz = TZBUFSIZE < tzsize;
- bool setenv_ok;
- /* Free tz0, in case this is the 2nd or subsequent time through. */
- free (tz0);
- tz0 = get_tz (tz0buf);
- z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
- for (s = tzbase; *s != '"'; s++)
- *z++ = *(s += *s == '\\');
- *z = '\0';
- setenv_ok = setenv ("TZ", tz1, 1) == 0;
- if (large_tz)
- free (tz1);
- if (!setenv_ok)
- goto fail;
- tz_was_altered = true;
- p = s + 1;
- }
- }
-
- /* As documented, be careful to treat the empty string just like
- a date string of "0". Without this, an empty string would be
- declared invalid when parsed during a DST transition. */
- if (*p == '\0')
- p = "0";
-
- pc.input = p;
- pc.year.value = tmp->tm_year;
- pc.year.value += TM_YEAR_BASE;
- pc.year.digits = 0;
- pc.month = tmp->tm_mon + 1;
- pc.day = tmp->tm_mday;
- pc.hour = tmp->tm_hour;
- pc.minutes = tmp->tm_min;
- pc.seconds.tv_sec = tmp->tm_sec;
- pc.seconds.tv_nsec = Start_ns;
- tm.tm_isdst = tmp->tm_isdst;
-
- pc.meridian = MER24;
- pc.rel = RELATIVE_TIME_0;
- pc.timespec_seen = false;
- pc.rels_seen = false;
- pc.dates_seen = 0;
- pc.days_seen = 0;
- pc.times_seen = 0;
- pc.local_zones_seen = 0;
- pc.dsts_seen = 0;
- pc.zones_seen = 0;
-
-#if HAVE_STRUCT_TM_TM_ZONE
- pc.local_time_zone_table[0].name = tmp->tm_zone;
- pc.local_time_zone_table[0].type = tLOCAL_ZONE;
- pc.local_time_zone_table[0].value = tmp->tm_isdst;
- pc.local_time_zone_table[1].name = NULL;
-
- /* Probe the names used in the next three calendar quarters, looking
- for a tm_isdst different from the one we already have. */
- {
- int quarter;
- for (quarter = 1; quarter <= 3; quarter++)
- {
- time_t probe = Start + quarter * (90 * 24 * 60 * 60);
- struct tm const *probe_tm = localtime (&probe);
- if (probe_tm && probe_tm->tm_zone
- && probe_tm->tm_isdst != pc.local_time_zone_table[0].value)
- {
- {
- pc.local_time_zone_table[1].name = probe_tm->tm_zone;
- pc.local_time_zone_table[1].type = tLOCAL_ZONE;
- pc.local_time_zone_table[1].value = probe_tm->tm_isdst;
- pc.local_time_zone_table[2].name = NULL;
- }
- break;
- }
- }
- }
-#else
-#if HAVE_TZNAME
- {
-# if !HAVE_DECL_TZNAME
- extern char *tzname[];
-# endif
- int i;
- for (i = 0; i < 2; i++)
- {
- pc.local_time_zone_table[i].name = tzname[i];
- pc.local_time_zone_table[i].type = tLOCAL_ZONE;
- pc.local_time_zone_table[i].value = i;
- }
- pc.local_time_zone_table[i].name = NULL;
- }
-#else
- pc.local_time_zone_table[0].name = NULL;
-#endif
-#endif
-
- if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name
- && ! strcmp (pc.local_time_zone_table[0].name,
- pc.local_time_zone_table[1].name))
- {
- /* This locale uses the same abbrevation for standard and
- daylight times. So if we see that abbreviation, we don't
- know whether it's daylight time. */
- pc.local_time_zone_table[0].value = -1;
- pc.local_time_zone_table[1].name = NULL;
- }
-
- if (yyparse (&pc) != 0)
- goto fail;
-
- if (pc.timespec_seen)
- *result = pc.seconds;
- else
- {
- if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen
- | (pc.local_zones_seen + pc.zones_seen)))
- goto fail;
-
- tm.tm_year = to_year (pc.year) - TM_YEAR_BASE;
- tm.tm_mon = pc.month - 1;
- tm.tm_mday = pc.day;
- if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen))
- {
- tm.tm_hour = to_hour (pc.hour, pc.meridian);
- if (tm.tm_hour < 0)
- goto fail;
- tm.tm_min = pc.minutes;
- tm.tm_sec = pc.seconds.tv_sec;
- }
- else
- {
- tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
- pc.seconds.tv_nsec = 0;
- }
-
- /* Let mktime deduce tm_isdst if we have an absolute time stamp. */
- if (pc.dates_seen | pc.days_seen | pc.times_seen)
- tm.tm_isdst = -1;
-
- /* But if the input explicitly specifies local time with or without
- DST, give mktime that information. */
- if (pc.local_zones_seen)
- tm.tm_isdst = pc.local_isdst;
-
- tm0 = tm;
-
- Start = mktime (&tm);
-
- if (! mktime_ok (&tm0, &tm, Start))
- {
- if (! pc.zones_seen)
- goto fail;
- else
- {
- /* Guard against falsely reporting errors near the time_t
- boundaries when parsing times in other time zones. For
- example, suppose the input string "1969-12-31 23:00:00 -0100",
- the current time zone is 8 hours ahead of UTC, and the min
- time_t value is 1970-01-01 00:00:00 UTC. Then the min
- localtime value is 1970-01-01 08:00:00, and mktime will
- therefore fail on 1969-12-31 23:00:00. To work around the
- problem, set the time zone to 1 hour behind UTC temporarily
- by setting TZ="XXX1:00" and try mktime again. */
-
- long int time_zone = pc.time_zone;
- long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
- long int abs_time_zone_hour = abs_time_zone / 60;
- int abs_time_zone_min = abs_time_zone % 60;
- char tz1buf[sizeof "XXX+0:00"
- + sizeof pc.time_zone * CHAR_BIT / 3];
- if (!tz_was_altered)
- tz0 = get_tz (tz0buf);
- sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
- abs_time_zone_hour, abs_time_zone_min);
- if (setenv ("TZ", tz1buf, 1) != 0)
- goto fail;
- tz_was_altered = true;
- tm = tm0;
- Start = mktime (&tm);
- if (! mktime_ok (&tm0, &tm, Start))
- goto fail;
- }
- }
-
- if (pc.days_seen && ! pc.dates_seen)
- {
- tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7
- + 7 * (pc.day_ordinal
- - (0 < pc.day_ordinal
- && tm.tm_wday != pc.day_number)));
- tm.tm_isdst = -1;
- Start = mktime (&tm);
- if (Start == (time_t) -1)
- goto fail;
- }
-
- /* Add relative date. */
- if (pc.rel.year | pc.rel.month | pc.rel.day)
- {
- int year = tm.tm_year + pc.rel.year;
- int month = tm.tm_mon + pc.rel.month;
- int day = tm.tm_mday + pc.rel.day;
- if (((year < tm.tm_year) ^ (pc.rel.year < 0))
- | ((month < tm.tm_mon) ^ (pc.rel.month < 0))
- | ((day < tm.tm_mday) ^ (pc.rel.day < 0)))
- goto fail;
- tm.tm_year = year;
- tm.tm_mon = month;
- tm.tm_mday = day;
- tm.tm_hour = tm0.tm_hour;
- tm.tm_min = tm0.tm_min;
- tm.tm_sec = tm0.tm_sec;
- tm.tm_isdst = tm0.tm_isdst;
- Start = mktime (&tm);
- if (Start == (time_t) -1)
- 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
- leap second. Typically this is not what the user wants, but it's
- too hard to do it the other way, because the time zone indicator
- must be applied before relative times, and if mktime is applied
- again the time zone will be lost. */
- {
- long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
- long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
- time_t t0 = Start;
- long int d1 = 60 * 60 * pc.rel.hour;
- time_t t1 = t0 + d1;
- long int d2 = 60 * pc.rel.minutes;
- time_t t2 = t1 + d2;
- long_time_t d3 = pc.rel.seconds;
- long_time_t t3 = t2 + d3;
- long int d4 = (sum_ns - normalized_ns) / BILLION;
- long_time_t t4 = t3 + d4;
- time_t t5 = t4;
-
- if ((d1 / (60 * 60) ^ pc.rel.hour)
- | (d2 / 60 ^ pc.rel.minutes)
- | ((t1 < t0) ^ (d1 < 0))
- | ((t2 < t1) ^ (d2 < 0))
- | ((t3 < t2) ^ (d3 < 0))
- | ((t4 < t3) ^ (d4 < 0))
- | (t5 != t4))
- goto fail;
-
- result->tv_sec = t5;
- result->tv_nsec = normalized_ns;
- }
- }
-
- goto done;
-
- fail:
- ok = false;
- done:
- if (tz_was_altered)
- ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0;
- if (tz0 != tz0buf)
- free (tz0);
- return ok;
-}
-
-#if TEST
-
-int
-main (int ac, char **av)
-{
- char buff[BUFSIZ];
-
- printf ("Enter date, or blank line to exit.\n\t> ");
- fflush (stdout);
-
- buff[BUFSIZ - 1] = '\0';
- while (fgets (buff, BUFSIZ - 1, stdin) && buff[0])
- {
- struct timespec d;
- struct tm const *tm;
- if (! get_date (&d, buff, NULL))
- printf ("Bad format - couldn't convert.\n");
- else if (! (tm = localtime (&d.tv_sec)))
- {
- long int sec = d.tv_sec;
- printf ("localtime (%ld) failed\n", sec);
- }
- else
- {
- int ns = d.tv_nsec;
- printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n",
- tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
- tm->tm_hour, tm->tm_min, tm->tm_sec, ns);
- }
- printf ("\t> ");
- fflush (stdout);
- }
- return 0;
-}
-#endif /* TEST */
-
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Parse a string into an internal time stamp.
-
- Copyright (C) 1995, 1997, 1998, 2003, 2004, 2007, 2009, 2010 Free Software
- Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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 <stdbool.h>
-#include <time.h>
-
-bool get_date (struct timespec *, char const *, struct timespec const *);
+++ /dev/null
-%{
-/* Parse a string into an internal time stamp.
-
- Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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/>. */
-
-/* Originally written by Steven M. Bellovin <smb@research.att.com> while
- at the University of North Carolina at Chapel Hill. Later tweaked by
- a couple of people on Usenet. Completely overhauled by Rich $alz
- <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990.
-
- Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do
- the right thing about local DST. Also modified by Paul Eggert
- <eggert@cs.ucla.edu> in February 2004 to support
- nanosecond-resolution time stamps, and in October 2004 to support
- TZ strings in dates. */
-
-/* FIXME: Check for arithmetic overflow in all cases, not just
- some of them. */
-
-#include <config.h>
-
-#include "getdate.h"
-
-#include "intprops.h"
-#include "timespec.h"
-#include "verify.h"
-
-/* There's no need to extend the stack, so there's no need to involve
- alloca. */
-#define YYSTACK_USE_ALLOCA 0
-
-/* Tell Bison how much stack space is needed. 20 should be plenty for
- this grammar, which is not right recursive. Beware setting it too
- high, since that might cause problems on machines whose
- implementations have lame stack-overflow checking. */
-#define YYMAXDEPTH 20
-#define YYINITDEPTH YYMAXDEPTH
-
-/* Since the code of getdate.y is not included in the Emacs executable
- itself, there is no need to #define static in this file. Even if
- the code were included in the Emacs executable, it probably
- wouldn't do any harm to #undef it here; this will only cause
- problems if we try to write to a static variable, which I don't
- think this code needs to do. */
-#ifdef emacs
-# undef static
-#endif
-
-#include <c-ctype.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "xalloc.h"
-
-
-/* ISDIGIT differs from isdigit, as follows:
- - Its arg may be any int or unsigned int; it need not be an unsigned char
- or EOF.
- - It's typically faster.
- POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
- isdigit unless it's important to use the locale's definition
- of `digit' even when the host does not conform to POSIX. */
-#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
-
-/* Shift A right by B bits portably, by dividing A by 2**B and
- truncating towards minus infinity. A and B should be free of side
- effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
- INT_BITS is the number of useful bits in an int. GNU code can
- assume that INT_BITS is at least 32.
-
- ISO C99 says that A >> B is implementation-defined if A < 0. Some
- implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift
- right in the usual way when A < 0, so SHR falls back on division if
- ordinary A >> B doesn't seem to be the usual signed shift. */
-#define SHR(a, b) \
- (-1 >> 1 == -1 \
- ? (a) >> (b) \
- : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0))
-
-#define EPOCH_YEAR 1970
-#define TM_YEAR_BASE 1900
-
-#define HOUR(x) ((x) * 60)
-
-/* long_time_t is a signed integer type that contains all time_t values. */
-verify (TYPE_IS_INTEGER (time_t));
-#if TIME_T_FITS_IN_LONG_INT
-typedef long int long_time_t;
-#else
-typedef time_t long_time_t;
-#endif
-
-/* Lots of this code assumes time_t and time_t-like values fit into
- long_time_t. */
-verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t)
- && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t));
-
-/* FIXME: It also assumes that signed integer overflow silently wraps around,
- but this is not true any more with recent versions of GCC 4. */
-
-/* An integer value, and the number of digits in its textual
- representation. */
-typedef struct
-{
- bool negative;
- long int value;
- size_t digits;
-} textint;
-
-/* An entry in the lexical lookup table. */
-typedef struct
-{
- char const *name;
- int type;
- int value;
-} table;
-
-/* Meridian: am, pm, or 24-hour style. */
-enum { MERam, MERpm, MER24 };
-
-enum { BILLION = 1000000000, LOG10_BILLION = 9 };
-
-/* Relative times. */
-typedef struct
-{
- /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
- long int year;
- long int month;
- long int day;
- long int hour;
- long int minutes;
- long_time_t seconds;
- long int ns;
-} relative_time;
-
-#if HAVE_COMPOUND_LITERALS
-# define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 })
-#else
-static relative_time const RELATIVE_TIME_0;
-#endif
-
-/* Information passed to and from the parser. */
-typedef struct
-{
- /* The input string remaining to be parsed. */
- const char *input;
-
- /* N, if this is the Nth Tuesday. */
- long int day_ordinal;
-
- /* Day of week; Sunday is 0. */
- int day_number;
-
- /* tm_isdst flag for the local zone. */
- int local_isdst;
-
- /* Time zone, in minutes east of UTC. */
- long int time_zone;
-
- /* Style used for time. */
- int meridian;
-
- /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */
- textint year;
- long int month;
- long int day;
- long int hour;
- long int minutes;
- struct timespec seconds; /* includes nanoseconds */
-
- /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
- relative_time rel;
-
- /* Presence or counts of nonterminals of various flavors parsed so far. */
- bool timespec_seen;
- bool rels_seen;
- size_t dates_seen;
- size_t days_seen;
- size_t local_zones_seen;
- size_t dsts_seen;
- size_t times_seen;
- size_t zones_seen;
-
- /* Table of local time zone abbrevations, terminated by a null entry. */
- table local_time_zone_table[3];
-} parser_control;
-
-union YYSTYPE;
-static int yylex (union YYSTYPE *, parser_control *);
-static int yyerror (parser_control const *, char const *);
-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,
- YYYY, ...). */
-static void
-digits_to_date_time (parser_control *pc, textint text_int)
-{
- if (pc->dates_seen && ! pc->year.digits
- && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits))
- pc->year = text_int;
- else
- {
- if (4 < text_int.digits)
- {
- pc->dates_seen++;
- pc->day = text_int.value % 100;
- pc->month = (text_int.value / 100) % 100;
- pc->year.value = text_int.value / 10000;
- pc->year.digits = text_int.digits - 4;
- }
- else
- {
- pc->times_seen++;
- if (text_int.digits <= 2)
- {
- pc->hour = text_int.value;
- pc->minutes = 0;
- }
- else
- {
- pc->hour = text_int.value / 100;
- pc->minutes = text_int.value % 100;
- }
- pc->seconds.tv_sec = 0;
- pc->seconds.tv_nsec = 0;
- pc->meridian = MER24;
- }
- }
-}
-
-/* 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
- localtime and gmtime are not reentrant. */
-%pure-parser
-%parse-param { parser_control *pc }
-%lex-param { parser_control *pc }
-
-/* This grammar has 20 shift/reduce conflicts. */
-%expect 20
-
-%union
-{
- long int intval;
- textint textintval;
- struct timespec timespec;
- relative_time rel;
-}
-
-%token tAGO tDST
-
-%token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT
-%token <intval> tDAY_UNIT tDAY_SHIFT
-
-%token <intval> tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN
-%token <intval> tMONTH tORDINAL tZONE
-
-%token <textintval> tSNUMBER tUNUMBER
-%token <timespec> tSDECIMAL_NUMBER tUDECIMAL_NUMBER
-
-%type <intval> o_colon_minutes o_merid
-%type <timespec> seconds signed_seconds unsigned_seconds
-
-%type <rel> relunit relunit_snumber dayshift
-
-%%
-
-spec:
- timespec
- | items
- ;
-
-timespec:
- '@' seconds
- {
- pc->seconds = $2;
- pc->timespec_seen = true;
- }
- ;
-
-items:
- /* empty */
- | items item
- ;
-
-item:
- time
- { pc->times_seen++; }
- | local_zone
- { pc->local_zones_seen++; }
- | zone
- { pc->zones_seen++; }
- | date
- { pc->dates_seen++; }
- | day
- { pc->days_seen++; }
- | rel
- | number
- | hybrid
- ;
-
-time:
- tUNUMBER tMERIDIAN
- {
- set_hhmmss (pc, $1.value, 0, 0, 0);
- pc->meridian = $2;
- }
- | tUNUMBER ':' tUNUMBER o_merid
- {
- set_hhmmss (pc, $1.value, $3.value, 0, 0);
- pc->meridian = $4;
- }
- | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes
- {
- set_hhmmss (pc, $1.value, $3.value, 0, 0);
- pc->meridian = MER24;
- pc->zones_seen++;
- pc->time_zone = time_zone_hhmm (pc, $4, $5);
- }
- | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid
- {
- set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec);
- pc->meridian = $6;
- }
- | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes
- {
- 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 (pc, $6, $7);
- }
- ;
-
-local_zone:
- tLOCAL_ZONE
- {
- pc->local_isdst = $1;
- pc->dsts_seen += (0 < $1);
- }
- | tLOCAL_ZONE tDST
- {
- pc->local_isdst = 1;
- pc->dsts_seen += (0 < $1) + 1;
- }
- ;
-
-zone:
- tZONE
- { pc->time_zone = $1; }
- | tZONE relunit_snumber
- { pc->time_zone = $1;
- apply_relative_time (pc, $2, 1); }
- | tZONE tSNUMBER o_colon_minutes
- { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); }
- | tDAYZONE
- { pc->time_zone = $1 + 60; }
- | tZONE tDST
- { pc->time_zone = $1 + 60; }
- ;
-
-day:
- tDAY
- {
- pc->day_ordinal = 0;
- pc->day_number = $1;
- }
- | tDAY ','
- {
- pc->day_ordinal = 0;
- pc->day_number = $1;
- }
- | tORDINAL tDAY
- {
- pc->day_ordinal = $1;
- pc->day_number = $2;
- }
- | tUNUMBER tDAY
- {
- pc->day_ordinal = $1.value;
- pc->day_number = $2;
- }
- ;
-
-date:
- tUNUMBER '/' tUNUMBER
- {
- pc->month = $1.value;
- pc->day = $3.value;
- }
- | tUNUMBER '/' tUNUMBER '/' tUNUMBER
- {
- /* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
- otherwise as MM/DD/YY.
- The goal in recognizing YYYY/MM/DD is solely to support legacy
- machine-generated dates like those in an RCS log listing. If
- you want portability, use the ISO 8601 format. */
- if (4 <= $1.digits)
- {
- pc->year = $1;
- pc->month = $3.value;
- pc->day = $5.value;
- }
- else
- {
- pc->month = $1.value;
- pc->day = $3.value;
- pc->year = $5;
- }
- }
- | tUNUMBER tSNUMBER tSNUMBER
- {
- /* ISO 8601 format. YYYY-MM-DD. */
- pc->year = $1;
- pc->month = -$2.value;
- pc->day = -$3.value;
- }
- | tUNUMBER tMONTH tSNUMBER
- {
- /* e.g. 17-JUN-1992. */
- pc->day = $1.value;
- pc->month = $2;
- pc->year.value = -$3.value;
- pc->year.digits = $3.digits;
- }
- | tMONTH tSNUMBER tSNUMBER
- {
- /* e.g. JUN-17-1992. */
- pc->month = $1;
- pc->day = -$2.value;
- pc->year.value = -$3.value;
- pc->year.digits = $3.digits;
- }
- | tMONTH tUNUMBER
- {
- pc->month = $1;
- pc->day = $2.value;
- }
- | tMONTH tUNUMBER ',' tUNUMBER
- {
- pc->month = $1;
- pc->day = $2.value;
- pc->year = $4;
- }
- | tUNUMBER tMONTH
- {
- pc->day = $1.value;
- pc->month = $2;
- }
- | tUNUMBER tMONTH tUNUMBER
- {
- pc->day = $1.value;
- pc->month = $2;
- pc->year = $3;
- }
- ;
-
-rel:
- relunit tAGO
- { apply_relative_time (pc, $1, -1); }
- | relunit
- { apply_relative_time (pc, $1, 1); }
- | dayshift
- { apply_relative_time (pc, $1, 1); }
- ;
-
-relunit:
- tORDINAL tYEAR_UNIT
- { $$ = RELATIVE_TIME_0; $$.year = $1; }
- | tUNUMBER tYEAR_UNIT
- { $$ = RELATIVE_TIME_0; $$.year = $1.value; }
- | tYEAR_UNIT
- { $$ = RELATIVE_TIME_0; $$.year = 1; }
- | tORDINAL tMONTH_UNIT
- { $$ = RELATIVE_TIME_0; $$.month = $1; }
- | tUNUMBER tMONTH_UNIT
- { $$ = RELATIVE_TIME_0; $$.month = $1.value; }
- | tMONTH_UNIT
- { $$ = RELATIVE_TIME_0; $$.month = 1; }
- | tORDINAL tDAY_UNIT
- { $$ = RELATIVE_TIME_0; $$.day = $1 * $2; }
- | tUNUMBER tDAY_UNIT
- { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; }
- | tDAY_UNIT
- { $$ = RELATIVE_TIME_0; $$.day = $1; }
- | tORDINAL tHOUR_UNIT
- { $$ = RELATIVE_TIME_0; $$.hour = $1; }
- | tUNUMBER tHOUR_UNIT
- { $$ = RELATIVE_TIME_0; $$.hour = $1.value; }
- | tHOUR_UNIT
- { $$ = RELATIVE_TIME_0; $$.hour = 1; }
- | tORDINAL tMINUTE_UNIT
- { $$ = RELATIVE_TIME_0; $$.minutes = $1; }
- | tUNUMBER tMINUTE_UNIT
- { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; }
- | tMINUTE_UNIT
- { $$ = RELATIVE_TIME_0; $$.minutes = 1; }
- | tORDINAL tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = $1; }
- | tUNUMBER tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; }
- | tSDECIMAL_NUMBER tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; }
- | tUDECIMAL_NUMBER tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; }
- | tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = 1; }
- | relunit_snumber
- ;
-
-relunit_snumber:
- tSNUMBER tYEAR_UNIT
- { $$ = RELATIVE_TIME_0; $$.year = $1.value; }
- | tSNUMBER tMONTH_UNIT
- { $$ = RELATIVE_TIME_0; $$.month = $1.value; }
- | tSNUMBER tDAY_UNIT
- { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; }
- | tSNUMBER tHOUR_UNIT
- { $$ = RELATIVE_TIME_0; $$.hour = $1.value; }
- | tSNUMBER tMINUTE_UNIT
- { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; }
- | tSNUMBER tSEC_UNIT
- { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; }
- ;
-
-dayshift:
- tDAY_SHIFT
- { $$ = RELATIVE_TIME_0; $$.day = $1; }
- ;
-
-seconds: signed_seconds | unsigned_seconds;
-
-signed_seconds:
- tSDECIMAL_NUMBER
- | tSNUMBER
- { $$.tv_sec = $1.value; $$.tv_nsec = 0; }
- ;
-
-unsigned_seconds:
- tUDECIMAL_NUMBER
- | tUNUMBER
- { $$.tv_sec = $1.value; $$.tv_nsec = 0; }
- ;
-
-number:
- tUNUMBER
- { digits_to_date_time (pc, $1); }
- ;
-
-hybrid:
- tUNUMBER relunit_snumber
- {
- /* 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);
- apply_relative_time (pc, $2, 1);
- }
- ;
-
-o_colon_minutes:
- /* empty */
- { $$ = -1; }
- | ':' tUNUMBER
- { $$ = $2.value; }
- ;
-
-o_merid:
- /* empty */
- { $$ = MER24; }
- | tMERIDIAN
- { $$ = $1; }
- ;
-
-%%
-
-static table const meridian_table[] =
-{
- { "AM", tMERIDIAN, MERam },
- { "A.M.", tMERIDIAN, MERam },
- { "PM", tMERIDIAN, MERpm },
- { "P.M.", tMERIDIAN, MERpm },
- { NULL, 0, 0 }
-};
-
-static table const dst_table[] =
-{
- { "DST", tDST, 0 }
-};
-
-static table const month_and_day_table[] =
-{
- { "JANUARY", tMONTH, 1 },
- { "FEBRUARY", tMONTH, 2 },
- { "MARCH", tMONTH, 3 },
- { "APRIL", tMONTH, 4 },
- { "MAY", tMONTH, 5 },
- { "JUNE", tMONTH, 6 },
- { "JULY", tMONTH, 7 },
- { "AUGUST", tMONTH, 8 },
- { "SEPTEMBER",tMONTH, 9 },
- { "SEPT", tMONTH, 9 },
- { "OCTOBER", tMONTH, 10 },
- { "NOVEMBER", tMONTH, 11 },
- { "DECEMBER", tMONTH, 12 },
- { "SUNDAY", tDAY, 0 },
- { "MONDAY", tDAY, 1 },
- { "TUESDAY", tDAY, 2 },
- { "TUES", tDAY, 2 },
- { "WEDNESDAY",tDAY, 3 },
- { "WEDNES", tDAY, 3 },
- { "THURSDAY", tDAY, 4 },
- { "THUR", tDAY, 4 },
- { "THURS", tDAY, 4 },
- { "FRIDAY", tDAY, 5 },
- { "SATURDAY", tDAY, 6 },
- { NULL, 0, 0 }
-};
-
-static table const time_units_table[] =
-{
- { "YEAR", tYEAR_UNIT, 1 },
- { "MONTH", tMONTH_UNIT, 1 },
- { "FORTNIGHT",tDAY_UNIT, 14 },
- { "WEEK", tDAY_UNIT, 7 },
- { "DAY", tDAY_UNIT, 1 },
- { "HOUR", tHOUR_UNIT, 1 },
- { "MINUTE", tMINUTE_UNIT, 1 },
- { "MIN", tMINUTE_UNIT, 1 },
- { "SECOND", tSEC_UNIT, 1 },
- { "SEC", tSEC_UNIT, 1 },
- { NULL, 0, 0 }
-};
-
-/* Assorted relative-time words. */
-static table const relative_time_table[] =
-{
- { "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 },
- { "FIRST", tORDINAL, 1 },
-/*{ "SECOND", tORDINAL, 2 }, */
- { "THIRD", tORDINAL, 3 },
- { "FOURTH", tORDINAL, 4 },
- { "FIFTH", tORDINAL, 5 },
- { "SIXTH", tORDINAL, 6 },
- { "SEVENTH", tORDINAL, 7 },
- { "EIGHTH", tORDINAL, 8 },
- { "NINTH", tORDINAL, 9 },
- { "TENTH", tORDINAL, 10 },
- { "ELEVENTH", tORDINAL, 11 },
- { "TWELFTH", tORDINAL, 12 },
- { "AGO", tAGO, 1 },
- { NULL, 0, 0 }
-};
-
-/* The universal time zone table. These labels can be used even for
- time stamps that would not otherwise be valid, e.g., GMT time
- stamps in London during summer. */
-static table const universal_time_zone_table[] =
-{
- { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */
- { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
- { "UTC", tZONE, HOUR ( 0) },
- { NULL, 0, 0 }
-};
-
-/* The time zone table. This table is necessarily incomplete, as time
- zone abbreviations are ambiguous; e.g. Australians interpret "EST"
- as Eastern time in Australia, not as US Eastern Standard Time.
- You cannot rely on getdate to handle arbitrary time zone
- abbreviations; use numeric abbreviations like `-0500' instead. */
-static table const time_zone_table[] =
-{
- { "WET", tZONE, HOUR ( 0) }, /* Western European */
- { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */
- { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */
- { "ART", tZONE, -HOUR ( 3) }, /* Argentina */
- { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */
- { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */
- { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */
- { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */
- { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */
- { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */
- { "CLT", tZONE, -HOUR ( 4) }, /* Chile */
- { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */
- { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */
- { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */
- { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */
- { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */
- { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */
- { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */
- { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */
- { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */
- { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */
- { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */
- { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */
- { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */
- { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */
- { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */
- { "WAT", tZONE, HOUR ( 1) }, /* West Africa */
- { "CET", tZONE, HOUR ( 1) }, /* Central European */
- { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */
- { "MET", tZONE, HOUR ( 1) }, /* Middle European */
- { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */
- { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
- { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
- { "EET", tZONE, HOUR ( 2) }, /* Eastern European */
- { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */
- { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */
- { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */
- { "EAT", tZONE, HOUR ( 3) }, /* East Africa */
- { "MSK", tZONE, HOUR ( 3) }, /* Moscow */
- { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */
- { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */
- { "SGT", tZONE, HOUR ( 8) }, /* Singapore */
- { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */
- { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */
- { "GST", tZONE, HOUR (10) }, /* Guam Standard */
- { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */
- { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */
- { NULL, 0, 0 }
-};
-
-/* Military time zone table. */
-static table const military_table[] =
-{
- { "A", tZONE, -HOUR ( 1) },
- { "B", tZONE, -HOUR ( 2) },
- { "C", tZONE, -HOUR ( 3) },
- { "D", tZONE, -HOUR ( 4) },
- { "E", tZONE, -HOUR ( 5) },
- { "F", tZONE, -HOUR ( 6) },
- { "G", tZONE, -HOUR ( 7) },
- { "H", tZONE, -HOUR ( 8) },
- { "I", tZONE, -HOUR ( 9) },
- { "K", tZONE, -HOUR (10) },
- { "L", tZONE, -HOUR (11) },
- { "M", tZONE, -HOUR (12) },
- { "N", tZONE, HOUR ( 1) },
- { "O", tZONE, HOUR ( 2) },
- { "P", tZONE, HOUR ( 3) },
- { "Q", tZONE, HOUR ( 4) },
- { "R", tZONE, HOUR ( 5) },
- { "S", tZONE, HOUR ( 6) },
- { "T", tZONE, HOUR ( 7) },
- { "U", tZONE, HOUR ( 8) },
- { "V", tZONE, HOUR ( 9) },
- { "W", tZONE, HOUR (10) },
- { "X", tZONE, HOUR (11) },
- { "Y", tZONE, HOUR (12) },
- { "Z", tZONE, HOUR ( 0) },
- { NULL, 0, 0 }
-};
-
-\f
-
-/* 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. 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 (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)
- n_minutes = (s.value / 100) * 60 + s.value % 100;
- else
- 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
-to_hour (long int hours, int meridian)
-{
- switch (meridian)
- {
- default: /* Pacify GCC. */
- case MER24:
- return 0 <= hours && hours < 24 ? hours : -1;
- case MERam:
- return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1;
- case MERpm:
- return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1;
- }
-}
-
-static long int
-to_year (textint textyear)
-{
- long int year = textyear.value;
-
- if (year < 0)
- year = -year;
-
- /* XPG4 suggests that years 00-68 map to 2000-2068, and
- years 69-99 map to 1969-1999. */
- else if (textyear.digits == 2)
- year += year < 69 ? 2000 : 1900;
-
- return year;
-}
-
-static table const *
-lookup_zone (parser_control const *pc, char const *name)
-{
- table const *tp;
-
- for (tp = universal_time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- /* Try local zone abbreviations before those in time_zone_table, as
- the local ones are more likely to be right. */
- for (tp = pc->local_time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- for (tp = time_zone_table; tp->name; tp++)
- if (strcmp (name, tp->name) == 0)
- return tp;
-
- return NULL;
-}
-
-#if ! HAVE_TM_GMTOFF
-/* Yield the difference between *A and *B,
- measured in seconds, ignoring leap seconds.
- The body of this function is taken directly from the GNU C Library;
- see src/strftime.c. */
-static long int
-tm_diff (struct tm const *a, struct tm const *b)
-{
- /* Compute intervening leap days correctly even if year is negative.
- Take care to avoid int overflow in leap day calculations. */
- int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3);
- int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3);
- int a100 = a4 / 25 - (a4 % 25 < 0);
- int b100 = b4 / 25 - (b4 % 25 < 0);
- int a400 = SHR (a100, 2);
- int b400 = SHR (b100, 2);
- int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
- long int ayear = a->tm_year;
- long int years = ayear - b->tm_year;
- long int days = (365 * years + intervening_leap_days
- + (a->tm_yday - b->tm_yday));
- return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
- + (a->tm_min - b->tm_min))
- + (a->tm_sec - b->tm_sec));
-}
-#endif /* ! HAVE_TM_GMTOFF */
-
-static table const *
-lookup_word (parser_control const *pc, char *word)
-{
- char *p;
- char *q;
- size_t wordlen;
- table const *tp;
- bool period_found;
- bool abbrev;
-
- /* Make it uppercase. */
- for (p = word; *p; p++)
- {
- unsigned char ch = *p;
- *p = c_toupper (ch);
- }
-
- for (tp = meridian_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* See if we have an abbreviation for a month. */
- wordlen = strlen (word);
- abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.');
-
- for (tp = month_and_day_table; tp->name; tp++)
- if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0)
- return tp;
-
- if ((tp = lookup_zone (pc, word)))
- return tp;
-
- if (strcmp (word, dst_table[0].name) == 0)
- return dst_table;
-
- for (tp = time_units_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* Strip off any plural and try the units table again. */
- if (word[wordlen - 1] == 'S')
- {
- word[wordlen - 1] = '\0';
- for (tp = time_units_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
- word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */
- }
-
- for (tp = relative_time_table; tp->name; tp++)
- if (strcmp (word, tp->name) == 0)
- return tp;
-
- /* Military time zones. */
- if (wordlen == 1)
- for (tp = military_table; tp->name; tp++)
- if (word[0] == tp->name[0])
- return tp;
-
- /* Drop out any periods and try the time zone table again. */
- for (period_found = false, p = q = word; (*p = *q); q++)
- if (*q == '.')
- period_found = true;
- else
- p++;
- if (period_found && (tp = lookup_zone (pc, word)))
- return tp;
-
- return NULL;
-}
-
-static int
-yylex (YYSTYPE *lvalp, parser_control *pc)
-{
- unsigned char c;
- size_t count;
-
- for (;;)
- {
- while (c = *pc->input, c_isspace (c))
- pc->input++;
-
- if (ISDIGIT (c) || c == '-' || c == '+')
- {
- char const *p;
- int sign;
- unsigned long int value;
- if (c == '-' || c == '+')
- {
- sign = c == '-' ? -1 : 1;
- while (c = *++pc->input, c_isspace (c))
- continue;
- if (! ISDIGIT (c))
- /* skip the '-' sign */
- continue;
- }
- else
- sign = 0;
- p = pc->input;
- for (value = 0; ; value *= 10)
- {
- unsigned long int value1 = value + (c - '0');
- if (value1 < value)
- return '?';
- value = value1;
- c = *++p;
- if (! ISDIGIT (c))
- break;
- if (ULONG_MAX / 10 < value)
- return '?';
- }
- if ((c == '.' || c == ',') && ISDIGIT (p[1]))
- {
- time_t s;
- int ns;
- int digits;
- unsigned long int value1;
-
- /* Check for overflow when converting value to time_t. */
- if (sign < 0)
- {
- s = - value;
- if (0 < s)
- return '?';
- value1 = -s;
- }
- else
- {
- s = value;
- if (s < 0)
- return '?';
- value1 = s;
- }
- if (value != value1)
- return '?';
-
- /* Accumulate fraction, to ns precision. */
- p++;
- ns = *p++ - '0';
- for (digits = 2; digits <= LOG10_BILLION; digits++)
- {
- ns *= 10;
- if (ISDIGIT (*p))
- ns += *p++ - '0';
- }
-
- /* Skip excess digits, truncating toward -Infinity. */
- if (sign < 0)
- for (; ISDIGIT (*p); p++)
- if (*p != '0')
- {
- ns++;
- break;
- }
- while (ISDIGIT (*p))
- p++;
-
- /* Adjust to the timespec convention, which is that
- tv_nsec is always a positive offset even if tv_sec is
- negative. */
- if (sign < 0 && ns)
- {
- s--;
- if (! (s < 0))
- return '?';
- ns = BILLION - ns;
- }
-
- lvalp->timespec.tv_sec = s;
- lvalp->timespec.tv_nsec = ns;
- pc->input = p;
- return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER;
- }
- else
- {
- lvalp->textintval.negative = sign < 0;
- if (sign < 0)
- {
- lvalp->textintval.value = - value;
- if (0 < lvalp->textintval.value)
- return '?';
- }
- else
- {
- lvalp->textintval.value = value;
- if (lvalp->textintval.value < 0)
- return '?';
- }
- lvalp->textintval.digits = p - pc->input;
- pc->input = p;
- return sign ? tSNUMBER : tUNUMBER;
- }
- }
-
- if (c_isalpha (c))
- {
- char buff[20];
- char *p = buff;
- table const *tp;
-
- do
- {
- if (p < buff + sizeof buff - 1)
- *p++ = c;
- c = *++pc->input;
- }
- while (c_isalpha (c) || c == '.');
-
- *p = '\0';
- tp = lookup_word (pc, buff);
- if (! tp)
- return '?';
- lvalp->intval = tp->value;
- return tp->type;
- }
-
- if (c != '(')
- return *pc->input++;
- count = 0;
- do
- {
- c = *pc->input++;
- if (c == '\0')
- return c;
- if (c == '(')
- count++;
- else if (c == ')')
- count--;
- }
- while (count != 0);
- }
-}
-
-/* Do nothing if the parser reports an error. */
-static int
-yyerror (parser_control const *pc _GL_UNUSED,
- char const *s _GL_UNUSED)
-{
- return 0;
-}
-
-/* If *TM0 is the old and *TM1 is the new value of a struct tm after
- passing it to mktime, return true if it's OK that mktime returned T.
- It's not OK if *TM0 has out-of-range members. */
-
-static bool
-mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t)
-{
- if (t == (time_t) -1)
- {
- /* Guard against falsely reporting an error when parsing a time
- stamp that happens to equal (time_t) -1, on a host that
- supports such a time stamp. */
- tm1 = localtime (&t);
- if (!tm1)
- return false;
- }
-
- return ! ((tm0->tm_sec ^ tm1->tm_sec)
- | (tm0->tm_min ^ tm1->tm_min)
- | (tm0->tm_hour ^ tm1->tm_hour)
- | (tm0->tm_mday ^ tm1->tm_mday)
- | (tm0->tm_mon ^ tm1->tm_mon)
- | (tm0->tm_year ^ tm1->tm_year));
-}
-
-/* A reasonable upper bound for the size of ordinary TZ strings.
- Use heap allocation if TZ's length exceeds this. */
-enum { TZBUFSIZE = 100 };
-
-/* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated
- otherwise. */
-static char *
-get_tz (char tzbuf[TZBUFSIZE])
-{
- char *tz = getenv ("TZ");
- if (tz)
- {
- size_t tzsize = strlen (tz) + 1;
- tz = (tzsize <= TZBUFSIZE
- ? memcpy (tzbuf, tz, tzsize)
- : xmemdup (tz, tzsize));
- }
- return tz;
-}
-
-/* Parse a date/time string, storing the resulting time value into *RESULT.
- The string itself is pointed to by P. Return true if successful.
- P can be an incomplete or relative time specification; if so, use
- *NOW as the basis for the returned time. */
-bool
-get_date (struct timespec *result, char const *p, struct timespec const *now)
-{
- time_t Start;
- long int Start_ns;
- struct tm const *tmp;
- struct tm tm;
- struct tm tm0;
- parser_control pc;
- struct timespec gettime_buffer;
- unsigned char c;
- bool tz_was_altered = false;
- char *tz0 = NULL;
- char tz0buf[TZBUFSIZE];
- bool ok = true;
-
- if (! now)
- {
- gettime (&gettime_buffer);
- now = &gettime_buffer;
- }
-
- Start = now->tv_sec;
- Start_ns = now->tv_nsec;
-
- tmp = localtime (&now->tv_sec);
- if (! tmp)
- return false;
-
- while (c = *p, c_isspace (c))
- p++;
-
- if (strncmp (p, "TZ=\"", 4) == 0)
- {
- char const *tzbase = p + 4;
- size_t tzsize = 1;
- char const *s;
-
- for (s = tzbase; *s; s++, tzsize++)
- if (*s == '\\')
- {
- s++;
- if (! (*s == '\\' || *s == '"'))
- break;
- }
- else if (*s == '"')
- {
- char *z;
- char *tz1;
- char tz1buf[TZBUFSIZE];
- bool large_tz = TZBUFSIZE < tzsize;
- bool setenv_ok;
- /* Free tz0, in case this is the 2nd or subsequent time through. */
- free (tz0);
- tz0 = get_tz (tz0buf);
- z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
- for (s = tzbase; *s != '"'; s++)
- *z++ = *(s += *s == '\\');
- *z = '\0';
- setenv_ok = setenv ("TZ", tz1, 1) == 0;
- if (large_tz)
- free (tz1);
- if (!setenv_ok)
- goto fail;
- tz_was_altered = true;
- p = s + 1;
- }
- }
-
- /* As documented, be careful to treat the empty string just like
- a date string of "0". Without this, an empty string would be
- declared invalid when parsed during a DST transition. */
- if (*p == '\0')
- p = "0";
-
- pc.input = p;
- pc.year.value = tmp->tm_year;
- pc.year.value += TM_YEAR_BASE;
- pc.year.digits = 0;
- pc.month = tmp->tm_mon + 1;
- pc.day = tmp->tm_mday;
- pc.hour = tmp->tm_hour;
- pc.minutes = tmp->tm_min;
- pc.seconds.tv_sec = tmp->tm_sec;
- pc.seconds.tv_nsec = Start_ns;
- tm.tm_isdst = tmp->tm_isdst;
-
- pc.meridian = MER24;
- pc.rel = RELATIVE_TIME_0;
- pc.timespec_seen = false;
- pc.rels_seen = false;
- pc.dates_seen = 0;
- pc.days_seen = 0;
- pc.times_seen = 0;
- pc.local_zones_seen = 0;
- pc.dsts_seen = 0;
- pc.zones_seen = 0;
-
-#if HAVE_STRUCT_TM_TM_ZONE
- pc.local_time_zone_table[0].name = tmp->tm_zone;
- pc.local_time_zone_table[0].type = tLOCAL_ZONE;
- pc.local_time_zone_table[0].value = tmp->tm_isdst;
- pc.local_time_zone_table[1].name = NULL;
-
- /* Probe the names used in the next three calendar quarters, looking
- for a tm_isdst different from the one we already have. */
- {
- int quarter;
- for (quarter = 1; quarter <= 3; quarter++)
- {
- time_t probe = Start + quarter * (90 * 24 * 60 * 60);
- struct tm const *probe_tm = localtime (&probe);
- if (probe_tm && probe_tm->tm_zone
- && probe_tm->tm_isdst != pc.local_time_zone_table[0].value)
- {
- {
- pc.local_time_zone_table[1].name = probe_tm->tm_zone;
- pc.local_time_zone_table[1].type = tLOCAL_ZONE;
- pc.local_time_zone_table[1].value = probe_tm->tm_isdst;
- pc.local_time_zone_table[2].name = NULL;
- }
- break;
- }
- }
- }
-#else
-#if HAVE_TZNAME
- {
-# if !HAVE_DECL_TZNAME
- extern char *tzname[];
-# endif
- int i;
- for (i = 0; i < 2; i++)
- {
- pc.local_time_zone_table[i].name = tzname[i];
- pc.local_time_zone_table[i].type = tLOCAL_ZONE;
- pc.local_time_zone_table[i].value = i;
- }
- pc.local_time_zone_table[i].name = NULL;
- }
-#else
- pc.local_time_zone_table[0].name = NULL;
-#endif
-#endif
-
- if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name
- && ! strcmp (pc.local_time_zone_table[0].name,
- pc.local_time_zone_table[1].name))
- {
- /* This locale uses the same abbrevation for standard and
- daylight times. So if we see that abbreviation, we don't
- know whether it's daylight time. */
- pc.local_time_zone_table[0].value = -1;
- pc.local_time_zone_table[1].name = NULL;
- }
-
- if (yyparse (&pc) != 0)
- goto fail;
-
- if (pc.timespec_seen)
- *result = pc.seconds;
- else
- {
- if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen
- | (pc.local_zones_seen + pc.zones_seen)))
- goto fail;
-
- tm.tm_year = to_year (pc.year) - TM_YEAR_BASE;
- tm.tm_mon = pc.month - 1;
- tm.tm_mday = pc.day;
- if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen))
- {
- tm.tm_hour = to_hour (pc.hour, pc.meridian);
- if (tm.tm_hour < 0)
- goto fail;
- tm.tm_min = pc.minutes;
- tm.tm_sec = pc.seconds.tv_sec;
- }
- else
- {
- tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
- pc.seconds.tv_nsec = 0;
- }
-
- /* Let mktime deduce tm_isdst if we have an absolute time stamp. */
- if (pc.dates_seen | pc.days_seen | pc.times_seen)
- tm.tm_isdst = -1;
-
- /* But if the input explicitly specifies local time with or without
- DST, give mktime that information. */
- if (pc.local_zones_seen)
- tm.tm_isdst = pc.local_isdst;
-
- tm0 = tm;
-
- Start = mktime (&tm);
-
- if (! mktime_ok (&tm0, &tm, Start))
- {
- if (! pc.zones_seen)
- goto fail;
- else
- {
- /* Guard against falsely reporting errors near the time_t
- boundaries when parsing times in other time zones. For
- example, suppose the input string "1969-12-31 23:00:00 -0100",
- the current time zone is 8 hours ahead of UTC, and the min
- time_t value is 1970-01-01 00:00:00 UTC. Then the min
- localtime value is 1970-01-01 08:00:00, and mktime will
- therefore fail on 1969-12-31 23:00:00. To work around the
- problem, set the time zone to 1 hour behind UTC temporarily
- by setting TZ="XXX1:00" and try mktime again. */
-
- long int time_zone = pc.time_zone;
- long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
- long int abs_time_zone_hour = abs_time_zone / 60;
- int abs_time_zone_min = abs_time_zone % 60;
- char tz1buf[sizeof "XXX+0:00"
- + sizeof pc.time_zone * CHAR_BIT / 3];
- if (!tz_was_altered)
- tz0 = get_tz (tz0buf);
- sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
- abs_time_zone_hour, abs_time_zone_min);
- if (setenv ("TZ", tz1buf, 1) != 0)
- goto fail;
- tz_was_altered = true;
- tm = tm0;
- Start = mktime (&tm);
- if (! mktime_ok (&tm0, &tm, Start))
- goto fail;
- }
- }
-
- if (pc.days_seen && ! pc.dates_seen)
- {
- tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7
- + 7 * (pc.day_ordinal
- - (0 < pc.day_ordinal
- && tm.tm_wday != pc.day_number)));
- tm.tm_isdst = -1;
- Start = mktime (&tm);
- if (Start == (time_t) -1)
- goto fail;
- }
-
- /* Add relative date. */
- if (pc.rel.year | pc.rel.month | pc.rel.day)
- {
- int year = tm.tm_year + pc.rel.year;
- int month = tm.tm_mon + pc.rel.month;
- int day = tm.tm_mday + pc.rel.day;
- if (((year < tm.tm_year) ^ (pc.rel.year < 0))
- | ((month < tm.tm_mon) ^ (pc.rel.month < 0))
- | ((day < tm.tm_mday) ^ (pc.rel.day < 0)))
- goto fail;
- tm.tm_year = year;
- tm.tm_mon = month;
- tm.tm_mday = day;
- tm.tm_hour = tm0.tm_hour;
- tm.tm_min = tm0.tm_min;
- tm.tm_sec = tm0.tm_sec;
- tm.tm_isdst = tm0.tm_isdst;
- Start = mktime (&tm);
- if (Start == (time_t) -1)
- 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
- leap second. Typically this is not what the user wants, but it's
- too hard to do it the other way, because the time zone indicator
- must be applied before relative times, and if mktime is applied
- again the time zone will be lost. */
- {
- long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
- long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
- time_t t0 = Start;
- long int d1 = 60 * 60 * pc.rel.hour;
- time_t t1 = t0 + d1;
- long int d2 = 60 * pc.rel.minutes;
- time_t t2 = t1 + d2;
- long_time_t d3 = pc.rel.seconds;
- long_time_t t3 = t2 + d3;
- long int d4 = (sum_ns - normalized_ns) / BILLION;
- long_time_t t4 = t3 + d4;
- time_t t5 = t4;
-
- if ((d1 / (60 * 60) ^ pc.rel.hour)
- | (d2 / 60 ^ pc.rel.minutes)
- | ((t1 < t0) ^ (d1 < 0))
- | ((t2 < t1) ^ (d2 < 0))
- | ((t3 < t2) ^ (d3 < 0))
- | ((t4 < t3) ^ (d4 < 0))
- | (t5 != t4))
- goto fail;
-
- result->tv_sec = t5;
- result->tv_nsec = normalized_ns;
- }
- }
-
- goto done;
-
- fail:
- ok = false;
- done:
- if (tz_was_altered)
- ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0;
- if (tz0 != tz0buf)
- free (tz0);
- return ok;
-}
-
-#if TEST
-
-int
-main (int ac, char **av)
-{
- char buff[BUFSIZ];
-
- printf ("Enter date, or blank line to exit.\n\t> ");
- fflush (stdout);
-
- buff[BUFSIZ - 1] = '\0';
- while (fgets (buff, BUFSIZ - 1, stdin) && buff[0])
- {
- struct timespec d;
- struct tm const *tm;
- if (! get_date (&d, buff, NULL))
- printf ("Bad format - couldn't convert.\n");
- else if (! (tm = localtime (&d.tv_sec)))
- {
- long int sec = d.tv_sec;
- printf ("localtime (%ld) failed\n", sec);
- }
- else
- {
- int ns = d.tv_nsec;
- printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n",
- tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
- tm->tm_hour, tm->tm_min, tm->tm_sec, ns);
- }
- printf ("\t> ");
- fflush (stdout);
- }
- return 0;
-}
-#endif /* TEST */
# include <wchar.h>
#endif
-#ifndef attribute_hidden
-# define attribute_hidden
-#endif
-
/* This version of `getopt' appears to the caller like standard Unix `getopt'
but it behaves differently for the user, since it allows the user
to intersperse the options with the other arguments.
int long_only, struct _getopt_data *d, int posixly_correct)
{
int print_errors = d->opterr;
- if (optstring[0] == ':')
- print_errors = 0;
if (argc < 1)
return -1;
posixly_correct);
d->__initialized = 1;
}
+ else if (optstring[0] == '-' || optstring[0] == '+')
+ optstring++;
+ if (optstring[0] == ':')
+ print_errors = 0;
/* Test whether ARGV[optind] points to a non-option argument.
Either it does not have option syntax, or there is an environment flag
char *buf;
if (__asprintf (&buf, _("\
-%s: option '%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
+%s: option '--%s' requires an argument\n"),
+ argv[0], pfound->name) >= 0)
{
_IO_flockfile (stderr);
}
#else
fprintf (stderr,
- _("%s: option '%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
+ _("%s: option '--%s' requires an argument\n"),
+ argv[0], pfound->name);
#endif
}
d->__nextchar += strlen (d->__nextchar);
{
char c = *d->__nextchar++;
- char *temp = strchr (optstring, c);
+ const char *temp = strchr (optstring, c);
/* Increment `optind' when we start to process its last character. */
if (*d->__nextchar == '\0')
++d->optind;
- if (temp == NULL || c == ':')
+ if (temp == NULL || c == ':' || c == ';')
{
if (print_errors)
{
pfound = p;
indfound = option_index;
}
- else
+ else if (long_only
+ || pfound->has_arg != p->has_arg
+ || pfound->flag != p->flag
+ || pfound->val != p->val)
/* Second or later nonexact match found. */
ambig = 1;
}
char *buf;
if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
+ argv[0], d->optarg) >= 0)
{
_IO_flockfile (stderr);
}
#else
fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]);
+ argv[0], d->optarg);
#endif
}
d->__nextchar += strlen (d->__nextchar);
char *buf;
if (__asprintf (&buf, _("\
-%s: option '%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
+%s: option '-W %s' requires an argument\n"),
+ argv[0], pfound->name) >= 0)
{
_IO_flockfile (stderr);
free (buf);
}
#else
- fprintf (stderr,
- _("%s: option '%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
+ fprintf (stderr, _("\
+%s: option '-W %s' requires an argument\n"),
+ argv[0], pfound->name);
#endif
}
d->__nextchar += strlen (d->__nextchar);
return optstring[0] == ':' ? ':' : '?';
}
}
+ else
+ d->optarg = NULL;
d->__nextchar += strlen (d->__nextchar);
if (longind != NULL)
*longind = option_index;
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. We must
also inform the replacement unistd.h to not recursively use
/* Reentrant versions which can handle parsing multiple argument
vectors at the same time. */
+/* Describe how to deal with options that follow non-option ARGV-elements.
+
+ If the caller did not specify anything,
+ the default is REQUIRE_ORDER if the environment variable
+ POSIXLY_CORRECT is defined, PERMUTE otherwise.
+
+ REQUIRE_ORDER means don't recognize them as options;
+ stop option processing when the first non-option is seen.
+ This is what Unix does.
+ This mode of operation is selected by either setting the environment
+ variable POSIXLY_CORRECT, or using `+' as the first character
+ of the list of option characters, or by calling getopt.
+
+ PERMUTE is the default. We permute the contents of ARGV as we
+ scan, so that eventually all the non-options are at the end.
+ This allows options to be given in any order, even with programs
+ that were not written to expect this.
+
+ RETURN_IN_ORDER is an option available to programs that were
+ written to expect options and other ARGV-elements in any order
+ and that care about the ordering of the two. We describe each
+ non-option ARGV-element as if it were the argument of an option
+ with character code 1. Using `-' as the first character of the
+ list of option characters selects this mode of operation.
+
+ The special argument `--' forces an end of option-scanning regardless
+ of the value of `ordering'. In the case of RETURN_IN_ORDER, only
+ `--' can cause `getopt' to return -1 with `optind' != ARGC. */
+
+enum __ord
+ {
+ REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+ };
+
/* Data type for reentrant functions. */
struct _getopt_data
{
by advancing to the next ARGV-element. */
char *__nextchar;
- /* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters, or by calling getopt.
-
- PERMUTE is the default. We permute the contents of ARGV as we
- scan, so that eventually all the non-options are at the end.
- This allows options to be given in any order, even with programs
- that were not written to expect this.
-
- RETURN_IN_ORDER is an option available to programs that were
- written to expect options and other ARGV-elements in any order
- and that care about the ordering of the two. We describe each
- non-option ARGV-element as if it were the argument of an option
- with character code 1. Using `-' as the first character of the
- list of option characters selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
- enum
- {
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
- } __ordering;
+ /* See __ord above. */
+ enum __ord __ordering;
/* If the POSIXLY_CORRECT environment variable is set
or getopt was called. */
((void) (Domainname), ngettext (Msgid1, Msgid2, N))
# undef dcngettext
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
- ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
+ ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N))
# undef textdomain
# define textdomain(Domainname) ((const char *) (Domainname))
# undef bindtextdomain
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* hash-pjw.c -- compute a hash value from a NUL-terminated string.
-
- Copyright (C) 2001, 2003, 2006, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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>
-
-#include "hash-pjw.h"
-
-#include <limits.h>
-
-#define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
-
-/* A hash function for NUL-terminated char* strings using
- the method described by Bruno Haible.
- See http://www.haible.de/bruno/hashfunc.html. */
-
-size_t
-hash_pjw (const void *x, size_t tablesize)
-{
- const char *s;
- size_t h = 0;
-
- for (s = x; *s; s++)
- h = *s + ((h << 9) | (h >> (SIZE_BITS - 9)));
-
- return h % tablesize;
-}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* hash-pjw.h -- declaration for a simple hash function
- Copyright (C) 2001, 2003, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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 <stddef.h>
-
-/* Compute a hash code for a NUL-terminated string starting at X,
- and return the hash code modulo TABLESIZE.
- The result is platform dependent: it depends on the size of the 'size_t'
- type and on the signedness of the 'char' type. */
-extern size_t hash_pjw (void const *x, size_t tablesize);
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Hash functions for file-related triples: name, device, inode.
- Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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 <config.h>
-
-#include "hash-triple.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "hash-pjw.h"
-#include "same.h"
-#include "same-inode.h"
-
-#define STREQ(a, b) (strcmp (a, b) == 0)
-
-/* Hash an F_triple, and *do* consider the file name. */
-size_t
-triple_hash (void const *x, size_t table_size)
-{
- struct F_triple const *p = x;
- size_t tmp = hash_pjw (p->name, table_size);
-
- /* Ignoring the device number here should be fine. */
- return (tmp ^ p->st_ino) % table_size;
-}
-
-/* Hash an F_triple, without considering the file name. */
-size_t
-triple_hash_no_name (void const *x, size_t table_size)
-{
- struct F_triple const *p = x;
-
- /* Ignoring the device number here should be fine. */
- return p->st_ino % table_size;
-}
-
-/* Compare two F_triple structs. */
-bool
-triple_compare (void const *x, void const *y)
-{
- struct F_triple const *a = x;
- struct F_triple const *b = y;
- return (SAME_INODE (*a, *b) && same_name (a->name, b->name)) ? true : false;
-}
-
-bool
-triple_compare_ino_str (void const *x, void const *y)
-{
- struct F_triple const *a = x;
- struct F_triple const *b = y;
- return (SAME_INODE (*a, *b) && STREQ (a->name, b->name)) ? true : false;
-}
-
-/* Free an F_triple. */
-void
-triple_free (void *x)
-{
- struct F_triple *a = x;
- free (a->name);
- free (a);
-}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#ifndef HASH_TRIPLE_H
-#define HASH_TRIPLE_H
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdbool.h>
-
-/* Describe a just-created or just-renamed destination file. */
-struct F_triple
-{
- char *name;
- ino_t st_ino;
- dev_t st_dev;
-};
-
-extern size_t triple_hash (void const *x, size_t table_size);
-extern size_t triple_hash_no_name (void const *x, size_t table_size);
-extern bool triple_compare (void const *x, void const *y);
-extern bool triple_compare_ino_str (void const *x, void const *y);
-extern void triple_free (void *x);
-
-#endif
(unsigned long int) max_bucket_length);
}
+/* Hash KEY and return a pointer to the selected bucket.
+ If TABLE->hasher misbehaves, abort. */
+static struct hash_entry *
+safe_hasher (const Hash_table *table, const void *key)
+{
+ size_t n = table->hasher (key, table->n_buckets);
+ if (! (n < table->n_buckets))
+ abort ();
+ return table->bucket + n;
+}
+
/* If ENTRY matches an entry already in the hash table, return the
entry from the table. Otherwise, return NULL. */
void *
hash_lookup (const Hash_table *table, const void *entry)
{
- struct hash_entry const *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
+ struct hash_entry const *bucket = safe_hasher (table, entry);
struct hash_entry const *cursor;
- if (! (bucket < table->bucket_limit))
- abort ();
-
if (bucket->data == NULL)
return NULL;
void *
hash_get_next (const Hash_table *table, const void *entry)
{
- struct hash_entry const *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
+ struct hash_entry const *bucket = safe_hasher (table, entry);
struct hash_entry const *cursor;
- if (! (bucket < table->bucket_limit))
- abort ();
-
/* Find next entry in the same bucket. */
- for (cursor = bucket; cursor; cursor = cursor->next)
- if (cursor->data == entry && cursor->next)
- return cursor->next->data;
+ cursor = bucket;
+ do
+ {
+ if (cursor->data == entry && cursor->next)
+ return cursor->next->data;
+ cursor = cursor->next;
+ }
+ while (cursor != NULL);
/* Find first entry in any subsequent bucket. */
while (++bucket < table->bucket_limit)
hash_find_entry (Hash_table *table, const void *entry,
struct hash_entry **bucket_head, bool delete)
{
- struct hash_entry *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
+ struct hash_entry *bucket = safe_hasher (table, entry);
struct hash_entry *cursor;
- if (! (bucket < table->bucket_limit))
- abort ();
-
*bucket_head = bucket;
/* Test for empty bucket. */
for (cursor = bucket->next; cursor; cursor = next)
{
data = cursor->data;
- new_bucket = (dst->bucket + dst->hasher (data, dst->n_buckets));
-
- if (! (new_bucket < dst->bucket_limit))
- abort ();
+ new_bucket = safe_hasher (dst, data);
next = cursor->next;
bucket->next = NULL;
if (safe)
continue;
- new_bucket = (dst->bucket + dst->hasher (data, dst->n_buckets));
-
- if (! (new_bucket < dst->bucket_limit))
- abort ();
+ new_bucket = safe_hasher (dst, data);
if (new_bucket->data)
{
return false;
}
-/* If ENTRY matches an entry already in the hash table, return the pointer
- to the entry from the table. Otherwise, insert ENTRY and return ENTRY.
- Return NULL if the storage required for insertion cannot be allocated.
- This implementation does not support duplicate entries or insertion of
- NULL. */
-
-void *
-hash_insert (Hash_table *table, const void *entry)
+/* Return -1 upon memory allocation failure.
+ Return 1 if insertion succeeded.
+ Return 0 if there is already a matching entry in the table,
+ and in that case, if MATCHED_ENT is non-NULL, set *MATCHED_ENT
+ to that entry.
+
+ This interface is easier to use than hash_insert when you must
+ distinguish between the latter two cases. More importantly,
+ hash_insert is unusable for some types of ENTRY values. When using
+ hash_insert, the only way to distinguish those cases is to compare
+ the return value and ENTRY. That works only when you can have two
+ different ENTRY values that point to data that compares "equal". Thus,
+ when the ENTRY value is a simple scalar, you must use hash_insert0.
+ ENTRY must not be NULL. */
+int
+hash_insert0 (Hash_table *table, void const *entry, void const **matched_ent)
{
void *data;
struct hash_entry *bucket;
- /* The caller cannot insert a NULL entry. */
+ /* The caller cannot insert a NULL entry, since hash_lookup returns NULL
+ to indicate "not found", and hash_find_entry uses "bucket->data == NULL"
+ to indicate an empty bucket. */
if (! entry)
abort ();
/* If there's a matching entry already in the table, return that. */
if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL)
- return data;
+ {
+ if (matched_ent)
+ *matched_ent = data;
+ return 0;
+ }
/* If the growth threshold of the buckets in use has been reached, increase
the table size and rehash. There's no point in checking the number of
* tuning->growth_threshold));
if (SIZE_MAX <= candidate)
- return NULL;
+ return -1;
/* If the rehash fails, arrange to return NULL. */
if (!hash_rehash (table, candidate))
- return NULL;
+ return -1;
/* Update the bucket we are interested in. */
if (hash_find_entry (table, entry, &bucket, false) != NULL)
struct hash_entry *new_entry = allocate_entry (table);
if (new_entry == NULL)
- return NULL;
+ return -1;
/* Add ENTRY in the overflow of the bucket. */
new_entry->next = bucket->next;
bucket->next = new_entry;
table->n_entries++;
- return (void *) entry;
+ return 1;
}
/* Add ENTRY right in the bucket head. */
table->n_entries++;
table->n_buckets_used++;
- return (void *) entry;
+ return 1;
+}
+
+/* If ENTRY matches an entry already in the hash table, return the pointer
+ to the entry from the table. Otherwise, insert ENTRY and return ENTRY.
+ Return NULL if the storage required for insertion cannot be allocated.
+ This implementation does not support duplicate entries or insertion of
+ NULL. */
+
+void *
+hash_insert (Hash_table *table, void const *entry)
+{
+ void const *matched_ent;
+ int err = hash_insert0 (table, entry, &matched_ent);
+ return (err == -1
+ ? NULL
+ : (void *) (err == 0 ? matched_ent : entry));
}
/* If ENTRY is already in the table, remove it and return the just-deleted
/* Insertion and deletion. */
bool hash_rehash (Hash_table *, size_t) ATTRIBUTE_WUR;
void *hash_insert (Hash_table *, const void *) ATTRIBUTE_WUR;
+int hash_insert0 (Hash_table *table, const void *entry,
+ const void **matched_ent);
void *hash_delete (Hash_table *, const void *);
#endif
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#define inttostr imaxtostr
+#define anytostr imaxtostr
#define inttype intmax_t
#define inttype_is_signed 1
-#include "inttostr.c"
+#include "anytostr.c"
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* inttostr.c -- convert integers to printable strings
-
- Copyright (C) 2001, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Paul Eggert */
-
-#include <config.h>
-
-#include "inttostr.h"
-#include "verify.h"
-
-/* Convert I to a printable string in BUF, which must be at least
- INT_BUFSIZE_BOUND (INTTYPE) bytes long. Return the address of the
- printable string, which need not start at BUF. */
-
-char *
-inttostr (inttype i, char *buf)
-{
- char *p = buf + INT_STRLEN_BOUND (inttype);
- *p = 0;
-
- verify (TYPE_SIGNED (inttype) == inttype_is_signed);
-#if inttype_is_signed
- if (i < 0)
- {
- do
- *--p = '0' - i % 10;
- while ((i /= 10) != 0);
-
- *--p = '-';
- }
- else
-#endif
- {
- do
- *--p = '0' + i % 10;
- while ((i /= 10) != 0);
- }
-
- return p;
-}
+#define anytostr inttostr
+#define inttype int
+#define inttype_is_signed 1
+#include "anytostr.c"
# 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 *inttostr (int, char *) __attribute_warn_unused_result__;
+char *offtostr (off_t, char *) __attribute_warn_unused_result__;
char *uinttostr (unsigned int, char *) __attribute_warn_unused_result__;
+char *umaxtostr (uintmax_t, char *) __attribute_warn_unused_result__;
* <http://www.opengroup.org/susv3xbd/inttypes.h.html>
*/
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
/* Include the original <inttypes.h> if it exists, and if this file
has not been included yet or if this file includes gnulib stdint.h
which in turn includes this file.
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
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_LANGINFO_H@
# define GNULIB_defined_CODESET 1
# endif
+# if !@HAVE_LANGINFO_T_FMT_AMPM@
+# define T_FMT_AMPM 10006
+# define GNULIB_defined_T_FMT_AMPM 1
+# endif
+
# if !@HAVE_LANGINFO_ERA@
# define ERA 10047
# define ERA_D_FMT 10048
# define GNULIB_defined_ERA 1
# endif
+# if !@HAVE_LANGINFO_YESEXPR@
+# define YESEXPR 10053
+# define NOEXPR 10054
+# define GNULIB_defined_YESEXPR 1
+# endif
+
#endif
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
int
rpl_lchown (const char *file, uid_t uid, gid_t gid)
{
- struct stat st;
bool stat_valid = false;
int result;
# if CHOWN_CHANGE_TIME_BUG
+ struct stat st;
+
if (gid != (gid_t) -1 || uid != (uid_t) -1)
{
if (lstat (file, &st))
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Emulate link on platforms that lack it, namely native Windows platforms.
+
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#if !HAVE_LINK
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+/* CreateHardLink was introduced only in Windows 2000. */
+typedef BOOL (WINAPI * CreateHardLinkFuncType) (LPCTSTR lpFileName,
+ LPCTSTR lpExistingFileName,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes);
+static CreateHardLinkFuncType CreateHardLinkFunc = NULL;
+static BOOL initialized = FALSE;
+
+static void
+initialize (void)
+{
+ HMODULE kernel32 = GetModuleHandle ("kernel32.dll");
+ if (kernel32 != NULL)
+ {
+ CreateHardLinkFunc =
+ (CreateHardLinkFuncType) GetProcAddress (kernel32, "CreateHardLinkA");
+ }
+ initialized = TRUE;
+}
+
+int
+link (const char *file1, const char *file2)
+{
+ char *dir;
+ size_t len1 = strlen (file1);
+ size_t len2 = strlen (file2);
+ if (!initialized)
+ initialize ();
+ if (CreateHardLinkFunc == NULL)
+ {
+ /* System does not support hard links. */
+ errno = EPERM;
+ return -1;
+ }
+ /* Reject trailing slashes on non-directories; mingw does not
+ support hard-linking directories. */
+ if ((len1 && (file1[len1 - 1] == '/' || file1[len1 - 1] == '\\'))
+ || (len2 && (file2[len2 - 1] == '/' || file2[len2 - 1] == '\\')))
+ {
+ struct stat st;
+ if (stat (file1, &st) == 0 && S_ISDIR (st.st_mode))
+ errno = EPERM;
+ else
+ errno = ENOTDIR;
+ return -1;
+ }
+ /* CreateHardLink("b/.","a",NULL) creates file "b", so we must check
+ that dirname(file2) exists. */
+ dir = strdup (file2);
+ if (!dir)
+ return -1;
+ {
+ struct stat st;
+ char *p = strchr (dir, '\0');
+ while (dir < p && (*--p != '/' && *p != '\\'));
+ *p = '\0';
+ if (p != dir && stat (dir, &st) == -1)
+ {
+ int saved_errno = errno;
+ free (dir);
+ errno = saved_errno;
+ return -1;
+ }
+ free (dir);
+ }
+ /* Now create the link. */
+ if (CreateHardLinkFunc (file2, file1, NULL) == 0)
+ {
+ /* It is not documented which errors CreateHardLink() can produce.
+ * The following conversions are based on tests on a Windows XP SP2
+ * system. */
+ DWORD err = GetLastError ();
+ switch (err)
+ {
+ case ERROR_ACCESS_DENIED:
+ errno = EACCES;
+ break;
+
+ case ERROR_INVALID_FUNCTION: /* fs does not support hard links */
+ errno = EPERM;
+ break;
+
+ case ERROR_NOT_SAME_DEVICE:
+ errno = EXDEV;
+ break;
+
+ case ERROR_PATH_NOT_FOUND:
+ case ERROR_FILE_NOT_FOUND:
+ errno = ENOENT;
+ break;
+
+ case ERROR_INVALID_PARAMETER:
+ errno = ENAMETOOLONG;
+ break;
+
+ case ERROR_TOO_MANY_LINKS:
+ errno = EMLINK;
+ break;
+
+ case ERROR_ALREADY_EXISTS:
+ errno = EEXIST;
+ break;
+
+ default:
+ errno = EIO;
+ }
+ return -1;
+ }
+
+ return 0;
+}
+
+# else /* !Windows */
+
+# error "This platform lacks a link function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib."
+
+# endif /* !Windows */
+#else /* HAVE_LINK */
+
+# undef link
+
+/* Create a hard link from FILE1 to FILE2, working around platform bugs. */
+int
+rpl_link (char const *file1, char const *file2)
+{
+ /* Reject trailing slashes on non-directories. */
+ size_t len1 = strlen (file1);
+ size_t len2 = strlen (file2);
+ if ((len1 && file1[len1 - 1] == '/')
+ || (len2 && file2[len2 - 1] == '/'))
+ {
+ /* Let link() decide whether hard-linking directories is legal.
+ If stat() fails, then link() should fail for the same reason
+ (although on Solaris 9, link("file/","oops") mistakenly
+ succeeds); if stat() succeeds, require a directory. */
+ struct stat st;
+ if (stat (file1, &st))
+ return -1;
+ if (!S_ISDIR (st.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ }
+ else
+ {
+ /* Fix Cygwin 1.5.x bug where link("a","b/.") creates file "b". */
+ char *dir = strdup (file2);
+ struct stat st;
+ char *p;
+ if (!dir)
+ return -1;
+ /* We already know file2 does not end in slash. Strip off the
+ basename, then check that the dirname exists. */
+ p = strrchr (dir, '/');
+ if (p)
+ {
+ *p = '\0';
+ if (stat (dir, &st) == -1)
+ {
+ int saved_errno = errno;
+ free (dir);
+ errno = saved_errno;
+ return -1;
+ }
+ }
+ free (dir);
+ }
+ return link (file1, file2);
+}
+#endif /* HAVE_LINK */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create a hard link relative to open directories.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
+#include "areadlink.h"
+#include "dirname.h"
+#include "filenamecat.h"
+#include "openat-priv.h"
+
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+#ifndef MAXSYMLINKS
+# ifdef SYMLOOP_MAX
+# define MAXSYMLINKS SYMLOOP_MAX
+# else
+# define MAXSYMLINKS 20
+# endif
+#endif
+
+#if !HAVE_LINKAT
+
+/* Create a link. If FILE1 is a symlink, either create a hardlink to
+ that symlink, or fake it by creating an identical symlink. */
+# if LINK_FOLLOWS_SYMLINKS == 0
+# define link_immediate link
+# else
+static int
+link_immediate (char const *file1, char const *file2)
+{
+ char *target = areadlink (file1);
+ if (target)
+ {
+ /* A symlink cannot be modified in-place. Therefore, creating
+ an identical symlink behaves like a hard link to a symlink,
+ except for incorrect st_ino and st_nlink. However, we must
+ be careful of EXDEV. */
+ struct stat st1;
+ struct stat st2;
+ char *dir = mdir_name (file2);
+ if (!dir)
+ {
+ free (target);
+ errno = ENOMEM;
+ return -1;
+ }
+ if (lstat (file1, &st1) == 0 && stat (dir, &st2) == 0)
+ {
+ if (st1.st_dev == st2.st_dev)
+ {
+ int result = symlink (target, file2);
+ int saved_errno = errno;
+ free (target);
+ free (dir);
+ errno = saved_errno;
+ return result;
+ }
+ free (target);
+ free (dir);
+ errno = EXDEV;
+ return -1;
+ }
+ free (target);
+ free (dir);
+ }
+ if (errno == ENOMEM)
+ return -1;
+ return link (file1, file2);
+}
+# endif /* LINK_FOLLOWS_SYMLINKS == 0 */
+
+/* Create a link. If FILE1 is a symlink, create a hardlink to the
+ canonicalized file. */
+# if 0 < LINK_FOLLOWS_SYMLINKS
+# define link_follow link
+# else
+static int
+link_follow (char const *file1, char const *file2)
+{
+ char *name = (char *) file1;
+ char *target;
+ int result;
+ int i = MAXSYMLINKS;
+
+ /* Using realpath or canonicalize_file_name is too heavy-handed: we
+ don't need an absolute name, and we don't need to resolve
+ intermediate symlinks, just the basename of each iteration. */
+ while (i-- && (target = areadlink (name)))
+ {
+ if (IS_ABSOLUTE_FILE_NAME (target))
+ {
+ if (name != file1)
+ free (name);
+ name = target;
+ }
+ else
+ {
+ char *dir = mdir_name (name);
+ if (name != file1)
+ free (name);
+ if (!dir)
+ {
+ free (target);
+ errno = ENOMEM;
+ return -1;
+ }
+ name = mfile_name_concat (dir, target, NULL);
+ free (dir);
+ free (target);
+ if (!name)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ }
+ }
+ if (i < 0)
+ {
+ target = NULL;
+ errno = ELOOP;
+ }
+ if (!target && errno != EINVAL)
+ {
+ if (name != file1)
+ {
+ int saved_errno = errno;
+ free (name);
+ errno = saved_errno;
+ }
+ return -1;
+ }
+ result = link (name, file2);
+ if (name != file1)
+ {
+ int saved_errno = errno;
+ free (name);
+ errno = saved_errno;
+ }
+ return result;
+}
+# endif /* 0 < LINK_FOLLOWS_SYMLINKS */
+
+/* Create a link to FILE1, in the directory open on descriptor FD1, to FILE2,
+ in the directory open on descriptor FD2. If FILE1 is a symlink, FLAG
+ controls whether to dereference FILE1 first. If possible, do it without
+ changing the working directory. Otherwise, resort to using
+ save_cwd/fchdir, then rename/restore_cwd. If either the save_cwd or
+ the restore_cwd fails, then give a diagnostic and exit nonzero. */
+
+int
+linkat (int fd1, char const *file1, int fd2, char const *file2, int flag)
+{
+ if (flag & ~AT_SYMLINK_FOLLOW)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ return at_func2 (fd1, file1, fd2, file2,
+ flag ? link_follow : link_immediate);
+}
+
+#else /* HAVE_LINKAT */
+
+# undef linkat
+
+/* Create a link. If FILE1 is a symlink, create a hardlink to the
+ canonicalized file. */
+
+static int
+linkat_follow (int fd1, char const *file1, int fd2, char const *file2)
+{
+ char *name = (char *) file1;
+ char *target;
+ int result;
+ int i = MAXSYMLINKS;
+
+ /* There is no realpathat. */
+ while (i-- && (target = areadlinkat (fd1, name)))
+ {
+ if (IS_ABSOLUTE_FILE_NAME (target))
+ {
+ if (name != file1)
+ free (name);
+ name = target;
+ }
+ else
+ {
+ char *dir = mdir_name (name);
+ if (name != file1)
+ free (name);
+ if (!dir)
+ {
+ free (target);
+ errno = ENOMEM;
+ return -1;
+ }
+ name = mfile_name_concat (dir, target, NULL);
+ free (dir);
+ free (target);
+ if (!name)
+ {
+ errno = ENOMEM;
+ return -1;
+ }
+ }
+ }
+ if (i < 0)
+ {
+ target = NULL;
+ errno = ELOOP;
+ }
+ if (!target && errno != EINVAL)
+ {
+ if (name != file1)
+ {
+ int saved_errno = errno;
+ free (name);
+ errno = saved_errno;
+ }
+ return -1;
+ }
+ result = linkat (fd1, name, fd2, file2, 0);
+ if (name != file1)
+ {
+ int saved_errno = errno;
+ free (name);
+ errno = saved_errno;
+ }
+ return result;
+}
+
+
+/* Like linkat, but guarantee that AT_SYMLINK_FOLLOW works even on
+ older Linux kernels. */
+
+int
+rpl_linkat (int fd1, char const *file1, int fd2, char const *file2, int flag)
+{
+ if (flag & ~AT_SYMLINK_FOLLOW)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+#if LINKAT_TRAILING_SLASH_BUG
+ /* Reject trailing slashes on non-directories. */
+ {
+ size_t len1 = strlen (file1);
+ size_t len2 = strlen (file2);
+ if ((len1 && file1[len1 - 1] == '/')
+ || (len2 && file2[len2 - 1] == '/'))
+ {
+ /* Let linkat() decide whether hard-linking directories is legal.
+ If fstatat() fails, then linkat() should fail for the same reason;
+ if fstatat() succeeds, require a directory. */
+ struct stat st;
+ if (fstatat (fd1, file1, &st, flag ? 0 : AT_SYMLINK_NOFOLLOW))
+ return -1;
+ if (!S_ISDIR (st.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ }
+ }
+#endif
+
+ if (!flag)
+ return linkat (fd1, file1, fd2, file2, flag);
+
+ /* Cache the information on whether the system call really works. */
+ {
+ static int have_follow_really; /* 0 = unknown, 1 = yes, -1 = no */
+ if (0 <= have_follow_really)
+ {
+ int result = linkat (fd1, file1, fd2, file2, flag);
+ if (!(result == -1 && errno == EINVAL))
+ {
+ have_follow_really = 1;
+ return result;
+ }
+ have_follow_really = -1;
+ }
+ }
+ return linkat_follow (fd1, file1, fd2, file2);
+}
+
+#endif /* HAVE_LINKAT */
codeset = nl_langinfo (CODESET);
# ifdef __CYGWIN__
- /* Cygwin 1.5.x does not have locales. nl_langinfo (CODESET) always
- returns "US-ASCII". As long as this is not fixed, return the suffix
- of the locale name from the environment variables (if present) or
- the codepage as a number. */
+ /* Cygwin < 1.7 does not have locales. nl_langinfo (CODESET) always
+ returns "US-ASCII". Return the suffix of the locale name from the
+ environment variables (if present) or the codepage as a number. */
if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0)
{
const char *locale;
#include <config.h>
/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
#ifdef malloc
-# define NEED_MALLOC_GNU
+# define NEED_MALLOC_GNU 1
# undef malloc
+/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */
+#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
+# define NEED_MALLOC_GNU 1
#endif
/* Specification. */
{
void *result;
-#ifdef NEED_MALLOC_GNU
+#if NEED_MALLOC_GNU
if (n == 0)
n = 1;
#endif
/* Specification. */
#include "malloca.h"
+#include "verify.h"
+
+/* Use the system functions, not the gnulib overrides in this file. */
+#undef malloc
+
/* The speed critical point in this file is freea() applied to an alloca()
result: it must be fast, to match the speed of alloca(). The speed of
mmalloca() and freea() in the other case are not critical, because they
#define HEADER_SIZE \
(((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
-/* Verify that HEADER_SIZE == sizeof (struct header). */
-typedef int verify1[2 * (HEADER_SIZE == sizeof (struct header)) - 1];
+verify (HEADER_SIZE == sizeof (struct header));
/* We make the hash table quite big, so that during lookups the probability
of empty hash buckets is quite high. There is no need to make the hash
table resizable, because when the hash table gets filled so much that the
/* 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. */
+ alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
+ which are included in the <sys/stat.h> override. */
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
# define mkdir(name,mode) _mkdir (name)
# define maybe_unused _GL_UNUSED
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create a named fifo.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <string.h>
+
+#if !HAVE_MKFIFO
+/* Mingw lacks mkfifo; always fail with ENOSYS. */
+
+int
+mkfifo (char const *name _GL_UNUSED, mode_t mode _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_MKFIFO */
+
+# undef mkfifo
+
+/* Create a named fifo FILE, with access permissions in MODE. Work
+around trailing slash bugs. */
+
+int
+rpl_mkfifo (char const *name, mode_t mode)
+{
+# if MKFIFO_TRAILING_SLASH_BUG
+ size_t len = strlen (name);
+ if (len && name[len - 1] == '/')
+ {
+ struct stat st;
+ if (stat (name, &st) == 0)
+ errno = EEXIST;
+ return -1;
+ }
+# endif
+ return mkfifo (name, mode);
+}
+#endif /* HAVE_MKFIFO */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create a named fifo relative to an open directory.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#if !HAVE_MKFIFO
+
+# include <errno.h>
+
+/* Mingw lacks mkfifo, so this wrapper is trivial. */
+
+int
+mkfifoat (int fd _GL_UNUSED, char const *path _GL_UNUSED,
+ mode_t mode _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_MKFIFO */
+
+/* Create a named fifo FILE relative to directory FD, with access
+ permissions in MODE. If possible, do it without changing the
+ working directory. Otherwise, resort to using save_cwd/fchdir,
+ then mkfifo/restore_cwd. If either the save_cwd or the restore_cwd
+ fails, then give a diagnostic and exit nonzero. */
+
+# define AT_FUNC_NAME mkfifoat
+# define AT_FUNC_F1 mkfifo
+# define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode
+# define AT_FUNC_POST_FILE_ARGS , mode
+# include "at-func.c"
+# undef AT_FUNC_NAME
+# undef AT_FUNC_F1
+# undef AT_FUNC_POST_FILE_PARAM_DECLS
+# undef AT_FUNC_POST_FILE_ARGS
+
+#endif /* HAVE_MKFIFO */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create a device inode.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <string.h>
+
+#if !HAVE_MKNOD
+/* Mingw lacks mknod; always fail with ENOSYS. */
+
+int
+mknod (char const *name _GL_UNUSED, mode_t mode _GL_UNUSED,
+ dev_t dev _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_MKNOD */
+
+# undef mknod
+
+/* Create a file system node FILE, with access permissions and file
+ type in MODE, and device type in DEV. Usually, non-root
+ applications can only create named fifos (mode includes S_IFIFO),
+ with DEV set to 0. Also work around trailing slash bugs. */
+
+int
+rpl_mknod (char const *name, mode_t mode, dev_t dev)
+{
+# if MKFIFO_TRAILING_SLASH_BUG
+ /* Trailing slash only makes sense for directories. Of course,
+ using mknod to create a directory is not very portable, so it may
+ still fail later on. */
+ if (!S_ISDIR (mode))
+ {
+ size_t len = strlen (name);
+ if (len && name[len - 1] == '/')
+ {
+ struct stat st;
+ if (stat (name, &st) == 0)
+ errno = EEXIST;
+ return -1;
+ }
+ }
+# endif
+# if MKNOD_FIFO_BUG
+ /* POSIX requires mknod to create fifos for non-privileged
+ processes, but BSD implementations fail with EPERM. */
+ if (S_ISFIFO (mode) && dev == 0)
+ return mkfifo (name, mode & ~S_IFIFO);
+# endif
+ return mknod (name, mode, dev);
+}
+
+#endif /* HAVE_MKNOD */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create an inode relative to an open directory.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#if !HAVE_MKNOD
+
+# include <errno.h>
+
+/* Mingw lacks mknod, so this wrapper is trivial. */
+
+int
+mknodat (int fd _GL_UNUSED, char const *path _GL_UNUSED,
+ mode_t mode _GL_UNUSED, dev_t dev _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_MKFIFO */
+
+/* Create a file system node FILE relative to directory FD, with
+ access permissions and file type in MODE, and device type in DEV.
+ Usually, non-root applications can only create named fifos, with
+ DEV set to 0. If possible, create the node without changing the
+ working directory. Otherwise, resort to using save_cwd/fchdir,
+ then mknod/restore_cwd. If either the save_cwd or the restore_cwd
+ fails, then give a diagnostic and exit nonzero. */
+
+# define AT_FUNC_NAME mknodat
+# define AT_FUNC_F1 mknod
+# define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode, dev_t dev
+# define AT_FUNC_POST_FILE_ARGS , mode, dev
+# include "at-func.c"
+# undef AT_FUNC_NAME
+# undef AT_FUNC_F1
+# undef AT_FUNC_POST_FILE_PARAM_DECLS
+# undef AT_FUNC_POST_FILE_ARGS
+
+#endif /* HAVE_MKFIFO */
return "";
}
# endif
+# if GNULIB_defined_T_FMT_AMPM
+ case T_FMT_AMPM:
+ return "%I:%M:%S %p";
+# endif
# if GNULIB_defined_ERA
case ERA:
/* The format is not standardized. In glibc it is a sequence of strings
/* The format is not standardized. In glibc it is a sequence of 10
strings, appended in memory. */
return "\0\0\0\0\0\0\0\0\0\0";
+# endif
+# if GNULIB_defined_YESEXPR
+ case YESEXPR:
+ return "^[yY]";
+ case NOEXPR:
+ return "^[nN]";
# endif
default:
break;
#ifndef _OBSTACK_H
#define _OBSTACK_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
\f
/* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is
defined, as with GNU C, use that; that way we don't pollute the
#include <string.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct _obstack_chunk /* Lives at front of each chunk. */
{
char *limit; /* 1 past end of this chunk */
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#define inttostr offtostr
+#define anytostr offtostr
#define inttype off_t
#define inttype_is_signed 1
-#include "inttostr.c"
+#include "anytostr.c"
override fstat() in fchdir.c to hide the fact that we have a
dummy. */
if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES
- && (flags & O_ACCMODE) == O_RDONLY)
+ && ((flags & O_ACCMODE) == O_RDONLY
+ || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH)))
{
struct stat statbuf;
if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))
problem is exhibited on code that built on Solaris 8 and
running on Solaris 10. */
- int proc_self_fd = open ("/proc/self/fd", O_RDONLY);
+ int proc_self_fd = open ("/proc/self/fd", O_SEARCH);
if (proc_self_fd < 0)
proc_status = -1;
else
openat_needs_fchdir (void)
{
bool needs_fchdir = true;
- int fd = open ("/", O_RDONLY);
+ int fd = open ("/", O_SEARCH);
if (0 <= fd)
{
return fstatat (fd, name, st, AT_SYMLINK_NOFOLLOW);
}
-#if GNULIB_FACCESSAT
/* For now, there are no wrappers named laccessat or leuidaccessat,
since gnulib doesn't support faccessat(,AT_SYMLINK_NOFOLLOW) and
- since access rights on symlinks are of limited utility. */
-
-static inline int
-accessat (int fd, char const *file, int mode)
-{
- return faccessat (fd, file, mode, 0);
-}
-
-static inline int
-euidaccessat (int fd, char const *file, int mode)
-{
- return faccessat (fd, file, mode, AT_EACCESS);
-}
-#endif
+ since access rights on symlinks are of limited utility. Likewise,
+ wrappers are not provided for accessat or euidaccessat, so as to
+ avoid dragging in -lgen on some platforms. */
#endif /* _GL_HEADER_OPENAT */
--- /dev/null
+/* A Bison parser, made by GNU Bison 2.3. */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Bison version. */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ tAGO = 258,
+ tDST = 259,
+ tYEAR_UNIT = 260,
+ tMONTH_UNIT = 261,
+ tHOUR_UNIT = 262,
+ tMINUTE_UNIT = 263,
+ tSEC_UNIT = 264,
+ tDAY_UNIT = 265,
+ tDAY_SHIFT = 266,
+ tDAY = 267,
+ tDAYZONE = 268,
+ tLOCAL_ZONE = 269,
+ tMERIDIAN = 270,
+ tMONTH = 271,
+ tORDINAL = 272,
+ tZONE = 273,
+ tSNUMBER = 274,
+ tUNUMBER = 275,
+ tSDECIMAL_NUMBER = 276,
+ tUDECIMAL_NUMBER = 277
+ };
+#endif
+/* Tokens. */
+#define tAGO 258
+#define tDST 259
+#define tYEAR_UNIT 260
+#define tMONTH_UNIT 261
+#define tHOUR_UNIT 262
+#define tMINUTE_UNIT 263
+#define tSEC_UNIT 264
+#define tDAY_UNIT 265
+#define tDAY_SHIFT 266
+#define tDAY 267
+#define tDAYZONE 268
+#define tLOCAL_ZONE 269
+#define tMERIDIAN 270
+#define tMONTH 271
+#define tORDINAL 272
+#define tZONE 273
+#define tSNUMBER 274
+#define tUNUMBER 275
+#define tSDECIMAL_NUMBER 276
+#define tUDECIMAL_NUMBER 277
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "parse-datetime.y"
+
+/* Parse a string into an internal time stamp.
+
+ Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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/>. */
+
+/* Originally written by Steven M. Bellovin <smb@research.att.com> while
+ at the University of North Carolina at Chapel Hill. Later tweaked by
+ a couple of people on Usenet. Completely overhauled by Rich $alz
+ <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990.
+
+ Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do
+ the right thing about local DST. Also modified by Paul Eggert
+ <eggert@cs.ucla.edu> in February 2004 to support
+ nanosecond-resolution time stamps, and in October 2004 to support
+ TZ strings in dates. */
+
+/* FIXME: Check for arithmetic overflow in all cases, not just
+ some of them. */
+
+#include <config.h>
+
+#include "parse-datetime.h"
+
+#include "intprops.h"
+#include "timespec.h"
+#include "verify.h"
+
+/* There's no need to extend the stack, so there's no need to involve
+ alloca. */
+#define YYSTACK_USE_ALLOCA 0
+
+/* Tell Bison how much stack space is needed. 20 should be plenty for
+ this grammar, which is not right recursive. Beware setting it too
+ high, since that might cause problems on machines whose
+ implementations have lame stack-overflow checking. */
+#define YYMAXDEPTH 20
+#define YYINITDEPTH YYMAXDEPTH
+
+/* Since the code of parse-datetime.y is not included in the Emacs executable
+ itself, there is no need to #define static in this file. Even if
+ the code were included in the Emacs executable, it probably
+ wouldn't do any harm to #undef it here; this will only cause
+ problems if we try to write to a static variable, which I don't
+ think this code needs to do. */
+#ifdef emacs
+# undef static
+#endif
+
+#include <c-ctype.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "xalloc.h"
+
+/* Bison's skeleton tests _STDLIB_H, while some stdlib.h headers
+ use _STDLIB_H_ as witness. Map the latter to the one bison uses. */
+/* FIXME: this is temporary. Remove when we have a mechanism to ensure
+ that the version we're using is fixed, too. */
+#ifdef _STDLIB_H_
+# undef _STDLIB_H
+# define _STDLIB_H 1
+#endif
+
+/* ISDIGIT differs from isdigit, as follows:
+ - Its arg may be any int or unsigned int; it need not be an unsigned char
+ or EOF.
+ - It's typically faster.
+ POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
+ isdigit unless it's important to use the locale's definition
+ of `digit' even when the host does not conform to POSIX. */
+#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
+
+/* Shift A right by B bits portably, by dividing A by 2**B and
+ truncating towards minus infinity. A and B should be free of side
+ effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
+ INT_BITS is the number of useful bits in an int. GNU code can
+ assume that INT_BITS is at least 32.
+
+ ISO C99 says that A >> B is implementation-defined if A < 0. Some
+ implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift
+ right in the usual way when A < 0, so SHR falls back on division if
+ ordinary A >> B doesn't seem to be the usual signed shift. */
+#define SHR(a, b) \
+ (-1 >> 1 == -1 \
+ ? (a) >> (b) \
+ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0))
+
+#define EPOCH_YEAR 1970
+#define TM_YEAR_BASE 1900
+
+#define HOUR(x) ((x) * 60)
+
+/* long_time_t is a signed integer type that contains all time_t values. */
+verify (TYPE_IS_INTEGER (time_t));
+#if TIME_T_FITS_IN_LONG_INT
+typedef long int long_time_t;
+#else
+typedef time_t long_time_t;
+#endif
+
+/* Lots of this code assumes time_t and time_t-like values fit into
+ long_time_t. */
+verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t)
+ && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t));
+
+/* FIXME: It also assumes that signed integer overflow silently wraps around,
+ but this is not true any more with recent versions of GCC 4. */
+
+/* An integer value, and the number of digits in its textual
+ representation. */
+typedef struct
+{
+ bool negative;
+ long int value;
+ size_t digits;
+} textint;
+
+/* An entry in the lexical lookup table. */
+typedef struct
+{
+ char const *name;
+ int type;
+ int value;
+} table;
+
+/* Meridian: am, pm, or 24-hour style. */
+enum { MERam, MERpm, MER24 };
+
+enum { BILLION = 1000000000, LOG10_BILLION = 9 };
+
+/* Relative times. */
+typedef struct
+{
+ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
+ long int year;
+ long int month;
+ long int day;
+ long int hour;
+ long int minutes;
+ long_time_t seconds;
+ long int ns;
+} relative_time;
+
+#if HAVE_COMPOUND_LITERALS
+# define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 })
+#else
+static relative_time const RELATIVE_TIME_0;
+#endif
+
+/* Information passed to and from the parser. */
+typedef struct
+{
+ /* The input string remaining to be parsed. */
+ const char *input;
+
+ /* N, if this is the Nth Tuesday. */
+ long int day_ordinal;
+
+ /* Day of week; Sunday is 0. */
+ int day_number;
+
+ /* tm_isdst flag for the local zone. */
+ int local_isdst;
+
+ /* Time zone, in minutes east of UTC. */
+ long int time_zone;
+
+ /* Style used for time. */
+ int meridian;
+
+ /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */
+ textint year;
+ long int month;
+ long int day;
+ long int hour;
+ long int minutes;
+ struct timespec seconds; /* includes nanoseconds */
+
+ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
+ relative_time rel;
+
+ /* Presence or counts of nonterminals of various flavors parsed so far. */
+ bool timespec_seen;
+ bool rels_seen;
+ size_t dates_seen;
+ size_t days_seen;
+ size_t local_zones_seen;
+ size_t dsts_seen;
+ size_t times_seen;
+ size_t zones_seen;
+
+ /* Table of local time zone abbrevations, terminated by a null entry. */
+ table local_time_zone_table[3];
+} parser_control;
+
+union YYSTYPE;
+static int yylex (union YYSTYPE *, parser_control *);
+static int yyerror (parser_control const *, char const *);
+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,
+ YYYY, ...). */
+static void
+digits_to_date_time (parser_control *pc, textint text_int)
+{
+ if (pc->dates_seen && ! pc->year.digits
+ && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits))
+ pc->year = text_int;
+ else
+ {
+ if (4 < text_int.digits)
+ {
+ pc->dates_seen++;
+ pc->day = text_int.value % 100;
+ pc->month = (text_int.value / 100) % 100;
+ pc->year.value = text_int.value / 10000;
+ pc->year.digits = text_int.digits - 4;
+ }
+ else
+ {
+ pc->times_seen++;
+ if (text_int.digits <= 2)
+ {
+ pc->hour = text_int.value;
+ pc->minutes = 0;
+ }
+ else
+ {
+ pc->hour = text_int.value / 100;
+ pc->minutes = text_int.value % 100;
+ }
+ pc->seconds.tv_sec = 0;
+ pc->seconds.tv_nsec = 0;
+ pc->meridian = MER24;
+ }
+ }
+}
+
+/* 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. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 293 "parse-datetime.y"
+{
+ long int intval;
+ textint textintval;
+ struct timespec timespec;
+ relative_time rel;
+}
+/* Line 187 of yacc.c. */
+#line 429 "parse-datetime.c"
+ YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 216 of yacc.c. */
+#line 442 "parse-datetime.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_(msgid) dgettext ("bison-runtime", msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+ int i;
+#endif
+{
+ return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined _STDLIB_H \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yytype_int16 yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (YYID (0))
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 12
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 98
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 27
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 21
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 82
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 100
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 277
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const yytype_uint8 yytranslate[] =
+{
+ 0, 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, 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,
+ 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, 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,
+ 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, 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,
+ 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, 22
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const yytype_uint8 yyprhs[] =
+{
+ 0, 0, 3, 5, 7, 10, 11, 14, 16, 18,
+ 20, 22, 24, 26, 28, 30, 33, 38, 44, 51,
+ 59, 61, 64, 66, 69, 73, 75, 78, 80, 83,
+ 86, 89, 93, 99, 103, 107, 111, 114, 119, 122,
+ 126, 129, 131, 133, 136, 139, 141, 144, 147, 149,
+ 152, 155, 157, 160, 163, 165, 168, 171, 173, 176,
+ 179, 182, 185, 187, 189, 192, 195, 198, 201, 204,
+ 207, 209, 211, 213, 215, 217, 219, 221, 223, 226,
+ 227, 230, 231
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yytype_int8 yyrhs[] =
+{
+ 28, 0, -1, 29, -1, 30, -1, 23, 41, -1,
+ -1, 30, 31, -1, 32, -1, 33, -1, 34, -1,
+ 36, -1, 35, -1, 37, -1, 44, -1, 45, -1,
+ 20, 15, -1, 20, 24, 20, 47, -1, 20, 24,
+ 20, 19, 46, -1, 20, 24, 20, 24, 43, 47,
+ -1, 20, 24, 20, 24, 43, 19, 46, -1, 14,
+ -1, 14, 4, -1, 18, -1, 18, 39, -1, 18,
+ 19, 46, -1, 13, -1, 18, 4, -1, 12, -1,
+ 12, 25, -1, 17, 12, -1, 20, 12, -1, 20,
+ 26, 20, -1, 20, 26, 20, 26, 20, -1, 20,
+ 19, 19, -1, 20, 16, 19, -1, 16, 19, 19,
+ -1, 16, 20, -1, 16, 20, 25, 20, -1, 20,
+ 16, -1, 20, 16, 20, -1, 38, 3, -1, 38,
+ -1, 40, -1, 17, 5, -1, 20, 5, -1, 5,
+ -1, 17, 6, -1, 20, 6, -1, 6, -1, 17,
+ 10, -1, 20, 10, -1, 10, -1, 17, 7, -1,
+ 20, 7, -1, 7, -1, 17, 8, -1, 20, 8,
+ -1, 8, -1, 17, 9, -1, 20, 9, -1, 21,
+ 9, -1, 22, 9, -1, 9, -1, 39, -1, 19,
+ 5, -1, 19, 6, -1, 19, 10, -1, 19, 7,
+ -1, 19, 8, -1, 19, 9, -1, 11, -1, 42,
+ -1, 43, -1, 21, -1, 19, -1, 22, -1, 20,
+ -1, 20, -1, 20, 39, -1, -1, 24, 20, -1,
+ -1, 15, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const yytype_uint16 yyrline[] =
+{
+ 0, 319, 319, 320, 324, 331, 333, 337, 339, 341,
+ 343, 345, 347, 348, 349, 353, 358, 363, 370, 375,
+ 385, 390, 398, 400, 403, 405, 407, 412, 417, 422,
+ 427, 435, 440, 460, 467, 475, 483, 488, 494, 499,
+ 508, 510, 512, 517, 519, 521, 523, 525, 527, 529,
+ 531, 533, 535, 537, 539, 541, 543, 545, 547, 549,
+ 551, 553, 555, 557, 561, 563, 565, 567, 569, 571,
+ 576, 580, 580, 583, 584, 589, 590, 595, 600, 611,
+ 612, 618, 619
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "tAGO", "tDST", "tYEAR_UNIT",
+ "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT",
+ "tDAY_SHIFT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH",
+ "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER",
+ "tUDECIMAL_NUMBER", "'@'", "':'", "','", "'/'", "$accept", "spec",
+ "timespec", "items", "item", "time", "local_zone", "zone", "day", "date",
+ "rel", "relunit", "relunit_snumber", "dayshift", "seconds",
+ "signed_seconds", "unsigned_seconds", "number", "hybrid",
+ "o_colon_minutes", "o_merid", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const yytype_uint16 yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 64, 58, 44, 47
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 27, 28, 28, 29, 30, 30, 31, 31, 31,
+ 31, 31, 31, 31, 31, 32, 32, 32, 32, 32,
+ 33, 33, 34, 34, 34, 34, 34, 35, 35, 35,
+ 35, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 37, 37, 37, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 38, 39, 39, 39, 39, 39, 39,
+ 40, 41, 41, 42, 42, 43, 43, 44, 45, 46,
+ 46, 47, 47
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 1, 1, 2, 0, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 4, 5, 6, 7,
+ 1, 2, 1, 2, 3, 1, 2, 1, 2, 2,
+ 2, 3, 5, 3, 3, 3, 2, 4, 2, 3,
+ 2, 1, 1, 2, 2, 1, 2, 2, 1, 2,
+ 2, 1, 2, 2, 1, 2, 2, 1, 2, 2,
+ 2, 2, 1, 1, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
+ 2, 0, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 5, 0, 0, 2, 3, 74, 76, 73, 75, 4,
+ 71, 72, 1, 45, 48, 54, 57, 62, 51, 70,
+ 27, 25, 20, 0, 0, 22, 0, 77, 0, 0,
+ 6, 7, 8, 9, 11, 10, 12, 41, 63, 42,
+ 13, 14, 28, 21, 0, 36, 43, 46, 52, 55,
+ 58, 49, 29, 26, 79, 23, 64, 65, 67, 68,
+ 69, 66, 44, 47, 53, 56, 59, 50, 30, 15,
+ 38, 0, 0, 0, 78, 60, 61, 40, 35, 0,
+ 0, 24, 34, 39, 33, 81, 31, 37, 80, 82,
+ 79, 0, 16, 0, 17, 81, 32, 79, 18, 19
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ -1, 2, 3, 4, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 9, 10, 11, 40, 41, 81,
+ 92
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -82
+static const yytype_int8 yypact[] =
+{
+ -17, 56, 15, -82, 26, -82, -82, -82, -82, -82,
+ -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
+ 36, -82, 68, 10, 50, 9, 59, -5, 72, 73,
+ -82, -82, -82, -82, -82, -82, -82, 80, -82, -82,
+ -82, -82, -82, -82, 65, 61, -82, -82, -82, -82,
+ -82, -82, -82, -82, 17, -82, -82, -82, -82, -82,
+ -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
+ 60, 44, 67, 69, -82, -82, -82, -82, -82, 70,
+ 71, -82, -82, -82, -82, -7, 62, -82, -82, -82,
+ 74, -2, -82, 75, -82, 55, -82, 74, -82, -82
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
+ -82, -82, 46, -82, -82, -82, -6, -82, -82, -81,
+ -3
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -1
+static const yytype_uint8 yytable[] =
+{
+ 62, 63, 64, 65, 66, 67, 1, 68, 89, 94,
+ 69, 70, 90, 53, 71, 12, 99, 91, 6, 72,
+ 8, 73, 56, 57, 58, 59, 60, 61, 54, 44,
+ 45, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 80, 23, 24, 25, 26, 27, 28, 29, 56,
+ 57, 58, 59, 60, 61, 46, 47, 48, 49, 50,
+ 51, 42, 52, 84, 56, 57, 58, 59, 60, 61,
+ 89, 55, 43, 74, 97, 5, 6, 7, 8, 82,
+ 83, 75, 76, 77, 78, 95, 79, 85, 93, 86,
+ 87, 88, 98, 0, 0, 96, 0, 0, 80
+};
+
+static const yytype_int8 yycheck[] =
+{
+ 5, 6, 7, 8, 9, 10, 23, 12, 15, 90,
+ 15, 16, 19, 4, 19, 0, 97, 24, 20, 24,
+ 22, 26, 5, 6, 7, 8, 9, 10, 19, 19,
+ 20, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 24, 16, 17, 18, 19, 20, 21, 22, 5,
+ 6, 7, 8, 9, 10, 5, 6, 7, 8, 9,
+ 10, 25, 12, 19, 5, 6, 7, 8, 9, 10,
+ 15, 25, 4, 27, 19, 19, 20, 21, 22, 19,
+ 20, 9, 9, 3, 19, 91, 25, 20, 26, 20,
+ 20, 20, 95, -1, -1, 20, -1, -1, 24
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 23, 28, 29, 30, 19, 20, 21, 22, 41,
+ 42, 43, 0, 5, 6, 7, 8, 9, 10, 11,
+ 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)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK (1); \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (pc, YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (YYID (0))
+
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (YYID (N)) \
+ { \
+ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+ This macro was not mandated originally: define only if we know
+ we won't break user code: when these are the locations we know. */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval, pc)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, pc); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ parser_control *pc;
+#endif
+{
+ if (!yyvaluep)
+ return;
+ YYUSE (pc);
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+ YYUSE (yyoutput);
+# endif
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep, pc)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ parser_control *pc;
+#endif
+{
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc);
+ YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ yytype_int16 *bottom;
+ yytype_int16 *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule, parser_control *pc)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule, pc)
+ YYSTYPE *yyvsp;
+ int yyrule;
+ parser_control *pc;
+#endif
+{
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ unsigned long int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ fprintf (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , pc);
+ fprintf (stderr, "\n");
+ }
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyvsp, Rule, pc); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+\f
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined __GLIBC__ && defined _STRING_H
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+ const char *yystr;
+#endif
+{
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
+ continue;
+ return yylen;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+#endif
+{
+ char *yyd = yydest;
+ const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
+ }
+
+ if (! yyres)
+ return yystrlen (yystr);
+
+ return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+ YYCHAR while in state YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+ int yyn = yypact[yystate];
+
+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+ return 0;
+ else
+ {
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
+
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
+
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
+ }
+}
+#endif /* YYERROR_VERBOSE */
+\f
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_control *pc)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep, pc)
+ const char *yymsg;
+ int yytype;
+ YYSTYPE *yyvaluep;
+ parser_control *pc;
+#endif
+{
+ YYUSE (yyvaluep);
+ YYUSE (pc);
+
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+\f
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (parser_control *pc);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (parser_control *pc)
+#else
+int
+yyparse (pc)
+ parser_control *pc;
+#endif
+#endif
+{
+ /* The look-ahead symbol. */
+int yychar;
+
+/* The semantic value of the look-ahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ int yystate;
+ int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Look-ahead token as an internal (translated) token number. */
+ int yytoken = 0;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss = yyssa;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+ /* Do appropriate processing given the current state. Read a
+ look-ahead token if we need one and don't already have one. */
+
+ /* First try to decide what to do without reference to look-ahead token. */
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a look-ahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ /* Shift the look-ahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ yystate = yyn;
+ *++yyvsp = yylval;
+
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 4:
+#line 325 "parse-datetime.y"
+ {
+ pc->seconds = (yyvsp[(2) - (2)].timespec);
+ pc->timespec_seen = true;
+ }
+ break;
+
+ case 7:
+#line 338 "parse-datetime.y"
+ { pc->times_seen++; }
+ break;
+
+ case 8:
+#line 340 "parse-datetime.y"
+ { pc->local_zones_seen++; }
+ break;
+
+ case 9:
+#line 342 "parse-datetime.y"
+ { pc->zones_seen++; }
+ break;
+
+ case 10:
+#line 344 "parse-datetime.y"
+ { pc->dates_seen++; }
+ break;
+
+ case 11:
+#line 346 "parse-datetime.y"
+ { pc->days_seen++; }
+ break;
+
+ case 15:
+#line 354 "parse-datetime.y"
+ {
+ set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0);
+ pc->meridian = (yyvsp[(2) - (2)].intval);
+ }
+ break;
+
+ case 16:
+#line 359 "parse-datetime.y"
+ {
+ set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0);
+ pc->meridian = (yyvsp[(4) - (4)].intval);
+ }
+ break;
+
+ case 17:
+#line 364 "parse-datetime.y"
+ {
+ 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 (pc, (yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval));
+ }
+ break;
+
+ case 18:
+#line 371 "parse-datetime.y"
+ {
+ set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec);
+ pc->meridian = (yyvsp[(6) - (6)].intval);
+ }
+ break;
+
+ case 19:
+#line 376 "parse-datetime.y"
+ {
+ set_hhmmss (pc, (yyvsp[(1) - (7)].textintval).value, (yyvsp[(3) - (7)].textintval).value, (yyvsp[(5) - (7)].timespec).tv_sec, (yyvsp[(5) - (7)].timespec).tv_nsec);
+ pc->meridian = MER24;
+ pc->zones_seen++;
+ pc->time_zone = time_zone_hhmm (pc, (yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval));
+ }
+ break;
+
+ case 20:
+#line 386 "parse-datetime.y"
+ {
+ pc->local_isdst = (yyvsp[(1) - (1)].intval);
+ pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
+ }
+ break;
+
+ case 21:
+#line 391 "parse-datetime.y"
+ {
+ pc->local_isdst = 1;
+ pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
+ }
+ break;
+
+ case 22:
+#line 399 "parse-datetime.y"
+ { pc->time_zone = (yyvsp[(1) - (1)].intval); }
+ break;
+
+ case 23:
+#line 401 "parse-datetime.y"
+ { pc->time_zone = (yyvsp[(1) - (2)].intval);
+ apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); }
+ break;
+
+ case 24:
+#line 404 "parse-datetime.y"
+ { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm (pc, (yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); }
+ break;
+
+ case 25:
+#line 406 "parse-datetime.y"
+ { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
+ break;
+
+ case 26:
+#line 408 "parse-datetime.y"
+ { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
+ break;
+
+ case 27:
+#line 413 "parse-datetime.y"
+ {
+ pc->day_ordinal = 0;
+ pc->day_number = (yyvsp[(1) - (1)].intval);
+ }
+ break;
+
+ case 28:
+#line 418 "parse-datetime.y"
+ {
+ pc->day_ordinal = 0;
+ pc->day_number = (yyvsp[(1) - (2)].intval);
+ }
+ break;
+
+ case 29:
+#line 423 "parse-datetime.y"
+ {
+ pc->day_ordinal = (yyvsp[(1) - (2)].intval);
+ pc->day_number = (yyvsp[(2) - (2)].intval);
+ }
+ break;
+
+ case 30:
+#line 428 "parse-datetime.y"
+ {
+ pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
+ pc->day_number = (yyvsp[(2) - (2)].intval);
+ }
+ break;
+
+ case 31:
+#line 436 "parse-datetime.y"
+ {
+ pc->month = (yyvsp[(1) - (3)].textintval).value;
+ pc->day = (yyvsp[(3) - (3)].textintval).value;
+ }
+ break;
+
+ case 32:
+#line 441 "parse-datetime.y"
+ {
+ /* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
+ otherwise as MM/DD/YY.
+ The goal in recognizing YYYY/MM/DD is solely to support legacy
+ machine-generated dates like those in an RCS log listing. If
+ you want portability, use the ISO 8601 format. */
+ if (4 <= (yyvsp[(1) - (5)].textintval).digits)
+ {
+ pc->year = (yyvsp[(1) - (5)].textintval);
+ pc->month = (yyvsp[(3) - (5)].textintval).value;
+ pc->day = (yyvsp[(5) - (5)].textintval).value;
+ }
+ else
+ {
+ pc->month = (yyvsp[(1) - (5)].textintval).value;
+ pc->day = (yyvsp[(3) - (5)].textintval).value;
+ pc->year = (yyvsp[(5) - (5)].textintval);
+ }
+ }
+ break;
+
+ case 33:
+#line 461 "parse-datetime.y"
+ {
+ /* ISO 8601 format. YYYY-MM-DD. */
+ pc->year = (yyvsp[(1) - (3)].textintval);
+ pc->month = -(yyvsp[(2) - (3)].textintval).value;
+ pc->day = -(yyvsp[(3) - (3)].textintval).value;
+ }
+ break;
+
+ case 34:
+#line 468 "parse-datetime.y"
+ {
+ /* e.g. 17-JUN-1992. */
+ pc->day = (yyvsp[(1) - (3)].textintval).value;
+ pc->month = (yyvsp[(2) - (3)].intval);
+ pc->year.value = -(yyvsp[(3) - (3)].textintval).value;
+ pc->year.digits = (yyvsp[(3) - (3)].textintval).digits;
+ }
+ break;
+
+ case 35:
+#line 476 "parse-datetime.y"
+ {
+ /* e.g. JUN-17-1992. */
+ pc->month = (yyvsp[(1) - (3)].intval);
+ pc->day = -(yyvsp[(2) - (3)].textintval).value;
+ pc->year.value = -(yyvsp[(3) - (3)].textintval).value;
+ pc->year.digits = (yyvsp[(3) - (3)].textintval).digits;
+ }
+ break;
+
+ case 36:
+#line 484 "parse-datetime.y"
+ {
+ pc->month = (yyvsp[(1) - (2)].intval);
+ pc->day = (yyvsp[(2) - (2)].textintval).value;
+ }
+ break;
+
+ case 37:
+#line 489 "parse-datetime.y"
+ {
+ pc->month = (yyvsp[(1) - (4)].intval);
+ pc->day = (yyvsp[(2) - (4)].textintval).value;
+ pc->year = (yyvsp[(4) - (4)].textintval);
+ }
+ break;
+
+ case 38:
+#line 495 "parse-datetime.y"
+ {
+ pc->day = (yyvsp[(1) - (2)].textintval).value;
+ pc->month = (yyvsp[(2) - (2)].intval);
+ }
+ break;
+
+ case 39:
+#line 500 "parse-datetime.y"
+ {
+ pc->day = (yyvsp[(1) - (3)].textintval).value;
+ pc->month = (yyvsp[(2) - (3)].intval);
+ pc->year = (yyvsp[(3) - (3)].textintval);
+ }
+ break;
+
+ case 40:
+#line 509 "parse-datetime.y"
+ { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), -1); }
+ break;
+
+ case 41:
+#line 511 "parse-datetime.y"
+ { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
+ break;
+
+ case 42:
+#line 513 "parse-datetime.y"
+ { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
+ break;
+
+ case 43:
+#line 518 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
+ break;
+
+ case 44:
+#line 520 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 45:
+#line 522 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
+ break;
+
+ case 46:
+#line 524 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
+ break;
+
+ case 47:
+#line 526 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 48:
+#line 528 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
+ break;
+
+ case 49:
+#line 530 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
+ break;
+
+ case 50:
+#line 532 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
+ break;
+
+ case 51:
+#line 534 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
+ break;
+
+ case 52:
+#line 536 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
+ break;
+
+ case 53:
+#line 538 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 54:
+#line 540 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
+ break;
+
+ case 55:
+#line 542 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
+ break;
+
+ case 56:
+#line 544 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 57:
+#line 546 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
+ break;
+
+ case 58:
+#line 548 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
+ break;
+
+ case 59:
+#line 550 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 60:
+#line 552 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
+ break;
+
+ case 61:
+#line 554 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
+ break;
+
+ case 62:
+#line 556 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
+ break;
+
+ case 64:
+#line 562 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 65:
+#line 564 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 66:
+#line 566 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
+ break;
+
+ case 67:
+#line 568 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 68:
+#line 570 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 69:
+#line 572 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
+ break;
+
+ case 70:
+#line 577 "parse-datetime.y"
+ { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
+ break;
+
+ case 74:
+#line 585 "parse-datetime.y"
+ { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
+ break;
+
+ case 76:
+#line 591 "parse-datetime.y"
+ { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
+ break;
+
+ case 77:
+#line 596 "parse-datetime.y"
+ { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); }
+ break;
+
+ case 78:
+#line 601 "parse-datetime.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));
+ apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1);
+ }
+ break;
+
+ case 79:
+#line 611 "parse-datetime.y"
+ { (yyval.intval) = -1; }
+ break;
+
+ case 80:
+#line 613 "parse-datetime.y"
+ { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
+ break;
+
+ case 81:
+#line 618 "parse-datetime.y"
+ { (yyval.intval) = MER24; }
+ break;
+
+ case 82:
+#line 620 "parse-datetime.y"
+ { (yyval.intval) = (yyvsp[(1) - (1)].intval); }
+ break;
+
+
+/* Line 1267 of yacc.c. */
+#line 2185 "parse-datetime.c"
+ default: break;
+ }
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if ! YYERROR_VERBOSE
+ yyerror (pc, YY_("syntax error"));
+#else
+ {
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+ if (yymsg)
+ yymsg_alloc = yyalloc;
+ else
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ }
+ }
+
+ if (0 < yysize && yysize <= yymsg_alloc)
+ {
+ (void) yysyntax_error (yymsg, yystate, yychar);
+ yyerror (pc, yymsg);
+ }
+ else
+ {
+ yyerror (pc, YY_("syntax error"));
+ if (yysize != 0)
+ goto yyexhaustedlab;
+ }
+ }
+#endif
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse look-ahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, pc);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse look-ahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
+
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp, pc);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ *++yyvsp = yylval;
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (pc, YY_("memory exhausted"));
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+ if (yychar != YYEOF && yychar != YYEMPTY)
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval, pc);
+ /* Do not reclaim the symbols of the rule which action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp, pc);
+ YYPOPSTACK (1);
+ }
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ /* Make sure YYID is used. */
+ return YYID (yyresult);
+}
+
+
+#line 623 "parse-datetime.y"
+
+
+static table const meridian_table[] =
+{
+ { "AM", tMERIDIAN, MERam },
+ { "A.M.", tMERIDIAN, MERam },
+ { "PM", tMERIDIAN, MERpm },
+ { "P.M.", tMERIDIAN, MERpm },
+ { NULL, 0, 0 }
+};
+
+static table const dst_table[] =
+{
+ { "DST", tDST, 0 }
+};
+
+static table const month_and_day_table[] =
+{
+ { "JANUARY", tMONTH, 1 },
+ { "FEBRUARY", tMONTH, 2 },
+ { "MARCH", tMONTH, 3 },
+ { "APRIL", tMONTH, 4 },
+ { "MAY", tMONTH, 5 },
+ { "JUNE", tMONTH, 6 },
+ { "JULY", tMONTH, 7 },
+ { "AUGUST", tMONTH, 8 },
+ { "SEPTEMBER",tMONTH, 9 },
+ { "SEPT", tMONTH, 9 },
+ { "OCTOBER", tMONTH, 10 },
+ { "NOVEMBER", tMONTH, 11 },
+ { "DECEMBER", tMONTH, 12 },
+ { "SUNDAY", tDAY, 0 },
+ { "MONDAY", tDAY, 1 },
+ { "TUESDAY", tDAY, 2 },
+ { "TUES", tDAY, 2 },
+ { "WEDNESDAY",tDAY, 3 },
+ { "WEDNES", tDAY, 3 },
+ { "THURSDAY", tDAY, 4 },
+ { "THUR", tDAY, 4 },
+ { "THURS", tDAY, 4 },
+ { "FRIDAY", tDAY, 5 },
+ { "SATURDAY", tDAY, 6 },
+ { NULL, 0, 0 }
+};
+
+static table const time_units_table[] =
+{
+ { "YEAR", tYEAR_UNIT, 1 },
+ { "MONTH", tMONTH_UNIT, 1 },
+ { "FORTNIGHT",tDAY_UNIT, 14 },
+ { "WEEK", tDAY_UNIT, 7 },
+ { "DAY", tDAY_UNIT, 1 },
+ { "HOUR", tHOUR_UNIT, 1 },
+ { "MINUTE", tMINUTE_UNIT, 1 },
+ { "MIN", tMINUTE_UNIT, 1 },
+ { "SECOND", tSEC_UNIT, 1 },
+ { "SEC", tSEC_UNIT, 1 },
+ { NULL, 0, 0 }
+};
+
+/* Assorted relative-time words. */
+static table const relative_time_table[] =
+{
+ { "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 },
+ { "FIRST", tORDINAL, 1 },
+/*{ "SECOND", tORDINAL, 2 }, */
+ { "THIRD", tORDINAL, 3 },
+ { "FOURTH", tORDINAL, 4 },
+ { "FIFTH", tORDINAL, 5 },
+ { "SIXTH", tORDINAL, 6 },
+ { "SEVENTH", tORDINAL, 7 },
+ { "EIGHTH", tORDINAL, 8 },
+ { "NINTH", tORDINAL, 9 },
+ { "TENTH", tORDINAL, 10 },
+ { "ELEVENTH", tORDINAL, 11 },
+ { "TWELFTH", tORDINAL, 12 },
+ { "AGO", tAGO, 1 },
+ { NULL, 0, 0 }
+};
+
+/* The universal time zone table. These labels can be used even for
+ time stamps that would not otherwise be valid, e.g., GMT time
+ stamps in London during summer. */
+static table const universal_time_zone_table[] =
+{
+ { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */
+ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
+ { "UTC", tZONE, HOUR ( 0) },
+ { NULL, 0, 0 }
+};
+
+/* The time zone table. This table is necessarily incomplete, as time
+ zone abbreviations are ambiguous; e.g. Australians interpret "EST"
+ as Eastern time in Australia, not as US Eastern Standard Time.
+ You cannot rely on parse_datetime to handle arbitrary time zone
+ abbreviations; use numeric abbreviations like `-0500' instead. */
+static table const time_zone_table[] =
+{
+ { "WET", tZONE, HOUR ( 0) }, /* Western European */
+ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */
+ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */
+ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */
+ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */
+ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */
+ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */
+ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */
+ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */
+ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */
+ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */
+ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */
+ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */
+ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */
+ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */
+ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */
+ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */
+ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */
+ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */
+ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */
+ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */
+ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */
+ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */
+ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */
+ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */
+ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */
+ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */
+ { "CET", tZONE, HOUR ( 1) }, /* Central European */
+ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */
+ { "MET", tZONE, HOUR ( 1) }, /* Middle European */
+ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */
+ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
+ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
+ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */
+ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */
+ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */
+ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */
+ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */
+ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */
+ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */
+ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */
+ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */
+ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */
+ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */
+ { "GST", tZONE, HOUR (10) }, /* Guam Standard */
+ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */
+ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */
+ { NULL, 0, 0 }
+};
+
+/* Military time zone table. */
+static table const military_table[] =
+{
+ { "A", tZONE, -HOUR ( 1) },
+ { "B", tZONE, -HOUR ( 2) },
+ { "C", tZONE, -HOUR ( 3) },
+ { "D", tZONE, -HOUR ( 4) },
+ { "E", tZONE, -HOUR ( 5) },
+ { "F", tZONE, -HOUR ( 6) },
+ { "G", tZONE, -HOUR ( 7) },
+ { "H", tZONE, -HOUR ( 8) },
+ { "I", tZONE, -HOUR ( 9) },
+ { "K", tZONE, -HOUR (10) },
+ { "L", tZONE, -HOUR (11) },
+ { "M", tZONE, -HOUR (12) },
+ { "N", tZONE, HOUR ( 1) },
+ { "O", tZONE, HOUR ( 2) },
+ { "P", tZONE, HOUR ( 3) },
+ { "Q", tZONE, HOUR ( 4) },
+ { "R", tZONE, HOUR ( 5) },
+ { "S", tZONE, HOUR ( 6) },
+ { "T", tZONE, HOUR ( 7) },
+ { "U", tZONE, HOUR ( 8) },
+ { "V", tZONE, HOUR ( 9) },
+ { "W", tZONE, HOUR (10) },
+ { "X", tZONE, HOUR (11) },
+ { "Y", tZONE, HOUR (12) },
+ { "Z", tZONE, HOUR ( 0) },
+ { NULL, 0, 0 }
+};
+
+\f
+
+/* 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. 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 (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)
+ n_minutes = (s.value / 100) * 60 + s.value % 100;
+ else
+ 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
+to_hour (long int hours, int meridian)
+{
+ switch (meridian)
+ {
+ default: /* Pacify GCC. */
+ case MER24:
+ return 0 <= hours && hours < 24 ? hours : -1;
+ case MERam:
+ return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1;
+ case MERpm:
+ return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1;
+ }
+}
+
+static long int
+to_year (textint textyear)
+{
+ long int year = textyear.value;
+
+ if (year < 0)
+ year = -year;
+
+ /* XPG4 suggests that years 00-68 map to 2000-2068, and
+ years 69-99 map to 1969-1999. */
+ else if (textyear.digits == 2)
+ year += year < 69 ? 2000 : 1900;
+
+ return year;
+}
+
+static table const *
+lookup_zone (parser_control const *pc, char const *name)
+{
+ table const *tp;
+
+ for (tp = universal_time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ /* Try local zone abbreviations before those in time_zone_table, as
+ the local ones are more likely to be right. */
+ for (tp = pc->local_time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ for (tp = time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ return NULL;
+}
+
+#if ! HAVE_TM_GMTOFF
+/* Yield the difference between *A and *B,
+ measured in seconds, ignoring leap seconds.
+ The body of this function is taken directly from the GNU C Library;
+ see src/strftime.c. */
+static long int
+tm_diff (struct tm const *a, struct tm const *b)
+{
+ /* Compute intervening leap days correctly even if year is negative.
+ Take care to avoid int overflow in leap day calculations. */
+ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3);
+ int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3);
+ int a100 = a4 / 25 - (a4 % 25 < 0);
+ int b100 = b4 / 25 - (b4 % 25 < 0);
+ int a400 = SHR (a100, 2);
+ int b400 = SHR (b100, 2);
+ int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
+ long int ayear = a->tm_year;
+ long int years = ayear - b->tm_year;
+ long int days = (365 * years + intervening_leap_days
+ + (a->tm_yday - b->tm_yday));
+ return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
+ + (a->tm_min - b->tm_min))
+ + (a->tm_sec - b->tm_sec));
+}
+#endif /* ! HAVE_TM_GMTOFF */
+
+static table const *
+lookup_word (parser_control const *pc, char *word)
+{
+ char *p;
+ char *q;
+ size_t wordlen;
+ table const *tp;
+ bool period_found;
+ bool abbrev;
+
+ /* Make it uppercase. */
+ for (p = word; *p; p++)
+ {
+ unsigned char ch = *p;
+ *p = c_toupper (ch);
+ }
+
+ for (tp = meridian_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* See if we have an abbreviation for a month. */
+ wordlen = strlen (word);
+ abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.');
+
+ for (tp = month_and_day_table; tp->name; tp++)
+ if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0)
+ return tp;
+
+ if ((tp = lookup_zone (pc, word)))
+ return tp;
+
+ if (strcmp (word, dst_table[0].name) == 0)
+ return dst_table;
+
+ for (tp = time_units_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* Strip off any plural and try the units table again. */
+ if (word[wordlen - 1] == 'S')
+ {
+ word[wordlen - 1] = '\0';
+ for (tp = time_units_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+ word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */
+ }
+
+ for (tp = relative_time_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* Military time zones. */
+ if (wordlen == 1)
+ for (tp = military_table; tp->name; tp++)
+ if (word[0] == tp->name[0])
+ return tp;
+
+ /* Drop out any periods and try the time zone table again. */
+ for (period_found = false, p = q = word; (*p = *q); q++)
+ if (*q == '.')
+ period_found = true;
+ else
+ p++;
+ if (period_found && (tp = lookup_zone (pc, word)))
+ return tp;
+
+ return NULL;
+}
+
+static int
+yylex (YYSTYPE *lvalp, parser_control *pc)
+{
+ unsigned char c;
+ size_t count;
+
+ for (;;)
+ {
+ while (c = *pc->input, c_isspace (c))
+ pc->input++;
+
+ if (ISDIGIT (c) || c == '-' || c == '+')
+ {
+ char const *p;
+ int sign;
+ unsigned long int value;
+ if (c == '-' || c == '+')
+ {
+ sign = c == '-' ? -1 : 1;
+ while (c = *++pc->input, c_isspace (c))
+ continue;
+ if (! ISDIGIT (c))
+ /* skip the '-' sign */
+ continue;
+ }
+ else
+ sign = 0;
+ p = pc->input;
+ for (value = 0; ; value *= 10)
+ {
+ unsigned long int value1 = value + (c - '0');
+ if (value1 < value)
+ return '?';
+ value = value1;
+ c = *++p;
+ if (! ISDIGIT (c))
+ break;
+ if (ULONG_MAX / 10 < value)
+ return '?';
+ }
+ if ((c == '.' || c == ',') && ISDIGIT (p[1]))
+ {
+ time_t s;
+ int ns;
+ int digits;
+ unsigned long int value1;
+
+ /* Check for overflow when converting value to time_t. */
+ if (sign < 0)
+ {
+ s = - value;
+ if (0 < s)
+ return '?';
+ value1 = -s;
+ }
+ else
+ {
+ s = value;
+ if (s < 0)
+ return '?';
+ value1 = s;
+ }
+ if (value != value1)
+ return '?';
+
+ /* Accumulate fraction, to ns precision. */
+ p++;
+ ns = *p++ - '0';
+ for (digits = 2; digits <= LOG10_BILLION; digits++)
+ {
+ ns *= 10;
+ if (ISDIGIT (*p))
+ ns += *p++ - '0';
+ }
+
+ /* Skip excess digits, truncating toward -Infinity. */
+ if (sign < 0)
+ for (; ISDIGIT (*p); p++)
+ if (*p != '0')
+ {
+ ns++;
+ break;
+ }
+ while (ISDIGIT (*p))
+ p++;
+
+ /* Adjust to the timespec convention, which is that
+ tv_nsec is always a positive offset even if tv_sec is
+ negative. */
+ if (sign < 0 && ns)
+ {
+ s--;
+ if (! (s < 0))
+ return '?';
+ ns = BILLION - ns;
+ }
+
+ lvalp->timespec.tv_sec = s;
+ lvalp->timespec.tv_nsec = ns;
+ pc->input = p;
+ return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER;
+ }
+ else
+ {
+ lvalp->textintval.negative = sign < 0;
+ if (sign < 0)
+ {
+ lvalp->textintval.value = - value;
+ if (0 < lvalp->textintval.value)
+ return '?';
+ }
+ else
+ {
+ lvalp->textintval.value = value;
+ if (lvalp->textintval.value < 0)
+ return '?';
+ }
+ lvalp->textintval.digits = p - pc->input;
+ pc->input = p;
+ return sign ? tSNUMBER : tUNUMBER;
+ }
+ }
+
+ if (c_isalpha (c))
+ {
+ char buff[20];
+ char *p = buff;
+ table const *tp;
+
+ do
+ {
+ if (p < buff + sizeof buff - 1)
+ *p++ = c;
+ c = *++pc->input;
+ }
+ while (c_isalpha (c) || c == '.');
+
+ *p = '\0';
+ tp = lookup_word (pc, buff);
+ if (! tp)
+ return '?';
+ lvalp->intval = tp->value;
+ return tp->type;
+ }
+
+ if (c != '(')
+ return *pc->input++;
+ count = 0;
+ do
+ {
+ c = *pc->input++;
+ if (c == '\0')
+ return c;
+ if (c == '(')
+ count++;
+ else if (c == ')')
+ count--;
+ }
+ while (count != 0);
+ }
+}
+
+/* Do nothing if the parser reports an error. */
+static int
+yyerror (parser_control const *pc _GL_UNUSED,
+ char const *s _GL_UNUSED)
+{
+ return 0;
+}
+
+/* If *TM0 is the old and *TM1 is the new value of a struct tm after
+ passing it to mktime, return true if it's OK that mktime returned T.
+ It's not OK if *TM0 has out-of-range members. */
+
+static bool
+mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t)
+{
+ if (t == (time_t) -1)
+ {
+ /* Guard against falsely reporting an error when parsing a time
+ stamp that happens to equal (time_t) -1, on a host that
+ supports such a time stamp. */
+ tm1 = localtime (&t);
+ if (!tm1)
+ return false;
+ }
+
+ return ! ((tm0->tm_sec ^ tm1->tm_sec)
+ | (tm0->tm_min ^ tm1->tm_min)
+ | (tm0->tm_hour ^ tm1->tm_hour)
+ | (tm0->tm_mday ^ tm1->tm_mday)
+ | (tm0->tm_mon ^ tm1->tm_mon)
+ | (tm0->tm_year ^ tm1->tm_year));
+}
+
+/* A reasonable upper bound for the size of ordinary TZ strings.
+ Use heap allocation if TZ's length exceeds this. */
+enum { TZBUFSIZE = 100 };
+
+/* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated
+ otherwise. */
+static char *
+get_tz (char tzbuf[TZBUFSIZE])
+{
+ char *tz = getenv ("TZ");
+ if (tz)
+ {
+ size_t tzsize = strlen (tz) + 1;
+ tz = (tzsize <= TZBUFSIZE
+ ? memcpy (tzbuf, tz, tzsize)
+ : xmemdup (tz, tzsize));
+ }
+ return tz;
+}
+
+/* Parse a date/time string, storing the resulting time value into *RESULT.
+ The string itself is pointed to by P. Return true if successful.
+ P can be an incomplete or relative time specification; if so, use
+ *NOW as the basis for the returned time. */
+bool
+parse_datetime (struct timespec *result, char const *p,
+ struct timespec const *now)
+{
+ time_t Start;
+ long int Start_ns;
+ struct tm const *tmp;
+ struct tm tm;
+ struct tm tm0;
+ parser_control pc;
+ struct timespec gettime_buffer;
+ unsigned char c;
+ bool tz_was_altered = false;
+ char *tz0 = NULL;
+ char tz0buf[TZBUFSIZE];
+ bool ok = true;
+
+ if (! now)
+ {
+ gettime (&gettime_buffer);
+ now = &gettime_buffer;
+ }
+
+ Start = now->tv_sec;
+ Start_ns = now->tv_nsec;
+
+ tmp = localtime (&now->tv_sec);
+ if (! tmp)
+ return false;
+
+ while (c = *p, c_isspace (c))
+ p++;
+
+ if (strncmp (p, "TZ=\"", 4) == 0)
+ {
+ char const *tzbase = p + 4;
+ size_t tzsize = 1;
+ char const *s;
+
+ for (s = tzbase; *s; s++, tzsize++)
+ if (*s == '\\')
+ {
+ s++;
+ if (! (*s == '\\' || *s == '"'))
+ break;
+ }
+ else if (*s == '"')
+ {
+ char *z;
+ char *tz1;
+ char tz1buf[TZBUFSIZE];
+ bool large_tz = TZBUFSIZE < tzsize;
+ bool setenv_ok;
+ /* Free tz0, in case this is the 2nd or subsequent time through. */
+ free (tz0);
+ tz0 = get_tz (tz0buf);
+ z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
+ for (s = tzbase; *s != '"'; s++)
+ *z++ = *(s += *s == '\\');
+ *z = '\0';
+ setenv_ok = setenv ("TZ", tz1, 1) == 0;
+ if (large_tz)
+ free (tz1);
+ if (!setenv_ok)
+ goto fail;
+ tz_was_altered = true;
+ p = s + 1;
+ }
+ }
+
+ /* As documented, be careful to treat the empty string just like
+ a date string of "0". Without this, an empty string would be
+ declared invalid when parsed during a DST transition. */
+ if (*p == '\0')
+ p = "0";
+
+ pc.input = p;
+ pc.year.value = tmp->tm_year;
+ pc.year.value += TM_YEAR_BASE;
+ pc.year.digits = 0;
+ pc.month = tmp->tm_mon + 1;
+ pc.day = tmp->tm_mday;
+ pc.hour = tmp->tm_hour;
+ pc.minutes = tmp->tm_min;
+ pc.seconds.tv_sec = tmp->tm_sec;
+ pc.seconds.tv_nsec = Start_ns;
+ tm.tm_isdst = tmp->tm_isdst;
+
+ pc.meridian = MER24;
+ pc.rel = RELATIVE_TIME_0;
+ pc.timespec_seen = false;
+ pc.rels_seen = false;
+ pc.dates_seen = 0;
+ pc.days_seen = 0;
+ pc.times_seen = 0;
+ pc.local_zones_seen = 0;
+ pc.dsts_seen = 0;
+ pc.zones_seen = 0;
+
+#if HAVE_STRUCT_TM_TM_ZONE
+ pc.local_time_zone_table[0].name = tmp->tm_zone;
+ pc.local_time_zone_table[0].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[0].value = tmp->tm_isdst;
+ pc.local_time_zone_table[1].name = NULL;
+
+ /* Probe the names used in the next three calendar quarters, looking
+ for a tm_isdst different from the one we already have. */
+ {
+ int quarter;
+ for (quarter = 1; quarter <= 3; quarter++)
+ {
+ time_t probe = Start + quarter * (90 * 24 * 60 * 60);
+ struct tm const *probe_tm = localtime (&probe);
+ if (probe_tm && probe_tm->tm_zone
+ && probe_tm->tm_isdst != pc.local_time_zone_table[0].value)
+ {
+ {
+ pc.local_time_zone_table[1].name = probe_tm->tm_zone;
+ pc.local_time_zone_table[1].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[1].value = probe_tm->tm_isdst;
+ pc.local_time_zone_table[2].name = NULL;
+ }
+ break;
+ }
+ }
+ }
+#else
+#if HAVE_TZNAME
+ {
+# if !HAVE_DECL_TZNAME
+ extern char *tzname[];
+# endif
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ pc.local_time_zone_table[i].name = tzname[i];
+ pc.local_time_zone_table[i].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[i].value = i;
+ }
+ pc.local_time_zone_table[i].name = NULL;
+ }
+#else
+ pc.local_time_zone_table[0].name = NULL;
+#endif
+#endif
+
+ if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name
+ && ! strcmp (pc.local_time_zone_table[0].name,
+ pc.local_time_zone_table[1].name))
+ {
+ /* This locale uses the same abbrevation for standard and
+ daylight times. So if we see that abbreviation, we don't
+ know whether it's daylight time. */
+ pc.local_time_zone_table[0].value = -1;
+ pc.local_time_zone_table[1].name = NULL;
+ }
+
+ if (yyparse (&pc) != 0)
+ goto fail;
+
+ if (pc.timespec_seen)
+ *result = pc.seconds;
+ else
+ {
+ if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen
+ | (pc.local_zones_seen + pc.zones_seen)))
+ goto fail;
+
+ tm.tm_year = to_year (pc.year) - TM_YEAR_BASE;
+ tm.tm_mon = pc.month - 1;
+ tm.tm_mday = pc.day;
+ if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen))
+ {
+ tm.tm_hour = to_hour (pc.hour, pc.meridian);
+ if (tm.tm_hour < 0)
+ goto fail;
+ tm.tm_min = pc.minutes;
+ tm.tm_sec = pc.seconds.tv_sec;
+ }
+ else
+ {
+ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
+ pc.seconds.tv_nsec = 0;
+ }
+
+ /* Let mktime deduce tm_isdst if we have an absolute time stamp. */
+ if (pc.dates_seen | pc.days_seen | pc.times_seen)
+ tm.tm_isdst = -1;
+
+ /* But if the input explicitly specifies local time with or without
+ DST, give mktime that information. */
+ if (pc.local_zones_seen)
+ tm.tm_isdst = pc.local_isdst;
+
+ tm0 = tm;
+
+ Start = mktime (&tm);
+
+ if (! mktime_ok (&tm0, &tm, Start))
+ {
+ if (! pc.zones_seen)
+ goto fail;
+ else
+ {
+ /* Guard against falsely reporting errors near the time_t
+ boundaries when parsing times in other time zones. For
+ example, suppose the input string "1969-12-31 23:00:00 -0100",
+ the current time zone is 8 hours ahead of UTC, and the min
+ time_t value is 1970-01-01 00:00:00 UTC. Then the min
+ localtime value is 1970-01-01 08:00:00, and mktime will
+ therefore fail on 1969-12-31 23:00:00. To work around the
+ problem, set the time zone to 1 hour behind UTC temporarily
+ by setting TZ="XXX1:00" and try mktime again. */
+
+ long int time_zone = pc.time_zone;
+ long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
+ long int abs_time_zone_hour = abs_time_zone / 60;
+ int abs_time_zone_min = abs_time_zone % 60;
+ char tz1buf[sizeof "XXX+0:00"
+ + sizeof pc.time_zone * CHAR_BIT / 3];
+ if (!tz_was_altered)
+ tz0 = get_tz (tz0buf);
+ sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
+ abs_time_zone_hour, abs_time_zone_min);
+ if (setenv ("TZ", tz1buf, 1) != 0)
+ goto fail;
+ tz_was_altered = true;
+ tm = tm0;
+ Start = mktime (&tm);
+ if (! mktime_ok (&tm0, &tm, Start))
+ goto fail;
+ }
+ }
+
+ if (pc.days_seen && ! pc.dates_seen)
+ {
+ tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7
+ + 7 * (pc.day_ordinal
+ - (0 < pc.day_ordinal
+ && tm.tm_wday != pc.day_number)));
+ tm.tm_isdst = -1;
+ Start = mktime (&tm);
+ if (Start == (time_t) -1)
+ goto fail;
+ }
+
+ /* Add relative date. */
+ if (pc.rel.year | pc.rel.month | pc.rel.day)
+ {
+ int year = tm.tm_year + pc.rel.year;
+ int month = tm.tm_mon + pc.rel.month;
+ int day = tm.tm_mday + pc.rel.day;
+ if (((year < tm.tm_year) ^ (pc.rel.year < 0))
+ | ((month < tm.tm_mon) ^ (pc.rel.month < 0))
+ | ((day < tm.tm_mday) ^ (pc.rel.day < 0)))
+ goto fail;
+ tm.tm_year = year;
+ tm.tm_mon = month;
+ tm.tm_mday = day;
+ tm.tm_hour = tm0.tm_hour;
+ tm.tm_min = tm0.tm_min;
+ tm.tm_sec = tm0.tm_sec;
+ tm.tm_isdst = tm0.tm_isdst;
+ Start = mktime (&tm);
+ if (Start == (time_t) -1)
+ 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
+ leap second. Typically this is not what the user wants, but it's
+ too hard to do it the other way, because the time zone indicator
+ must be applied before relative times, and if mktime is applied
+ again the time zone will be lost. */
+ {
+ long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
+ long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
+ time_t t0 = Start;
+ long int d1 = 60 * 60 * pc.rel.hour;
+ time_t t1 = t0 + d1;
+ long int d2 = 60 * pc.rel.minutes;
+ time_t t2 = t1 + d2;
+ long_time_t d3 = pc.rel.seconds;
+ long_time_t t3 = t2 + d3;
+ long int d4 = (sum_ns - normalized_ns) / BILLION;
+ long_time_t t4 = t3 + d4;
+ time_t t5 = t4;
+
+ if ((d1 / (60 * 60) ^ pc.rel.hour)
+ | (d2 / 60 ^ pc.rel.minutes)
+ | ((t1 < t0) ^ (d1 < 0))
+ | ((t2 < t1) ^ (d2 < 0))
+ | ((t3 < t2) ^ (d3 < 0))
+ | ((t4 < t3) ^ (d4 < 0))
+ | (t5 != t4))
+ goto fail;
+
+ result->tv_sec = t5;
+ result->tv_nsec = normalized_ns;
+ }
+ }
+
+ goto done;
+
+ fail:
+ ok = false;
+ done:
+ if (tz_was_altered)
+ ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0;
+ if (tz0 != tz0buf)
+ free (tz0);
+ return ok;
+}
+
+#if TEST
+
+int
+main (int ac, char **av)
+{
+ char buff[BUFSIZ];
+
+ printf ("Enter date, or blank line to exit.\n\t> ");
+ fflush (stdout);
+
+ buff[BUFSIZ - 1] = '\0';
+ while (fgets (buff, BUFSIZ - 1, stdin) && buff[0])
+ {
+ struct timespec d;
+ struct tm const *tm;
+ if (! parse_datetime (&d, buff, NULL))
+ printf ("Bad format - couldn't convert.\n");
+ else if (! (tm = localtime (&d.tv_sec)))
+ {
+ long int sec = d.tv_sec;
+ printf ("localtime (%ld) failed\n", sec);
+ }
+ else
+ {
+ int ns = d.tv_nsec;
+ printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n",
+ tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
+ tm->tm_hour, tm->tm_min, tm->tm_sec, ns);
+ }
+ printf ("\t> ");
+ fflush (stdout);
+ }
+ return 0;
+}
+#endif /* TEST */
+
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Parse a string into an internal time stamp.
+
+ Copyright (C) 1995, 1997, 1998, 2003, 2004, 2007, 2009, 2010 Free Software
+ Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 <stdbool.h>
+#include <time.h>
+
+bool parse_datetime (struct timespec *, char const *, struct timespec const *);
--- /dev/null
+%{
+/* Parse a string into an internal time stamp.
+
+ Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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/>. */
+
+/* Originally written by Steven M. Bellovin <smb@research.att.com> while
+ at the University of North Carolina at Chapel Hill. Later tweaked by
+ a couple of people on Usenet. Completely overhauled by Rich $alz
+ <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990.
+
+ Modified by Paul Eggert <eggert@twinsun.com> in August 1999 to do
+ the right thing about local DST. Also modified by Paul Eggert
+ <eggert@cs.ucla.edu> in February 2004 to support
+ nanosecond-resolution time stamps, and in October 2004 to support
+ TZ strings in dates. */
+
+/* FIXME: Check for arithmetic overflow in all cases, not just
+ some of them. */
+
+#include <config.h>
+
+#include "parse-datetime.h"
+
+#include "intprops.h"
+#include "timespec.h"
+#include "verify.h"
+
+/* There's no need to extend the stack, so there's no need to involve
+ alloca. */
+#define YYSTACK_USE_ALLOCA 0
+
+/* Tell Bison how much stack space is needed. 20 should be plenty for
+ this grammar, which is not right recursive. Beware setting it too
+ high, since that might cause problems on machines whose
+ implementations have lame stack-overflow checking. */
+#define YYMAXDEPTH 20
+#define YYINITDEPTH YYMAXDEPTH
+
+/* Since the code of parse-datetime.y is not included in the Emacs executable
+ itself, there is no need to #define static in this file. Even if
+ the code were included in the Emacs executable, it probably
+ wouldn't do any harm to #undef it here; this will only cause
+ problems if we try to write to a static variable, which I don't
+ think this code needs to do. */
+#ifdef emacs
+# undef static
+#endif
+
+#include <c-ctype.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "xalloc.h"
+
+/* Bison's skeleton tests _STDLIB_H, while some stdlib.h headers
+ use _STDLIB_H_ as witness. Map the latter to the one bison uses. */
+/* FIXME: this is temporary. Remove when we have a mechanism to ensure
+ that the version we're using is fixed, too. */
+#ifdef _STDLIB_H_
+# undef _STDLIB_H
+# define _STDLIB_H 1
+#endif
+
+/* ISDIGIT differs from isdigit, as follows:
+ - Its arg may be any int or unsigned int; it need not be an unsigned char
+ or EOF.
+ - It's typically faster.
+ POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
+ isdigit unless it's important to use the locale's definition
+ of `digit' even when the host does not conform to POSIX. */
+#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
+
+/* Shift A right by B bits portably, by dividing A by 2**B and
+ truncating towards minus infinity. A and B should be free of side
+ effects, and B should be in the range 0 <= B <= INT_BITS - 2, where
+ INT_BITS is the number of useful bits in an int. GNU code can
+ assume that INT_BITS is at least 32.
+
+ ISO C99 says that A >> B is implementation-defined if A < 0. Some
+ implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift
+ right in the usual way when A < 0, so SHR falls back on division if
+ ordinary A >> B doesn't seem to be the usual signed shift. */
+#define SHR(a, b) \
+ (-1 >> 1 == -1 \
+ ? (a) >> (b) \
+ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0))
+
+#define EPOCH_YEAR 1970
+#define TM_YEAR_BASE 1900
+
+#define HOUR(x) ((x) * 60)
+
+/* long_time_t is a signed integer type that contains all time_t values. */
+verify (TYPE_IS_INTEGER (time_t));
+#if TIME_T_FITS_IN_LONG_INT
+typedef long int long_time_t;
+#else
+typedef time_t long_time_t;
+#endif
+
+/* Lots of this code assumes time_t and time_t-like values fit into
+ long_time_t. */
+verify (TYPE_MINIMUM (long_time_t) <= TYPE_MINIMUM (time_t)
+ && TYPE_MAXIMUM (time_t) <= TYPE_MAXIMUM (long_time_t));
+
+/* FIXME: It also assumes that signed integer overflow silently wraps around,
+ but this is not true any more with recent versions of GCC 4. */
+
+/* An integer value, and the number of digits in its textual
+ representation. */
+typedef struct
+{
+ bool negative;
+ long int value;
+ size_t digits;
+} textint;
+
+/* An entry in the lexical lookup table. */
+typedef struct
+{
+ char const *name;
+ int type;
+ int value;
+} table;
+
+/* Meridian: am, pm, or 24-hour style. */
+enum { MERam, MERpm, MER24 };
+
+enum { BILLION = 1000000000, LOG10_BILLION = 9 };
+
+/* Relative times. */
+typedef struct
+{
+ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
+ long int year;
+ long int month;
+ long int day;
+ long int hour;
+ long int minutes;
+ long_time_t seconds;
+ long int ns;
+} relative_time;
+
+#if HAVE_COMPOUND_LITERALS
+# define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 })
+#else
+static relative_time const RELATIVE_TIME_0;
+#endif
+
+/* Information passed to and from the parser. */
+typedef struct
+{
+ /* The input string remaining to be parsed. */
+ const char *input;
+
+ /* N, if this is the Nth Tuesday. */
+ long int day_ordinal;
+
+ /* Day of week; Sunday is 0. */
+ int day_number;
+
+ /* tm_isdst flag for the local zone. */
+ int local_isdst;
+
+ /* Time zone, in minutes east of UTC. */
+ long int time_zone;
+
+ /* Style used for time. */
+ int meridian;
+
+ /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */
+ textint year;
+ long int month;
+ long int day;
+ long int hour;
+ long int minutes;
+ struct timespec seconds; /* includes nanoseconds */
+
+ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */
+ relative_time rel;
+
+ /* Presence or counts of nonterminals of various flavors parsed so far. */
+ bool timespec_seen;
+ bool rels_seen;
+ size_t dates_seen;
+ size_t days_seen;
+ size_t local_zones_seen;
+ size_t dsts_seen;
+ size_t times_seen;
+ size_t zones_seen;
+
+ /* Table of local time zone abbrevations, terminated by a null entry. */
+ table local_time_zone_table[3];
+} parser_control;
+
+union YYSTYPE;
+static int yylex (union YYSTYPE *, parser_control *);
+static int yyerror (parser_control const *, char const *);
+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,
+ YYYY, ...). */
+static void
+digits_to_date_time (parser_control *pc, textint text_int)
+{
+ if (pc->dates_seen && ! pc->year.digits
+ && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits))
+ pc->year = text_int;
+ else
+ {
+ if (4 < text_int.digits)
+ {
+ pc->dates_seen++;
+ pc->day = text_int.value % 100;
+ pc->month = (text_int.value / 100) % 100;
+ pc->year.value = text_int.value / 10000;
+ pc->year.digits = text_int.digits - 4;
+ }
+ else
+ {
+ pc->times_seen++;
+ if (text_int.digits <= 2)
+ {
+ pc->hour = text_int.value;
+ pc->minutes = 0;
+ }
+ else
+ {
+ pc->hour = text_int.value / 100;
+ pc->minutes = text_int.value % 100;
+ }
+ pc->seconds.tv_sec = 0;
+ pc->seconds.tv_nsec = 0;
+ pc->meridian = MER24;
+ }
+ }
+}
+
+/* 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
+ localtime and gmtime are not reentrant. */
+%pure-parser
+%parse-param { parser_control *pc }
+%lex-param { parser_control *pc }
+
+/* This grammar has 20 shift/reduce conflicts. */
+%expect 20
+
+%union
+{
+ long int intval;
+ textint textintval;
+ struct timespec timespec;
+ relative_time rel;
+}
+
+%token tAGO tDST
+
+%token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT
+%token <intval> tDAY_UNIT tDAY_SHIFT
+
+%token <intval> tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN
+%token <intval> tMONTH tORDINAL tZONE
+
+%token <textintval> tSNUMBER tUNUMBER
+%token <timespec> tSDECIMAL_NUMBER tUDECIMAL_NUMBER
+
+%type <intval> o_colon_minutes o_merid
+%type <timespec> seconds signed_seconds unsigned_seconds
+
+%type <rel> relunit relunit_snumber dayshift
+
+%%
+
+spec:
+ timespec
+ | items
+ ;
+
+timespec:
+ '@' seconds
+ {
+ pc->seconds = $2;
+ pc->timespec_seen = true;
+ }
+ ;
+
+items:
+ /* empty */
+ | items item
+ ;
+
+item:
+ time
+ { pc->times_seen++; }
+ | local_zone
+ { pc->local_zones_seen++; }
+ | zone
+ { pc->zones_seen++; }
+ | date
+ { pc->dates_seen++; }
+ | day
+ { pc->days_seen++; }
+ | rel
+ | number
+ | hybrid
+ ;
+
+time:
+ tUNUMBER tMERIDIAN
+ {
+ set_hhmmss (pc, $1.value, 0, 0, 0);
+ pc->meridian = $2;
+ }
+ | tUNUMBER ':' tUNUMBER o_merid
+ {
+ set_hhmmss (pc, $1.value, $3.value, 0, 0);
+ pc->meridian = $4;
+ }
+ | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes
+ {
+ set_hhmmss (pc, $1.value, $3.value, 0, 0);
+ pc->meridian = MER24;
+ pc->zones_seen++;
+ pc->time_zone = time_zone_hhmm (pc, $4, $5);
+ }
+ | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid
+ {
+ set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec);
+ pc->meridian = $6;
+ }
+ | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes
+ {
+ 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 (pc, $6, $7);
+ }
+ ;
+
+local_zone:
+ tLOCAL_ZONE
+ {
+ pc->local_isdst = $1;
+ pc->dsts_seen += (0 < $1);
+ }
+ | tLOCAL_ZONE tDST
+ {
+ pc->local_isdst = 1;
+ pc->dsts_seen += (0 < $1) + 1;
+ }
+ ;
+
+zone:
+ tZONE
+ { pc->time_zone = $1; }
+ | tZONE relunit_snumber
+ { pc->time_zone = $1;
+ apply_relative_time (pc, $2, 1); }
+ | tZONE tSNUMBER o_colon_minutes
+ { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); }
+ | tDAYZONE
+ { pc->time_zone = $1 + 60; }
+ | tZONE tDST
+ { pc->time_zone = $1 + 60; }
+ ;
+
+day:
+ tDAY
+ {
+ pc->day_ordinal = 0;
+ pc->day_number = $1;
+ }
+ | tDAY ','
+ {
+ pc->day_ordinal = 0;
+ pc->day_number = $1;
+ }
+ | tORDINAL tDAY
+ {
+ pc->day_ordinal = $1;
+ pc->day_number = $2;
+ }
+ | tUNUMBER tDAY
+ {
+ pc->day_ordinal = $1.value;
+ pc->day_number = $2;
+ }
+ ;
+
+date:
+ tUNUMBER '/' tUNUMBER
+ {
+ pc->month = $1.value;
+ pc->day = $3.value;
+ }
+ | tUNUMBER '/' tUNUMBER '/' tUNUMBER
+ {
+ /* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
+ otherwise as MM/DD/YY.
+ The goal in recognizing YYYY/MM/DD is solely to support legacy
+ machine-generated dates like those in an RCS log listing. If
+ you want portability, use the ISO 8601 format. */
+ if (4 <= $1.digits)
+ {
+ pc->year = $1;
+ pc->month = $3.value;
+ pc->day = $5.value;
+ }
+ else
+ {
+ pc->month = $1.value;
+ pc->day = $3.value;
+ pc->year = $5;
+ }
+ }
+ | tUNUMBER tSNUMBER tSNUMBER
+ {
+ /* ISO 8601 format. YYYY-MM-DD. */
+ pc->year = $1;
+ pc->month = -$2.value;
+ pc->day = -$3.value;
+ }
+ | tUNUMBER tMONTH tSNUMBER
+ {
+ /* e.g. 17-JUN-1992. */
+ pc->day = $1.value;
+ pc->month = $2;
+ pc->year.value = -$3.value;
+ pc->year.digits = $3.digits;
+ }
+ | tMONTH tSNUMBER tSNUMBER
+ {
+ /* e.g. JUN-17-1992. */
+ pc->month = $1;
+ pc->day = -$2.value;
+ pc->year.value = -$3.value;
+ pc->year.digits = $3.digits;
+ }
+ | tMONTH tUNUMBER
+ {
+ pc->month = $1;
+ pc->day = $2.value;
+ }
+ | tMONTH tUNUMBER ',' tUNUMBER
+ {
+ pc->month = $1;
+ pc->day = $2.value;
+ pc->year = $4;
+ }
+ | tUNUMBER tMONTH
+ {
+ pc->day = $1.value;
+ pc->month = $2;
+ }
+ | tUNUMBER tMONTH tUNUMBER
+ {
+ pc->day = $1.value;
+ pc->month = $2;
+ pc->year = $3;
+ }
+ ;
+
+rel:
+ relunit tAGO
+ { apply_relative_time (pc, $1, -1); }
+ | relunit
+ { apply_relative_time (pc, $1, 1); }
+ | dayshift
+ { apply_relative_time (pc, $1, 1); }
+ ;
+
+relunit:
+ tORDINAL tYEAR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.year = $1; }
+ | tUNUMBER tYEAR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.year = $1.value; }
+ | tYEAR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.year = 1; }
+ | tORDINAL tMONTH_UNIT
+ { $$ = RELATIVE_TIME_0; $$.month = $1; }
+ | tUNUMBER tMONTH_UNIT
+ { $$ = RELATIVE_TIME_0; $$.month = $1.value; }
+ | tMONTH_UNIT
+ { $$ = RELATIVE_TIME_0; $$.month = 1; }
+ | tORDINAL tDAY_UNIT
+ { $$ = RELATIVE_TIME_0; $$.day = $1 * $2; }
+ | tUNUMBER tDAY_UNIT
+ { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; }
+ | tDAY_UNIT
+ { $$ = RELATIVE_TIME_0; $$.day = $1; }
+ | tORDINAL tHOUR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.hour = $1; }
+ | tUNUMBER tHOUR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.hour = $1.value; }
+ | tHOUR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.hour = 1; }
+ | tORDINAL tMINUTE_UNIT
+ { $$ = RELATIVE_TIME_0; $$.minutes = $1; }
+ | tUNUMBER tMINUTE_UNIT
+ { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; }
+ | tMINUTE_UNIT
+ { $$ = RELATIVE_TIME_0; $$.minutes = 1; }
+ | tORDINAL tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = $1; }
+ | tUNUMBER tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; }
+ | tSDECIMAL_NUMBER tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; }
+ | tUDECIMAL_NUMBER tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; }
+ | tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = 1; }
+ | relunit_snumber
+ ;
+
+relunit_snumber:
+ tSNUMBER tYEAR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.year = $1.value; }
+ | tSNUMBER tMONTH_UNIT
+ { $$ = RELATIVE_TIME_0; $$.month = $1.value; }
+ | tSNUMBER tDAY_UNIT
+ { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; }
+ | tSNUMBER tHOUR_UNIT
+ { $$ = RELATIVE_TIME_0; $$.hour = $1.value; }
+ | tSNUMBER tMINUTE_UNIT
+ { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; }
+ | tSNUMBER tSEC_UNIT
+ { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; }
+ ;
+
+dayshift:
+ tDAY_SHIFT
+ { $$ = RELATIVE_TIME_0; $$.day = $1; }
+ ;
+
+seconds: signed_seconds | unsigned_seconds;
+
+signed_seconds:
+ tSDECIMAL_NUMBER
+ | tSNUMBER
+ { $$.tv_sec = $1.value; $$.tv_nsec = 0; }
+ ;
+
+unsigned_seconds:
+ tUDECIMAL_NUMBER
+ | tUNUMBER
+ { $$.tv_sec = $1.value; $$.tv_nsec = 0; }
+ ;
+
+number:
+ tUNUMBER
+ { digits_to_date_time (pc, $1); }
+ ;
+
+hybrid:
+ tUNUMBER relunit_snumber
+ {
+ /* 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);
+ apply_relative_time (pc, $2, 1);
+ }
+ ;
+
+o_colon_minutes:
+ /* empty */
+ { $$ = -1; }
+ | ':' tUNUMBER
+ { $$ = $2.value; }
+ ;
+
+o_merid:
+ /* empty */
+ { $$ = MER24; }
+ | tMERIDIAN
+ { $$ = $1; }
+ ;
+
+%%
+
+static table const meridian_table[] =
+{
+ { "AM", tMERIDIAN, MERam },
+ { "A.M.", tMERIDIAN, MERam },
+ { "PM", tMERIDIAN, MERpm },
+ { "P.M.", tMERIDIAN, MERpm },
+ { NULL, 0, 0 }
+};
+
+static table const dst_table[] =
+{
+ { "DST", tDST, 0 }
+};
+
+static table const month_and_day_table[] =
+{
+ { "JANUARY", tMONTH, 1 },
+ { "FEBRUARY", tMONTH, 2 },
+ { "MARCH", tMONTH, 3 },
+ { "APRIL", tMONTH, 4 },
+ { "MAY", tMONTH, 5 },
+ { "JUNE", tMONTH, 6 },
+ { "JULY", tMONTH, 7 },
+ { "AUGUST", tMONTH, 8 },
+ { "SEPTEMBER",tMONTH, 9 },
+ { "SEPT", tMONTH, 9 },
+ { "OCTOBER", tMONTH, 10 },
+ { "NOVEMBER", tMONTH, 11 },
+ { "DECEMBER", tMONTH, 12 },
+ { "SUNDAY", tDAY, 0 },
+ { "MONDAY", tDAY, 1 },
+ { "TUESDAY", tDAY, 2 },
+ { "TUES", tDAY, 2 },
+ { "WEDNESDAY",tDAY, 3 },
+ { "WEDNES", tDAY, 3 },
+ { "THURSDAY", tDAY, 4 },
+ { "THUR", tDAY, 4 },
+ { "THURS", tDAY, 4 },
+ { "FRIDAY", tDAY, 5 },
+ { "SATURDAY", tDAY, 6 },
+ { NULL, 0, 0 }
+};
+
+static table const time_units_table[] =
+{
+ { "YEAR", tYEAR_UNIT, 1 },
+ { "MONTH", tMONTH_UNIT, 1 },
+ { "FORTNIGHT",tDAY_UNIT, 14 },
+ { "WEEK", tDAY_UNIT, 7 },
+ { "DAY", tDAY_UNIT, 1 },
+ { "HOUR", tHOUR_UNIT, 1 },
+ { "MINUTE", tMINUTE_UNIT, 1 },
+ { "MIN", tMINUTE_UNIT, 1 },
+ { "SECOND", tSEC_UNIT, 1 },
+ { "SEC", tSEC_UNIT, 1 },
+ { NULL, 0, 0 }
+};
+
+/* Assorted relative-time words. */
+static table const relative_time_table[] =
+{
+ { "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 },
+ { "FIRST", tORDINAL, 1 },
+/*{ "SECOND", tORDINAL, 2 }, */
+ { "THIRD", tORDINAL, 3 },
+ { "FOURTH", tORDINAL, 4 },
+ { "FIFTH", tORDINAL, 5 },
+ { "SIXTH", tORDINAL, 6 },
+ { "SEVENTH", tORDINAL, 7 },
+ { "EIGHTH", tORDINAL, 8 },
+ { "NINTH", tORDINAL, 9 },
+ { "TENTH", tORDINAL, 10 },
+ { "ELEVENTH", tORDINAL, 11 },
+ { "TWELFTH", tORDINAL, 12 },
+ { "AGO", tAGO, 1 },
+ { NULL, 0, 0 }
+};
+
+/* The universal time zone table. These labels can be used even for
+ time stamps that would not otherwise be valid, e.g., GMT time
+ stamps in London during summer. */
+static table const universal_time_zone_table[] =
+{
+ { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */
+ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
+ { "UTC", tZONE, HOUR ( 0) },
+ { NULL, 0, 0 }
+};
+
+/* The time zone table. This table is necessarily incomplete, as time
+ zone abbreviations are ambiguous; e.g. Australians interpret "EST"
+ as Eastern time in Australia, not as US Eastern Standard Time.
+ You cannot rely on parse_datetime to handle arbitrary time zone
+ abbreviations; use numeric abbreviations like `-0500' instead. */
+static table const time_zone_table[] =
+{
+ { "WET", tZONE, HOUR ( 0) }, /* Western European */
+ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */
+ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */
+ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */
+ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */
+ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */
+ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */
+ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */
+ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */
+ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */
+ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */
+ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */
+ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */
+ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */
+ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */
+ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */
+ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */
+ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */
+ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */
+ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */
+ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */
+ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */
+ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */
+ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */
+ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */
+ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */
+ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */
+ { "CET", tZONE, HOUR ( 1) }, /* Central European */
+ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */
+ { "MET", tZONE, HOUR ( 1) }, /* Middle European */
+ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */
+ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
+ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */
+ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */
+ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */
+ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */
+ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */
+ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */
+ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */
+ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */
+ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */
+ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */
+ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */
+ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */
+ { "GST", tZONE, HOUR (10) }, /* Guam Standard */
+ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */
+ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */
+ { NULL, 0, 0 }
+};
+
+/* Military time zone table. */
+static table const military_table[] =
+{
+ { "A", tZONE, -HOUR ( 1) },
+ { "B", tZONE, -HOUR ( 2) },
+ { "C", tZONE, -HOUR ( 3) },
+ { "D", tZONE, -HOUR ( 4) },
+ { "E", tZONE, -HOUR ( 5) },
+ { "F", tZONE, -HOUR ( 6) },
+ { "G", tZONE, -HOUR ( 7) },
+ { "H", tZONE, -HOUR ( 8) },
+ { "I", tZONE, -HOUR ( 9) },
+ { "K", tZONE, -HOUR (10) },
+ { "L", tZONE, -HOUR (11) },
+ { "M", tZONE, -HOUR (12) },
+ { "N", tZONE, HOUR ( 1) },
+ { "O", tZONE, HOUR ( 2) },
+ { "P", tZONE, HOUR ( 3) },
+ { "Q", tZONE, HOUR ( 4) },
+ { "R", tZONE, HOUR ( 5) },
+ { "S", tZONE, HOUR ( 6) },
+ { "T", tZONE, HOUR ( 7) },
+ { "U", tZONE, HOUR ( 8) },
+ { "V", tZONE, HOUR ( 9) },
+ { "W", tZONE, HOUR (10) },
+ { "X", tZONE, HOUR (11) },
+ { "Y", tZONE, HOUR (12) },
+ { "Z", tZONE, HOUR ( 0) },
+ { NULL, 0, 0 }
+};
+
+\f
+
+/* 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. 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 (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)
+ n_minutes = (s.value / 100) * 60 + s.value % 100;
+ else
+ 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
+to_hour (long int hours, int meridian)
+{
+ switch (meridian)
+ {
+ default: /* Pacify GCC. */
+ case MER24:
+ return 0 <= hours && hours < 24 ? hours : -1;
+ case MERam:
+ return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1;
+ case MERpm:
+ return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1;
+ }
+}
+
+static long int
+to_year (textint textyear)
+{
+ long int year = textyear.value;
+
+ if (year < 0)
+ year = -year;
+
+ /* XPG4 suggests that years 00-68 map to 2000-2068, and
+ years 69-99 map to 1969-1999. */
+ else if (textyear.digits == 2)
+ year += year < 69 ? 2000 : 1900;
+
+ return year;
+}
+
+static table const *
+lookup_zone (parser_control const *pc, char const *name)
+{
+ table const *tp;
+
+ for (tp = universal_time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ /* Try local zone abbreviations before those in time_zone_table, as
+ the local ones are more likely to be right. */
+ for (tp = pc->local_time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ for (tp = time_zone_table; tp->name; tp++)
+ if (strcmp (name, tp->name) == 0)
+ return tp;
+
+ return NULL;
+}
+
+#if ! HAVE_TM_GMTOFF
+/* Yield the difference between *A and *B,
+ measured in seconds, ignoring leap seconds.
+ The body of this function is taken directly from the GNU C Library;
+ see src/strftime.c. */
+static long int
+tm_diff (struct tm const *a, struct tm const *b)
+{
+ /* Compute intervening leap days correctly even if year is negative.
+ Take care to avoid int overflow in leap day calculations. */
+ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3);
+ int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3);
+ int a100 = a4 / 25 - (a4 % 25 < 0);
+ int b100 = b4 / 25 - (b4 % 25 < 0);
+ int a400 = SHR (a100, 2);
+ int b400 = SHR (b100, 2);
+ int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400);
+ long int ayear = a->tm_year;
+ long int years = ayear - b->tm_year;
+ long int days = (365 * years + intervening_leap_days
+ + (a->tm_yday - b->tm_yday));
+ return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
+ + (a->tm_min - b->tm_min))
+ + (a->tm_sec - b->tm_sec));
+}
+#endif /* ! HAVE_TM_GMTOFF */
+
+static table const *
+lookup_word (parser_control const *pc, char *word)
+{
+ char *p;
+ char *q;
+ size_t wordlen;
+ table const *tp;
+ bool period_found;
+ bool abbrev;
+
+ /* Make it uppercase. */
+ for (p = word; *p; p++)
+ {
+ unsigned char ch = *p;
+ *p = c_toupper (ch);
+ }
+
+ for (tp = meridian_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* See if we have an abbreviation for a month. */
+ wordlen = strlen (word);
+ abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.');
+
+ for (tp = month_and_day_table; tp->name; tp++)
+ if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0)
+ return tp;
+
+ if ((tp = lookup_zone (pc, word)))
+ return tp;
+
+ if (strcmp (word, dst_table[0].name) == 0)
+ return dst_table;
+
+ for (tp = time_units_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* Strip off any plural and try the units table again. */
+ if (word[wordlen - 1] == 'S')
+ {
+ word[wordlen - 1] = '\0';
+ for (tp = time_units_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+ word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */
+ }
+
+ for (tp = relative_time_table; tp->name; tp++)
+ if (strcmp (word, tp->name) == 0)
+ return tp;
+
+ /* Military time zones. */
+ if (wordlen == 1)
+ for (tp = military_table; tp->name; tp++)
+ if (word[0] == tp->name[0])
+ return tp;
+
+ /* Drop out any periods and try the time zone table again. */
+ for (period_found = false, p = q = word; (*p = *q); q++)
+ if (*q == '.')
+ period_found = true;
+ else
+ p++;
+ if (period_found && (tp = lookup_zone (pc, word)))
+ return tp;
+
+ return NULL;
+}
+
+static int
+yylex (YYSTYPE *lvalp, parser_control *pc)
+{
+ unsigned char c;
+ size_t count;
+
+ for (;;)
+ {
+ while (c = *pc->input, c_isspace (c))
+ pc->input++;
+
+ if (ISDIGIT (c) || c == '-' || c == '+')
+ {
+ char const *p;
+ int sign;
+ unsigned long int value;
+ if (c == '-' || c == '+')
+ {
+ sign = c == '-' ? -1 : 1;
+ while (c = *++pc->input, c_isspace (c))
+ continue;
+ if (! ISDIGIT (c))
+ /* skip the '-' sign */
+ continue;
+ }
+ else
+ sign = 0;
+ p = pc->input;
+ for (value = 0; ; value *= 10)
+ {
+ unsigned long int value1 = value + (c - '0');
+ if (value1 < value)
+ return '?';
+ value = value1;
+ c = *++p;
+ if (! ISDIGIT (c))
+ break;
+ if (ULONG_MAX / 10 < value)
+ return '?';
+ }
+ if ((c == '.' || c == ',') && ISDIGIT (p[1]))
+ {
+ time_t s;
+ int ns;
+ int digits;
+ unsigned long int value1;
+
+ /* Check for overflow when converting value to time_t. */
+ if (sign < 0)
+ {
+ s = - value;
+ if (0 < s)
+ return '?';
+ value1 = -s;
+ }
+ else
+ {
+ s = value;
+ if (s < 0)
+ return '?';
+ value1 = s;
+ }
+ if (value != value1)
+ return '?';
+
+ /* Accumulate fraction, to ns precision. */
+ p++;
+ ns = *p++ - '0';
+ for (digits = 2; digits <= LOG10_BILLION; digits++)
+ {
+ ns *= 10;
+ if (ISDIGIT (*p))
+ ns += *p++ - '0';
+ }
+
+ /* Skip excess digits, truncating toward -Infinity. */
+ if (sign < 0)
+ for (; ISDIGIT (*p); p++)
+ if (*p != '0')
+ {
+ ns++;
+ break;
+ }
+ while (ISDIGIT (*p))
+ p++;
+
+ /* Adjust to the timespec convention, which is that
+ tv_nsec is always a positive offset even if tv_sec is
+ negative. */
+ if (sign < 0 && ns)
+ {
+ s--;
+ if (! (s < 0))
+ return '?';
+ ns = BILLION - ns;
+ }
+
+ lvalp->timespec.tv_sec = s;
+ lvalp->timespec.tv_nsec = ns;
+ pc->input = p;
+ return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER;
+ }
+ else
+ {
+ lvalp->textintval.negative = sign < 0;
+ if (sign < 0)
+ {
+ lvalp->textintval.value = - value;
+ if (0 < lvalp->textintval.value)
+ return '?';
+ }
+ else
+ {
+ lvalp->textintval.value = value;
+ if (lvalp->textintval.value < 0)
+ return '?';
+ }
+ lvalp->textintval.digits = p - pc->input;
+ pc->input = p;
+ return sign ? tSNUMBER : tUNUMBER;
+ }
+ }
+
+ if (c_isalpha (c))
+ {
+ char buff[20];
+ char *p = buff;
+ table const *tp;
+
+ do
+ {
+ if (p < buff + sizeof buff - 1)
+ *p++ = c;
+ c = *++pc->input;
+ }
+ while (c_isalpha (c) || c == '.');
+
+ *p = '\0';
+ tp = lookup_word (pc, buff);
+ if (! tp)
+ return '?';
+ lvalp->intval = tp->value;
+ return tp->type;
+ }
+
+ if (c != '(')
+ return *pc->input++;
+ count = 0;
+ do
+ {
+ c = *pc->input++;
+ if (c == '\0')
+ return c;
+ if (c == '(')
+ count++;
+ else if (c == ')')
+ count--;
+ }
+ while (count != 0);
+ }
+}
+
+/* Do nothing if the parser reports an error. */
+static int
+yyerror (parser_control const *pc _GL_UNUSED,
+ char const *s _GL_UNUSED)
+{
+ return 0;
+}
+
+/* If *TM0 is the old and *TM1 is the new value of a struct tm after
+ passing it to mktime, return true if it's OK that mktime returned T.
+ It's not OK if *TM0 has out-of-range members. */
+
+static bool
+mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t)
+{
+ if (t == (time_t) -1)
+ {
+ /* Guard against falsely reporting an error when parsing a time
+ stamp that happens to equal (time_t) -1, on a host that
+ supports such a time stamp. */
+ tm1 = localtime (&t);
+ if (!tm1)
+ return false;
+ }
+
+ return ! ((tm0->tm_sec ^ tm1->tm_sec)
+ | (tm0->tm_min ^ tm1->tm_min)
+ | (tm0->tm_hour ^ tm1->tm_hour)
+ | (tm0->tm_mday ^ tm1->tm_mday)
+ | (tm0->tm_mon ^ tm1->tm_mon)
+ | (tm0->tm_year ^ tm1->tm_year));
+}
+
+/* A reasonable upper bound for the size of ordinary TZ strings.
+ Use heap allocation if TZ's length exceeds this. */
+enum { TZBUFSIZE = 100 };
+
+/* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated
+ otherwise. */
+static char *
+get_tz (char tzbuf[TZBUFSIZE])
+{
+ char *tz = getenv ("TZ");
+ if (tz)
+ {
+ size_t tzsize = strlen (tz) + 1;
+ tz = (tzsize <= TZBUFSIZE
+ ? memcpy (tzbuf, tz, tzsize)
+ : xmemdup (tz, tzsize));
+ }
+ return tz;
+}
+
+/* Parse a date/time string, storing the resulting time value into *RESULT.
+ The string itself is pointed to by P. Return true if successful.
+ P can be an incomplete or relative time specification; if so, use
+ *NOW as the basis for the returned time. */
+bool
+parse_datetime (struct timespec *result, char const *p,
+ struct timespec const *now)
+{
+ time_t Start;
+ long int Start_ns;
+ struct tm const *tmp;
+ struct tm tm;
+ struct tm tm0;
+ parser_control pc;
+ struct timespec gettime_buffer;
+ unsigned char c;
+ bool tz_was_altered = false;
+ char *tz0 = NULL;
+ char tz0buf[TZBUFSIZE];
+ bool ok = true;
+
+ if (! now)
+ {
+ gettime (&gettime_buffer);
+ now = &gettime_buffer;
+ }
+
+ Start = now->tv_sec;
+ Start_ns = now->tv_nsec;
+
+ tmp = localtime (&now->tv_sec);
+ if (! tmp)
+ return false;
+
+ while (c = *p, c_isspace (c))
+ p++;
+
+ if (strncmp (p, "TZ=\"", 4) == 0)
+ {
+ char const *tzbase = p + 4;
+ size_t tzsize = 1;
+ char const *s;
+
+ for (s = tzbase; *s; s++, tzsize++)
+ if (*s == '\\')
+ {
+ s++;
+ if (! (*s == '\\' || *s == '"'))
+ break;
+ }
+ else if (*s == '"')
+ {
+ char *z;
+ char *tz1;
+ char tz1buf[TZBUFSIZE];
+ bool large_tz = TZBUFSIZE < tzsize;
+ bool setenv_ok;
+ /* Free tz0, in case this is the 2nd or subsequent time through. */
+ free (tz0);
+ tz0 = get_tz (tz0buf);
+ z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf;
+ for (s = tzbase; *s != '"'; s++)
+ *z++ = *(s += *s == '\\');
+ *z = '\0';
+ setenv_ok = setenv ("TZ", tz1, 1) == 0;
+ if (large_tz)
+ free (tz1);
+ if (!setenv_ok)
+ goto fail;
+ tz_was_altered = true;
+ p = s + 1;
+ }
+ }
+
+ /* As documented, be careful to treat the empty string just like
+ a date string of "0". Without this, an empty string would be
+ declared invalid when parsed during a DST transition. */
+ if (*p == '\0')
+ p = "0";
+
+ pc.input = p;
+ pc.year.value = tmp->tm_year;
+ pc.year.value += TM_YEAR_BASE;
+ pc.year.digits = 0;
+ pc.month = tmp->tm_mon + 1;
+ pc.day = tmp->tm_mday;
+ pc.hour = tmp->tm_hour;
+ pc.minutes = tmp->tm_min;
+ pc.seconds.tv_sec = tmp->tm_sec;
+ pc.seconds.tv_nsec = Start_ns;
+ tm.tm_isdst = tmp->tm_isdst;
+
+ pc.meridian = MER24;
+ pc.rel = RELATIVE_TIME_0;
+ pc.timespec_seen = false;
+ pc.rels_seen = false;
+ pc.dates_seen = 0;
+ pc.days_seen = 0;
+ pc.times_seen = 0;
+ pc.local_zones_seen = 0;
+ pc.dsts_seen = 0;
+ pc.zones_seen = 0;
+
+#if HAVE_STRUCT_TM_TM_ZONE
+ pc.local_time_zone_table[0].name = tmp->tm_zone;
+ pc.local_time_zone_table[0].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[0].value = tmp->tm_isdst;
+ pc.local_time_zone_table[1].name = NULL;
+
+ /* Probe the names used in the next three calendar quarters, looking
+ for a tm_isdst different from the one we already have. */
+ {
+ int quarter;
+ for (quarter = 1; quarter <= 3; quarter++)
+ {
+ time_t probe = Start + quarter * (90 * 24 * 60 * 60);
+ struct tm const *probe_tm = localtime (&probe);
+ if (probe_tm && probe_tm->tm_zone
+ && probe_tm->tm_isdst != pc.local_time_zone_table[0].value)
+ {
+ {
+ pc.local_time_zone_table[1].name = probe_tm->tm_zone;
+ pc.local_time_zone_table[1].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[1].value = probe_tm->tm_isdst;
+ pc.local_time_zone_table[2].name = NULL;
+ }
+ break;
+ }
+ }
+ }
+#else
+#if HAVE_TZNAME
+ {
+# if !HAVE_DECL_TZNAME
+ extern char *tzname[];
+# endif
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ pc.local_time_zone_table[i].name = tzname[i];
+ pc.local_time_zone_table[i].type = tLOCAL_ZONE;
+ pc.local_time_zone_table[i].value = i;
+ }
+ pc.local_time_zone_table[i].name = NULL;
+ }
+#else
+ pc.local_time_zone_table[0].name = NULL;
+#endif
+#endif
+
+ if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name
+ && ! strcmp (pc.local_time_zone_table[0].name,
+ pc.local_time_zone_table[1].name))
+ {
+ /* This locale uses the same abbrevation for standard and
+ daylight times. So if we see that abbreviation, we don't
+ know whether it's daylight time. */
+ pc.local_time_zone_table[0].value = -1;
+ pc.local_time_zone_table[1].name = NULL;
+ }
+
+ if (yyparse (&pc) != 0)
+ goto fail;
+
+ if (pc.timespec_seen)
+ *result = pc.seconds;
+ else
+ {
+ if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen
+ | (pc.local_zones_seen + pc.zones_seen)))
+ goto fail;
+
+ tm.tm_year = to_year (pc.year) - TM_YEAR_BASE;
+ tm.tm_mon = pc.month - 1;
+ tm.tm_mday = pc.day;
+ if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen))
+ {
+ tm.tm_hour = to_hour (pc.hour, pc.meridian);
+ if (tm.tm_hour < 0)
+ goto fail;
+ tm.tm_min = pc.minutes;
+ tm.tm_sec = pc.seconds.tv_sec;
+ }
+ else
+ {
+ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
+ pc.seconds.tv_nsec = 0;
+ }
+
+ /* Let mktime deduce tm_isdst if we have an absolute time stamp. */
+ if (pc.dates_seen | pc.days_seen | pc.times_seen)
+ tm.tm_isdst = -1;
+
+ /* But if the input explicitly specifies local time with or without
+ DST, give mktime that information. */
+ if (pc.local_zones_seen)
+ tm.tm_isdst = pc.local_isdst;
+
+ tm0 = tm;
+
+ Start = mktime (&tm);
+
+ if (! mktime_ok (&tm0, &tm, Start))
+ {
+ if (! pc.zones_seen)
+ goto fail;
+ else
+ {
+ /* Guard against falsely reporting errors near the time_t
+ boundaries when parsing times in other time zones. For
+ example, suppose the input string "1969-12-31 23:00:00 -0100",
+ the current time zone is 8 hours ahead of UTC, and the min
+ time_t value is 1970-01-01 00:00:00 UTC. Then the min
+ localtime value is 1970-01-01 08:00:00, and mktime will
+ therefore fail on 1969-12-31 23:00:00. To work around the
+ problem, set the time zone to 1 hour behind UTC temporarily
+ by setting TZ="XXX1:00" and try mktime again. */
+
+ long int time_zone = pc.time_zone;
+ long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone;
+ long int abs_time_zone_hour = abs_time_zone / 60;
+ int abs_time_zone_min = abs_time_zone % 60;
+ char tz1buf[sizeof "XXX+0:00"
+ + sizeof pc.time_zone * CHAR_BIT / 3];
+ if (!tz_was_altered)
+ tz0 = get_tz (tz0buf);
+ sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0),
+ abs_time_zone_hour, abs_time_zone_min);
+ if (setenv ("TZ", tz1buf, 1) != 0)
+ goto fail;
+ tz_was_altered = true;
+ tm = tm0;
+ Start = mktime (&tm);
+ if (! mktime_ok (&tm0, &tm, Start))
+ goto fail;
+ }
+ }
+
+ if (pc.days_seen && ! pc.dates_seen)
+ {
+ tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7
+ + 7 * (pc.day_ordinal
+ - (0 < pc.day_ordinal
+ && tm.tm_wday != pc.day_number)));
+ tm.tm_isdst = -1;
+ Start = mktime (&tm);
+ if (Start == (time_t) -1)
+ goto fail;
+ }
+
+ /* Add relative date. */
+ if (pc.rel.year | pc.rel.month | pc.rel.day)
+ {
+ int year = tm.tm_year + pc.rel.year;
+ int month = tm.tm_mon + pc.rel.month;
+ int day = tm.tm_mday + pc.rel.day;
+ if (((year < tm.tm_year) ^ (pc.rel.year < 0))
+ | ((month < tm.tm_mon) ^ (pc.rel.month < 0))
+ | ((day < tm.tm_mday) ^ (pc.rel.day < 0)))
+ goto fail;
+ tm.tm_year = year;
+ tm.tm_mon = month;
+ tm.tm_mday = day;
+ tm.tm_hour = tm0.tm_hour;
+ tm.tm_min = tm0.tm_min;
+ tm.tm_sec = tm0.tm_sec;
+ tm.tm_isdst = tm0.tm_isdst;
+ Start = mktime (&tm);
+ if (Start == (time_t) -1)
+ 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
+ leap second. Typically this is not what the user wants, but it's
+ too hard to do it the other way, because the time zone indicator
+ must be applied before relative times, and if mktime is applied
+ again the time zone will be lost. */
+ {
+ long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns;
+ long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION;
+ time_t t0 = Start;
+ long int d1 = 60 * 60 * pc.rel.hour;
+ time_t t1 = t0 + d1;
+ long int d2 = 60 * pc.rel.minutes;
+ time_t t2 = t1 + d2;
+ long_time_t d3 = pc.rel.seconds;
+ long_time_t t3 = t2 + d3;
+ long int d4 = (sum_ns - normalized_ns) / BILLION;
+ long_time_t t4 = t3 + d4;
+ time_t t5 = t4;
+
+ if ((d1 / (60 * 60) ^ pc.rel.hour)
+ | (d2 / 60 ^ pc.rel.minutes)
+ | ((t1 < t0) ^ (d1 < 0))
+ | ((t2 < t1) ^ (d2 < 0))
+ | ((t3 < t2) ^ (d3 < 0))
+ | ((t4 < t3) ^ (d4 < 0))
+ | (t5 != t4))
+ goto fail;
+
+ result->tv_sec = t5;
+ result->tv_nsec = normalized_ns;
+ }
+ }
+
+ goto done;
+
+ fail:
+ ok = false;
+ done:
+ if (tz_was_altered)
+ ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0;
+ if (tz0 != tz0buf)
+ free (tz0);
+ return ok;
+}
+
+#if TEST
+
+int
+main (int ac, char **av)
+{
+ char buff[BUFSIZ];
+
+ printf ("Enter date, or blank line to exit.\n\t> ");
+ fflush (stdout);
+
+ buff[BUFSIZ - 1] = '\0';
+ while (fgets (buff, BUFSIZ - 1, stdin) && buff[0])
+ {
+ struct timespec d;
+ struct tm const *tm;
+ if (! parse_datetime (&d, buff, NULL))
+ printf ("Bad format - couldn't convert.\n");
+ else if (! (tm = localtime (&d.tv_sec)))
+ {
+ long int sec = d.tv_sec;
+ printf ("localtime (%ld) failed\n", sec);
+ }
+ else
+ {
+ int ns = d.tv_nsec;
+ printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n",
+ tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday,
+ tm->tm_hour, tm->tm_min, tm->tm_sec, ns);
+ }
+ printf ("\t> ");
+ fflush (stdout);
+ }
+ return 0;
+}
+#endif /* TEST */
#include <config.h>
#include "priv-set.h"
-#if HAVE_GETPPRIV
+#if HAVE_GETPPRIV && HAVE_PRIV_H
# include <errno.h>
# include <stdbool.h>
/* Try to remove priv from the effective set.
- Returns 0 if priv was removed from or was not present in the effective set.
+ Returns 0 if priv was removed.
Returns -1 on error with errno set appropriately. */
int
priv_set_remove (const char *priv)
/* Try to restore priv to the effective set.
- Returns 0 if priv was re-added to the effective set (after being prviously
- removed by a call to priv_set_remove) or if priv was already in the
- effective set.
+ Returns 0 if priv was re-added to the effective set (after being previously
+ removed by a call to priv_set_remove).
Returns -1 on error with errno set appropriately. */
int
priv_set_restore (const char *priv)
Written by David Bartley. */
-#if HAVE_GETPPRIV
+#if HAVE_GETPPRIV && HAVE_PRIV_H
# include <priv.h>
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Read a symlink relative to an open directory.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <unistd.h>
+
+/* Gnulib provides a readlink stub for mingw; use it for distinction
+ between EINVAL and ENOENT, rather than always failing with ENOSYS. */
+
+/* POSIX 2008 says that unlike readlink, readlinkat returns 0 for
+ success instead of the buffer length. But this would render
+ readlinkat worthless since readlink does not guarantee a
+ NUL-terminated buffer. Assume this was a bug in POSIX. */
+
+/* Read the contents of symlink FILE into buffer BUF of size LEN, in the
+ directory open on descriptor FD. If possible, do it without changing
+ the working directory. Otherwise, resort to using save_cwd/fchdir,
+ then readlink/restore_cwd. If either the save_cwd or the restore_cwd
+ fails, then give a diagnostic and exit nonzero. */
+
+#define AT_FUNC_NAME readlinkat
+#define AT_FUNC_F1 readlink
+#define AT_FUNC_POST_FILE_PARAM_DECLS , char *buf, size_t len
+#define AT_FUNC_POST_FILE_ARGS , buf, len
+#define AT_FUNC_RESULT ssize_t
+#include "at-func.c"
+#undef AT_FUNC_NAME
+#undef AT_FUNC_F1
+#undef AT_FUNC_POST_FILE_PARAM_DECLS
+#undef AT_FUNC_POST_FILE_ARGS
+#undef AT_FUNC_RESULT
/* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */
#ifdef realloc
# define NEED_REALLOC_GNU 1
+/* Whereas the gnulib module 'realloc-gnu' defines HAVE_REALLOC_GNU. */
+#elif GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU
+# define NEED_REALLOC_GNU 1
#endif
/* Infer the properties of the system's malloc function.
- Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
-#if GNULIB_MALLOC_GNU && !defined malloc
+ The gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */
+#if GNULIB_MALLOC_GNU && HAVE_MALLOC_GNU
# define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1
#endif
static reg_errcode_t
internal_function
# ifdef RE_ENABLE_I18N
-build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc,
- bracket_elem_t *start_elem, bracket_elem_t *end_elem)
+build_range_exp (const reg_syntax_t syntax,
+ bitset_t sbcset,
+ re_charset_t *mbcset,
+ Idx *range_alloc,
+ const bracket_elem_t *start_elem,
+ const bracket_elem_t *end_elem)
# else /* not RE_ENABLE_I18N */
-build_range_exp (bitset_t sbcset, bracket_elem_t *start_elem,
- bracket_elem_t *end_elem)
+build_range_exp (const reg_syntax_t syntax,
+ bitset_t sbcset,
+ const bracket_elem_t *start_elem,
+ const bracket_elem_t *end_elem)
# endif /* not RE_ENABLE_I18N */
{
unsigned int start_ch, end_ch;
return REG_ECOLLATE;
cmp_buf[0] = start_wc;
cmp_buf[4] = end_wc;
- if (wcscoll (cmp_buf, cmp_buf + 4) > 0)
+
+ if (BE ((syntax & RE_NO_EMPTY_RANGES)
+ && wcscoll (cmp_buf, cmp_buf + 4) > 0, 0))
return REG_ERANGE;
/* Got valid collation sequence values, add them as a new entry.
&start_elem, &end_elem);
#else
# ifdef RE_ENABLE_I18N
- *err = build_range_exp (sbcset,
+ *err = build_range_exp (syntax, sbcset,
dfa->mb_cur_max > 1 ? mbcset : NULL,
&range_alloc, &start_elem, &end_elem);
# else
- *err = build_range_exp (sbcset, &start_elem, &end_elem);
+ *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem);
# endif
#endif /* RE_ENABLE_I18N */
if (BE (*err != REG_NOERROR, 0))
/* If this bit is set, then ^ and $ are always anchors (outside bracket
expressions, of course).
If this bit is not set, then it depends:
- ^ is an anchor if it is at the beginning of a regular
- expression or after an open-group or an alternation operator;
- $ is an anchor if it is at the end of a regular expression, or
- before a close-group or an alternation operator.
+ ^ is an anchor if it is at the beginning of a regular
+ expression or after an open-group or an alternation operator;
+ $ is an anchor if it is at the end of a regular expression, or
+ before a close-group or an alternation operator.
This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
POSIX draft 11.2 says that * etc. in leading positions is undefined.
whether ^ should be special. */
# define RE_CARET_ANCHORS_HERE (RE_ICASE << 1)
-/* If this bit is set, then \{ cannot be first in an bre or
- immediately after an alternation or begin-group operator. */
+/* If this bit is set, then \{ cannot be first in a regex or
+ immediately after an alternation, open-group or \} operator. */
# define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1)
/* If this bit is set, then no_sub will be set to 1 during
#endif
unsigned int _REG_RE_NAME (regs_allocated) : 2;
- /* Set to zero when `regex_compile' compiles a pattern; set to one
- by `re_compile_fastmap' if it updates the fastmap. */
+ /* Set to zero when `re_compile_pattern' compiles a pattern; set to
+ one by `re_compile_fastmap' if it updates the fastmap. */
unsigned int _REG_RE_NAME (fastmap_accurate) : 1;
/* If set, `re_match_2' does not return information about
register data.
Unless this function is called, the first search or match using
- PATTERN_BUFFER will allocate its own register data, without
- freeing the old data. */
+ BUFFER will allocate its own register data, without freeing the old
+ data. */
extern void re_set_registers (struct re_pattern_buffer *__buffer,
struct re_registers *__regs,
__re_size_t __num_regs,
mbstate_t cur_state;
wchar_t wc2;
Idx mlen = raw + pstr->len - p;
- unsigned char buf[6];
size_t mbclen;
+#if 0 /* dead code: buf is set but never used */
+ unsigned char buf[6];
if (BE (pstr->trans != NULL, 0))
{
int i = mlen < 6 ? mlen : 6;
while (--i >= 0)
buf[i] = pstr->trans[p[i]];
}
+#endif
/* XXX Don't use mbrtowc, we know which conversion
to use (UTF-8 -> UCS4). */
memset (&cur_state, 0, sizeof (cur_state));
# else
/* alloca is implemented with malloc, so just use malloc. */
# define __libc_use_alloca(n) 0
+# undef alloca
+# define alloca(n) malloc (n)
# endif
#endif
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Work around rename bugs in some systems.
+
+ Copyright (C) 2001-2003, 2005-2006, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Volker Borchert, Eric Blake. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#undef rename
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* The mingw rename has problems with trailing slashes; it also
+ requires use of native Windows calls to allow atomic renames over
+ existing files. */
+
+# include <errno.h>
+# include <stdbool.h>
+# include <stdlib.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# include "dirname.h"
+
+/* Rename the file SRC to DST. This replacement is necessary on
+ Windows, on which the system rename function will not replace
+ an existing DST. */
+int
+rpl_rename (char const *src, char const *dst)
+{
+ int error;
+ size_t src_len = strlen (src);
+ size_t dst_len = strlen (dst);
+ char *src_base = last_component (src);
+ char *dst_base = last_component (dst);
+ bool src_slash;
+ bool dst_slash;
+ bool dst_exists;
+ struct stat src_st;
+ struct stat dst_st;
+
+ /* Filter out dot as last component. */
+ if (!src_len || !dst_len)
+ {
+ errno = ENOENT;
+ return -1;
+ }
+ if (*src_base == '.')
+ {
+ size_t len = base_len (src_base);
+ if (len == 1 || (len == 2 && src_base[1] == '.'))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ }
+ if (*dst_base == '.')
+ {
+ size_t len = base_len (dst_base);
+ if (len == 1 || (len == 2 && dst_base[1] == '.'))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ }
+
+ /* Presence of a trailing slash requires directory semantics. If
+ the source does not exist, or if the destination cannot be turned
+ into a directory, give up now. Otherwise, strip trailing slashes
+ before calling rename. There are no symlinks on mingw, so stat
+ works instead of lstat. */
+ src_slash = ISSLASH (src[src_len - 1]);
+ dst_slash = ISSLASH (dst[dst_len - 1]);
+ if (stat (src, &src_st))
+ return -1;
+ if (stat (dst, &dst_st))
+ {
+ if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+ return -1;
+ dst_exists = false;
+ }
+ else
+ {
+ if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+ {
+ errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+ return -1;
+ }
+ dst_exists = true;
+ }
+
+ /* There are no symlinks, so if a file existed with a trailing
+ slash, it must be a directory, and we don't have to worry about
+ stripping strip trailing slash. However, mingw refuses to
+ replace an existing empty directory, so we have to help it out.
+ And canonicalize_file_name is not yet ported to mingw; however,
+ for directories, getcwd works as a viable alternative. Ensure
+ that we can get back to where we started before using it; later
+ attempts to return are fatal. Note that we can end up losing a
+ directory if rename then fails, but it was empty, so not much
+ damage was done. */
+ if (dst_exists && S_ISDIR (dst_st.st_mode))
+ {
+ char *cwd = getcwd (NULL, 0);
+ char *src_temp;
+ char *dst_temp;
+ if (!cwd || chdir (cwd))
+ return -1;
+ if (IS_ABSOLUTE_FILE_NAME (src))
+ {
+ dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+ src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+ }
+ else
+ {
+ src_temp = chdir (src) ? NULL : getcwd (NULL, 0);
+ if (!IS_ABSOLUTE_FILE_NAME (dst) && chdir (cwd))
+ abort ();
+ dst_temp = chdir (dst) ? NULL : getcwd (NULL, 0);
+ }
+ if (chdir (cwd))
+ abort ();
+ free (cwd);
+ if (!src_temp || !dst_temp)
+ {
+ free (src_temp);
+ free (dst_temp);
+ errno = ENOMEM;
+ return -1;
+ }
+ src_len = strlen (src_temp);
+ if (strncmp (src_temp, dst_temp, src_len) == 0
+ && (ISSLASH (dst_temp[src_len]) || dst_temp[src_len] == '\0'))
+ {
+ error = dst_temp[src_len];
+ free (src_temp);
+ free (dst_temp);
+ if (error)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ return 0;
+ }
+ if (rmdir (dst))
+ {
+ error = errno;
+ free (src_temp);
+ free (dst_temp);
+ errno = error;
+ return -1;
+ }
+ free (src_temp);
+ free (dst_temp);
+ }
+
+ /* MoveFileEx works if SRC is a directory without any flags, but
+ fails with MOVEFILE_REPLACE_EXISTING, so try without flags first.
+ Thankfully, MoveFileEx handles hard links correctly, even though
+ rename() does not. */
+ if (MoveFileEx (src, dst, 0))
+ return 0;
+
+ /* Retry with MOVEFILE_REPLACE_EXISTING if the move failed
+ due to the destination already existing. */
+ error = GetLastError ();
+ if (error == ERROR_FILE_EXISTS || error == ERROR_ALREADY_EXISTS)
+ {
+ if (MoveFileEx (src, dst, MOVEFILE_REPLACE_EXISTING))
+ return 0;
+
+ error = GetLastError ();
+ }
+
+ switch (error)
+ {
+ case ERROR_FILE_NOT_FOUND:
+ case ERROR_PATH_NOT_FOUND:
+ case ERROR_BAD_PATHNAME:
+ case ERROR_DIRECTORY:
+ errno = ENOENT;
+ break;
+
+ case ERROR_ACCESS_DENIED:
+ case ERROR_SHARING_VIOLATION:
+ errno = EACCES;
+ break;
+
+ case ERROR_OUTOFMEMORY:
+ errno = ENOMEM;
+ break;
+
+ case ERROR_CURRENT_DIRECTORY:
+ errno = EBUSY;
+ break;
+
+ case ERROR_NOT_SAME_DEVICE:
+ errno = EXDEV;
+ break;
+
+ case ERROR_WRITE_PROTECT:
+ errno = EROFS;
+ break;
+
+ case ERROR_WRITE_FAULT:
+ case ERROR_READ_FAULT:
+ case ERROR_GEN_FAILURE:
+ errno = EIO;
+ break;
+
+ case ERROR_HANDLE_DISK_FULL:
+ case ERROR_DISK_FULL:
+ case ERROR_DISK_TOO_FRAGMENTED:
+ errno = ENOSPC;
+ break;
+
+ case ERROR_FILE_EXISTS:
+ case ERROR_ALREADY_EXISTS:
+ errno = EEXIST;
+ break;
+
+ case ERROR_BUFFER_OVERFLOW:
+ case ERROR_FILENAME_EXCED_RANGE:
+ errno = ENAMETOOLONG;
+ break;
+
+ case ERROR_INVALID_NAME:
+ case ERROR_DELETE_PENDING:
+ errno = EPERM; /* ? */
+ break;
+
+# ifndef ERROR_FILE_TOO_LARGE
+/* This value is documented but not defined in all versions of windows.h. */
+# define ERROR_FILE_TOO_LARGE 223
+# endif
+ case ERROR_FILE_TOO_LARGE:
+ errno = EFBIG;
+ break;
+
+ default:
+ errno = EINVAL;
+ break;
+ }
+
+ return -1;
+}
+
+#else /* ! W32 platform */
+
+# include <errno.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <sys/stat.h>
+# include <unistd.h>
+
+# include "dirname.h"
+# include "same-inode.h"
+
+/* Rename the file SRC to DST, fixing any trailing slash bugs. */
+
+int
+rpl_rename (char const *src, char const *dst)
+{
+ size_t src_len = strlen (src);
+ size_t dst_len = strlen (dst);
+ char *src_temp = (char *) src;
+ char *dst_temp = (char *) dst;
+ bool src_slash;
+ bool dst_slash;
+ bool dst_exists;
+ int ret_val = -1;
+ int rename_errno = ENOTDIR;
+ struct stat src_st;
+ struct stat dst_st;
+
+ if (!src_len || !dst_len)
+ return rename (src, dst); /* Let strace see the ENOENT failure. */
+
+# if RENAME_DEST_EXISTS_BUG
+ {
+ char *src_base = last_component (src);
+ char *dst_base = last_component (dst);
+ if (*src_base == '.')
+ {
+ size_t len = base_len (src_base);
+ if (len == 1 || (len == 2 && src_base[1] == '.'))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ }
+ if (*dst_base == '.')
+ {
+ size_t len = base_len (dst_base);
+ if (len == 1 || (len == 2 && dst_base[1] == '.'))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ }
+ }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+ src_slash = src[src_len - 1] == '/';
+ dst_slash = dst[dst_len - 1] == '/';
+
+# if !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG
+ /* If there are no trailing slashes, then trust the native
+ implementation unless we also suspect issues with hard link
+ detection or file/directory conflicts. */
+ if (!src_slash && !dst_slash)
+ return rename (src, dst);
+# endif /* !RENAME_HARD_LINK_BUG && !RENAME_DEST_EXISTS_BUG */
+
+ /* Presence of a trailing slash requires directory semantics. If
+ the source does not exist, or if the destination cannot be turned
+ into a directory, give up now. Otherwise, strip trailing slashes
+ before calling rename. */
+ if (lstat (src, &src_st))
+ return -1;
+ if (lstat (dst, &dst_st))
+ {
+ if (errno != ENOENT || (!S_ISDIR (src_st.st_mode) && dst_slash))
+ return -1;
+ dst_exists = false;
+ }
+ else
+ {
+ if (S_ISDIR (dst_st.st_mode) != S_ISDIR (src_st.st_mode))
+ {
+ errno = S_ISDIR (dst_st.st_mode) ? EISDIR : ENOTDIR;
+ return -1;
+ }
+# if RENAME_HARD_LINK_BUG
+ if (SAME_INODE (src_st, dst_st))
+ return 0;
+# endif /* RENAME_HARD_LINK_BUG */
+ dst_exists = true;
+ }
+
+# if (RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG \
+ || RENAME_HARD_LINK_BUG)
+ /* If the only bug was that a trailing slash was allowed on a
+ non-existing file destination, as in Solaris 10, then we've
+ already covered that situation. But if there is any problem with
+ a trailing slash on an existing source or destination, as in
+ Solaris 9, or if a directory can overwrite a symlink, as on
+ Cygwin 1.5, or if directories cannot be created with trailing
+ slash, as on NetBSD 1.6, then we must strip the offending slash
+ and check that we have not encountered a symlink instead of a
+ directory.
+
+ Stripping a trailing slash interferes with POSIX semantics, where
+ rename behavior on a symlink with a trailing slash operates on
+ the corresponding target directory. We prefer the GNU semantics
+ of rejecting any use of a symlink with trailing slash, but do not
+ enforce them, since Solaris 10 is able to obey POSIX semantics
+ and there might be clients expecting it, as counter-intuitive as
+ those semantics are.
+
+ Technically, we could also follow the POSIX behavior by chasing a
+ readlink trail, but that is harder to implement. */
+ if (src_slash)
+ {
+ src_temp = strdup (src);
+ if (!src_temp)
+ {
+ /* Rather than rely on strdup-posix, we set errno ourselves. */
+ rename_errno = ENOMEM;
+ goto out;
+ }
+ strip_trailing_slashes (src_temp);
+ if (lstat (src_temp, &src_st))
+ {
+ rename_errno = errno;
+ goto out;
+ }
+ if (S_ISLNK (src_st.st_mode))
+ goto out;
+ }
+ if (dst_slash)
+ {
+ dst_temp = strdup (dst);
+ if (!dst_temp)
+ {
+ rename_errno = ENOMEM;
+ goto out;
+ }
+ strip_trailing_slashes (dst_temp);
+ if (lstat (dst_temp, &dst_st))
+ {
+ if (errno != ENOENT)
+ {
+ rename_errno = errno;
+ goto out;
+ }
+ }
+ else if (S_ISLNK (dst_st.st_mode))
+ goto out;
+ }
+# endif /* RENAME_TRAILING_SLASH_SOURCE_BUG || RENAME_DEST_EXISTS_BUG
+ || RENAME_HARD_LINK_BUG */
+
+# if RENAME_DEST_EXISTS_BUG
+ /* Cygwin 1.5 sometimes behaves oddly when moving a non-empty
+ directory on top of an empty one (the old directory name can
+ reappear if the new directory tree is removed). Work around this
+ by removing the target first, but don't remove the target if it
+ is a subdirectory of the source. Note that we can end up losing
+ a directory if rename then fails, but it was empty, so not much
+ damage was done. */
+ if (dst_exists && S_ISDIR (dst_st.st_mode))
+ {
+ if (src_st.st_dev != dst_st.st_dev)
+ {
+ rename_errno = EXDEV;
+ goto out;
+ }
+ if (src_temp != src)
+ free (src_temp);
+ src_temp = canonicalize_file_name (src);
+ if (dst_temp != dst)
+ free (dst_temp);
+ dst_temp = canonicalize_file_name (dst);
+ if (!src_temp || !dst_temp)
+ {
+ rename_errno = ENOMEM;
+ goto out;
+ }
+ src_len = strlen (src_temp);
+ if (strncmp (src_temp, dst_temp, src_len) == 0
+ && dst_temp[src_len] == '/')
+ {
+ rename_errno = EINVAL;
+ goto out;
+ }
+ if (rmdir (dst))
+ {
+ rename_errno = errno;
+ goto out;
+ }
+ }
+# endif /* RENAME_DEST_EXISTS_BUG */
+
+ ret_val = rename (src_temp, dst_temp);
+ rename_errno = errno;
+ out:
+ if (src_temp != src)
+ free (src_temp);
+ if (dst_temp != dst)
+ free (dst_temp);
+ errno = rename_errno;
+ return ret_val;
+}
+#endif /* ! W32 platform */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Rename a file relative to open directories.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#if HAVE_RENAMEAT
+
+# include <errno.h>
+# include <stdbool.h>
+# include <stdlib.h>
+# include <string.h>
+# include <sys/stat.h>
+
+# include "dirname.h"
+# include "openat.h"
+
+# undef renameat
+
+/* renameat does not honor trailing / on Solaris 10. Solve it in a
+ similar manner to rename. No need to worry about bugs not present
+ on Solaris, since all other systems either lack renameat or honor
+ trailing slash correctly. */
+
+int
+rpl_renameat (int fd1, char const *src, int fd2, char const *dst)
+{
+ size_t src_len = strlen (src);
+ size_t dst_len = strlen (dst);
+ char *src_temp = (char *) src;
+ char *dst_temp = (char *) dst;
+ bool src_slash;
+ bool dst_slash;
+ int ret_val = -1;
+ int rename_errno = ENOTDIR;
+ struct stat src_st;
+ struct stat dst_st;
+
+ /* Let strace see any ENOENT failure. */
+ if (!src_len || !dst_len)
+ return renameat (fd1, src, fd2, dst);
+
+ src_slash = src[src_len - 1] == '/';
+ dst_slash = dst[dst_len - 1] == '/';
+ if (!src_slash && !dst_slash)
+ return renameat (fd1, src, fd2, dst);
+
+ /* Presence of a trailing slash requires directory semantics. If
+ the source does not exist, or if the destination cannot be turned
+ into a directory, give up now. Otherwise, strip trailing slashes
+ before calling rename. */
+ if (lstatat (fd1, src, &src_st))
+ return -1;
+ if (lstatat (fd2, dst, &dst_st))
+ {
+ if (errno != ENOENT || !S_ISDIR (src_st.st_mode))
+ return -1;
+ }
+ else if (!S_ISDIR (dst_st.st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ else if (!S_ISDIR (src_st.st_mode))
+ {
+ errno = EISDIR;
+ return -1;
+ }
+
+# if RENAME_TRAILING_SLASH_SOURCE_BUG
+ /* See the lengthy comment in rename.c why Solaris 9 is forced to
+ GNU behavior, while Solaris 10 is left with POSIX behavior,
+ regarding symlinks with trailing slash. */
+ if (src_slash)
+ {
+ src_temp = strdup (src);
+ if (!src_temp)
+ {
+ /* Rather than rely on strdup-posix, we set errno ourselves. */
+ rename_errno = ENOMEM;
+ goto out;
+ }
+ strip_trailing_slashes (src_temp);
+ if (lstatat (fd1, src_temp, &src_st))
+ {
+ rename_errno = errno;
+ goto out;
+ }
+ if (S_ISLNK (src_st.st_mode))
+ goto out;
+ }
+ if (dst_slash)
+ {
+ dst_temp = strdup (dst);
+ if (!dst_temp)
+ {
+ rename_errno = ENOMEM;
+ goto out;
+ }
+ strip_trailing_slashes (dst_temp);
+ if (lstatat (fd2, dst_temp, &dst_st))
+ {
+ if (errno != ENOENT)
+ {
+ rename_errno = errno;
+ goto out;
+ }
+ }
+ else if (S_ISLNK (dst_st.st_mode))
+ goto out;
+ }
+# endif /* RENAME_TRAILING_SLASH_SOURCE_BUG */
+
+ ret_val = renameat (fd1, src_temp, fd2, dst_temp);
+ rename_errno = errno;
+ out:
+ if (src_temp != src)
+ free (src_temp);
+ if (dst_temp != dst)
+ free (dst_temp);
+ errno = rename_errno;
+ return ret_val;
+}
+
+#else /* !HAVE_RENAMEAT */
+
+# include "openat-priv.h"
+
+/* Rename FILE1, in the directory open on descriptor FD1, to FILE2, in
+ the directory open on descriptor FD2. If possible, do it without
+ changing the working directory. Otherwise, resort to using
+ save_cwd/fchdir, then rename/restore_cwd. If either the save_cwd or
+ the restore_cwd fails, then give a diagnostic and exit nonzero. */
+
+int
+renameat (int fd1, char const *file1, int fd2, char const *file2)
+{
+ return at_func2 (fd1, file1, fd2, file2, rename);
+}
+
+#endif /* !HAVE_RENAMEAT */
#include <errno.h>
#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
#undef rmdir
int
rpl_rmdir (char const *dir)
{
-#if HAVE_RMDIR
/* Work around cygwin 1.5.x bug where rmdir("dir/./") succeeds. */
size_t len = strlen (dir);
int result;
if (result == -1 && errno == EINVAL)
errno = ENOTDIR;
return result;
-
-#else /* !HAVE_RMDIR */
- /* rmdir adapted from GNU tar. FIXME: Delete this implementation in
- 2010 if no one reports a system with missing rmdir. */
- pid_t cpid;
- int status;
- struct stat statbuf;
-
- if (stat (dir, &statbuf) != 0)
- return -1; /* errno already set */
-
- if (!S_ISDIR (statbuf.st_mode))
- {
- errno = ENOTDIR;
- return -1;
- }
-
- cpid = fork ();
- switch (cpid)
- {
- case -1: /* cannot fork */
- return -1; /* errno already set */
-
- case 0: /* child process */
- execl ("/bin/rmdir", "rmdir", dir, (char *) 0);
- _exit (1);
-
- default: /* parent process */
-
- /* Wait for kid to finish. */
-
- while (wait (&status) != cpid)
- /* Do nothing. */ ;
-
- if (status)
- {
-
- /* /bin/rmdir failed. */
-
- errno = EIO;
- return -1;
- }
- return 0;
- }
-#endif /* !HAVE_RMDIR */
}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Determine whether two file names refer to the same file.
-
- Copyright (C) 1997-2000, 2002-2006, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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 <config.h>
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include <string.h>
-
-#include <limits.h>
-#ifndef _POSIX_NAME_MAX
-# define _POSIX_NAME_MAX 14
-#endif
-
-#include "same.h"
-#include "dirname.h"
-#include "error.h"
-#include "same-inode.h"
-
-#ifndef MIN
-# define MIN(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-/* Return nonzero if SOURCE and DEST point to the same name in the same
- directory. */
-
-bool
-same_name (const char *source, const char *dest)
-{
- /* Compare the basenames. */
- char const *source_basename = last_component (source);
- char const *dest_basename = last_component (dest);
- size_t source_baselen = base_len (source_basename);
- size_t dest_baselen = base_len (dest_basename);
- bool identical_basenames =
- (source_baselen == dest_baselen
- && memcmp (source_basename, dest_basename, dest_baselen) == 0);
- bool compare_dirs = identical_basenames;
- bool same = false;
-
-#if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX
- /* This implementation silently truncates components of file names. If
- the base names might be truncated, check whether the truncated
- base names are the same, while checking the directories. */
- size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX;
- size_t min_baselen = MIN (source_baselen, dest_baselen);
- if (slen_max <= min_baselen
- && memcmp (source_basename, dest_basename, slen_max) == 0)
- compare_dirs = true;
-#endif
-
- if (compare_dirs)
- {
- struct stat source_dir_stats;
- struct stat dest_dir_stats;
- char *source_dirname, *dest_dirname;
-
- /* Compare the parent directories (via the device and inode numbers). */
- source_dirname = dir_name (source);
- dest_dirname = dir_name (dest);
-
- if (stat (source_dirname, &source_dir_stats))
- {
- /* Shouldn't happen. */
- error (1, errno, "%s", source_dirname);
- }
-
- if (stat (dest_dirname, &dest_dir_stats))
- {
- /* Shouldn't happen. */
- error (1, errno, "%s", dest_dirname);
- }
-
- same = SAME_INODE (source_dir_stats, dest_dir_stats);
-
-#if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX
- if (same && ! identical_basenames)
- {
- long name_max = (errno = 0, pathconf (dest_dirname, _PC_NAME_MAX));
- if (name_max < 0)
- {
- if (errno)
- {
- /* Shouldn't happen. */
- error (1, errno, "%s", dest_dirname);
- }
- same = false;
- }
- else
- same = (name_max <= min_baselen
- && memcmp (source_basename, dest_basename, name_max) == 0);
- }
-#endif
-
- free (source_dirname);
- free (dest_dirname);
- }
-
- return same;
-}
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Determine whether two file names refer to the same file.
-
- Copyright (C) 1997-2000, 2003-2004, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 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/>. */
-
-#ifndef SAME_H_
-# define SAME_H_ 1
-
-# include <stdbool.h>
-
-bool same_name (const char *source, const char *dest);
-
-#endif /* SAME_H_ */
#include "chdir-long.h"
#include "unistd--.h"
#include "xgetcwd.h"
+#include "cloexec.h"
#if GNULIB_FCNTL_SAFER
# include "fcntl--.h"
{
cwd->name = NULL;
- cwd->desc = open (".", O_RDONLY);
+ cwd->desc = open (".", O_SEARCH);
if (!GNULIB_FCNTL_SAFER)
cwd->desc = fd_safer (cwd->desc);
if (cwd->desc < 0)
return cwd->name ? 0 : -1;
}
+ set_cloexec_flag (cwd->desc, true);
return 0;
}
/* Return a freshly allocated string containing the file names
in directory DIRP, separated by '\0' characters;
the end is marked by two '\0' characters in a row.
- Return NULL (setting errno) if DIRP cannot be read or closed.
+ Return NULL (setting errno) if DIRP cannot be read.
If DIRP is NULL, return NULL without affecting errno. */
-static char *
-savedirstream (DIR *dirp)
+char *
+streamsavedir (DIR *dirp)
{
char *name_space;
size_t allocated = NAME_SIZE_DEFAULT;
}
name_space[used] = '\0';
save_errno = errno;
- if (closedir (dirp) != 0)
- save_errno = errno;
if (save_errno != 0)
{
free (name_space);
return name_space;
}
+/* Like savedirstreamp (DIRP), except also close DIRP. */
+
+static char *
+savedirstream (DIR *dirp)
+{
+ char *name_space = streamsavedir (dirp);
+ if (dirp && closedir (dirp) != 0)
+ {
+ int save_errno = errno;
+ free (name_space);
+ errno = save_errno;
+ return NULL;
+ }
+ return name_space;
+}
+
/* Return a freshly allocated string containing the file names
in directory DIR, separated by '\0' characters;
the end is marked by two '\0' characters in a row.
the end is marked by two '\0' characters in a row.
Return NULL (setting errno) if FD cannot be read or closed. */
+/* deprecated */
char *
fdsavedir (int fd)
{
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
-#if !defined SAVEDIR_H_
-# define SAVEDIR_H_
+#ifndef _GL_SAVEDIR_H
+#define _GL_SAVEDIR_H
+#include <dirent.h>
+char *streamsavedir (DIR *dirp);
char *savedir (char const *dir);
-char *fdsavedir (int fd);
+char *fdsavedir (int fd); /* deprecated */
#endif
# define clearenv __clearenv
# define tfind __tfind
# define tsearch __tsearch
+#else
+/* Use the system functions, not the gnulib overrides in this file. */
+# undef malloc
+# undef realloc
#endif
/* In the GNU C library implementation we try to be more clever and
__add_to_environ (const char *name, const char *value, const char *combined,
int replace)
{
- register char **ep;
- register size_t size;
+ char **ep;
+ size_t size;
const size_t namelen = strlen (name);
const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
: realloc (last_environ, (size + 2) * sizeof (char *)));
if (new_environ == NULL)
{
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' and 'realloc-posix' gnulib modules. */
+ __set_errno (ENOMEM);
UNLOCK;
return -1;
}
if (np == NULL)
#endif
{
- np = malloc (namelen + 1 + vallen);
+ np = (char *) malloc (namelen + 1 + vallen);
if (np == NULL)
{
#if defined USE_TSEARCH && !defined _LIBC
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STDARG_H@
with this substitute. With this substitute, only the values 0 and 1
give the expected result when converted to _Bool' or 'bool'.
+ - C99 allows the use of (_Bool)0.0 in constant expressions, but
+ this substitute cannot always provide this property.
+
Also, it is suggested that programs use 'bool' rather than '_Bool';
this isn't required, but 'bool' is more common. */
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_wchar_t || defined __need_size_t \
|| defined __need_ptrdiff_t || defined __need_NULL \
#ifndef _GL_STDINT_H
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
/* When including a system file that in turn includes <inttypes.h>,
use the system <inttypes.h>, not our substitute. This avoids
problems with (for example) VMS, whose <sys/bitypes.h> includes
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
/* Verify that intmax_t and uintmax_t have the same size. Too much code
breaks if this is not the case. If this check fails, the reason is likely
to be found in the autoconf macros. */
-typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1];
+typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
+ ? 1 : -1];
/* 7.18.2. Limits of specified-width integer types */
/* wchar_t limits */
/* Get WCHAR_MIN, WCHAR_MAX.
- This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested
- includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
+ This include is not on the top, above, because on OSF/1 4.0 we have a
+ sequence of nested includes
+ <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
<stdint.h> and assumes its types are already defined. */
#if ! (defined WCHAR_MIN && defined WCHAR_MAX)
# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Implementation details of FILE streams.
- Copyright (C) 2007-2010 Free Software Foundation, Inc.
+ Copyright (C) 2007-2008, 2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* BSD stdio derived implementations. */
+#if defined __NetBSD__ /* NetBSD */
+/* Get __NetBSD_Version__. */
+# include <sys/param.h>
+#endif
+
#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
# if defined __DragonFly__ /* DragonFly */
# define fp_ fp
# endif
-# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ /* NetBSD >= 1.5ZA, 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
/* More fields, not relevant here. */
};
# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
-# else /* FreeBSD, DragonFly, MacOS X, Cygwin */
+# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, MacOS X, Cygwin */
# define fp_ub fp_->_ub
# endif
}
# if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */
-# if !DEPENDS_ON_LIBINTL /* avoid collision with intl/printf.c */
int
printf (const char *format, ...)
{
return retval;
}
-# endif
# endif
# if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_FILE || defined __need___FILE
/* Special invocation convention inside glibc header files. */
/* The definition of _GL_WARN_ON_USE is copied here. */
+/* Macros for stringification. */
+#define _GL_STDIO_STRINGIZE(token) #token
+#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
+
#if @GNULIB_DPRINTF@
# if @REPLACE_DPRINTF@
#elif defined GNULIB_POSIXCHECK
# undef freopen
/* Assume freopen is always declared. */
-_GL_WARN_ON_USE (freopen, "freopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (freopen,
+ "freopen on Win32 platforms is not POSIX compatible - "
"use gnulib module freopen for portability");
#endif
# undef fseek
# endif
# if @REPLACE_FSEEKO@
-/* Provide fseek, fseeko functions that are aware of a preceding
- fflush(), and which detect pipes. */
+/* Provide an fseeko function that is aware of a preceding fflush(), and which
+ detects pipes. */
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef fseeko
# define fseeko rpl_fseeko
# endif
_GL_FUNCDECL_RPL (fseeko, int, (FILE *fp, off_t offset, int whence)
_GL_ARG_NONNULL ((1)));
-# if !@GNULIB_FSEEK@
- /* In order to avoid that fseek gets defined as a macro here, the
- developer can request the 'fseek' module. */
-# undef fseek
-# define fseek rpl_fseek
+_GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence));
+# else
+# if ! @HAVE_FSEEKO@
+_GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (fseeko);
+# if (@REPLACE_FSEEKO@ || !@HAVE_FSEEKO@) && !@GNULIB_FSEEK@
+ /* Provide an fseek function that is consistent with fseeko. */
+ /* In order to avoid that fseek gets defined as a macro here, the
+ developer can request the 'fseek' module. */
+# undef fseek
+# define fseek rpl_fseek
static inline int _GL_ARG_NONNULL ((1))
rpl_fseek (FILE *fp, long offset, int whence)
{
+# if @REPLACE_FSEEKO@
+ return rpl_fseeko (fp, offset, whence);
+# else
return fseeko (fp, offset, whence);
-}
# endif
-_GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence));
-# else
-_GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
+}
# endif
-_GL_CXXALIASWARN (fseeko);
#elif defined GNULIB_POSIXCHECK
# define _GL_FSEEK_WARN /* Category 1, above. */
# undef fseek
# define ftello rpl_ftello
# endif
_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
-# if !@GNULIB_FTELL@
- /* In order to avoid that ftell gets defined as a macro here, the
- developer can request the 'ftell' module. */
-# undef ftell
-# define ftell rpl_ftell
+_GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
+# else
+# if ! @HAVE_FTELLO@
+_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
+# endif
+_GL_CXXALIASWARN (ftello);
+# if (@REPLACE_FTELLO@ || !@HAVE_FTELLO@) && !@GNULIB_FTELL@
+ /* Provide an ftell function that is consistent with ftello. */
+ /* In order to avoid that ftell gets defined as a macro here, the
+ developer can request the 'ftell' module. */
+# undef ftell
+# define ftell rpl_ftell
static inline long _GL_ARG_NONNULL ((1))
rpl_ftell (FILE *f)
{
+# if @REPLACE_FTELLO@
+ return rpl_ftello (f);
+# else
return ftello (f);
-}
# endif
-_GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
-# else
-_GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
+}
# endif
-_GL_CXXALIASWARN (ftello);
#elif defined GNULIB_POSIXCHECK
# define _GL_FTELL_WARN /* Category 1, above. */
# undef ftell
_GL_CXXALIAS_SYS (getline, ssize_t,
(char **lineptr, size_t *linesize, FILE *stream));
# endif
+# if @HAVE_DECL_GETLINE@
_GL_CXXALIASWARN (getline);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getline
# if HAVE_RAW_DECL_GETLINE
#if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@
# if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
|| (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# if defined __GNUC__
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
/* Don't break __attribute__((format(printf,M,N))). */
-# define printf __printf__
-# endif
-# define GNULIB_overrides_printf 1
+# define printf __printf__
+# endif
_GL_FUNCDECL_RPL_1 (__printf__, int,
(const char *format, ...)
+ __asm__ (@ASM_SYMBOL_PREFIX@
+ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
__attribute__ ((__format__ (__printf__, 1, 2)))
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...));
+# else
+_GL_FUNCDECL_RPL (printf, int,
+ (const char *format, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)))
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (printf, int, (const char *format, ...));
+# endif
+# define GNULIB_overrides_printf 1
# else
_GL_CXXALIAS_SYS (printf, int, (const char *format, ...));
# endif
"POSIX compliance");
#endif
+#if @GNULIB_TMPFILE@
+# if @REPLACE_TMPFILE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define tmpfile rpl_tmpfile
+# endif
+_GL_FUNCDECL_RPL (tmpfile, FILE *, (void));
+_GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
+# else
+_GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
+# endif
+_GL_CXXALIASWARN (tmpfile);
+#elif defined GNULIB_POSIXCHECK
+# undef tmpfile
+# if HAVE_RAW_DECL_TMPFILE
+_GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - "
+ "use gnulib module tmpfile for portability");
+# endif
+#endif
+
#if @GNULIB_VASPRINTF@
/* Write formatted output to a string dynamically allocated with malloc().
If the memory allocation succeeds, store the address of the string in
__attribute__ ((__format__ (__printf__, 2, 0)))
_GL_ARG_NONNULL ((2)));
# endif
-_GL_CXXALIAS_SYS (vdprintf, int, (int fd, const char *format, va_list args));
+/* Need to cast, because on Solaris, the third parameter will likely be
+ __va_list args. */
+_GL_CXXALIAS_SYS_CAST (vdprintf, int,
+ (int fd, const char *format, va_list args));
# endif
_GL_CXXALIASWARN (vdprintf);
#elif defined GNULIB_POSIXCHECK
_GL_ARG_NONNULL ((1, 2)));
_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args));
# else
-_GL_CXXALIAS_SYS (vfprintf, int, (FILE *fp, const char *format, va_list args));
+/* Need to cast, because on Solaris, the third parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vfprintf, int,
+ (FILE *fp, const char *format, va_list args));
# endif
_GL_CXXALIASWARN (vfprintf);
#endif
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args));
# else
-_GL_CXXALIAS_SYS (vprintf, int, (const char *format, va_list args));
+/* Need to cast, because on Solaris, the second parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args));
# endif
_GL_CXXALIASWARN (vprintf);
#endif
_GL_CXXALIAS_RPL (vsprintf, int,
(char *str, const char *format, va_list args));
# else
-_GL_CXXALIAS_SYS (vsprintf, int,
- (char *str, const char *format, va_list args));
+/* Need to cast, because on Solaris, the third parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vsprintf, int,
+ (char *str, const char *format, va_list args));
# endif
_GL_CXXALIASWARN (vsprintf);
#elif defined GNULIB_POSIXCHECK
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_malloc_and_calloc
/* Special invocation convention inside glibc header files. */
/* NetBSD 5.0 mis-defines NULL. */
#include <stddef.h>
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
/* Solaris declares getloadavg() in <sys/loadavg.h>. */
#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
# include <sys/loadavg.h>
#endif
#if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+ But allow multiple gnulib generated <stdlib.h> replacements to coexist. */
+# if !GNULIB_defined_struct_random_data
struct random_data
{
int32_t *fptr; /* Front pointer. */
int rand_sep; /* Distance between front and rear. */
int32_t *end_ptr; /* Pointer behind state table. */
};
+# define GNULIB_defined_struct_random_data 1
+# endif
#endif
-#if (@GNULIB_MKSTEMP@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__
+#if (@GNULIB_MKSTEMP@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
/* On MacOS X 10.3, only <unistd.h> declares mkstemp. */
/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
-/* But avoid namespace pollution on glibc systems. */
+/* But avoid namespace pollution on glibc systems and native Windows. */
# include <unistd.h>
#endif
+#ifndef __attribute__
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+# define __attribute__(Spec) /* empty */
+# endif
+#endif
+
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_ARG_NONNULL is copied here. */
#endif
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+ the 'atexit' handlers. */
+# if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, void, (int status) __attribute__ ((__noreturn__)));
+# endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+_GL_CXXALIASWARN (_Exit);
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+ "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
#if @GNULIB_ATOLL@
/* Parse a signed decimal integer.
Returns the value of the integer. Errors are not detected. */
#endif
#if @GNULIB_CALLOC_POSIX@
-# if !@HAVE_CALLOC_POSIX@
+# if @REPLACE_CALLOC@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef calloc
# define calloc rpl_calloc
#elif defined GNULIB_POSIXCHECK
# undef canonicalize_file_name
# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
-_GL_WARN_ON_USE (canonicalize_file_name, "canonicalize_file_name is unportable - "
+_GL_WARN_ON_USE (canonicalize_file_name,
+ "canonicalize_file_name is unportable - "
"use gnulib module canonicalize-lgpl for portability");
# endif
#endif
# endif
#endif
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+ pseudo-terminal whose master side is specified by FD. */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
+ "use gnulib module grantpt for portability");
+# endif
+#endif
+
#if @GNULIB_MALLOC_POSIX@
-# if !@HAVE_MALLOC_POSIX@
+# if @REPLACE_MALLOC@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef malloc
# define malloc rpl_malloc
_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
# else
+# if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
# endif
_GL_CXXALIASWARN (mkstemp);
# endif
#endif
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+ the master FD is open on, or NULL on errors. */
+# if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+ "use gnulib module ptsname for portability");
+# endif
+#endif
+
#if @GNULIB_PUTENV@
# if @REPLACE_PUTENV@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
#if @GNULIB_REALLOC_POSIX@
-# if !@HAVE_REALLOC_POSIX@
+# if @REPLACE_REALLOC@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef realloc
# define realloc rpl_realloc
# endif
#endif
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+ by FD, so that it can be opened. */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+ "use gnulib module unlockpt for portability");
+# endif
+#endif
+
#if @GNULIB_UNSETENV@
/* Remove the variable NAME from the environment. */
# if @REPLACE_UNSETENV@
# include "intprops.h"
+/* Use the system functions, not the gnulib overrides in this file. */
+# undef sprintf
+
# undef strerror
# if ! HAVE_DECL_STRERROR
# define strerror(n) NULL
break;
# endif
+# if GNULIB_defined_EDQUOT
+ case EDQUOT:
+ msg = "Disk quota exceeded";
+ break;
+# endif
+
# if GNULIB_defined_ECANCELED
case ECANCELED:
msg = "Operation canceled";
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRING_H@
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
# define __attribute__(Spec) /* empty */
# endif
+#endif
/* The attribute __pure__ was added in gcc 2.96. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-# define __pure__ /* empty */
-# endif
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
#endif
+/* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>. */
+/* But in any case avoid namespace pollution on glibc systems. */
+#if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \
+ && ! defined __GLIBC__
+# include <unistd.h>
+#endif
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
# define memchr rpl_memchr
# endif
_GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n));
# else
-# if defined __SUNPRO_CC
- /* This compiler defines an overloaded function
+# if ! @HAVE_MEMCHR@
+_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
extern "C" { const void * std::memchr (const void *, int, size_t); }
- extern "C++" { inline void * std::memchr (void *, int, size_t); }
- and diagnoses an error
- "Error: Could not find a match for std::memchr(const void*, int, unsigned)"
- */
+ extern "C++" { void * std::memchr (void *, int, size_t); } */
_GL_CXXALIAS_SYS_CAST2 (memchr,
void *, (void const *__s, int __c, size_t __n),
void const *, (void const *__s, int __c, size_t __n));
-# else
-_GL_CXXALIAS_SYS (memchr, void *, (void const *__s, int __c, size_t __n));
-# endif
# endif
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n));
+_GL_CXXALIASWARN1 (memchr, void const *,
+ (void const *__s, int __c, size_t __n));
+# else
_GL_CXXALIASWARN (memchr);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef memchr
/* Assume memchr is always declared. */
_GL_FUNCDECL_RPL (memmem, void *,
(void const *__haystack, size_t __haystack_len,
void const *__needle, size_t __needle_len)
- __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3)));
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
_GL_CXXALIAS_RPL (memmem, void *,
(void const *__haystack, size_t __haystack_len,
void const *__needle, size_t __needle_len));
_GL_FUNCDECL_SYS (memmem, void *,
(void const *__haystack, size_t __haystack_len,
void const *__needle, size_t __needle_len)
- __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3)));
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
# endif
_GL_CXXALIAS_SYS (memmem, void *,
(void const *__haystack, size_t __haystack_len,
#if @GNULIB_MEMRCHR@
# if ! @HAVE_DECL_MEMRCHR@
_GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1)));
# endif
-_GL_CXXALIAS_SYS (memrchr, void *, (void const *, int, size_t));
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::memrchr (const void *, int, size_t); }
+ extern "C++" { void * std::memrchr (void *, int, size_t); } */
+_GL_CXXALIAS_SYS_CAST2 (memrchr,
+ void *, (void const *, int, size_t),
+ void const *, (void const *, int, size_t));
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t));
+_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t));
+# else
_GL_CXXALIASWARN (memrchr);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef memrchr
# if HAVE_RAW_DECL_MEMRCHR
#if @GNULIB_RAWMEMCHR@
# if ! @HAVE_RAWMEMCHR@
_GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1)));
# endif
-_GL_CXXALIAS_SYS (rawmemchr, void *, (void const *__s, int __c_in));
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::rawmemchr (const void *, int); }
+ extern "C++" { void * std::rawmemchr (void *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (rawmemchr,
+ void *, (void const *__s, int __c_in),
+ void const *, (void const *__s, int __c_in));
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in));
+_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in));
+# else
_GL_CXXALIASWARN (rawmemchr);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef rawmemchr
# if HAVE_RAW_DECL_RAWMEMCHR
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
last non-NUL byte written into DST. */
#if @GNULIB_STPNCPY@
-# if ! @HAVE_STPNCPY@
+# if @REPLACE_STPNCPY@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef stpncpy
# define stpncpy rpl_stpncpy
# endif
_GL_FUNCDECL_RPL (stpncpy, char *,
(char *restrict __dst, char const *restrict __src,
size_t __n));
# else
+# if ! @HAVE_STPNCPY@
+_GL_FUNCDECL_SYS (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
_GL_CXXALIAS_SYS (stpncpy, char *,
(char *restrict __dst, char const *restrict __src,
size_t __n));
#if @GNULIB_STRCHRNUL@
# if ! @HAVE_STRCHRNUL@
_GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1)));
# endif
-_GL_CXXALIAS_SYS (strchrnul, char *, (char const *__s, int __c_in));
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * std::strchrnul (const char *, int); }
+ extern "C++" { char * std::strchrnul (char *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (strchrnul,
+ char *, (char const *__s, int __c_in),
+ char const *, (char const *__s, int __c_in));
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in));
+_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in));
+# else
_GL_CXXALIASWARN (strchrnul);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef strchrnul
# if HAVE_RAW_DECL_STRCHRNUL
_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (strdup, char *, (char const *__s));
# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
+ /* strdup exists as a function and as a macro. Get rid of the macro. */
+# undef strdup
+# endif
# if !(@HAVE_DECL_STRDUP@ || defined strdup)
_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
# endif
# endif
#endif
+/* Append no more than N characters from SRC onto DEST. */
+#if @GNULIB_STRNCAT@
+# if @REPLACE_STRNCAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strncat
+# define strncat rpl_strncat
+# endif
+_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n));
+# else
+_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n));
+# endif
+_GL_CXXALIASWARN (strncat);
+#elif defined GNULIB_POSIXCHECK
+# undef strncat
+# if HAVE_RAW_DECL_STRNCAT
+_GL_WARN_ON_USE (strncat, "strncat is unportable - "
+ "use gnulib module strncat for portability");
+# endif
+#endif
+
/* Return a newly allocated copy of at most N bytes of STRING. */
#if @GNULIB_STRNDUP@
# if @REPLACE_STRNDUP@
MAXLEN bytes. If no '\0' terminator is found in that many bytes,
return MAXLEN. */
#if @GNULIB_STRNLEN@
-# if ! @HAVE_DECL_STRNLEN@
+# if @REPLACE_STRNLEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strnlen
+# define strnlen rpl_strnlen
+# endif
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+# else
+# if ! @HAVE_DECL_STRNLEN@
_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1)));
-# endif
+# endif
_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
+# endif
_GL_CXXALIASWARN (strnlen);
#elif defined GNULIB_POSIXCHECK
# undef strnlen
#if @GNULIB_STRPBRK@
# if ! @HAVE_STRPBRK@
_GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1, 2)));
# endif
-# if defined __SUNPRO_CC
- /* This compiler defines an overloaded function
+ /* On some systems, this function is defined as an overloaded function:
extern "C" { const char * strpbrk (const char *, const char *); }
- extern "C++" { inline char * strpbrk (char *, const char *); }
- and diagnoses an error
- "Error: Could not find a match for std::strpbrk(const char*, const char*)"
- */
+ extern "C++" { char * strpbrk (char *, const char *); } */
_GL_CXXALIAS_SYS_CAST2 (strpbrk,
char *, (char const *__s, char const *__accept),
const char *, (char const *__s, char const *__accept));
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept));
+_GL_CXXALIASWARN1 (strpbrk, char const *,
+ (char const *__s, char const *__accept));
# else
-_GL_CXXALIAS_SYS (strpbrk, char *, (char const *__s, char const *__accept));
-# endif
_GL_CXXALIASWARN (strpbrk);
+# endif
# if defined GNULIB_POSIXCHECK
/* strpbrk() assumes the second argument is a list of single-byte characters.
Even in this simple case, it does not work with multibyte strings if the
# define strstr rpl_strstr
# endif
_GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle)
- __attribute__ ((__pure__))
+ _GL_ATTRIBUTE_PURE
_GL_ARG_NONNULL ((1, 2)));
_GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle));
# else
-_GL_CXXALIAS_SYS (strstr, char *, (const char *haystack, const char *needle));
-# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strstr (const char *, const char *); }
+ extern "C++" { char * strstr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strstr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
+# endif
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strstr, const char *,
+ (const char *haystack, const char *needle));
+# else
_GL_CXXALIASWARN (strstr);
+# endif
#elif defined GNULIB_POSIXCHECK
/* strstr() does not work with multibyte strings if the locale encoding is
different from UTF-8:
# endif
_GL_FUNCDECL_RPL (strcasestr, char *,
(const char *haystack, const char *needle)
- __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2)));
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
_GL_CXXALIAS_RPL (strcasestr, char *,
(const char *haystack, const char *needle));
# else
# if ! @HAVE_STRCASESTR@
_GL_FUNCDECL_SYS (strcasestr, char *,
(const char *haystack, const char *needle)
- __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2)));
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
# endif
-_GL_CXXALIAS_SYS (strcasestr, char *,
- (const char *haystack, const char *needle));
-# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strcasestr (const char *, const char *); }
+ extern "C++" { char * strcasestr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strcasestr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
+# endif
+# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strcasestr, const char *,
+ (const char *haystack, const char *needle));
+# else
_GL_CXXALIASWARN (strcasestr);
+# endif
#elif defined GNULIB_POSIXCHECK
/* strcasestr() does not work with multibyte strings:
It is a glibc extension, and glibc implements it only for unibyte
#if @GNULIB_MBSPCASECMP@
/* Compare the initial segment of the character string STRING consisting of
at most mbslen (PREFIX) characters with the character string PREFIX,
- ignoring case, returning less than, equal to or greater than zero if this
- initial segment is lexicographically less than, equal to or greater than
- PREFIX.
- Note: This function may, in multibyte locales, return 0 if STRING is of
- smaller length than PREFIX!
+ ignoring case. If the two match, return a pointer to the first byte
+ after this prefix in STRING. Otherwise, return NULL.
+ Note: This function may, in multibyte locales, return non-NULL if STRING
+ is of smaller length than PREFIX!
Unlike strncasecmp(), this function works correctly in multibyte
locales. */
_GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRINGS_H@
operating on `long long int's. */
#ifdef QUAD
# define LONG long long
-# define STRTOL_LONG_MIN LONG_LONG_MIN
-# define STRTOL_LONG_MAX LONG_LONG_MAX
-# define STRTOL_ULONG_MAX ULONG_LONG_MAX
+# define STRTOL_LONG_MIN LLONG_MIN
+# define STRTOL_LONG_MAX LLONG_MAX
+# define STRTOL_ULONG_MAX ULLONG_MAX
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
? (t) -1 \
: ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-# ifndef ULONG_LONG_MAX
-# define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)
+# ifndef ULLONG_MAX
+# define ULLONG_MAX TYPE_MAXIMUM (unsigned long long)
# endif
-# ifndef LONG_LONG_MAX
-# define LONG_LONG_MAX TYPE_MAXIMUM (long long int)
+# ifndef LLONG_MAX
+# define LLONG_MAX TYPE_MAXIMUM (long long int)
# endif
-# ifndef LONG_LONG_MIN
-# define LONG_LONG_MIN TYPE_MINIMUM (long long int)
+# ifndef LLONG_MIN
+# define LLONG_MIN TYPE_MINIMUM (long long int)
# endif
# if __GNUC__ == 2 && __GNUC_MINOR__ < 7
/* Work around gcc bug with using this constant. */
- static const unsigned long long int maxquad = ULONG_LONG_MAX;
+ static const unsigned long long int maxquad = ULLONG_MAX;
# undef STRTOL_ULONG_MAX
# define STRTOL_ULONG_MAX maxquad
# endif
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Stub for symlink().
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+
+#if HAVE_SYMLINK
+
+# undef symlink
+
+/* Create a symlink, but reject trailing slash. */
+int
+rpl_symlink (char const *contents, char const *name)
+{
+ size_t len = strlen (name);
+ if (len && name[len - 1] == '/')
+ {
+ struct stat st;
+ if (lstat (name, &st) == 0)
+ errno = EEXIST;
+ return -1;
+ }
+ return symlink (contents, name);
+}
+
+#else /* !HAVE_SYMLINK */
+
+/* The system does not support symlinks. */
+int
+symlink (char const *contents _GL_UNUSED,
+ char const *name _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#endif /* !HAVE_SYMLINK */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Create a symlink relative to an open directory.
+ Copyright (C) 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#if !HAVE_SYMLINK
+/* Mingw lacks symlink, and it is more efficient to provide a trivial
+ wrapper than to go through at-func.c to call rpl_symlink. */
+
+# include <errno.h>
+
+int
+symlinkat (char const *path1 _GL_UNUSED, int fd _GL_UNUSED,
+ char const *path2 _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#else /* HAVE_SYMLINK */
+
+/* Our openat helper functions expect the directory parameter first,
+ not second. These shims make life easier. */
+
+/* Like symlink, but with arguments reversed. */
+static int
+symlink_reversed (char const *file, char const *contents)
+{
+ return symlink (contents, file);
+}
+
+/* Like symlinkat, but with arguments reversed. */
+
+static int
+symlinkat_reversed (int fd, char const *file, char const *contents);
+
+# define AT_FUNC_NAME symlinkat_reversed
+# define AT_FUNC_F1 symlink_reversed
+# define AT_FUNC_POST_FILE_PARAM_DECLS , char const *contents
+# define AT_FUNC_POST_FILE_ARGS , contents
+# include "at-func.c"
+# undef AT_FUNC_NAME
+# undef AT_FUNC_F1
+# undef AT_FUNC_POST_FILE_PARAM_DECLS
+# undef AT_FUNC_POST_FILE_ARGS
+
+/* Create a symlink FILE, in the directory open on descriptor FD,
+ holding CONTENTS. If possible, do it without changing the
+ working directory. Otherwise, resort to using save_cwd/fchdir,
+ then symlink/restore_cwd. If either the save_cwd or the restore_cwd
+ fails, then give a diagnostic and exit nonzero. */
+
+int
+symlinkat (char const *contents, int fd, char const *file)
+{
+ return symlinkat_reversed (fd, file, contents);
+}
+
+#endif /* HAVE_SYMLINK */
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_system_sys_stat_h
/* Special invocation convention. */
/* 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>
+# include <io.h> /* mingw32, mingw64 */
+# include <direct.h> /* mingw64 */
#endif
#ifndef S_IFMT
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# define lchmod chmod
# endif
-_GL_CXXALIAS_RPL_1 (lchmod, chmod, int, (const char *filename, mode_t mode));
+/* Need to cast, because on mingw, the second parameter of chmod is
+ int mode. */
+_GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int,
+ (const char *filename, mode_t mode));
# else
# if 0 /* assume already declared */
_GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode)
# endif
_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
# endif
+# if @HAVE_LCHMOD@
_GL_CXXALIASWARN (lchmod);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef lchmod
# if HAVE_RAW_DECL_LCHMOD
# else
_GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf));
# endif
+# if @HAVE_LSTAT@
_GL_CXXALIASWARN (lstat);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef lstat
# if HAVE_RAW_DECL_LSTAT
#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>, which is included above. */
+ alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
+ which are included above. */
# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
static inline int
# else /* !_LARGE_FILES */
# define stat(name, st) rpl_stat (name, st)
# endif /* !_LARGE_FILES */
-_GL_EXTERN_C int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2));
+_GL_EXTERN_C int stat (const char *name, struct stat *buf)
+ _GL_ARG_NONNULL ((1, 2));
# endif
#elif defined GNULIB_POSIXCHECK
# undef stat
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined _GL_SYS_TIME_H
# undef gettimeofday
# if HAVE_RAW_DECL_GETTIMEOFDAY
_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
- "use gnulib module gettimeofday for portability");
+ "use gnulib module gettimeofday for portability");
# endif
# endif
#ifndef _GL_SYSEXITS_H
-#if @HAVE_SYSEXITS_H@
-
-# if __GNUC__ >= 3
+#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
-# endif
+#endif
+@PRAGMA_COLUMNS@
+
+#if @HAVE_SYSEXITS_H@
/* IRIX 6.5 has an <unistd.h> that defines a macro EX_OK with a nonzero
value. Override it. See
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* 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
# @INCLUDE_NEXT@ @NEXT_TIME_H@
/* NetBSD 5.0 mis-defines NULL. */
-#include <stddef.h>
+# include <stddef.h>
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
/* The definition of _GL_WARN_ON_USE is copied here. */
-# ifdef __cplusplus
-extern "C" {
-# endif
-
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
Or they define it with the wrong member names or define it in <sys/time.h>
- (e.g., FreeBSD circa 1997). */
+ (e.g., FreeBSD circa 1997). Stock Mingw does not define it, but the
+ pthreads-win32 library defines it in <pthread.h>. */
# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
# include <sys/time.h>
+# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+# include <pthread.h>
+/* The pthreads-win32 <pthread.h> also defines a couple of broken macros. */
+# undef asctime_r
+# undef ctime_r
+# undef gmtime_r
+# undef localtime_r
+# undef rand_r
+# undef strtok_r
# else
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
# undef timespec
# define timespec rpl_timespec
struct timespec
time_t tv_sec;
long int tv_nsec;
};
-# endif
-# endif
-# ifdef __cplusplus
+# ifdef __cplusplus
}
+# endif
+
+# endif
# endif
+/* Per http://austingroupbugs.net/view.php?id=327, POSIX requires
+ time_t to be an integer type, even though C99 permits floating
+ point. We don't know of any implementation that uses floating
+ point, and it is much easier to write code that doesn't have to
+ worry about that corner case, so we force the issue. */
+struct __time_t_must_be_integral {
+ unsigned int __floating_time_t_unsupported : (time_t) 1;
+};
+
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
return -1 and store the remaining time into RMTP. See
<http://www.opengroup.org/susv3xsh/nanosleep.html>. */
_GL_CXXALIAS_RPL (nanosleep, int,
(struct timespec const *__rqtp, struct timespec *__rmtp));
# else
+# if ! @HAVE_NANOSLEEP@
+_GL_FUNCDECL_SYS (nanosleep, int,
+ (struct timespec const *__rqtp, struct timespec *__rmtp)
+ _GL_ARG_NONNULL ((1)));
+# endif
_GL_CXXALIAS_SYS (nanosleep, int,
(struct timespec const *__rqtp, struct timespec *__rmtp));
# endif
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
<http://www.opengroup.org/susv3xsh/localtime_r.html> and
<http://www.opengroup.org/susv3xsh/gmtime_r.html>. */
-# if @REPLACE_LOCALTIME_R@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef localtime_r
-# define localtime_r rpl_localtime_r
-# endif
+# if @GNULIB_TIME_R@
+# if @REPLACE_LOCALTIME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef localtime_r
+# define localtime_r rpl_localtime_r
+# endif
_GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result)
_GL_ARG_NONNULL ((1, 2)));
_GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result));
-# else
+# else
+# if ! @HAVE_LOCALTIME_R@
+_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
_GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result));
-# endif
-_GL_CXXALIASWARN (localtime_r);
-# if @REPLACE_LOCALTIME_R@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef gmtime_r
-# define gmtime_r rpl_gmtime_r
# endif
+_GL_CXXALIASWARN (localtime_r);
+# if @REPLACE_LOCALTIME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gmtime_r
+# define gmtime_r rpl_gmtime_r
+# endif
_GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result)
_GL_ARG_NONNULL ((1, 2)));
_GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result));
-# else
+# else
+# if ! @HAVE_LOCALTIME_R@
+_GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
_GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
struct tm *restrict __result));
-# endif
+# endif
_GL_CXXALIASWARN (gmtime_r);
+# endif
/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
the resulting broken-down time into TM. See
<http://www.opengroup.org/susv3xsh/strptime.html>. */
# if @GNULIB_STRPTIME@
-# if @REPLACE_STRPTIME@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef strptime
-# define strptime rpl_strptime
-# endif
-_GL_FUNCDECL_RPL (strptime, char *, (char const *restrict __buf,
+# if ! @HAVE_STRPTIME@
+_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
char const *restrict __format,
struct tm *restrict __tm)
_GL_ARG_NONNULL ((1, 2, 3)));
-_GL_CXXALIAS_RPL (strptime, char *, (char const *restrict __buf,
- char const *restrict __format,
- struct tm *restrict __tm));
-# else
+# endif
_GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
char const *restrict __format,
struct tm *restrict __tm));
-# endif
_GL_CXXALIASWARN (strptime);
# endif
_GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm));
# else
+# if ! @HAVE_TIMEGM@
+_GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
+# endif
_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
# endif
_GL_CXXALIASWARN (timegm);
/* Encourage applications to avoid unsafe functions that can overrun
buffers when given outlandish struct tm values. Portable
applications should use strftime (or even sprintf) instead. */
-# if GNULIB_PORTCHECK
+# if defined GNULIB_POSIXCHECK
# undef asctime
-# define asctime eschew_asctime
+_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
# undef asctime_r
-# define asctime_r eschew_asctime_r
+_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
# undef ctime
-# define ctime eschew_ctime
+_GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
# undef ctime_r
-# define ctime_r eschew_ctime_r
+_GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
# endif
#endif
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Reentrant time functions like localtime_r.
- Copyright (C) 2003, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006-2007, 2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <time.h>
-#include <string.h>
-
static struct tm *
copy_tm_result (struct tm *dest, struct tm const *src)
{
# include <time.h>
/* Return negative, zero, positive if A < B, A == B, A > B, respectively.
- Assume the nanosecond components are in range, or close to it. */
+
+ For each time stamp T, this code assumes that either:
+
+ * T.tv_nsec is in the range 0..999999999; or
+ * T.tv_sec corresponds to a valid leap second on a host that supports
+ leap seconds, and T.tv_nsec is in the range 1000000000..1999999999; or
+ * T.tv_sec is the minimum time_t value and T.tv_nsec is -1; or
+ T.tv_sec is the maximum time_t value and T.tv_nsec is 2000000000.
+ This allows for special struct timespec values that are less or
+ greater than all possible valid time stamps.
+
+ In all these cases, it is safe to subtract two tv_nsec values and
+ convert the result to integer without worrying about overflow on
+ any platform of interest to the GNU project, since all such
+ platforms have 32-bit int or wider.
+
+ Replacing "(int) (a.tv_nsec - b.tv_nsec)" with something like
+ "a.tv_nsec < b.tv_nsec ? -1 : a.tv_nsec > b.tv_nsec" would cause
+ this function to work in some cases where the above assumption is
+ violated, but not in all cases (e.g., a.tv_sec==1, a.tv_nsec==-2,
+ b.tv_sec==0, b.tv_nsec==999999999) and is arguably not worth the
+ extra instructions. Using a subtraction has the advantage of
+ detecting some invalid cases on platforms that detect integer
+ overflow.
+
+ The (int) cast avoids a gcc -Wconversion warning. */
+
static inline int
timespec_cmp (struct timespec a, struct timespec b)
{
return (a.tv_sec < b.tv_sec ? -1
: a.tv_sec > b.tv_sec ? 1
- : a.tv_nsec < b.tv_nsec ? -1
- : a.tv_nsec > b.tv_nsec ? 1
- : 0);
+ : (int) (a.tv_nsec - b.tv_nsec));
}
void gettime (struct timespec *);
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#define inttostr uinttostr
+#define anytostr uinttostr
#define inttype unsigned int
#define inttype_is_signed 0
-#include "inttostr.c"
+#include "anytostr.c"
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-#define inttostr umaxtostr
+#define anytostr umaxtostr
#define inttype uintmax_t
#define inttype_is_signed 0
-#include "inttostr.c"
+#include "anytostr.c"
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_UNISTD_H
-
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
+
+/* Special invocation convention:
+ - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
+ but we need to ensure that both the system <unistd.h> and <winsock2.h>
+ are completely included before we replace gethostname. */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
+/* <unistd.h> is being indirectly included for the first time from
+ <winsock2.h>; avoid declaring any overrides. */
+# if @HAVE_UNISTD_H@
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# else
+# error unexpected; report this to bug-gnulib@gnu.org
+# endif
+# define _GL_WINSOCK2_H_WITNESS
+
+/* Normal invocation. */
+#elif !defined _GL_UNISTD_H
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_UNISTD_H@
# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
#endif
-#ifndef _GL_UNISTD_H
+/* Get all possible declarations of gethostname(). */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_INCLUDING_WINSOCK2_H
+# define _GL_INCLUDING_WINSOCK2_H
+# include <winsock2.h>
+# undef _GL_INCLUDING_WINSOCK2_H
+#endif
+
+#if !defined _GL_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
#define _GL_UNISTD_H
/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
#endif
#if (@GNULIB_WRITE@ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
- || @GNULIB_PREAD@ || defined GNULIB_POSIXCHECK)
+ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
/* Get ssize_t. */
# include <sys/types.h>
#endif
# include <getopt.h>
#endif
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
#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
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef socket
+# define socket socket_used_without_including_sys_socket_h
+# undef connect
+# define connect connect_used_without_including_sys_socket_h
+# undef accept
+# define accept accept_used_without_including_sys_socket_h
+# undef bind
+# define bind bind_used_without_including_sys_socket_h
+# undef getpeername
+# define getpeername getpeername_used_without_including_sys_socket_h
+# undef getsockname
+# define getsockname getsockname_used_without_including_sys_socket_h
+# undef getsockopt
+# define getsockopt getsockopt_used_without_including_sys_socket_h
+# undef listen
+# define listen listen_used_without_including_sys_socket_h
+# undef recv
+# define recv recv_used_without_including_sys_socket_h
+# undef send
+# define send send_used_without_including_sys_socket_h
+# undef recvfrom
+# define recvfrom recvfrom_used_without_including_sys_socket_h
+# undef sendto
+# define sendto sendto_used_without_including_sys_socket_h
+# undef setsockopt
+# define setsockopt setsockopt_used_without_including_sys_socket_h
+# undef shutdown
+# define shutdown shutdown_used_without_including_sys_socket_h
+# else
+ _GL_WARN_ON_USE (socket,
+ "socket() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (connect,
+ "connect() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (accept,
+ "accept() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (bind,
+ "bind() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getpeername,
+ "getpeername() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockname,
+ "getsockname() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockopt,
+ "getsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (listen,
+ "listen() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recv,
+ "recv() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (send,
+ "send() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recvfrom,
+ "recvfrom() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (sendto,
+ "sendto() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (setsockopt,
+ "setsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (shutdown,
+ "shutdown() used without including <sys/socket.h>");
+# endif
# endif
# if !defined _GL_SYS_SELECT_H
-# undef select
-# define select select_used_without_including_sys_select_h
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef select
+# define select select_used_without_including_sys_select_h
+# else
+ _GL_WARN_ON_USE (select,
+ "select() used without including <sys/select.h>");
+# endif
# endif
# endif
#endif
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-
-/* The definition of _GL_ARG_NONNULL is copied here. */
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-
/* OS/2 EMX lacks these macros. */
#ifndef STDIN_FILENO
Return 0 if successful, otherwise -1 and errno set.
See the POSIX:2001 specification
<http://www.opengroup.org/susv3xsh/fchdir.html>. */
-# if @REPLACE_FCHDIR@
-_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/));
-_GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/));
+# if ! @HAVE_FCHDIR@
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
/* Gnulib internal hooks needed to maintain the fchdir metadata. */
_GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
_GL_EXTERN_C const char *_gl_directory_name (int fd);
-# else
-_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
# endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
_GL_CXXALIASWARN (fchdir);
#elif defined GNULIB_POSIXCHECK
# undef fchdir
_GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
_GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
# else
-_GL_CXXALIAS_SYS (getcwd, char *, (char *buf, size_t size));
+/* Need to cast, because on mingw, the second parameter is
+ int size. */
+_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
# endif
_GL_CXXALIASWARN (getcwd);
#elif defined GNULIB_POSIXCHECK
/* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */
_GL_CXXALIAS_SYS_CAST (getpagesize, int, (void));
# endif
+# if @HAVE_DECL_GETPAGESIZE@
_GL_CXXALIASWARN (getpagesize);
+# endif
#elif defined GNULIB_POSIXCHECK
# undef getpagesize
# if HAVE_RAW_DECL_GETPAGESIZE
#if @GNULIB_GETUSERSHELL@
/* Return the next valid login shell on the system, or NULL when the end of
the list has been reached. */
-# if !@HAVE_GETUSERSHELL@
+# if !@HAVE_DECL_GETUSERSHELL@
_GL_FUNCDECL_SYS (getusershell, char *, (void));
# endif
_GL_CXXALIAS_SYS (getusershell, char *, (void));
#if @GNULIB_GETUSERSHELL@
/* Rewind to pointer that is advanced at each getusershell() call. */
-# if !@HAVE_GETUSERSHELL@
+# if !@HAVE_DECL_GETUSERSHELL@
_GL_FUNCDECL_SYS (setusershell, void, (void));
# endif
_GL_CXXALIAS_SYS (setusershell, void, (void));
#if @GNULIB_GETUSERSHELL@
/* Free the pointer that is advanced at each getusershell() call and
associated resources. */
-# if !@HAVE_GETUSERSHELL@
+# if !@HAVE_DECL_GETUSERSHELL@
_GL_FUNCDECL_SYS (endusershell, void, (void));
# endif
_GL_CXXALIAS_SYS (endusershell, void, (void));
#endif
+#if @GNULIB_PWRITE@
+/* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
+ Return the number of bytes written if successful, otherwise
+ set errno and return -1. 0 indicates nothing written. See the
+ POSIX:2001 specification
+ <http://www.opengroup.org/susv3xsh/pwrite.html>. */
+# if @REPLACE_PWRITE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define pwrite rpl_pwrite
+# endif
+_GL_FUNCDECL_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# else
+# if !@HAVE_PWRITE@
+_GL_FUNCDECL_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# endif
+_GL_CXXALIASWARN (pwrite);
+#elif defined GNULIB_POSIXCHECK
+# undef pwrite
+# if HAVE_RAW_DECL_PWRITE
+_GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
+ "use gnulib module pwrite for portability");
+# endif
+#endif
+
+
#if @GNULIB_READLINK@
/* Read the contents of the symbolic link FILE and place the first BUFSIZE
bytes of it into BUF. Return the number of bytes placed into BUF if
# undef readlinkat
# if HAVE_RAW_DECL_READLINKAT
_GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
- "use gnulib module symlinkat for portability");
+ "use gnulib module readlinkat for portability");
# endif
#endif
#endif
+#if @GNULIB_TTYNAME_R@
+/* Store at most BUFLEN characters of the pathname of the terminal FD is
+ open on in BUF. Return 0 on success, otherwise an error number. */
+# if @REPLACE_TTYNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ttyname_r
+# define ttyname_r rpl_ttyname_r
+# endif
+_GL_FUNCDECL_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# else
+# if !@HAVE_TTYNAME_R@
+_GL_FUNCDECL_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# endif
+_GL_CXXALIASWARN (ttyname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ttyname_r
+# if HAVE_RAW_DECL_TTYNAME_R
+_GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
+ "use gnulib module ttyname_r for portability");
+# endif
+#endif
+
+
#if @GNULIB_UNLINK@
# if @REPLACE_UNLINK@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
_GL_ARG_NONNULL ((2)));
_GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
# else
-_GL_CXXALIAS_SYS (write, ssize_t, (int fd, const void *buf, size_t count));
+/* Need to cast, because on mingw, the third parameter is
+ unsigned int count
+ and the return type is 'int'. */
+_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
# endif
_GL_CXXALIASWARN (write);
#endif
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Elementary types for the GNU UniString library.
- Copyright (C) 2002, 2005-2006, 2009-2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _UNITYPES_H
-#define _UNITYPES_H
-
-/* Get uint8_t, uint16_t, uint32_t. */
-#include <stdint.h>
-
-/* Type representing a Unicode character. */
-typedef uint32_t ucs4_t;
-
-#endif /* _UNITYPES_H */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Elementary types for the GNU UniString library.
+ Copyright (C) 2002, 2005-2006, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNITYPES_H
+#define _UNITYPES_H
+
+/* Get uint8_t, uint16_t, uint32_t. */
+#include <stdint.h>
+
+/* Type representing a Unicode character. */
+typedef uint32_t ucs4_t;
+
+#endif /* _UNITYPES_H */
+++ /dev/null
-/* -*- buffer-read-only: t -*- vi: set ro: */
-/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Display width functions.
- Copyright (C) 2001-2002, 2005, 2007, 2009-2010 Free Software Foundation,
- Inc.
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _UNIWIDTH_H
-#define _UNIWIDTH_H
-
-#include "unitypes.h"
-
-/* Get size_t. */
-#include <stddef.h>
-
-/* Get locale_charset() declaration. */
-#include "localcharset.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Display width. */
-
-/* These functions are locale dependent. The encoding argument identifies
- the encoding (e.g. "ISO-8859-2" for Polish). */
-
-/* Determine number of column positions required for UC. */
-extern int
- uc_width (ucs4_t uc, const char *encoding);
-
-/* Determine number of column positions required for first N units
- (or fewer if S ends before this) in S. */
-extern int
- u8_width (const uint8_t *s, size_t n, const char *encoding);
-extern int
- u16_width (const uint16_t *s, size_t n, const char *encoding);
-extern int
- u32_width (const uint32_t *s, size_t n, const char *encoding);
-
-/* Determine number of column positions required for S. */
-extern int
- u8_strwidth (const uint8_t *s, const char *encoding);
-extern int
- u16_strwidth (const uint16_t *s, const char *encoding);
-extern int
- u32_strwidth (const uint32_t *s, const char *encoding);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UNIWIDTH_H */
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Display width functions.
+ Copyright (C) 2001-2002, 2005, 2007, 2009-2010 Free Software Foundation,
+ Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNIWIDTH_H
+#define _UNIWIDTH_H
+
+#include "unitypes.h"
+
+/* Get size_t. */
+#include <stddef.h>
+
+/* Get locale_charset() declaration. */
+#include "localcharset.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Display width. */
+
+/* These functions are locale dependent. The encoding argument identifies
+ the encoding (e.g. "ISO-8859-2" for Polish). */
+
+/* Determine number of column positions required for UC. */
+extern int
+ uc_width (ucs4_t uc, const char *encoding);
+
+/* Determine number of column positions required for first N units
+ (or fewer if S ends before this) in S. */
+extern int
+ u8_width (const uint8_t *s, size_t n, const char *encoding);
+extern int
+ u16_width (const uint16_t *s, size_t n, const char *encoding);
+extern int
+ u32_width (const uint32_t *s, size_t n, const char *encoding);
+
+/* Determine number of column positions required for S. */
+extern int
+ u8_strwidth (const uint8_t *s, const char *encoding);
+extern int
+ u16_strwidth (const uint16_t *s, const char *encoding);
+extern int
+ u32_strwidth (const uint32_t *s, const char *encoding);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNIWIDTH_H */
}
}
/* Test for double-width character.
- * Generated from "grep '^....;[WF]' EastAsianWidth.txt"
- * and "grep '^....;[^WF]' EastAsianWidth.txt"
+ * Generated from "grep '^[^;]\{4,5\};[WF]' EastAsianWidth.txt"
+ * and "grep '^[^;]\{4,5\};[^WF]' EastAsianWidth.txt"
*/
if (uc >= 0x1100
&& ((uc < 0x1160) /* Hangul Jamo */
}
}
if (!result)
- result = unlink (name);
+ {
+#if UNLINK_PARENT_BUG
+ if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.'
+ && (len == 2 || ISSLASH (name[len - 3])))
+ {
+ errno = EISDIR; /* could also use EPERM */
+ return -1;
+ }
+#endif
+ result = unlink (name);
+ }
return result;
}
Return 0 on success, -1 (setting errno) on failure. */
int
-fdutimens (char const *file, int fd, struct timespec const timespec[2])
+fdutimens (int fd, char const *file, struct timespec const timespec[2])
{
struct timespec adjusted_timespec[2];
struct timespec *ts = timespec ? adjusted_timespec : NULL;
{
#if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES
struct timeval timeval[2];
- struct timeval const *t;
+ struct timeval *t;
if (ts)
{
timeval[0].tv_sec = ts[0].tv_sec;
}
}
-/* Set the access and modification time stamps of FD (a.k.a. FILE) to be
- TIMESPEC[0] and TIMESPEC[1], respectively.
- FD must be either negative -- in which case it is ignored --
- or a file descriptor that is open on FILE.
- If FD is nonnegative, then FILE can be NULL, which means
- use just futimes (or equivalent) instead of utimes (or equivalent),
- and fail if on an old system without futimes (or equivalent).
- If TIMESPEC is null, set the time stamps to the current time.
- Return 0 on success, -1 (setting errno) on failure. */
-
-int
-gl_futimens (int fd, char const *file, struct timespec const timespec[2])
-{
- return fdutimens (file, fd, timespec);
-}
-
/* Set the access and modification time stamps of FILE to be
TIMESPEC[0] and TIMESPEC[1], respectively. */
int
utimens (char const *file, struct timespec const timespec[2])
{
- return fdutimens (file, -1, timespec);
+ return fdutimens (-1, file, timespec);
}
/* Set the access and modification time stamps of FILE to be
/* The Linux kernel did not support symlink timestamps until
utimensat, in version 2.6.22, so we don't need to mimic
- gl_futimens' worry about buggy NFS clients. But we do have to
+ fdutimens' worry about buggy NFS clients. But we do have to
worry about bogus return values. */
#if HAVE_UTIMENSAT
#if HAVE_LUTIMES && !HAVE_UTIMENSAT
{
struct timeval timeval[2];
- struct timeval const *t;
+ struct timeval *t;
int result;
if (ts)
{
if (!(adjustment_needed || REPLACE_FUNC_STAT_FILE) && lstat (file, &st))
return -1;
if (!S_ISLNK (st.st_mode))
- return fdutimens (file, -1, ts);
+ return fdutimens (-1, file, ts);
errno = ENOSYS;
return -1;
}
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
#include <time.h>
-int fdutimens (char const *, int, struct timespec const [2]);
-int gl_futimens (int, char const *, struct timespec const [2]);
+int fdutimens (int, char const *, struct timespec const [2]);
int utimens (char const *, struct timespec const [2]);
int lutimens (char const *, struct timespec const [2]);
# include <fcntl.h>
# include <sys/stat.h>
-int fdutimensat (int dir, char const *name, int fd, struct timespec const [2]);
+int fdutimensat (int fd, int dir, char const *name, struct timespec const [2],
+ int atflag);
/* Using this function makes application code slightly more readable. */
static inline int
-lutimensat (int fd, char const *file, struct timespec const times[2])
+lutimensat (int dir, char const *file, struct timespec const times[2])
{
- return utimensat (fd, file, times, AT_SYMLINK_NOFOLLOW);
+ return utimensat (dir, file, times, AT_SYMLINK_NOFOLLOW);
}
#endif
--- /dev/null
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Set the access and modification time of a file relative to directory fd.
+ Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 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 Eric Blake */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <fcntl.h>
+
+#include "stat-time.h"
+#include "timespec.h"
+#include "utimens.h"
+
+#if HAVE_UTIMENSAT
+
+# undef utimensat
+
+/* If we have a native utimensat, but are compiling this file, then
+ utimensat was defined to rpl_utimensat by our replacement
+ sys/stat.h. We assume the native version might fail with ENOSYS,
+ or succeed without properly affecting ctime (as is the case when
+ using newer glibc but older Linux kernel). In this scenario,
+ rpl_utimensat checks whether the native version is usable, and
+ local_utimensat provides the fallback manipulation. */
+
+static int local_utimensat (int, char const *, struct timespec const[2], int);
+# define AT_FUNC_NAME local_utimensat
+
+/* Like utimensat, but work around native bugs. */
+
+int
+rpl_utimensat (int fd, char const *file, struct timespec const times[2],
+ int flag)
+{
+ /* See comments in utimens.c for details. */
+ static int utimensat_works_really; /* 0 = unknown, 1 = yes, -1 = no. */
+ if (0 <= utimensat_works_really)
+ {
+ int result;
+# ifdef __linux__
+ struct stat st;
+ struct timespec ts[2];
+ /* As recently as Linux kernel 2.6.32 (Dec 2009), several file
+ systems (xfs, ntfs-3g) have bugs with a single UTIME_OMIT,
+ but work if both times are either explicitly specified or
+ UTIME_NOW. Work around it with a preparatory [l]stat prior
+ to calling utimensat; fortunately, there is not much timing
+ impact due to the extra syscall even on file systems where
+ UTIME_OMIT would have worked. FIXME: Simplify this in 2012,
+ when file system bugs are no longer common. */
+ if (times && (times[0].tv_nsec == UTIME_OMIT
+ || times[1].tv_nsec == UTIME_OMIT))
+ {
+ if (fstatat (fd, file, &st, flag))
+ return -1;
+ if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT)
+ return 0;
+ if (times[0].tv_nsec == UTIME_OMIT)
+ ts[0] = get_stat_atime (&st);
+ else
+ ts[0] = times[0];
+ if (times[1].tv_nsec == UTIME_OMIT)
+ ts[1] = get_stat_mtime (&st);
+ else
+ ts[1] = times[1];
+ times = ts;
+ }
+# endif /* __linux__ */
+ result = utimensat (fd, file, times, flag);
+ /* Linux kernel 2.6.25 has a bug where it returns EINVAL for
+ UTIME_NOW or UTIME_OMIT with non-zero tv_sec, which
+ local_utimensat works around. Meanwhile, EINVAL for a bad
+ flag is indeterminate whether the native utimensat works, but
+ local_utimensat will also reject it. */
+ if (result == -1 && errno == EINVAL && (flag & ~AT_SYMLINK_NOFOLLOW))
+ return result;
+ if (result == 0 || (errno != ENOSYS && errno != EINVAL))
+ {
+ utimensat_works_really = 1;
+ return result;
+ }
+ }
+ /* No point in trying openat/futimens, since on Linux, futimens is
+ implemented with the same syscall as utimensat. Only avoid the
+ native utimensat due to an ENOSYS failure; an EINVAL error was
+ data-dependent, and the next caller may pass valid data. */
+ if (0 <= utimensat_works_really && errno == ENOSYS)
+ utimensat_works_really = -1;
+ return local_utimensat (fd, file, times, flag);
+}
+
+#else /* !HAVE_UTIMENSAT */
+
+# define AT_FUNC_NAME utimensat
+
+#endif /* !HAVE_UTIMENSAT */
+
+/* Set the access and modification time stamps of FILE to be
+ TIMESPEC[0] and TIMESPEC[1], respectively; relative to directory
+ FD. If flag is AT_SYMLINK_NOFOLLOW, change the times of a symlink,
+ or fail with ENOSYS if not possible. If TIMESPEC is null, set the
+ time stamps to the current time. If possible, do it without
+ changing the working directory. Otherwise, resort to using
+ save_cwd/fchdir, then utimens/restore_cwd. If either the save_cwd
+ or the restore_cwd fails, then give a diagnostic and exit nonzero.
+ Return 0 on success, -1 (setting errno) on failure. */
+
+/* AT_FUNC_NAME is now utimensat or local_utimensat. */
+#define AT_FUNC_F1 lutimens
+#define AT_FUNC_F2 utimens
+#define AT_FUNC_USE_F1_COND AT_SYMLINK_NOFOLLOW
+#define AT_FUNC_POST_FILE_PARAM_DECLS , struct timespec const ts[2], int flag
+#define AT_FUNC_POST_FILE_ARGS , ts
+#include "at-func.c"
+#undef AT_FUNC_NAME
+#undef AT_FUNC_F1
+#undef AT_FUNC_F2
+#undef AT_FUNC_USE_F1_COND
+#undef AT_FUNC_POST_FILE_PARAM_DECLS
+#undef AT_FUNC_POST_FILE_ARGS
/* Checked size_t computations. */
#include "xsize.h"
+#include "verify.h"
+
#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
# include <math.h>
# include "float+.h"
# define USE_SNPRINTF 1
# if HAVE_DECL__SNWPRINTF
/* On Windows, the function swprintf() has a different signature than
- on Unix; we use the _snwprintf() function instead. */
-# define SNPRINTF _snwprintf
+ on Unix; we use the function _snwprintf() or - on mingw - snwprintf()
+ instead. The mingw function snwprintf() has fewer bugs than the
+ MSVCRT function _snwprintf(), so prefer that. */
+# if defined __MINGW32__
+# define SNPRINTF snwprintf
+# else
+# define SNPRINTF _snwprintf
+# endif
# else
/* Unix. */
# define SNPRINTF swprintf
# define USE_SNPRINTF 0
# endif
# if HAVE_DECL__SNPRINTF
- /* Windows. */
-# define SNPRINTF _snprintf
+ /* Windows. The mingw function snprintf() has fewer bugs than the MSVCRT
+ function _snprintf(), so prefer that. */
+# if defined __MINGW32__
+# define SNPRINTF snprintf
+ /* Here we need to call the native snprintf, not rpl_snprintf. */
+# undef snprintf
+# else
+# define SNPRINTF _snprintf
+# endif
# else
/* Unix. */
# define SNPRINTF snprintf
#undef remainder
#define remainder rem
-#if !USE_SNPRINTF && !WIDE_CHAR_VERSION
+#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && !WIDE_CHAR_VERSION
# if (HAVE_STRNLEN && !defined _AIX)
# define local_strnlen strnlen
# else
# endif
#endif
-#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T && (WIDE_CHAR_VERSION || DCHAR_IS_TCHAR)
+#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && WIDE_CHAR_VERSION) || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T
# if HAVE_WCSLEN
# define local_wcslen wcslen
# else
# endif
#endif
-#if !USE_SNPRINTF && HAVE_WCHAR_T && WIDE_CHAR_VERSION
+#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && HAVE_WCHAR_T && WIDE_CHAR_VERSION
# if HAVE_WCSNLEN
# define local_wcsnlen wcsnlen
# else
typedef unsigned int mp_limb_t;
# define GMP_LIMB_BITS 32
-typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1];
+verify (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS);
typedef unsigned long long mp_twolimb_t;
# define GMP_TWOLIMB_BITS 64
-typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1];
+verify (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS);
/* Representation of a bignum >= 0. */
typedef struct
#endif
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99
+
+/* Use a different function name, to make it possible that the 'wchar_t'
+ parametrization and the 'char' parametrization get compiled in the same
+ translation unit. */
+# if WIDE_CHAR_VERSION
+# define MAX_ROOM_NEEDED wmax_room_needed
+# else
+# define MAX_ROOM_NEEDED max_room_needed
+# endif
+
+/* Returns the number of TCHAR_T units needed as temporary space for the result
+ of sprintf or SNPRINTF of a single conversion directive. */
+static inline size_t
+MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
+ arg_type type, int flags, size_t width, int has_precision,
+ size_t precision, int pad_ourselves)
+{
+ size_t tmp_length;
+
+ switch (conversion)
+ {
+ case 'd': case 'i': case 'u':
+# if HAVE_LONG_LONG_INT
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.30103 /* binary -> decimal */
+ )
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Multiply by 2, as an estimate for FLAG_GROUP. */
+ tmp_length = xsum (tmp_length, tmp_length);
+ /* Add 1, to account for a leading sign. */
+ tmp_length = xsum (tmp_length, 1);
+ break;
+
+ case 'o':
+# if HAVE_LONG_LONG_INT
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.333334 /* binary -> octal */
+ )
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 1, to account for a leading sign. */
+ tmp_length = xsum (tmp_length, 1);
+ break;
+
+ case 'x': case 'X':
+# if HAVE_LONG_LONG_INT
+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+# endif
+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
+ tmp_length =
+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+ tmp_length =
+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 2, to account for a leading sign or alternate form. */
+ tmp_length = xsum (tmp_length, 2);
+ break;
+
+ case 'f': case 'F':
+ if (type == TYPE_LONGDOUBLE)
+ tmp_length =
+ (unsigned int) (LDBL_MAX_EXP
+ * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + 10; /* sign, decimal point etc. */
+ else
+ tmp_length =
+ (unsigned int) (DBL_MAX_EXP
+ * 0.30103 /* binary -> decimal */
+ * 2 /* estimate for FLAG_GROUP */
+ )
+ + 1 /* turn floor into ceil */
+ + 10; /* sign, decimal point etc. */
+ tmp_length = xsum (tmp_length, precision);
+ break;
+
+ case 'e': case 'E': case 'g': case 'G':
+ tmp_length =
+ 12; /* sign, decimal point, exponent etc. */
+ tmp_length = xsum (tmp_length, precision);
+ break;
+
+ case 'a': case 'A':
+ if (type == TYPE_LONGDOUBLE)
+ tmp_length =
+ (unsigned int) (LDBL_DIG
+ * 0.831 /* decimal -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ else
+ tmp_length =
+ (unsigned int) (DBL_DIG
+ * 0.831 /* decimal -> hexadecimal */
+ )
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Account for sign, decimal point etc. */
+ tmp_length = xsum (tmp_length, 12);
+ break;
+
+ case 'c':
+# if HAVE_WINT_T && !WIDE_CHAR_VERSION
+ if (type == TYPE_WIDE_CHAR)
+ tmp_length = MB_CUR_MAX;
+ else
+# endif
+ tmp_length = 1;
+ break;
+
+ case 's':
+# if HAVE_WCHAR_T
+ if (type == TYPE_WIDE_STRING)
+ {
+# if WIDE_CHAR_VERSION
+ /* ISO C says about %ls in fwprintf:
+ "If the precision is not specified or is greater than the size
+ of the array, the array shall contain a null wide character."
+ So if there is a precision, we must not use wcslen. */
+ const wchar_t *arg = ap->arg[arg_index].a.a_wide_string;
+
+ if (has_precision)
+ tmp_length = local_wcsnlen (arg, precision);
+ else
+ tmp_length = local_wcslen (arg);
+# else
+ /* ISO C says about %ls in fprintf:
+ "If a precision is specified, no more than that many bytes are
+ written (including shift sequences, if any), and the array
+ shall contain a null wide character if, to equal the multibyte
+ character sequence length given by the precision, the function
+ would need to access a wide character one past the end of the
+ array."
+ So if there is a precision, we must not use wcslen. */
+ /* This case has already been handled separately in VASNPRINTF. */
+ abort ();
+# endif
+ }
+ else
+# endif
+ {
+# if WIDE_CHAR_VERSION
+ /* ISO C says about %s in fwprintf:
+ "If the precision is not specified or is greater than the size
+ of the converted array, the converted array shall contain a
+ null wide character."
+ So if there is a precision, we must not use strlen. */
+ /* This case has already been handled separately in VASNPRINTF. */
+ abort ();
+# else
+ /* ISO C says about %s in fprintf:
+ "If the precision is not specified or greater than the size of
+ the array, the array shall contain a null character."
+ So if there is a precision, we must not use strlen. */
+ const char *arg = ap->arg[arg_index].a.a_string;
+
+ if (has_precision)
+ tmp_length = local_strnlen (arg, precision);
+ else
+ tmp_length = strlen (arg);
+# endif
+ }
+ break;
+
+ case 'p':
+ tmp_length =
+ (unsigned int) (sizeof (void *) * CHAR_BIT
+ * 0.25 /* binary -> hexadecimal */
+ )
+ + 1 /* turn floor into ceil */
+ + 2; /* account for leading 0x */
+ break;
+
+ default:
+ abort ();
+ }
+
+ if (!pad_ourselves)
+ {
+# if ENABLE_UNISTDIO
+ /* Padding considers the number of characters, therefore the number of
+ elements after padding may be
+ > max (tmp_length, width)
+ but is certainly
+ <= tmp_length + width. */
+ tmp_length = xsum (tmp_length, width);
+# else
+ /* Padding considers the number of elements, says POSIX. */
+ if (tmp_length < width)
+ tmp_length = width;
+# endif
+ }
+
+ tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */
+
+ return tmp_length;
+}
+
+#endif
+
DCHAR_T *
VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
const FCHAR_T *format, va_list args)
}
}
#endif
-#if (!USE_SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T
+#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL)) && HAVE_WCHAR_T
else if (dp->conversion == 's'
# if WIDE_CHAR_VERSION
&& a.arg[dp->arg_index].type != TYPE_WIDE_STRING
size_t characters;
# if !DCHAR_IS_TCHAR
/* This code assumes that TCHAR_T is 'char'. */
- typedef int TCHAR_T_verify[2 * (sizeof (TCHAR_T) == 1) - 1];
+ verify (sizeof (TCHAR_T) == 1);
TCHAR_T *tmpsrc;
DCHAR_T *tmpdst;
size_t tmpdst_len;
count = wctomb (cbuf, *arg);
# endif
if (count <= 0)
- /* Inconsistency. */
- abort ();
+ {
+ /* Cannot convert. */
+ if (!(result == resultbuf || result == NULL))
+ free (result);
+ if (buf_malloced != NULL)
+ free (buf_malloced);
+ CLEANUP ();
+ errno = EILSEQ;
+ return NULL;
+ }
ENSURE_ALLOCATION (xsum (length, count));
memcpy (result + length, cbuf, count);
length += count;
length += n;
}
}
- }
# endif
+ }
#endif
#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
else if ((dp->conversion == 'a' || dp->conversion == 'A')
{
arg_type type = a.arg[dp->arg_index].type;
int flags = dp->flags;
-#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
int has_width;
size_t width;
#endif
-#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION
int has_precision;
size_t precision;
#endif
TCHAR_T *fbp;
unsigned int prefix_count;
int prefixes[2] IF_LINT (= { 0 });
+ int orig_errno;
#if !USE_SNPRINTF
size_t tmp_length;
TCHAR_T tmpbuf[700];
TCHAR_T *tmp;
#endif
-#if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
has_width = 0;
width = 0;
if (dp->width_start != dp->width_end)
}
#endif
-#if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION
+#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || NEED_PRINTF_UNBOUNDED_PRECISION
has_precision = 0;
precision = 6;
if (dp->precision_start != dp->precision_end)
#if !USE_SNPRINTF
/* Allocate a temporary buffer of sufficient size for calling
sprintf. */
- {
- switch (dp->conversion)
- {
-
- case 'd': case 'i': case 'u':
-# if HAVE_LONG_LONG_INT
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
- else
-# endif
- if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.30103 /* binary -> decimal */
- )
- + 1; /* turn floor into ceil */
- if (tmp_length < precision)
- tmp_length = precision;
- /* Multiply by 2, as an estimate for FLAG_GROUP. */
- tmp_length = xsum (tmp_length, tmp_length);
- /* Add 1, to account for a leading sign. */
- tmp_length = xsum (tmp_length, 1);
- break;
-
- case 'o':
-# if HAVE_LONG_LONG_INT
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
- else
-# endif
- if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.333334 /* binary -> octal */
- )
- + 1; /* turn floor into ceil */
- if (tmp_length < precision)
- tmp_length = precision;
- /* Add 1, to account for a leading sign. */
- tmp_length = xsum (tmp_length, 1);
- break;
-
- case 'x': case 'X':
-# if HAVE_LONG_LONG_INT
- if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- else
-# endif
- if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
- tmp_length =
- (unsigned int) (sizeof (unsigned long) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (sizeof (unsigned int) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- if (tmp_length < precision)
- tmp_length = precision;
- /* Add 2, to account for a leading sign or alternate form. */
- tmp_length = xsum (tmp_length, 2);
- break;
-
- case 'f': case 'F':
- if (type == TYPE_LONGDOUBLE)
- tmp_length =
- (unsigned int) (LDBL_MAX_EXP
- * 0.30103 /* binary -> decimal */
- * 2 /* estimate for FLAG_GROUP */
- )
- + 1 /* turn floor into ceil */
- + 10; /* sign, decimal point etc. */
- else
- tmp_length =
- (unsigned int) (DBL_MAX_EXP
- * 0.30103 /* binary -> decimal */
- * 2 /* estimate for FLAG_GROUP */
- )
- + 1 /* turn floor into ceil */
- + 10; /* sign, decimal point etc. */
- tmp_length = xsum (tmp_length, precision);
- break;
-
- case 'e': case 'E': case 'g': case 'G':
- tmp_length =
- 12; /* sign, decimal point, exponent etc. */
- tmp_length = xsum (tmp_length, precision);
- break;
-
- case 'a': case 'A':
- if (type == TYPE_LONGDOUBLE)
- tmp_length =
- (unsigned int) (LDBL_DIG
- * 0.831 /* decimal -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- else
- tmp_length =
- (unsigned int) (DBL_DIG
- * 0.831 /* decimal -> hexadecimal */
- )
- + 1; /* turn floor into ceil */
- if (tmp_length < precision)
- tmp_length = precision;
- /* Account for sign, decimal point etc. */
- tmp_length = xsum (tmp_length, 12);
- break;
-
- case 'c':
-# if HAVE_WINT_T && !WIDE_CHAR_VERSION
- if (type == TYPE_WIDE_CHAR)
- tmp_length = MB_CUR_MAX;
- else
-# endif
- tmp_length = 1;
- break;
-
- case 's':
-# if HAVE_WCHAR_T
- if (type == TYPE_WIDE_STRING)
- {
-# if WIDE_CHAR_VERSION
- /* ISO C says about %ls in fwprintf:
- "If the precision is not specified or is greater
- than the size of the array, the array shall
- contain a null wide character."
- So if there is a precision, we must not use
- wcslen. */
- const wchar_t *arg =
- a.arg[dp->arg_index].a.a_wide_string;
-
- if (has_precision)
- tmp_length = local_wcsnlen (arg, precision);
- else
- tmp_length = local_wcslen (arg);
-# else
- /* ISO C says about %ls in fprintf:
- "If a precision is specified, no more than that
- many bytes are written (including shift
- sequences, if any), and the array shall contain
- a null wide character if, to equal the
- multibyte character sequence length given by
- the precision, the function would need to
- access a wide character one past the end of the
- array."
- So if there is a precision, we must not use
- wcslen. */
- /* This case has already been handled above. */
- abort ();
-# endif
- }
- else
-# endif
- {
-# if WIDE_CHAR_VERSION
- /* ISO C says about %s in fwprintf:
- "If the precision is not specified or is greater
- than the size of the converted array, the
- converted array shall contain a null wide
- character."
- So if there is a precision, we must not use
- strlen. */
- /* This case has already been handled above. */
- abort ();
-# else
- /* ISO C says about %s in fprintf:
- "If the precision is not specified or greater
- than the size of the array, the array shall
- contain a null character."
- So if there is a precision, we must not use
- strlen. */
- const char *arg = a.arg[dp->arg_index].a.a_string;
-
- if (has_precision)
- tmp_length = local_strnlen (arg, precision);
- else
- tmp_length = strlen (arg);
-# endif
- }
- break;
-
- case 'p':
- tmp_length =
- (unsigned int) (sizeof (void *) * CHAR_BIT
- * 0.25 /* binary -> hexadecimal */
- )
- + 1 /* turn floor into ceil */
- + 2; /* account for leading 0x */
- break;
-
- default:
- abort ();
- }
-
- if (!pad_ourselves)
- {
-# if ENABLE_UNISTDIO
- /* Padding considers the number of characters, therefore
- the number of elements after padding may be
- > max (tmp_length, width)
- but is certainly
- <= tmp_length + width. */
- tmp_length = xsum (tmp_length, width);
-# else
- /* Padding considers the number of elements,
- says POSIX. */
- if (tmp_length < width)
- tmp_length = width;
-# endif
- }
-
- tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */
- }
+ tmp_length =
+ MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type,
+ flags, width, has_precision, precision,
+ pad_ourselves);
if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T))
tmp = tmpbuf;
*(TCHAR_T *) (result + length) = '\0';
#endif
+ orig_errno = errno;
+
for (;;)
{
int count = -1;
}
#endif
+ errno = 0;
switch (type)
{
case TYPE_SCHAR:
/* Look at the snprintf() return value. */
if (retcount < 0)
{
+# if !HAVE_SNPRINTF_RETVAL_C99
/* HP-UX 10.20 snprintf() is doubly deficient:
It doesn't understand the '%n' directive,
*and* it returns -1 (rather than the length
that would have been required) when the
- buffer is too small. */
- size_t bigger_need =
- xsum (xtimes (allocated, 2), 12);
- ENSURE_ALLOCATION (bigger_need);
- continue;
+ buffer is too small.
+ But a failure at this point can also come
+ from other reasons than a too small buffer,
+ such as an invalid wide string argument to
+ the %ls directive, or possibly an invalid
+ floating-point argument. */
+ size_t tmp_length =
+ MAX_ROOM_NEEDED (&a, dp->arg_index,
+ dp->conversion, type, flags,
+ width, has_precision,
+ precision, pad_ourselves);
+
+ if (maxlen < tmp_length)
+ {
+ /* Make more room. But try to do through
+ this reallocation only once. */
+ size_t bigger_need =
+ xsum (length,
+ xsum (tmp_length,
+ TCHARS_PER_DCHAR - 1)
+ / TCHARS_PER_DCHAR);
+ /* And always grow proportionally.
+ (There may be several arguments, each
+ needing a little more room than the
+ previous one.) */
+ size_t bigger_need2 =
+ xsum (xtimes (allocated, 2), 12);
+ if (bigger_need < bigger_need2)
+ bigger_need = bigger_need2;
+ ENSURE_ALLOCATION (bigger_need);
+ continue;
+ }
+# endif
}
else
count = retcount;
/* Attempt to handle failure. */
if (count < 0)
{
+ /* SNPRINTF or sprintf failed. Save and use the errno
+ that it has set, if any. */
+ int saved_errno = errno;
+
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
CLEANUP ();
- errno = EINVAL;
+ errno =
+ (saved_errno != 0
+ ? saved_errno
+ : (dp->conversion == 'c' || dp->conversion == 's'
+ ? EILSEQ
+ : EINVAL));
return NULL;
}
DCHAR_T *tmpdst;
size_t tmpdst_len;
/* This code assumes that TCHAR_T is 'char'. */
- typedef int TCHAR_T_verify
- [2 * (sizeof (TCHAR_T) == 1) - 1];
+ verify (sizeof (TCHAR_T) == 1);
# if USE_SNPRINTF
tmpsrc = (TCHAR_T *) (result + length);
# else
length += count;
break;
}
+ errno = orig_errno;
+#undef pad_ourselves
+#undef prec_ourselves
}
}
}
}
}
+#undef MAX_ROOM_NEEDED
#undef TCHARS_PER_DCHAR
#undef SNPRINTF
#undef USE_SNPRINTF
if the entity names are not disambiguated. A workaround is to
attach the current line number to the entity name:
- #define GL_CONCAT0(x, y) x##y
- #define GL_CONCAT(x, y) GL_CONCAT0 (x, y)
- extern struct {...} * GL_CONCAT(dummy,__LINE__);
+ #define _GL_CONCAT0(x, y) x##y
+ #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+ extern struct {...} * _GL_CONCAT (dummy, __LINE__);
But this has the problem that two invocations of verify from
within the same macro would collide, since the __LINE__ value
- would be the same for both invocations.
+ would be the same for both invocations. (The GCC __COUNTER__
+ macro solves this problem, but is not portable.)
A solution is to use the sizeof operator. It yields a number,
getting rid of the identity of the type. Declarations like
extern int (*dummy (void)) [sizeof (struct {...})];
+ * GCC warns about duplicate declarations of the dummy function if
+ -Wredundant_decls is used. GCC 4.3 and later have a builtin
+ __COUNTER__ macro that can let us generate unique identifiers for
+ each dummy function, to suppress this warning.
+
* This implementation exploits the fact that GCC does not warn about
the last declaration mentioned above. If a future version of GCC
introduces a warning for this, the problem could be worked around
- by using code specialized to GCC, e.g.,:
+ by using code specialized to GCC, just as __COUNTER__ is already
+ being used if available.
#if 4 <= __GNUC__
- # define verify(R) \
- extern int (* verify_function__ (void)) \
- [__builtin_constant_p (R) && (R) ? 1 : -1]
+ # define verify(R) [another version to keep GCC happy]
#endif
* In C++, any struct definition inside sizeof is invalid.
Use a template type to work around the problem. */
+/* Concatenate two preprocessor tokens. */
+# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+# define _GL_CONCAT0(x, y) x##y
+
+/* _GL_COUNTER is an integer, preferably one that changes each time we
+ use it. Use __COUNTER__ if it works, falling back on __LINE__
+ otherwise. __LINE__ isn't perfect, but it's better than a
+ constant. */
+# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+# else
+# define _GL_COUNTER __LINE__
+# endif
+
+/* Generate a symbol with the given prefix, making it unique if
+ possible. */
+# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
/* Verify requirement R at compile-time, as an integer constant expression.
Return 1. */
/* Verify requirement R at compile-time, as a declaration without a
trailing ';'. */
-# define verify(R) extern int (* verify_function__ (void)) [verify_true (R)]
+# define verify(R) \
+ extern int (* _GL_GENSYM (verify_function) (void)) [verify_true (R)]
#endif
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
/* Special invocation convention:
/* The definition of _GL_WARN_ON_USE is copied here. */
-/* Define wint_t. (Also done in wctype.in.h.) */
+/* Define wint_t and WEOF. (Also done in wctype.in.h.) */
#if !@HAVE_WINT_T@ && !defined wint_t
# define wint_t int
# ifndef WEOF
# define WEOF -1
# endif
+#else
+# ifndef WEOF
+# define WEOF ((wint_t) -1)
+# endif
#endif
_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
# else
-# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@
+# if !@HAVE_DECL_WCWIDTH@
/* wcwidth exists but is not declared. */
_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
# endif
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
#if @HAVE_WINT_T@
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
/* The definition of _GL_WARN_ON_USE is copied here. */
-/* Define wint_t. (Also done in wchar.in.h.) */
+/* Define wint_t and WEOF. (Also done in wchar.in.h.) */
#if !@HAVE_WINT_T@ && !defined wint_t
# define wint_t int
# ifndef WEOF
# define WEOF -1
# endif
+#else
+# ifndef WEOF
+# define WEOF ((wint_t) -1)
+# endif
#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. */
+ Assume all 11 functions (all isw* except iswblank) are implemented the
+ same way, or not at all. */
#if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
/* IRIX 5.3 has macros but no functions, its isw* macros refer to an
return (wc >= 'a' && wc <= 'z' ? wc - 'a' + 'A' : wc);
}
-#endif /* ! HAVE_ISWCNTRL || REPLACE_ISWCNTRL */
+#elif ! @HAVE_ISWBLANK@ || @REPLACE_ISWBLANK@
+/* Only the iswblank function is missing. */
+
+# if @REPLACE_ISWBLANK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define iswblank rpl_iswblank
+# endif
+# endif
+
+static inline int
+# if @REPLACE_ISWBLANK@
+rpl_iswblank
+# else
+iswblank
+# endif
+ (wint_t wc)
+{
+ return wc == ' ' || wc == '\t';
+}
+
+#endif
#if defined __MINGW32__
#else
_GL_CXXALIAS_SYS (iswalnum, int, (wint_t wc));
_GL_CXXALIAS_SYS (iswalpha, int, (wint_t wc));
+# if @REPLACE_ISWBLANK@
+_GL_CXXALIAS_RPL (iswblank, int, (wint_t wc));
+# else
_GL_CXXALIAS_SYS (iswblank, int, (wint_t wc));
+# endif
_GL_CXXALIAS_SYS (iswcntrl, int, (wint_t wc));
_GL_CXXALIAS_SYS (iswdigit, int, (wint_t wc));
_GL_CXXALIAS_SYS (iswgraph, int, (wint_t wc));
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Determine the number of screen columns needed for a character.
- Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "streq.h"
#include "uniwidth.h"
-#undef wcwidth
-
int
-rpl_wcwidth (wchar_t wc)
+wcwidth (wchar_t wc)
+#undef wcwidth
{
/* In UTF-8 locales, use a Unicode aware width function. */
const char *encoding = locale_charset ();
# endif
# endif
+# ifndef ATTRIBUTE_ALLOC_SIZE
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+# define ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+# else
+# define ATTRIBUTE_ALLOC_SIZE(args)
+# 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
memory allocation failure. */
extern void xalloc_die (void) ATTRIBUTE_NORETURN;
-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 *xmalloc (size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1));
+void *xzalloc (size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1));
+void *xcalloc (size_t n, size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1, 2));
+void *xrealloc (void *p, size_t s)
+ ATTRIBUTE_ALLOC_SIZE ((2));
void *x2realloc (void *p, size_t *pn);
-void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC;
-char *xstrdup (char const *str) ATTRIBUTE_MALLOC;
+void *xmemdup (void const *p, size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((2));
+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
# if HAVE_INLINE
# define static_inline static inline
# else
-void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
-void *xnrealloc (void *p, size_t n, size_t s);
+void *xnmalloc (size_t n, size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1, 2));
+void *xnrealloc (void *p, size_t n, size_t s)
+ ATTRIBUTE_ALLOC_SIZE ((2, 3));
void *x2nrealloc (void *p, size_t *pn, size_t s);
-char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
+char *xcharalloc (size_t n)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1));
# endif
# ifdef static_inline
/* Allocate an array of N objects, each with S bytes of memory,
dynamically, with error checking. S must be nonzero. */
-static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
+static_inline void *xnmalloc (size_t n, size_t s)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1, 2));
static_inline void *
xnmalloc (size_t n, size_t s)
{
/* Change the size of an allocated block of memory P to an array of N
objects each of S bytes, with error checking. S must be nonzero. */
+static_inline void *xnrealloc (void *p, size_t n, size_t s)
+ ATTRIBUTE_ALLOC_SIZE ((2, 3));
static_inline void *
xnrealloc (void *p, size_t n, 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)
+ ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE ((1));
static_inline char *
xcharalloc (size_t n)
{
/* 1 if calloc is known to be compatible with GNU calloc. This
matters if we are not also using the calloc module, which defines
- HAVE_CALLOC and supports the GNU API even on non-GNU platforms. */
-#if defined HAVE_CALLOC || defined __GLIBC__
+ HAVE_CALLOC_GNU and supports the GNU API even on non-GNU platforms. */
+#if defined HAVE_CALLOC_GNU || defined __GLIBC__
enum { HAVE_GNU_CALLOC = 1 };
#else
enum { HAVE_GNU_CALLOC = 0 };
$(AM_V_at)mv $@-t $@
BUILT_SOURCES = rmt-command.h
CLEANFILES = rmt-command.h rmt-command.h-t
-INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu
+INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu
noinst_HEADERS = system.h system-ioctl.h rmt.h paxlib.h stdopen.h
libtar_a_SOURCES = \
rmt.h \
stdopen.c stdopen.h \
system.h system-ioctl.h
-
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
noinst_LIBRARIES = libtar.a
BUILT_SOURCES = rmt-command.h
CLEANFILES = rmt-command.h rmt-command.h-t
-INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu
+INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu
noinst_HEADERS = system.h system-ioctl.h rmt.h paxlib.h stdopen.h
libtar_a_SOURCES = \
paxerror.c paxexit.c paxlib.h paxnames.c \
name, (unsigned long int) status, (unsigned long int) size));
}
-void
-write_fatal (char const *name)
-{
- call_arg_fatal ("write", name);
-}
-
void
chdir_fatal (char const *name)
{
void seek_error_details (char const *, off_t);
void seek_warn (char const *);
void seek_warn_details (char const *, off_t);
-void stat_fatal (char const *);
+void stat_fatal (char const *) __attribute__ ((noreturn));
void stat_error (char const *);
void stat_warn (char const *);
void symlink_error (char const *, char const *);
void utime_error (char const *);
void waitpid_error (char const *);
void write_error (char const *);
+void write_error_details (char const *, size_t, size_t);
-void pax_exit (void);
+void pax_exit (void) __attribute__ ((noreturn));
void fatal_exit (void) __attribute__ ((noreturn));
#define STRINGIFY_BIGINT(i, b) umaxtostr (i, b)
/* Save the current pipe handler and try to make the request. */
size_t length = strlen (buffer);
- RETSIGTYPE (*pipe_handler) () = signal (SIGPIPE, SIG_IGN);
+ RETSIGTYPE (*pipe_handler) (int) = signal (SIGPIPE, SIG_IGN);
ssize_t written = full_write (WRITE_SIDE (handle), buffer, length);
signal (SIGPIPE, pipe_handler);
if (gethostbyname (remote_host) == NULL)
error (EXIT_ON_EXEC_ERROR, 0, _("Cannot connect to %s: resolve failed"),
remote_host);
-
+
if (remote_user && *remote_user == '\0')
remote_user = 0;
rmt_write__ (int handle, char *buffer, size_t length)
{
char command_buffer[COMMAND_BUFFER_SIZE];
- RETSIGTYPE (*pipe_handler) ();
+ RETSIGTYPE (*pipe_handler) (int);
size_t written;
sprintf (command_buffer, "W%lu\n", (unsigned long) length);
errno = EOVERFLOW;
return -1;
}
-
+
for (; status > 0; status -= counter, argument += counter)
{
counter = safe_read (READ_SIDE (handle), argument, status);
-# argp.m4 serial 10
-dnl Copyright (C) 2003-2007, 2009-2010 Free Software Foundation, Inc.
+# argp.m4 serial 11
+dnl Copyright (C) 2003-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# be defined and other not, I prefer to stay on the safe side and to
# test each one separately.
AC_MSG_CHECKING([whether program_invocation_name is defined])
- AC_TRY_LINK([#include <argp.h>],
- [ program_invocation_name = "test"; ],
- [ AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1],
- [Define if program_invocation_name is defined])
- AC_MSG_RESULT([yes])],
- [ AC_MSG_RESULT([no])] )
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <argp.h>]],
+ [[program_invocation_name = "test";]])],
+ [AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1],
+ [Define if program_invocation_name is defined])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
AC_MSG_CHECKING([whether program_invocation_short_name is defined])
- AC_TRY_LINK([#include <argp.h>],
- [ program_invocation_short_name = "test"; ],
- [ AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
- [Define if program_invocation_short_name is defined])
- AC_MSG_RESULT([yes])],
- [ AC_MSG_RESULT([no])] )
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <argp.h>]],
+ [[program_invocation_short_name = "test";]])],
+ [AC_DEFINE([HAVE_PROGRAM_INVOCATION_SHORT_NAME], [1],
+ [Define if program_invocation_short_name is defined])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
AC_CHECK_DECLS_ONCE([clearerr_unlocked])
AC_CHECK_DECLS_ONCE([feof_unlocked])
--- /dev/null
+# asm-underscore.m4 serial 1
+dnl Copyright (C) 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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. Based on as-underscore.m4 in GNU clisp.
+
+# gl_ASM_SYMBOL_PREFIX
+# Tests for the prefix of C symbols at the assembly language level and the
+# linker level. This prefix is either an underscore or empty. Defines the
+# C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to
+# a stringified variant of this prefix.
+
+AC_DEFUN([gl_ASM_SYMBOL_PREFIX],
+[
+ dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because
+ dnl 1. It works only for GCC.
+ dnl 2. It is incorrectly defined on some platforms, in some GCC versions.
+ AC_CACHE_CHECK(
+ [whether C symbols are prefixed with underscore at the linker level],
+ [gl_cv_prog_as_underscore],
+ [cat > conftest.c <<EOF
+#ifdef __cplusplus
+extern "C" int foo (void);
+#endif
+int foo(void) { return 0; }
+EOF
+ # Look for the assembly language name in the .s file.
+ AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c) >/dev/null 2>&1
+ if grep _foo conftest.s >/dev/null ; then
+ gl_cv_prog_as_underscore=yes
+ else
+ gl_cv_prog_as_underscore=no
+ fi
+ rm -f conftest*
+ ])
+ if test $gl_cv_prog_as_underscore = yes; then
+ USER_LABEL_PREFIX=_
+ else
+ USER_LABEL_PREFIX=
+ fi
+ AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX],
+ [Define to the prefix of C symbols at the assembler and linker level,
+ either an underscore or empty.])
+ ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"'
+ AC_SUBST([ASM_SYMBOL_PREFIX])
+])
-# serial 5
+# serial 6
# Copyright (C) 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
AC_DEFUN([gl_BISON],
[
- # getdate.y works with bison only.
+ # parse-datetime.y works with bison only.
: ${YACC='bison -y'}
dnl
dnl Declaring YACC & YFLAGS precious will not be necessary after GNULIB
dnl requires an Autoconf greater than 2.59c, but it will probably still be
dnl useful to override the description of YACC in the --help output, re
-dnl getdate.y assuming `bison -y'.
+dnl parse-datetime.y assuming `bison -y'.
AC_ARG_VAR([YACC],
[The `Yet Another C Compiler' implementation to use. Defaults to `bison -y'.
Values other than `bison -y' will most likely break on most systems.])dnl
-# btowc.m4 serial 5
+# btowc.m4 serial 7
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
HAVE_BTOWC=0
else
- dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF.
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([gt_LOCALE_FR])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Cygwin 1.7.2 btowc('\0') is WEOF, not 0.
+ AC_CACHE_CHECK([whether btowc(0) is correct],
+ [gl_cv_func_btowc_nul],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <string.h>
+#include <wchar.h>
+int main ()
+{
+ if (btowc ('\0') != 0)
+ return 1;
+ return 0;
+}]])],
+ [gl_cv_func_btowc_nul=yes],
+ [gl_cv_func_btowc_nul=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ # Guess no on Cygwin.
+ cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_btowc_nul="guessing yes" ;;
+ esac
+changequote([,])dnl
+ ])
+ ])
+
+ dnl IRIX 6.5 btowc(EOF) is 0xFF, not WEOF.
AC_CACHE_CHECK([whether btowc(EOF) is correct],
[gl_cv_func_btowc_eof],
[
esac
changequote([,])dnl
if test $LOCALE_FR != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <stdio.h>
#include <string.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_btowc_eof=yes],
[gl_cv_func_btowc_eof=no],
[:])
fi
])
+
+ case "$gl_cv_func_btowc_nul" in
+ *yes) ;;
+ *) REPLACE_BTOWC=1 ;;
+ esac
case "$gl_cv_func_btowc_eof" in
*yes) ;;
*) REPLACE_BTOWC=1 ;;
-# serial 22
+# serial 23
# Determine whether we need the chown wrapper.
dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2010 Free Software
dnl Solaris 9 ignores trailing slash.
dnl FreeBSD 7.2 mishandles trailing slash on symlinks.
+ dnl Likewise for AIX 7.1.
AC_CACHE_CHECK([whether chown honors trailing slash],
[gl_cv_func_chown_slash_works],
[touch conftest.file && rm -f conftest.link
--- /dev/null
+#serial 6
+dnl Copyright (C) 2004-2006, 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_CLOEXEC],
+[
+ AC_LIBOBJ([cloexec])
+])
-# codeset.m4 serial 4 (gettext-0.18)
+# codeset.m4 serial 5 (gettext-0.18.2)
dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([AM_LANGINFO_CODESET],
[
AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET); return !cs;],
- [am_cv_langinfo_codeset=yes],
- [am_cv_langinfo_codeset=no])
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <langinfo.h>]],
+ [[char* cs = nl_langinfo(CODESET); return !cs;]])],
+ [am_cv_langinfo_codeset=yes],
+ [am_cv_langinfo_codeset=no])
])
if test $am_cv_langinfo_codeset = yes; then
AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
-# dirent_h.m4 serial 10
+# dirent_h.m4 serial 13
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
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
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_DIRENT_H_DEFAULTS],
GNULIB_ALPHASORT=0; AC_SUBST([GNULIB_ALPHASORT])
dnl Assume proper GNU behavior unless another module says otherwise.
HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD])
+ HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR])
HAVE_FDOPENDIR=1; AC_SUBST([HAVE_FDOPENDIR])
HAVE_SCANDIR=1; AC_SUBST([HAVE_SCANDIR])
HAVE_ALPHASORT=1; AC_SUBST([HAVE_ALPHASORT])
REPLACE_CLOSEDIR=0; AC_SUBST([REPLACE_CLOSEDIR])
+ REPLACE_DIRFD=0; AC_SUBST([REPLACE_DIRFD])
REPLACE_FDOPENDIR=0; AC_SUBST([REPLACE_FDOPENDIR])
REPLACE_OPENDIR=0; AC_SUBST([REPLACE_OPENDIR])
])
-# serial 17 -*- Autoconf -*-
+# serial 18 -*- Autoconf -*-
dnl Find out how to get the file descriptor associated with an open DIR*.
gl_cv_func_dirfd_macro=yes,
gl_cv_func_dirfd_macro=no)])
- # Use the replacement only if we have no function, macro,
- # or declaration with that name.
- if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$gl_cv_func_dirfd_macro \
- = no,no,no; then
- AC_REPLACE_FUNCS([dirfd])
+ # Use the replacement only if we have no function or macro with that name.
+ if test $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro = no,no; then
+ if test $ac_cv_have_decl_dirfd = yes; then
+ # If the system declares dirfd already, let's declare rpl_dirfd instead.
+ REPLACE_DIRFD=1
+ fi
+ AC_LIBOBJ([dirfd])
AC_CACHE_CHECK(
[how to get the file descriptor associated with an open DIR*],
gl_cv_sys_dir_fd_member_name,
-# environ.m4 serial 3
+# environ.m4 serial 5
dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
define([gt_cv_var], [gt_cv_var_]$2[_declaration])
AC_MSG_CHECKING([if $2 is properly declared])
AC_CACHE_VAL([gt_cv_var], [
- AC_TRY_COMPILE([$1
- extern struct { int foo; } $2;],
- [$2.foo = 1;],
- gt_cv_var=no,
- gt_cv_var=yes)])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[$1
+ extern struct { int foo; } $2;]],
+ [[$2.foo = 1;]])],
+ [gt_cv_var=no],
+ [gt_cv_var=yes])])
AC_MSG_RESULT([$gt_cv_var])
if test $gt_cv_var = yes; then
- AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1,
+ AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
[Define if you have the declaration of $2.])
fi
undefine([gt_cv_var])
-# errno_h.m4 serial 6
-dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+# errno_h.m4 serial 7
+dnl Copyright (C) 2004, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
#if !defined ESTALE
booboo
#endif
+#if !defined EDQUOT
+booboo
+#endif
#if !defined ECANCELED
booboo
#endif
-#serial 12
+#serial 13
# Copyright (C) 1996-1998, 2001-2004, 2009-2010 Free Software Foundation, Inc.
#
gl_PREREQ_ERROR
])
+# Redefine AC_FUNC_ERROR_AT_LINE, because it is no longer maintained in
+# Autoconf.
+AC_DEFUN([AC_FUNC_ERROR_AT_LINE],
+[
+ AC_LIBSOURCES([error.h, error.c])dnl
+ AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <error.h>]],
+ [[error_at_line (0, 0, "", 0, "an error occurred");]])],
+ [ac_cv_lib_error_at_line=yes],
+ [ac_cv_lib_error_at_line=no])])
+ if test $ac_cv_lib_error_at_line = no; then
+ AC_LIBOBJ([error])
+ fi
+])
+
# Prerequisites of lib/error.c.
AC_DEFUN([gl_PREREQ_ERROR],
[
-# fchdir.m4 serial 13
+# fchdir.m4 serial 14
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
AC_CHECK_FUNCS_ONCE([fchdir])
if test $ac_cv_func_fchdir = no; then
- REPLACE_FCHDIR=1
+ HAVE_FCHDIR=0
AC_LIBOBJ([fchdir])
gl_PREREQ_FCHDIR
AC_DEFINE([REPLACE_FCHDIR], [1],
-# fcntl-o.m4 serial 1
-dnl Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc.
+# fcntl-o.m4 serial 2
+dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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_FCNTL_O_FLAGS],
[
dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+ dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
+ dnl AC_GNU_SOURCE.
+ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
+ [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
+ [AC_REQUIRE([AC_GNU_SOURCE])])
AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
[AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
-# serial 11
+# serial 12
# Configure fcntl.h.
dnl Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_FCNTL_H_DEFAULTS],
-# serial 3
+# serial 4
# See if we need to provide fdopendir.
dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
AC_DEFUN([gl_FUNC_FDOPENDIR],
[
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ dnl FreeBSD 7.3 has the function, but failed to declare it.
+ AC_CHECK_DECLS([fdopendir], [], [HAVE_DECL_FDOPENDIR=0], [[
+#include <dirent.h>
+ ]])
AC_CHECK_FUNCS_ONCE([fdopendir])
if test $ac_cv_func_fdopendir = no; then
AC_LIBOBJ([openat-proc])
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <dirent.h>
#include <fcntl.h>
+#if !HAVE_DECL_FDOPENDIR
+extern DIR *fdopendir (int);
+#endif
]], [int fd = open ("conftest.c", O_RDONLY);
if (fd < 0) return 2;
return !!fdopendir (fd);])],
--- /dev/null
+# filenamecat.m4 serial 10
+dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_FILE_NAME_CONCAT],
+[
+ AC_REQUIRE([gl_FILE_NAME_CONCAT_LGPL])
+ AC_LIBOBJ([filenamecat])
+])
+
+AC_DEFUN([gl_FILE_NAME_CONCAT_LGPL],
+[
+ AC_LIBOBJ([filenamecat-lgpl])
+
+ dnl Prerequisites of lib/filenamecat-lgpl.c.
+ AC_CHECK_FUNCS_ONCE([mempcpy])
+])
-# float_h.m4 serial 3
+# float_h.m4 serial 4
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_REQUIRE([AC_CANONICAL_HOST])
FLOAT_H=
case "$host_os" in
- beos* | openbsd*)
+ beos* | openbsd* | mirbsd*)
FLOAT_H=float.h
gl_CHECK_NEXT_HEADERS([float.h])
;;
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
FNMATCH_H=
- gl_fnmatch_required_lowercase=`echo $gl_fnmatch_required | tr 'A-Z' 'a-z'`
+ gl_fnmatch_required_lowercase=`
+ echo $gl_fnmatch_required | tr '[[A-Z]]' '[[a-z]]'
+ `
gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch],
[$gl_fnmatch_cache_var],
-# fseeko.m4 serial 7
+# fseeko.m4 serial 9
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_FUNC_FSEEKO],
[
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gl_HAVE_FSEEKO])
AC_REQUIRE([gl_STDIN_LARGE_OFFSET])
+ if test $gl_cv_func_fseeko = no; then
+ HAVE_FSEEKO=0
+ gl_REPLACE_FSEEKO
+ else
+ if test $gl_cv_var_stdin_large_offset = no; then
+ gl_REPLACE_FSEEKO
+ fi
+ fi
+])
+
+dnl Tests whether fseeko is available.
+dnl Result is gl_cv_func_fseeko.
+AC_DEFUN([gl_HAVE_FSEEKO],
+[
+ AC_REQUIRE([AC_PROG_CC])
+
dnl Persuade glibc <stdio.h> to declare fseeko().
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
]], [fseeko (stdin, 0, 0);])],
[gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no])
])
- if test $gl_cv_func_fseeko = no \
- || test $gl_cv_var_stdin_large_offset = no; then
- gl_REPLACE_FSEEKO
- fi
])
AC_DEFUN([gl_REPLACE_FSEEKO],
[
- AC_LIBOBJ([fseeko])
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- REPLACE_FSEEKO=1
+ AC_REQUIRE([gl_HAVE_FSEEKO])
+ if test $gl_cv_func_fseeko = yes; then
+ REPLACE_FSEEKO=1
+ fi
+ AC_LIBOBJ([fseeko])
dnl If we are also using the fseek module, then fseek needs replacing, too.
m4_ifdef([gl_REPLACE_FSEEK], [gl_REPLACE_FSEEK])
])
+++ /dev/null
-# serial 14
-
-# See if we need to emulate a missing ftruncate function using fcntl or chsize.
-
-# Copyright (C) 2000-2001, 2003-2007, 2009-2010 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.
-
-# FIXME: remove this macro, along with all uses of HAVE_FTRUNCATE in 2010,
-# if the check below provokes no more reports. So far, the only report
-# arose from a test build of this gnulib module, cross-compiling to mingw:
-# <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203>
-
-AC_DEFUN([gl_FUNC_FTRUNCATE],
-[
- AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_FUNCS_ONCE([ftruncate])
- if test $ac_cv_func_ftruncate = no; then
- HAVE_FTRUNCATE=0
- AC_LIBOBJ([ftruncate])
- gl_PREREQ_FTRUNCATE
- case "$host_os" in
- mingw*)
- # Yes, we know mingw lacks ftruncate.
- ;;
- *)
- # If someone lacks ftruncate, make configure fail, and request
- # a bug report to inform us about it.
- if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then
- AC_MSG_FAILURE([Your system lacks the ftruncate function.
- Please report this, along with the output of "uname -a", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_FTRUNCATE_CHECK=yes.
- E.g., ./configure SKIP_FTRUNCATE_CHECK=yes])
- fi
- esac
- fi
-])
-
-# Prerequisites of lib/ftruncate.c.
-AC_DEFUN([gl_PREREQ_FTRUNCATE],
-[
- AC_CHECK_FUNCS([chsize])
-])
--- /dev/null
+# serial 5
+# See if we need to provide futimens replacement.
+
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_FUTIMENS],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([futimens])
+ if test $ac_cv_func_futimens = no; then
+ HAVE_FUTIMENS=0
+ AC_LIBOBJ([futimens])
+ else
+ AC_CACHE_CHECK([whether futimens works],
+ [gl_cv_func_futimens_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+]], [[struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } };
+ int fd = creat ("conftest.file", 0600);
+ struct stat st;
+ if (fd < 0) return 1;
+ errno = 0;
+ if (futimens (AT_FDCWD, NULL) == 0) return 2;
+ if (errno != EBADF) return 3;
+ if (futimens (fd, ts)) return 4;
+ sleep (1);
+ ts[0].tv_nsec = UTIME_NOW;
+ ts[1].tv_nsec = UTIME_OMIT;
+ if (futimens (fd, ts)) return 5;
+ if (fstat (fd, &st)) return 6;
+ if (st.st_ctime < st.st_atime) return 7;
+ ]])],
+dnl FIXME: simplify this in 2012, when file system bugs are no longer common
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __linux__
+/* The Linux kernel added futimens in 2.6.22, but has bugs with UTIME_OMIT
+ in several file systems as recently as 2.6.32. Always replace futimens
+ to support older kernels. */
+choke me
+#endif
+ ]])],
+ [gl_cv_func_futimens_works=yes],
+ [gl_cv_func_futimens_works="needs runtime check"])],
+ [gl_cv_func_futimens_works=no],
+ [gl_cv_func_futimens_works="guessing no"])
+ rm -f conftest.file])
+ if test "$gl_cv_func_futimens_works" != yes; then
+ REPLACE_FUTIMENS=1
+ AC_LIBOBJ([futimens])
+ fi
+ fi
+])
no,*)
AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1],
[Define to 1 if getcwd works, except it sometimes fails when it shouldn't,
- setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If __GETCWD_PREFIX
- is not defined, it doesn't matter whether HAVE_PARTLY_WORKING_GETCWD
- is defined.]);;
+ setting errno to ERANGE, ENAMETOOLONG, or ENOENT.]);;
esac
])
+++ /dev/null
-# getdate.m4 serial 16
-dnl Copyright (C) 2002-2006, 2008-2010 Free Software Foundation, Inc.
-dnl This file is free software; the Free 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[struct s { int i, j; };]],
- [[struct s t = (struct s) { 3, 4 };
- if (t.i != 0) return 0;]])],
- gl_cv_compound_literals=yes,
- gl_cv_compound_literals=no)])
- if test $gl_cv_compound_literals = yes; then
- AC_DEFINE([HAVE_COMPOUND_LITERALS], [1],
- [Define if you have compound literals.])
- fi
-])
-
-AC_DEFUN([gl_GETDATE],
-[
- dnl Prerequisites of lib/getdate.h.
- AC_REQUIRE([AM_STDBOOL_H])
- AC_REQUIRE([gl_TIMESPEC])
-
- dnl Prerequisites of lib/getdate.y.
- AC_REQUIRE([gl_BISON])
- AC_REQUIRE([gl_C_COMPOUND_LITERALS])
- AC_STRUCT_TIMEZONE
- AC_REQUIRE([gl_CLOCK_TIME])
- AC_REQUIRE([gl_TM_GMTOFF])
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[
-#include <time.h> /* for time_t */
-#include <limits.h> /* for CHAR_BIT, LONG_MIN, LONG_MAX */
-#define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1];
-typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1];
- ]])],
- [AC_DEFINE([TIME_T_FITS_IN_LONG_INT], [1],
- [Define to 1 if all 'time_t' values fit in a 'long int'.])
- ])
-])
-# getopt.m4 serial 24
+# getopt.m4 serial 31
dnl Copyright (C) 2002-2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([AC_PROG_AWK]) dnl for awk that supports ENVIRON
dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt.
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
dnl Existence of the variable, in and of itself, is not a reason to replace
dnl getopt, but knowledge of the variable is needed to determine how to
dnl reset and whether a reset reparses the environment.
- if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
- AC_CHECK_DECLS([optreset], [], [],
+ dnl Solaris supports neither optreset nor optind=0, but keeps no state that
+ dnl needs a reset beyond setting optind=1; detect Solaris by getopt_clip.
+ if test -z "$gl_replace_getopt"; then
+ AC_CHECK_DECLS([optreset], [],
+ [AC_CHECK_DECLS([getopt_clip], [], [],
+ [[#include <getopt.h>]])
+ ],
[[#include <getopt.h>]])
fi
dnl is left over from earlier calls, and neither setting optind = 0 nor
dnl setting optreset = 1 get rid of this internal state.
dnl POSIX is silent on optind vs. optreset, so we allow either behavior.
+ dnl POSIX 2008 does not specify leading '+' behavior, but see
+ dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
+ dnl the next version of POSIX. For now, we only guarantee leading '+'
+ dnl behavior with getopt-gnu.
if test -z "$gl_replace_getopt"; then
AC_CACHE_CHECK([whether getopt is POSIX compatible],
[gl_cv_func_getopt_posix],
[
- dnl This test fails on mingw and succeeds on all other platforms.
+ dnl This test fails on mingw and succeeds on many other platforms.
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
-#if !HAVE_DECL_OPTRESET
+#if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP
# define OPTIND_MIN 0
#else
# define OPTIND_MIN 1
if (!(optind == 1))
return 12;
}
+ /* Detect MacOS 10.5, AIX 7.1 bug. */
+ {
+ char *argv[3] = { "program", "-ab", NULL };
+ optind = OPTIND_MIN;
+ opterr = 0;
+ if (getopt (2, argv, "ab:") != 'a')
+ return 13;
+ if (getopt (2, argv, "ab:") != '?')
+ return 14;
+ if (optopt != 'b')
+ return 15;
+ if (optind != 2)
+ return 16;
+ }
return 0;
}
]])],
[gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
[case "$host_os" in
- mingw*) gl_cv_func_getopt_posix="guessing no";;
- *) gl_cv_func_getopt_posix="guessing yes";;
+ mingw*) gl_cv_func_getopt_posix="guessing no";;
+ darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
+ *) gl_cv_func_getopt_posix="guessing yes";;
esac
])
])
# optstring is necessary for programs like m4 that have POSIX-mandated
# semantics for supporting options interspersed with files.
# Also, since getopt_long is a GNU extension, we require optind=0.
- gl_had_POSIXLY_CORRECT=${POSIXLY_CORRECT:+yes}
+ # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
+ # so take care to revert to the correct (non-)export state.
+dnl GNU Coding Standards currently allow awk but not env; besides, env
+dnl is ambiguous with environment values that contain newlines.
+ gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
+ case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
+ xx) gl_had_POSIXLY_CORRECT=exported ;;
+ x) gl_had_POSIXLY_CORRECT=yes ;;
+ *) gl_had_POSIXLY_CORRECT= ;;
+ esac
POSIXLY_CORRECT=1
export POSIXLY_CORRECT
AC_RUN_IFELSE(
if (getopt (3, argv, "-p") != 'p')
return 7;
}
+ /* This code fails on glibc 2.11. */
+ {
+ char *argv[] = { "program", "-b", "-a", NULL };
+ optind = opterr = 0;
+ if (getopt (3, argv, "+:a:b") != 'b')
+ return 8;
+ if (getopt (3, argv, "+:a:b") != ':')
+ return 9;
+ }
return 0;
]])],
[gl_cv_func_getopt_gnu=yes],
*) gl_cv_func_getopt_gnu=yes;;
esac
])
- if test "$gl_had_POSIXLY_CORRECT" != yes; then
- AS_UNSET([POSIXLY_CORRECT])
- fi
+ case $gl_had_POSIXLY_CORRECT in
+ exported) ;;
+ yes) AS_UNSET([POSIXLY_CORRECT]); POSIXLY_CORRECT=1 ;;
+ *) AS_UNSET([POSIXLY_CORRECT]) ;;
+ esac
])
if test "$gl_cv_func_getopt_gnu" = "no"; then
gl_replace_getopt=yes
-# getpagesize.m4 serial 7
+# getpagesize.m4 serial 8
dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
AC_LIBOBJ([getpagesize])
;;
esac
+ dnl Also check whether it's declared.
+ dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
+ AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
])
-# gettext.m4 serial 62 (gettext-0.18)
+# gettext.m4 serial 64 (gettext-0.18.2)
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
dnl Macro to add for using GNU gettext.
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])])
fi
AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_TRY_LINK([#include <libintl.h>
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+extern int *_nl_domain_bindings;
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ]])],
[eval "$gt_func_gnugettext_libc=yes"],
[eval "$gt_func_gnugettext_libc=no"])])
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+const char *_nl_expand_alias (const char *);
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ]])],
[eval "$gt_func_gnugettext_libintl=yes"],
[eval "$gt_func_gnugettext_libintl=no"])
dnl Now see whether libintl exists and depends on libiconv.
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <libintl.h>
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
- ])
+const char *_nl_expand_alias (const char *);
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ]])],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+ ])
fi
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"])
dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
- AC_DEFUN([gl_LOCK_EARLY], [])
+ AC_DEFUN([gl_LOCK_EARLY], [])
-# gnulib-common.m4 serial 13
+# gnulib-common.m4 serial 20
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
is a misnomer outside of parameter lists. */
#define _UNUSED_PARAMETER_ _GL_UNUSED
])
+ dnl Preparation for running test programs:
+ dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
+ dnl to /dev/tty, so they can be redirected to log files. Such diagnostics
+ dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N.
+ LIBC_FATAL_STDERR_=1
+ export LIBC_FATAL_STDERR_
+])
+
+# gl_MODULE_INDICATOR_CONDITION
+# expands to a C preprocessor expression that evaluates to 1 or 0, depending
+# whether a gnulib module that has been requested shall be considered present
+# or not.
+AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1])
+
+# gl_MODULE_INDICATOR_SET_VARIABLE([modulename])
+# sets the shell variable that indicates the presence of the given module to
+# a C preprocessor expression that will evaluate to 1.
+AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
+[
+ GNULIB_[]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION
])
# gl_MODULE_INDICATOR([modulename])
-# defines a C macro indicating the presence of the given module.
+# defines a C macro indicating the presence of the given module
+# in a location where it can be used.
+# | Value | Value |
+# | in lib/ | in tests/ |
+# --------------------------------------------+---------+-----------+
+# Module present among main modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module present among tests-related modules: | 0 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module not present at all: | 0 | 0 |
+# --------------------------------------------+---------+-----------+
AC_DEFUN([gl_MODULE_INDICATOR],
[
- AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
- [Define to 1 when using the gnulib module ]$1[.])
+ AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]),
+ [gl_MODULE_INDICATOR_CONDITION],
+ [Define to a C preprocessor expression that evaluates to 1 or 0,
+ depending whether the gnulib module $1 shall be considered present.])
+])
+
+# gl_MODULE_INDICATOR_FOR_TESTS([modulename])
+# defines a C macro indicating the presence of the given module
+# in lib or tests. This is useful to determine whether the module
+# should be tested.
+# | Value | Value |
+# | in lib/ | in tests/ |
+# --------------------------------------------+---------+-----------+
+# Module present among main modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module present among tests-related modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module not present at all: | 0 | 0 |
+# --------------------------------------------+---------+-----------+
+AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS],
+[
+ AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
+ [Define to 1 when the gnulib module $1 should be tested.])
])
# m4_foreach_w
# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
# works.
# This definition can be removed once autoconf >= 2.62 can be assumed.
+m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
AC_DEFUN([AC_C_RESTRICT],
[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
[ac_cv_c_restrict=no
*) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
esac
])
+])
# gl_BIGENDIAN
# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
# This file represents the compiled summary of the specification in
# gnulib-cache.m4. It lists the computed macro invocations that need
# to be invoked from configure.ac.
-# In projects using CVS, this file can be treated like other built files.
+# In projects that use version control, this file can be treated like
+# other built files.
# This macro should be invoked from ./configure.ac, in the section
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
AC_REQUIRE([AC_PROG_RANLIB])
AC_REQUIRE([AM_PROG_CC_C_O])
+ # Code from module alloca:
+ # Code from module alloca-opt:
+ # Code from module areadlink:
+ # Code from module areadlinkat:
+ # Code from module arg-nonnull:
+ # Code from module argmatch:
+ # Code from module argp:
+ # Code from module argp-version-etc:
+ # Code from module backupfile:
+ # Code from module bitrotate:
+ # Code from module btowc:
+ # Code from module c++defs:
+ # Code from module c-ctype:
+ # Code from module canonicalize-lgpl:
+ # Code from module chdir-long:
+ # Code from module chown:
+ # Code from module clock-time:
+ # Code from module cloexec:
+ # Code from module close:
+ # Code from module close-hook:
+ # Code from module close-stream:
+ # Code from module closeout:
+ # Code from module configmake:
+ # Code from module d-ino:
+ # Code from module dirent:
+ # Code from module dirent-safer:
+ # Code from module dirfd:
+ # Code from module dirname:
+ # Code from module dirname-lgpl:
+ # Code from module double-slash-root:
+ # Code from module dup2:
+ # Code from module environ:
+ # Code from module errno:
+ # Code from module error:
+ # Code from module exclude:
+ # Code from module exitfail:
+ # Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ # Code from module fchdir:
+ # Code from module fclose:
+ # Code from module fcntl:
+ # Code from module fcntl-h:
+ # Code from module fdopendir:
+ # Code from module fdutimensat:
+ # Code from module fileblocks:
+ # Code from module filenamecat-lgpl:
+ # Code from module float:
+ # Code from module fnmatch:
+ # Code from module fnmatch-gnu:
+ # Code from module fpending:
+ # Code from module fseeko:
AC_REQUIRE([AC_FUNC_FSEEKO])
+ # Code from module full-write:
+ # Code from module futimens:
+ # Code from module getcwd:
+ # Code from module getdelim:
+ # Code from module getdtablesize:
+ # Code from module getline:
+ # Code from module getopt-gnu:
+ # Code from module getopt-posix:
+ # Code from module getpagesize:
+ # Code from module gettext:
+ # Code from module gettext-h:
+ # Code from module gettime:
+ # Code from module gettimeofday:
+ # Code from module gitlog-to-changelog:
+ # Code from module hash:
+ # Code from module havelib:
+ # Code from module human:
+ # Code from module include_next:
+ # Code from module inline:
+ # Code from module intprops:
+ # Code from module inttostr:
+ # Code from module inttypes:
+ # Code from module langinfo:
+ # Code from module lchown:
+ # Code from module link:
+ # Code from module link-follow:
+ # Code from module linkat:
+ # Code from module localcharset:
+ # Code from module lseek:
+ # Code from module lstat:
+ # Code from module malloc-gnu:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module mbchar:
+ # Code from module mbrtowc:
+ # Code from module mbscasecmp:
+ # Code from module mbsinit:
+ # Code from module mbsrtowcs:
+ # Code from module mbuiter:
+ # Code from module memchr:
+ # Code from module mempcpy:
+ # Code from module memrchr:
+ # Code from module mkdir:
+ # Code from module mkdtemp:
+ # Code from module mkfifo:
+ # Code from module mkfifoat:
+ # Code from module mknod:
+ # Code from module mktime:
+ # Code from module modechange:
+ # Code from module multiarch:
+ # Code from module nl_langinfo:
+ # Code from module obstack:
+ # Code from module open:
+ # Code from module openat:
+ # Code from module openat-die:
+ # Code from module parse-datetime:
+ # Code from module pathmax:
+ # Code from module priv-set:
+ # Code from module progname:
+ # Code from module quote:
+ # Code from module quotearg:
+ # Code from module quotearg-simple:
+ # Code from module rawmemchr:
+ # Code from module readlink:
+ # Code from module readlinkat:
+ # Code from module realloc-posix:
+ # Code from module regex:
+ # Code from module rename:
+ # Code from module renameat:
+ # Code from module rmdir:
+ # Code from module rpmatch:
+ # Code from module safe-read:
+ # Code from module safe-write:
+ # Code from module same-inode:
+ # Code from module save-cwd:
+ # Code from module savedir:
+ # Code from module setenv:
+ # Code from module size_max:
+ # Code from module sleep:
+ # Code from module snprintf:
+ # Code from module ssize_t:
+ # Code from module stat:
+ # Code from module stat-macros:
+ # Code from module stat-time:
+ # Code from module stdarg:
dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
dnl for the builtin va_copy to work. With Autoconf 2.60 or later,
dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC
dnl shouldn't hurt, though installers are on their own to set c99 mode.
AC_REQUIRE([AC_PROG_CC_STDC])
+ # Code from module stdbool:
+ # Code from module stddef:
+ # Code from module stdint:
+ # Code from module stdio:
+ # Code from module stdlib:
+ # Code from module stpcpy:
+ # Code from module strcase:
+ # Code from module strchrnul:
+ # Code from module strdup-posix:
+ # Code from module streq:
+ # Code from module strerror:
+ # Code from module string:
+ # Code from module strings:
+ # Code from module strndup:
+ # Code from module strnlen:
+ # Code from module strnlen1:
+ # Code from module strtoimax:
+ # Code from module strtol:
+ # Code from module strtoll:
+ # Code from module strtoul:
+ # Code from module strtoull:
+ # Code from module strtoumax:
+ # Code from module symlink:
+ # Code from module symlinkat:
+ # Code from module sys_stat:
+ # Code from module sys_time:
+ # Code from module sysexits:
+ # Code from module tempname:
+ # Code from module time:
+ # Code from module time_r:
+ # Code from module timespec:
+ # Code from module unistd:
+ # Code from module unistd-safer:
+ # Code from module unitypes:
+ # Code from module uniwidth/base:
+ # Code from module uniwidth/width:
+ # Code from module unlink:
+ # Code from module unlinkdir:
+ # Code from module unlocked-io:
+ # Code from module unsetenv:
+ # Code from module utimens:
+ # Code from module utimensat:
+ # Code from module vasnprintf:
+ # Code from module vasprintf:
+ # Code from module verify:
+ # Code from module version-etc:
+ # Code from module version-etc-fsf:
+ # Code from module vsnprintf:
+ # Code from module warn-on-use:
+ # Code from module wchar:
+ # Code from module wcrtomb:
+ # Code from module wctype:
+ # Code from module wcwidth:
+ # Code from module write:
+ # Code from module xalloc:
+ # Code from module xalloc-die:
+ # Code from module xgetcwd:
+ # Code from module xsize:
+ # Code from module xstrndup:
+ # Code from module xstrtol:
+ # Code from module xstrtoumax:
+ # Code from module xvasprintf:
])
# This macro should be invoked from ./configure.ac, in the section
gl_cond_libtool=false
gl_libdeps=
gl_ltlibdeps=
+ gl_m4_base='m4'
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_DIR], [])
gl_COMMON
gl_source_base='gnu'
+ # Code from module alloca:
+ # Code from module alloca-opt:
gl_FUNC_ALLOCA
+ # Code from module areadlink:
+ # Code from module areadlinkat:
+ gl_MODULE_INDICATOR([areadlinkat])
+ # Code from module arg-nonnull:
+ # Code from module argmatch:
gl_ARGMATCH
+ # Code from module argp:
gl_ARGP
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--flag=argp_error:2:c-format])
AM_][XGETTEXT_OPTION([--flag=argp_failure:4:c-format])])
+ # Code from module argp-version-etc:
+ # Code from module backupfile:
gl_BACKUPFILE
+ # Code from module bitrotate:
AC_REQUIRE([AC_C_INLINE])
+ # Code from module btowc:
gl_FUNC_BTOWC
gl_WCHAR_MODULE_INDICATOR([btowc])
- gl_FUNC_CANONICALIZE_FILENAME_MODE
- gl_MODULE_INDICATOR([canonicalize])
+ # Code from module c++defs:
+ # Code from module c-ctype:
+ # Code from module canonicalize-lgpl:
+ gl_CANONICALIZE_LGPL
+ gl_MODULE_INDICATOR([canonicalize-lgpl])
gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
+ gl_STDLIB_MODULE_INDICATOR([realpath])
+ # Code from module chdir-long:
gl_FUNC_CHDIR_LONG
+ # Code from module chown:
gl_FUNC_CHOWN
gl_UNISTD_MODULE_INDICATOR([chown])
+ # Code from module clock-time:
gl_CLOCK_TIME
+ # Code from module cloexec:
+ gl_CLOEXEC
+ gl_MODULE_INDICATOR_FOR_TESTS([cloexec])
+ # Code from module close:
gl_FUNC_CLOSE
gl_UNISTD_MODULE_INDICATOR([close])
+ # Code from module close-hook:
+ # Code from module close-stream:
gl_CLOSE_STREAM
gl_MODULE_INDICATOR([close-stream])
+ # Code from module closeout:
gl_CLOSEOUT
+ # Code from module configmake:
+ # Code from module d-ino:
gl_CHECK_TYPE_STRUCT_DIRENT_D_INO
+ # Code from module dirent:
gl_DIRENT_H
+ # Code from module dirent-safer:
gl_DIRENT_SAFER
gl_MODULE_INDICATOR([dirent-safer])
+ # Code from module dirfd:
gl_FUNC_DIRFD
gl_DIRENT_MODULE_INDICATOR([dirfd])
+ # Code from module dirname:
gl_DIRNAME
gl_MODULE_INDICATOR([dirname])
+ # Code from module dirname-lgpl:
gl_DIRNAME_LGPL
+ # Code from module double-slash-root:
gl_DOUBLE_SLASH_ROOT
+ # Code from module dup2:
gl_FUNC_DUP2
gl_UNISTD_MODULE_INDICATOR([dup2])
+ # Code from module environ:
gl_ENVIRON
gl_UNISTD_MODULE_INDICATOR([environ])
+ # Code from module errno:
gl_HEADER_ERRNO_H
+ # Code from module error:
gl_ERROR
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+ # Code from module exclude:
gl_EXCLUDE
+ # Code from module exitfail:
+ # Code from module extensions:
+ # Code from module fchdir:
gl_FUNC_FCHDIR
gl_UNISTD_MODULE_INDICATOR([fchdir])
+ # Code from module fclose:
gl_FUNC_FCLOSE
gl_STDIO_MODULE_INDICATOR([fclose])
+ # Code from module fcntl:
gl_FUNC_FCNTL
gl_FCNTL_MODULE_INDICATOR([fcntl])
+ # Code from module fcntl-h:
gl_FCNTL_H
+ # Code from module fdopendir:
gl_FUNC_FDOPENDIR
gl_DIRENT_MODULE_INDICATOR([fdopendir])
+ gl_MODULE_INDICATOR([fdopendir])
+ # Code from module fdutimensat:
+ AC_REQUIRE([AC_C_INLINE]) dnl because 'inline' is used in lib/utimens.h
+ gl_MODULE_INDICATOR([fdutimensat])
+ # Code from module fileblocks:
gl_FILEBLOCKS
+ # Code from module filenamecat-lgpl:
+ gl_FILE_NAME_CONCAT_LGPL
+ # Code from module float:
gl_FLOAT_H
+ # Code from module fnmatch:
gl_FUNC_FNMATCH_POSIX
+ # Code from module fnmatch-gnu:
gl_FUNC_FNMATCH_GNU
+ # Code from module fpending:
gl_FUNC_FPENDING
+ # Code from module fseeko:
gl_FUNC_FSEEKO
gl_STDIO_MODULE_INDICATOR([fseeko])
- gl_FUNC_FTRUNCATE
- gl_UNISTD_MODULE_INDICATOR([ftruncate])
+ # Code from module full-write:
+ # Code from module futimens:
+ gl_FUNC_FUTIMENS
+ gl_SYS_STAT_MODULE_INDICATOR([futimens])
+ # Code from module getcwd:
gl_FUNC_GETCWD
gl_UNISTD_MODULE_INDICATOR([getcwd])
- gl_GETDATE
+ # Code from module getdelim:
gl_FUNC_GETDELIM
gl_STDIO_MODULE_INDICATOR([getdelim])
+ # Code from module getdtablesize:
gl_FUNC_GETDTABLESIZE
gl_UNISTD_MODULE_INDICATOR([getdtablesize])
+ # Code from module getline:
gl_FUNC_GETLINE
gl_STDIO_MODULE_INDICATOR([getline])
+ # Code from module getopt-gnu:
gl_FUNC_GETOPT_GNU
- gl_MODULE_INDICATOR([getopt-gnu])
+ gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
+ # Code from module getopt-posix:
gl_FUNC_GETOPT_POSIX
+ # Code from module getpagesize:
gl_FUNC_GETPAGESIZE
gl_UNISTD_MODULE_INDICATOR([getpagesize])
+ # Code from module gettext:
dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac.
- AM_GNU_GETTEXT_VERSION([0.17])
+ AM_GNU_GETTEXT_VERSION([0.18.1])
+ # Code from module gettext-h:
AC_SUBST([LIBINTL])
AC_SUBST([LTLIBINTL])
+ # Code from module gettime:
gl_GETTIME
+ # Code from module gettimeofday:
gl_FUNC_GETTIMEOFDAY
gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
+ # Code from module gitlog-to-changelog:
+ # Code from module hash:
gl_HASH
+ # Code from module havelib:
+ # Code from module human:
gl_HUMAN
+ # Code from module include_next:
+ # Code from module inline:
gl_INLINE
+ # Code from module intprops:
+ # Code from module inttostr:
gl_INTTOSTR
+ # Code from module inttypes:
gl_INTTYPES_H
+ # Code from module langinfo:
gl_LANGINFO_H
+ # Code from module lchown:
gl_FUNC_LCHOWN
gl_UNISTD_MODULE_INDICATOR([lchown])
+ # Code from module link:
+ gl_FUNC_LINK
+ gl_UNISTD_MODULE_INDICATOR([link])
+ # Code from module link-follow:
+ gl_FUNC_LINK_FOLLOWS_SYMLINK
+ # Code from module linkat:
+ gl_FUNC_LINKAT
+ gl_UNISTD_MODULE_INDICATOR([linkat])
+ # Code from module localcharset:
gl_LOCALCHARSET
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
+ # Code from module lseek:
gl_FUNC_LSEEK
gl_UNISTD_MODULE_INDICATOR([lseek])
+ # Code from module lstat:
gl_FUNC_LSTAT
gl_SYS_STAT_MODULE_INDICATOR([lstat])
- AC_FUNC_MALLOC
- AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.])
+ # Code from module malloc-gnu:
+ gl_FUNC_MALLOC_GNU
+ gl_MODULE_INDICATOR([malloc-gnu])
+ # Code from module malloc-posix:
gl_FUNC_MALLOC_POSIX
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
+ # Code from module malloca:
gl_MALLOCA
+ # Code from module mbchar:
gl_MBCHAR
+ # Code from module mbrtowc:
gl_FUNC_MBRTOWC
gl_WCHAR_MODULE_INDICATOR([mbrtowc])
+ # Code from module mbscasecmp:
gl_STRING_MODULE_INDICATOR([mbscasecmp])
+ # Code from module mbsinit:
gl_FUNC_MBSINIT
gl_WCHAR_MODULE_INDICATOR([mbsinit])
+ # Code from module mbsrtowcs:
gl_FUNC_MBSRTOWCS
gl_WCHAR_MODULE_INDICATOR([mbsrtowcs])
+ # Code from module mbuiter:
gl_MBITER
+ # Code from module memchr:
gl_FUNC_MEMCHR
gl_STRING_MODULE_INDICATOR([memchr])
+ # Code from module mempcpy:
gl_FUNC_MEMPCPY
gl_STRING_MODULE_INDICATOR([mempcpy])
+ # Code from module memrchr:
gl_FUNC_MEMRCHR
gl_STRING_MODULE_INDICATOR([memrchr])
+ # Code from module mkdir:
gl_FUNC_MKDIR
+ # Code from module mkdtemp:
gt_FUNC_MKDTEMP
gl_STDLIB_MODULE_INDICATOR([mkdtemp])
+ # Code from module mkfifo:
+ gl_FUNC_MKFIFO
+ gl_UNISTD_MODULE_INDICATOR([mkfifo])
+ # Code from module mkfifoat:
+ gl_FUNC_MKFIFOAT
+ gl_UNISTD_MODULE_INDICATOR([mkfifoat])
+ gl_UNISTD_MODULE_INDICATOR([mknodat])
+ # Code from module mknod:
+ gl_FUNC_MKNOD
+ gl_UNISTD_MODULE_INDICATOR([mknod])
+ # Code from module mktime:
gl_FUNC_MKTIME
gl_TIME_MODULE_INDICATOR([mktime])
+ # Code from module modechange:
gl_MODECHANGE
+ # Code from module multiarch:
gl_MULTIARCH
+ # Code from module nl_langinfo:
gl_FUNC_NL_LANGINFO
gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
+ # Code from module obstack:
AC_FUNC_OBSTACK
dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]).
+ # Code from module open:
gl_FUNC_OPEN
- gl_MODULE_INDICATOR([open])
gl_FCNTL_MODULE_INDICATOR([open])
+ # Code from module openat:
gl_FUNC_OPENAT
+ # Code from module openat-die:
+ # Code from module parse-datetime:
+ gl_PARSE_DATETIME
+ # Code from module pathmax:
gl_PATHMAX
+ # Code from module priv-set:
gl_PRIV_SET
+ # Code from module progname:
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+ # Code from module quote:
gl_QUOTE
+ # Code from module quotearg:
gl_QUOTEARG
+ # Code from module quotearg-simple:
+ # Code from module rawmemchr:
gl_FUNC_RAWMEMCHR
gl_STRING_MODULE_INDICATOR([rawmemchr])
+ # Code from module readlink:
gl_FUNC_READLINK
gl_UNISTD_MODULE_INDICATOR([readlink])
+ # Code from module readlinkat:
+ gl_FUNC_READLINKAT
+ gl_UNISTD_MODULE_INDICATOR([readlinkat])
+ # Code from module realloc-posix:
gl_FUNC_REALLOC_POSIX
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
+ # Code from module regex:
gl_REGEX
+ # Code from module rename:
+ gl_FUNC_RENAME
+ gl_STDIO_MODULE_INDICATOR([rename])
+ # Code from module renameat:
+ gl_FUNC_RENAMEAT
+ gl_STDIO_MODULE_INDICATOR([renameat])
+ # Code from module rmdir:
gl_FUNC_RMDIR
gl_UNISTD_MODULE_INDICATOR([rmdir])
+ # Code from module rpmatch:
gl_FUNC_RPMATCH
gl_STDLIB_MODULE_INDICATOR([rpmatch])
+ # Code from module safe-read:
gl_SAFE_READ
+ # Code from module safe-write:
gl_SAFE_WRITE
- gl_SAME
+ # Code from module same-inode:
+ # Code from module save-cwd:
gl_SAVE_CWD
+ # Code from module savedir:
gl_SAVEDIR
+ # Code from module setenv:
gl_FUNC_SETENV
gl_STDLIB_MODULE_INDICATOR([setenv])
+ # Code from module size_max:
gl_SIZE_MAX
+ # Code from module sleep:
gl_FUNC_SLEEP
gl_UNISTD_MODULE_INDICATOR([sleep])
+ # Code from module snprintf:
gl_FUNC_SNPRINTF
gl_STDIO_MODULE_INDICATOR([snprintf])
+ # Code from module ssize_t:
gt_TYPE_SSIZE_T
+ # Code from module stat:
gl_FUNC_STAT
gl_SYS_STAT_MODULE_INDICATOR([stat])
+ # Code from module stat-macros:
+ # Code from module stat-time:
gl_STAT_TIME
gl_STAT_BIRTHTIME
+ # Code from module stdarg:
gl_STDARG_H
+ # Code from module stdbool:
AM_STDBOOL_H
+ # Code from module stddef:
gl_STDDEF_H
+ # Code from module stdint:
gl_STDINT_H
+ # Code from module stdio:
gl_STDIO_H
+ # Code from module stdlib:
gl_STDLIB_H
+ # Code from module stpcpy:
gl_FUNC_STPCPY
gl_STRING_MODULE_INDICATOR([stpcpy])
+ # Code from module strcase:
gl_STRCASE
+ # Code from module strchrnul:
gl_FUNC_STRCHRNUL
gl_STRING_MODULE_INDICATOR([strchrnul])
+ # Code from module strdup-posix:
gl_FUNC_STRDUP_POSIX
gl_STRING_MODULE_INDICATOR([strdup])
+ # Code from module streq:
+ # Code from module strerror:
gl_FUNC_STRERROR
gl_STRING_MODULE_INDICATOR([strerror])
+ # Code from module string:
gl_HEADER_STRING_H
+ # Code from module strings:
gl_HEADER_STRINGS_H
+ # Code from module strndup:
gl_FUNC_STRNDUP
gl_STRING_MODULE_INDICATOR([strndup])
+ # Code from module strnlen:
gl_FUNC_STRNLEN
gl_STRING_MODULE_INDICATOR([strnlen])
+ # Code from module strnlen1:
+ # Code from module strtoimax:
gl_FUNC_STRTOIMAX
gl_INTTYPES_MODULE_INDICATOR([strtoimax])
+ # Code from module strtol:
gl_FUNC_STRTOL
+ # Code from module strtoll:
gl_FUNC_STRTOLL
gl_STDLIB_MODULE_INDICATOR([strtoll])
+ # Code from module strtoul:
gl_FUNC_STRTOUL
+ # Code from module strtoull:
gl_FUNC_STRTOULL
gl_STDLIB_MODULE_INDICATOR([strtoull])
+ # Code from module strtoumax:
gl_FUNC_STRTOUMAX
gl_INTTYPES_MODULE_INDICATOR([strtoumax])
+ # Code from module symlink:
+ gl_FUNC_SYMLINK
+ gl_UNISTD_MODULE_INDICATOR([symlink])
+ # Code from module symlinkat:
+ gl_FUNC_SYMLINKAT
+ gl_UNISTD_MODULE_INDICATOR([symlinkat])
+ # Code from module sys_stat:
gl_HEADER_SYS_STAT_H
AC_PROG_MKDIR_P
+ # Code from module sys_time:
gl_HEADER_SYS_TIME_H
AC_PROG_MKDIR_P
+ # Code from module sysexits:
gl_SYSEXITS
+ # Code from module tempname:
gl_FUNC_GEN_TEMPNAME
+ # Code from module time:
gl_HEADER_TIME_H
+ # Code from module time_r:
gl_TIME_R
+ gl_TIME_MODULE_INDICATOR([time_r])
+ # Code from module timespec:
gl_TIMESPEC
+ # Code from module unistd:
gl_UNISTD_H
+ # Code from module unistd-safer:
gl_UNISTD_SAFER
+ # Code from module unitypes:
+ gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
+ # Code from module uniwidth/base:
+ gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
+ # Code from module uniwidth/width:
+ gl_LIBUNISTRING_MODULE([0.9], [uniwidth/width])
+ # Code from module unlink:
gl_FUNC_UNLINK
gl_UNISTD_MODULE_INDICATOR([unlink])
+ # Code from module unlinkdir:
gl_UNLINKDIR
+ # Code from module unlocked-io:
gl_FUNC_GLIBC_UNLOCKED_IO
+ # Code from module unsetenv:
gl_FUNC_UNSETENV
gl_STDLIB_MODULE_INDICATOR([unsetenv])
+ # Code from module utimens:
gl_UTIMENS
+ # Code from module utimensat:
+ gl_FUNC_UTIMENSAT
+ gl_SYS_STAT_MODULE_INDICATOR([utimensat])
+ # Code from module vasnprintf:
gl_FUNC_VASNPRINTF
+ # Code from module vasprintf:
gl_FUNC_VASPRINTF
gl_STDIO_MODULE_INDICATOR([vasprintf])
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--flag=asprintf:2:c-format])
AM_][XGETTEXT_OPTION([--flag=vasprintf:2:c-format])])
+ # Code from module verify:
+ # Code from module version-etc:
gl_VERSION_ETC
+ # Code from module version-etc-fsf:
+ # Code from module vsnprintf:
gl_FUNC_VSNPRINTF
gl_STDIO_MODULE_INDICATOR([vsnprintf])
+ # Code from module warn-on-use:
+ # Code from module wchar:
gl_WCHAR_H
+ # Code from module wcrtomb:
gl_FUNC_WCRTOMB
gl_WCHAR_MODULE_INDICATOR([wcrtomb])
+ # Code from module wctype:
gl_WCTYPE_H
+ # Code from module wcwidth:
gl_FUNC_WCWIDTH
gl_WCHAR_MODULE_INDICATOR([wcwidth])
+ # Code from module write:
gl_FUNC_WRITE
gl_UNISTD_MODULE_INDICATOR([write])
+ # Code from module xalloc:
gl_XALLOC
+ # Code from module xalloc-die:
+ # Code from module xgetcwd:
gl_XGETCWD
+ # Code from module xsize:
gl_XSIZE
+ # Code from module xstrndup:
gl_XSTRNDUP
+ # Code from module xstrtol:
gl_XSTRTOL
+ # Code from module xstrtoumax:
+ # Code from module xvasprintf:
gl_XVASPRINTF
m4_ifdef([AM_XGETTEXT_OPTION],
[AM_][XGETTEXT_OPTION([--flag=xasprintf:1:c-format])])
+ # End of code from modules
m4_ifval(gl_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
for gl_file in ]gl_LIBSOURCES_LIST[ ; do
m4_pushdef([gltests_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='tests'
+changequote(,)dnl
+ gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+changequote([, ])dnl
+ AC_SUBST([gltests_WITNESS])
+ gl_module_indicator_condition=$gltests_WITNESS
+ m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
+ m4_popdef([gl_MODULE_INDICATOR_CONDITION])
m4_ifval(gltests_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
for gl_file in ]gltests_LIBSOURCES_LIST[ ; do
build-aux/config.rpath
build-aux/gitlog-to-changelog
build-aux/warn-on-use.h
- doc/getdate.texi
+ doc/parse-datetime.texi
lib/alloca.c
lib/alloca.in.h
- lib/areadlink-with-size.c
+ lib/anytostr.c
+ lib/areadlink.c
lib/areadlink.h
+ lib/areadlinkat.c
lib/argmatch.c
lib/argmatch.h
lib/argp-ba.c
lib/asnprintf.c
lib/asprintf.c
lib/at-func.c
+ lib/at-func2.c
lib/backupfile.c
lib/backupfile.h
lib/basename-lgpl.c
lib/btowc.c
lib/c-ctype.c
lib/c-ctype.h
- lib/canonicalize.c
- lib/canonicalize.h
+ lib/canonicalize-lgpl.c
lib/chdir-long.c
lib/chdir-long.h
lib/chown.c
+ lib/cloexec.c
+ lib/cloexec.h
lib/close-hook.c
lib/close-hook.h
lib/close-stream.c
lib/fcntl.in.h
lib/fd-safer.c
lib/fdopendir.c
- lib/file-set.c
- lib/file-set.h
+ lib/fdutimensat.c
lib/fileblocks.c
+ lib/filenamecat-lgpl.c
+ lib/filenamecat.h
lib/float+.h
lib/float.in.h
lib/fnmatch.c
lib/fpending.h
lib/fseeko.c
lib/fstatat.c
- lib/ftruncate.c
lib/full-write.c
lib/full-write.h
+ lib/futimens.c
lib/getcwd.c
- lib/getdate.h
- lib/getdate.y
lib/getdelim.c
lib/getdtablesize.c
lib/getline.c
lib/gettext.h
lib/gettime.c
lib/gettimeofday.c
- lib/hash-pjw.c
- lib/hash-pjw.h
- lib/hash-triple.c
- lib/hash-triple.h
lib/hash.c
lib/hash.h
lib/human.c
lib/inttypes.in.h
lib/langinfo.in.h
lib/lchown.c
+ lib/link.c
+ lib/linkat.c
lib/localcharset.c
lib/localcharset.h
lib/lseek.c
lib/mkdir.c
lib/mkdirat.c
lib/mkdtemp.c
+ lib/mkfifo.c
+ lib/mkfifoat.c
+ lib/mknod.c
+ lib/mknodat.c
lib/mktime-internal.h
lib/mktime.c
lib/modechange.c
lib/openat.c
lib/openat.h
lib/opendir-safer.c
+ lib/parse-datetime.h
+ lib/parse-datetime.y
lib/pathmax.h
lib/pipe-safer.c
lib/printf-args.c
lib/rawmemchr.c
lib/rawmemchr.valgrind
lib/readlink.c
+ lib/readlinkat.c
lib/realloc.c
lib/ref-add.sin
lib/ref-del.sin
lib/regex_internal.c
lib/regex_internal.h
lib/regexec.c
+ lib/rename.c
+ lib/renameat.c
lib/rmdir.c
lib/rpmatch.c
lib/safe-read.c
lib/safe-write.c
lib/safe-write.h
lib/same-inode.h
- lib/same.c
- lib/same.h
lib/save-cwd.c
lib/save-cwd.h
lib/savedir.c
lib/strtoul.c
lib/strtoull.c
lib/strtoumax.c
+ lib/symlink.c
+ lib/symlinkat.c
lib/sys_stat.in.h
lib/sys_time.in.h
lib/sysexits.in.h
lib/unistd--.h
lib/unistd-safer.h
lib/unistd.in.h
- lib/unitypes.h
- lib/uniwidth.h
+ lib/unitypes.in.h
+ lib/uniwidth.in.h
lib/uniwidth/cjk.h
lib/uniwidth/width.c
lib/unlink.c
lib/unsetenv.c
lib/utimens.c
lib/utimens.h
+ lib/utimensat.c
lib/vasnprintf.c
lib/vasnprintf.h
lib/vasprintf.c
m4/alloca.m4
m4/argmatch.m4
m4/argp.m4
+ m4/asm-underscore.m4
m4/backupfile.m4
m4/bison.m4
m4/btowc.m4
m4/chdir-long.m4
m4/chown.m4
m4/clock_time.m4
+ m4/cloexec.m4
m4/close-stream.m4
m4/close.m4
m4/closeout.m4
m4/fcntl_h.m4
m4/fdopendir.m4
m4/fileblocks.m4
+ m4/filenamecat.m4
m4/float_h.m4
m4/fnmatch.m4
m4/fpending.m4
m4/fseeko.m4
- m4/ftruncate.m4
+ m4/futimens.m4
m4/getcwd-abort-bug.m4
m4/getcwd-path-max.m4
m4/getcwd.m4
- m4/getdate.m4
m4/getdelim.m4
m4/getdtablesize.m4
m4/getline.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
+ m4/libunistring-base.m4
+ m4/link-follow.m4
+ m4/link.m4
+ m4/linkat.m4
m4/localcharset.m4
m4/locale-fr.m4
m4/locale-ja.m4
m4/memrchr.m4
m4/mkdir.m4
m4/mkdtemp.m4
+ m4/mkfifo.m4
+ m4/mkfifoat.m4
+ m4/mknod.m4
m4/mktime.m4
m4/mmap-anon.m4
m4/mode_t.m4
m4/nls.m4
m4/open.m4
m4/openat.m4
+ m4/parse-datetime.m4
m4/pathmax.m4
m4/po.m4
m4/printf-posix.m4
m4/quotearg.m4
m4/rawmemchr.m4
m4/readlink.m4
+ m4/readlinkat.m4
m4/realloc.m4
m4/regex.m4
+ m4/rename.m4
+ m4/renameat.m4
m4/rmdir.m4
m4/rpmatch.m4
m4/safe-read.m4
m4/safe-write.m4
- m4/same.m4
m4/save-cwd.m4
m4/savedir.m4
m4/setenv.m4
m4/strtoul.m4
m4/strtoull.m4
m4/strtoumax.m4
+ m4/symlink.m4
+ m4/symlinkat.m4
m4/sys_stat_h.m4
m4/sys_time_h.m4
m4/sysexits.m4
m4/unlocked-io.m4
m4/utimbuf.m4
m4/utimens.m4
+ m4/utimensat.m4
m4/utimes.m4
m4/vasnprintf.m4
m4/vasprintf.m4
-# iconv.m4 serial 9 (gettext-0.18)
+# iconv.m4 serial 15 (gettext-0.18.2)
dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
dnl because if the user has installed libiconv and not disabled its use
dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
[am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
[am_cv_lib_iconv=yes]
[am_cv_func_iconv=yes])
LIBS="$am_save_LIBS"
])
if test "$am_cv_func_iconv" = yes; then
AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
- dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10.
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
am_save_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <iconv.h>
#include <string.h>
int main ()
return 1;
}
}
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ return 1;
+ }
+ }
#if 0 /* This bug could be worked around by the caller. */
/* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
{
&& iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
return 1;
return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
- [case "$host_os" in
+}]])],
+ [am_cv_func_iconv_works=yes],
+ [am_cv_func_iconv_works=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
*) am_cv_func_iconv_works="guessing yes" ;;
- esac])
+ esac
+changequote([,])dnl
+ ])
LIBS="$am_save_LIBS"
])
case "$am_cv_func_iconv_works" in
AC_SUBST([LTLIBICONV])
])
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
[
AM_ICONV_LINK
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
AC_CACHE_VAL([am_cv_proto_iconv], [
- AC_TRY_COMPILE([
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <stdlib.h>
#include <iconv.h>
extern
#else
size_t iconv();
#endif
-], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
AC_MSG_RESULT([
-# include_next.m4 serial 14
+# include_next.m4 serial 16
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
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__'.
+dnl
+dnl PRAGMA_COLUMNS can be used in files that override system header files, so
+dnl as to avoid compilation errors on HP NonStop systems when the gnulib file
+dnl is included by a system header file that does a "#pragma COLUMNS 80" (which
+dnl has the effect of truncating the lines of that file and all files that it
+dnl includes to 80 columns) and the gnulib file has lines longer than 80
+dnl columns.
AC_DEFUN([gl_INCLUDE_NEXT],
[
EOF
gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
+dnl We intentionally avoid using AC_LANG_SOURCE here.
+ AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=yes],
[CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
+ AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=buggy],
[gl_cv_have_include_next=no])
])
AC_SUBST([INCLUDE_NEXT])
AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE])
AC_SUBST([PRAGMA_SYSTEM_HEADER])
+ AC_CACHE_CHECK([whether system header files limit the line length],
+ [gl_cv_pragma_columns],
+ [dnl HP NonStop systems, which define __TANDEM, have this misfeature.
+ AC_EGREP_CPP([choke me],
+ [
+#ifdef __TANDEM
+choke me
+#endif
+ ],
+ [gl_cv_pragma_columns=yes],
+ [gl_cv_pragma_columns=no])
+ ])
+ if test $gl_cv_pragma_columns = yes; then
+ PRAGMA_COLUMNS="#pragma COLUMNS 10000"
+ else
+ PRAGMA_COLUMNS=
+ fi
+ AC_SUBST([PRAGMA_COLUMNS])
])
# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
[$gl_next_as_first_directive])
AS_VAR_POPDEF([gl_next_header])])
])
+
+# Autoconf 2.68 added warnings for our use of AC_COMPILE_IFELSE;
+# this fallback is safe for all earlier autoconf versions.
+m4_define_default([AC_LANG_DEFINES_PROVIDED])
-# intlmacosx.m4 serial 3 (gettext-0.18)
+# intlmacosx.m4 serial 4 (gettext-0.18.2)
dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[gt_cv_func_CFPreferencesCopyAppValue],
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
- [CFPreferencesCopyAppValue(NULL, NULL)],
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFPreferences.h>]],
+ [[CFPreferencesCopyAppValue(NULL, NULL)]])],
[gt_cv_func_CFPreferencesCopyAppValue=yes],
[gt_cv_func_CFPreferencesCopyAppValue=no])
LIBS="$gt_save_LIBS"])
AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFLocale.h>]],
+ [[CFLocaleCopyCurrent();]])],
[gt_cv_func_CFLocaleCopyCurrent=yes],
[gt_cv_func_CFLocaleCopyCurrent=no])
LIBS="$gt_save_LIBS"])
-# intmax_t.m4 serial 7
+# intmax_t.m4 serial 8
dnl Copyright (C) 1997-2004, 2006-2007, 2009-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl From Paul Eggert.
-AC_PREREQ([2.13])
+AC_PREREQ([2.53])
# Define intmax_t to 'long' or 'long long'
# if it is not already defined in <stdint.h> or <inttypes.h>.
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
- [AC_TRY_COMPILE([
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <stddef.h>
#include <stdlib.h>
#if HAVE_STDINT_H_WITH_UINTMAX
#if HAVE_INTTYPES_H_WITH_UINTMAX
#include <inttypes.h>
#endif
-], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
+ ]],
+ [[intmax_t x = -1; return !x;]])],
+ [gt_cv_c_intmax_t=yes],
+ [gt_cv_c_intmax_t=no])])
if test $gt_cv_c_intmax_t = yes; then
AC_DEFINE([HAVE_INTMAX_T], [1],
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
-#serial 7
+#serial 8
dnl Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_INTTOSTR],
[
- AC_LIBOBJ([imaxtostr])
- AC_LIBOBJ([offtostr])
- AC_LIBOBJ([umaxtostr])
- AC_LIBOBJ([uinttostr])
-
gl_PREREQ_INTTOSTR
gl_PREREQ_IMAXTOSTR
gl_PREREQ_OFFTOSTR
-# inttypes-pri.m4 serial 6 (gettext-0.18)
+# inttypes-pri.m4 serial 7 (gettext-0.18.2)
dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl From Bruno Haible.
-AC_PREREQ([2.52])
+AC_PREREQ([2.53])
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
# macros to non-string values. This is the case on AIX 4.3.3.
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
[gt_cv_inttypes_pri_broken],
[
- AC_TRY_COMPILE([#include <inttypes.h>
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <inttypes.h>
#ifdef PRId32
char *p = PRId32;
#endif
-], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes])
+ ]],
+ [[]])],
+ [gt_cv_inttypes_pri_broken=no],
+ [gt_cv_inttypes_pri_broken=yes])
])
fi
if test "$gt_cv_inttypes_pri_broken" = yes; then
-# inttypes.m4 serial 17
+# inttypes.m4 serial 18
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
])
AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
-# inttypes_h.m4 serial 9
+# inttypes_h.m4 serial 10
dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
[
AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h],
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- [gl_cv_header_inttypes_h=yes],
- [gl_cv_header_inttypes_h=no])])
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <sys/types.h>
+#include <inttypes.h>
+ ]],
+ [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+ [gl_cv_header_inttypes_h=yes],
+ [gl_cv_header_inttypes_h=no])])
if test $gl_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1],
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-# langinfo_h.m4 serial 4
-dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+# langinfo_h.m4 serial 7
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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 Persuade glibc-2.0.6 <langinfo.h> to define CODESET.
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+ dnl <langinfo.h> is always overridden, because of GNULIB_POSIXCHECK.
gl_CHECK_NEXT_HEADERS([langinfo.h])
dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS.
HAVE_LANGINFO_CODESET=0
+ HAVE_LANGINFO_T_FMT_AMPM=0
HAVE_LANGINFO_ERA=0
+ HAVE_LANGINFO_YESEXPR=0
AC_CHECK_HEADERS_ONCE([langinfo.h])
if test $ac_cv_header_langinfo_h = yes; then
HAVE_LANGINFO_H=1
dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing
- dnl on OpenBSD 3.8.
+ dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
AC_CACHE_CHECK([whether langinfo.h defines CODESET],
[gl_cv_header_langinfo_codeset],
[AC_COMPILE_IFELSE(
if test $gl_cv_header_langinfo_codeset = yes; then
HAVE_LANGINFO_CODESET=1
fi
+ AC_CACHE_CHECK([whether langinfo.h defines T_FMT_AMPM],
+ [gl_cv_header_langinfo_t_fmt_ampm],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = T_FMT_AMPM;
+]])],
+ [gl_cv_header_langinfo_t_fmt_ampm=yes],
+ [gl_cv_header_langinfo_t_fmt_ampm=no])
+ ])
+ if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
+ HAVE_LANGINFO_T_FMT_AMPM=1
+ fi
AC_CACHE_CHECK([whether langinfo.h defines ERA],
[gl_cv_header_langinfo_era],
[AC_COMPILE_IFELSE(
if test $gl_cv_header_langinfo_era = yes; then
HAVE_LANGINFO_ERA=1
fi
+ AC_CACHE_CHECK([whether langinfo.h defines YESEXPR],
+ [gl_cv_header_langinfo_yesexpr],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <langinfo.h>
+int a = YESEXPR;
+]])],
+ [gl_cv_header_langinfo_yesexpr=yes],
+ [gl_cv_header_langinfo_yesexpr=no])
+ ])
+ if test $gl_cv_header_langinfo_yesexpr = yes; then
+ HAVE_LANGINFO_YESEXPR=1
+ fi
else
HAVE_LANGINFO_H=0
fi
AC_SUBST([HAVE_LANGINFO_H])
AC_SUBST([HAVE_LANGINFO_CODESET])
+ AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM])
AC_SUBST([HAVE_LANGINFO_ERA])
+ AC_SUBST([HAVE_LANGINFO_YESEXPR])
dnl Check for declarations of anything we want to poison if the
dnl corresponding gnulib module is not in use.
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_LANGINFO_H_DEFAULTS],
-# lib-ld.m4 serial 4 (gettext-0.18)
+# lib-ld.m4 serial 5 (gettext-0.18.2)
dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
ac_prog=ld
if test "$GCC" = yes; then
-# lib-link.m4 serial 20 (gettext-0.18)
+# lib-link.m4 serial 25 (gettext-0.18.2)
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
AC_LIB_LINKFLAGS_BODY([$1], [$2])
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- pushdef([Name],[translit([$1],[./-], [___])])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
dnl accordingly.
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4],
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
[ac_cv_lib[]Name=yes],
[ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
LIBS="$ac_save_LIBS"
dnl macro call that searches for libname.
AC_DEFUN([AC_LIB_FROMPACKAGE],
[
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
define([acl_frompackage_]NAME, [$2])
popdef([NAME])
pushdef([PACK],[$2])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
popdef([PACKUP])
popdef([PACK])
])
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
dnl Autoconf >= 2.61 supports dots in --with options.
- pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
names_already_handled="$names_already_handled $name"
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
--- /dev/null
+# libunistring-base.m4 serial 5
+dnl Copyright (C) 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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 Paolo Bonzini and Bruno Haible.
+
+dnl gl_LIBUNISTRING_MODULE([VERSION], [Module])
+dnl Declares that the source files of Module should be compiled, unless we
+dnl are linking with libunistring and its version is >= the given VERSION.
+dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is
+dnl true if the source files of Module should be compiled.
+dnl This macro is to be used for public libunistring API, not for
+dnl undocumented API.
+dnl
+dnl You have to bump the VERSION argument to the next projected version
+dnl number each time you make a change that affects the behaviour of the
+dnl functions defined in Module (even if the sources of Module itself do not
+dnl change).
+
+AC_DEFUN([gl_LIBUNISTRING_MODULE],
+[
+ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
+ dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
+ dnl gl_LIBUNISTRING_CORE if that macro has been run.
+ AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
+ [gl_LIBUNISTRING_VERSION_CMP([$1])])
+])
+
+dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
+dnl Declares that HeaderFile should be created, unless we are linking
+dnl with libunistring and its version is >= the given VERSION.
+dnl HeaderFile should be relative to the lib directory and end in '.h'.
+dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty).
+dnl
+dnl When we are linking with the already installed libunistring and its version
+dnl is < VERSION, we create HeaderFile here, because we may compile functions
+dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed
+dnl version.
+dnl When we are linking with the already installed libunistring and its version
+dnl is > VERSION, we don't create HeaderFile here: it could cause compilation
+dnl errors in other libunistring header files if some types are missing.
+dnl
+dnl You have to bump the VERSION argument to the next projected version
+dnl number each time you make a non-comment change to the HeaderFile.
+
+AC_DEFUN([gl_LIBUNISTRING_LIBHEADER],
+[
+ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
+ dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
+ dnl gl_LIBUNISTRING_CORE if that macro has been run.
+ if gl_LIBUNISTRING_VERSION_CMP([$1]); then
+ LIBUNISTRING_[]AS_TR_CPP([$2])='$2'
+ else
+ LIBUNISTRING_[]AS_TR_CPP([$2])=
+ fi
+ AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2]))
+])
+
+dnl Miscellaneous preparations/initializations.
+
+AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE],
+[
+ dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point.
+ m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])])
+
+ AC_REQUIRE([AC_PROG_AWK])
+
+dnl Sed expressions to extract the parts of a version number.
+changequote(,)
+gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+changequote([,])
+
+ if test "$HAVE_LIBUNISTRING" = yes; then
+ LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
+ LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ fi
+])
+
+dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
+dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
+dnl is less than the VERSION argument.
+AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
+[ { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
+ AS_LITERAL_IF([$1],
+ [dnl This is the optimized variant, that assumes the argument is a literal:
+ m4_pushdef([requested_version_major],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])])
+ m4_pushdef([requested_version_minor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ m4_pushdef([requested_version_subminor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor
+ }
+ }
+ }
+ m4_popdef([requested_version_subminor])
+ m4_popdef([requested_version_minor])
+ m4_popdef([requested_version_major])
+ ],
+ [dnl This is the unoptimized variant:
+ requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"`
+ requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor
+ }
+ }
+ }
+ ])
+ }
+ }])
+
+dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the
+dnl same as ORIG, otherwise to 0.
+m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])])
--- /dev/null
+# serial 15
+dnl Run a program to determine whether link(2) follows symlinks.
+dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
+
+# Copyright (C) 1999-2001, 2004-2006, 2009-2010 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.
+
+dnl This macro can be used to emulate POSIX linkat. If
+dnl LINK_FOLLOWS_SYMLINKS is 0, link matches linkat(,0), and
+dnl linkat(,AT_SYMLINK_FOLLOW) requires a readlink. If it is 1,
+dnl link matches linkat(,AT_SYMLINK_FOLLOW), and there is no way
+dnl to do linkat(,0) on symlinks (on all other file types,
+dnl link() is sufficient). If it is -1, use a runtime test.
+AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK],
+[dnl
+ AC_CHECK_FUNCS_ONCE([readlink])
+ dnl Mingw lacks link, although gnulib provides a good replacement.
+ dnl However, it also lacks symlink, so there's nothing to test in
+ dnl the first place, and no reason to need to distinguish between
+ dnl linkat variants. So, we set LINK_FOLLOWS_SYMLINKS to 0.
+ gl_link_follows_symlinks=0 # assume GNU behavior
+ if test $ac_cv_func_readlink = yes; then
+ AC_CACHE_CHECK([whether link(2) dereferences a symlink],
+ gl_cv_func_link_follows_symlink,
+ [
+ # Create a regular file.
+ echo > conftest.file
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+# include <sys/types.h>
+# include <sys/stat.h>
+# include <unistd.h>
+# include <stdlib.h>
+
+# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
+ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
+ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+
+ int
+ main ()
+ {
+ const char *file = "conftest.file";
+ const char *sym = "conftest.sym";
+ const char *hard = "conftest.hard";
+ struct stat sb_file, sb_hard;
+
+ /* Create a symlink to the regular file. */
+ if (symlink (file, sym))
+ return 2;
+
+ /* Create a hard link to that symlink. */
+ if (link (sym, hard))
+ return 3;
+
+ if (lstat (hard, &sb_hard))
+ return 4;
+ if (lstat (file, &sb_file))
+ return 5;
+
+ /* If the dev/inode of hard and file are the same, then
+ the link call followed the symlink. */
+ return SAME_INODE (sb_hard, sb_file) ? 1 : 0;
+ }
+ ]])],
+ [gl_cv_func_link_follows_symlink=no], dnl GNU behavior
+ [gl_cv_func_link_follows_symlink=yes], dnl Followed link/compile failed
+ [gl_cv_func_link_follows_symlink=unknown] dnl We're cross compiling.
+ )
+ rm -f conftest.file conftest.sym conftest.hard
+ ])
+ case $gl_cv_func_link_follows_symlink in
+ yes) gl_link_follows_symlinks=1 ;;
+ no) ;; # already defaulted to 0
+ *) gl_link_follows_symlinks=-1 ;;
+ esac
+ fi
+ AC_DEFINE_UNQUOTED([LINK_FOLLOWS_SYMLINKS], [$gl_link_follows_symlinks],
+ [Define to 1 if `link(2)' dereferences symbolic links, 0 if it
+ creates hard links to symlinks, and -1 if unknown.])
+])
--- /dev/null
+# link.m4 serial 4
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_LINK],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([link])
+ if test $ac_cv_func_link = no; then
+ HAVE_LINK=0
+ AC_LIBOBJ([link])
+ else
+ AC_CACHE_CHECK([whether link handles trailing slash correctly],
+ [gl_cv_func_link_works],
+ [touch conftest.a
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.a conftest.lnk
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+]], [[if (!link ("conftest.a", "conftest.b/")) return 1;
+#if HAVE_LSTAT
+ if (!link ("conftest.lnk/", "conftest.b")) return 2;
+#endif
+ ]])],
+ [gl_cv_func_link_works=yes], [gl_cv_func_link_works=no],
+ [gl_cv_func_link_works="guessing no"])
+ rm -f conftest.a conftest.b conftest.lnk])
+ if test "$gl_cv_func_link_works" != yes; then
+ REPLACE_LINK=1
+ AC_LIBOBJ([link])
+ fi
+ fi
+])
--- /dev/null
+# serial 3
+# See if we need to provide linkat replacement.
+
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_LINKAT],
+[
+ AC_REQUIRE([gl_FUNC_OPENAT])
+ AC_REQUIRE([gl_FUNC_LINK])
+ AC_REQUIRE([gl_FUNC_LINK_FOLLOWS_SYMLINK])
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CHECK_FUNCS_ONCE([linkat symlink])
+ AC_CHECK_HEADERS_ONCE([sys/param.h])
+ if test $ac_cv_func_linkat = no; then
+ HAVE_LINKAT=0
+ AC_LIBOBJ([linkat])
+ AC_LIBOBJ([at-func2])
+ else
+ AC_CACHE_CHECK([whether linkat(,AT_SYMLINK_FOLLOW) works],
+ [gl_cv_func_linkat_follow],
+ [rm -rf conftest.f1 conftest.f2
+ touch conftest.f1
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <fcntl.h>
+#include <unistd.h>
+#ifdef __linux__
+/* Linux added linkat in 2.6.16, but did not add AT_SYMLINK_FOLLOW
+ until 2.6.18. Always replace linkat to support older kernels. */
+choke me
+#endif
+]], [return linkat (AT_FDCWD, "conftest.f1", AT_FDCWD, "conftest.f2",
+ AT_SYMLINK_FOLLOW);])],
+ [gl_cv_func_linkat_follow=yes],
+ [gl_cv_func_linkat_follow="need runtime check"])
+ rm -rf conftest.f1 conftest.f2])
+ AC_CACHE_CHECK([whether linkat handles trailing slash correctly],
+ [gl_cv_func_linkat_slash],
+ [rm -rf conftest.a conftest.b conftest.c conftest.d
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <stdio.h>
+ ]],
+ [[int fd;
+ int err;
+ int ret;
+ /* Create a regular file. */
+ fd = open ("conftest.a", O_CREAT | O_EXCL | O_WRONLY, 0600);
+ if (fd < 0)
+ return 1;
+ if (write (fd, "hello", 5) < 5)
+ return 2;
+ if (close (fd) < 0)
+ return 3;
+ /* Test whether hard links are supported on the current
+ device. */
+ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.b",
+ AT_SYMLINK_FOLLOW) < 0)
+ return 0;
+ /* Test whether a trailing "/" is treated like "/.". */
+ if (linkat (AT_FDCWD, "conftest.a/", AT_FDCWD, "conftest.c",
+ AT_SYMLINK_FOLLOW) == 0)
+ return 4;
+ if (linkat (AT_FDCWD, "conftest.a", AT_FDCWD, "conftest.d/",
+ AT_SYMLINK_FOLLOW) == 0)
+ return 5;
+ return 0;
+ ]])],
+ [gl_cv_func_linkat_slash=yes],
+ [gl_cv_func_linkat_slash=no],
+ [# Guess yes on glibc systems, no otherwise.
+ case "$host_os" in
+ *-gnu*) gl_cv_func_linkat_slash="guessing yes";;
+ *) gl_cv_func_linkat_slash="guessing no";;
+ esac
+ ])
+ rm -rf conftest.a conftest.b conftest.c conftest.d])
+ case "$gl_cv_func_linkat_slash" in
+ *yes) gl_linkat_slash_bug=0 ;;
+ *) gl_linkat_slash_bug=1 ;;
+ esac
+ if test "$gl_cv_func_linkat_follow" != yes \
+ || test $gl_linkat_slash_bug = 1; then
+ REPLACE_LINKAT=1
+ AC_LIBOBJ([linkat])
+ AC_DEFINE_UNQUOTED([LINKAT_TRAILING_SLASH_BUG], [$gl_linkat_slash_bug],
+ [Define to 1 if linkat fails to recognize a trailing slash.])
+ fi
+ fi
+])
-# locale-fr.m4 serial 11
+# locale-fr.m4 serial 12
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
-# locale-ja.m4 serial 7
+# locale-ja.m4 serial 8
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
if (MB_CUR_MAX == 1)
return 1;
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
+ This excludes the UTF-8 encoding (except on MirBSD). */
t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
for (p = buf; *p != '\0'; p++)
-# locale-zh.m4 serial 6
+# locale-zh.m4 serial 7
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
#endif
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
- This excludes the UTF-8 encoding. */
+ This excludes the UTF-8 encoding (except on MirBSD). */
t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
for (p = buf; *p != '\0'; p++)
-# lseek.m4 serial 5
+# lseek.m4 serial 6
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_REQUIRE([AC_PROG_CC])
AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe],
[if test $cross_compiling = no; then
- AC_LINK_IFELSE([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h> /* for off_t */
#include <stdio.h> /* for SEEK_CUR */
-#include <unistd.h>
-int main ()
-{
+#include <unistd.h>]], [[
/* Exit with success only if stdin is seekable. */
return lseek (0, (off_t)0, SEEK_CUR) < 0;
-}],
+]])],
[if test -s conftest$ac_exeext \
&& ./conftest$ac_exeext < conftest.$ac_ext \
&& test 1 = "`echo hi \
fi],
[gl_cv_func_lseek_pipe=no])
else
- AC_COMPILE_IFELSE([
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__
/* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */
Choke me.
-#endif],
+#endif]])],
[gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no])
fi])
if test $gl_cv_func_lseek_pipe = no; then
-# serial 20
+# serial 21
# Copyright (C) 1997-2001, 2003-2010 Free Software Foundation, Inc.
#
HAVE_LSTAT=0
fi
])
+
+# Redefine AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, because it is no longer
+# maintained in Autoconf.
+AC_DEFUN([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+[
+ AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
+ [ac_cv_func_lstat_dereferences_slashed_symlink],
+ [rm -f conftest.sym conftest.file
+ echo >conftest.file
+ if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [AC_INCLUDES_DEFAULT],
+ [[struct stat sbuf;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
+ ]])],
+ [ac_cv_func_lstat_dereferences_slashed_symlink=yes],
+ [ac_cv_func_lstat_dereferences_slashed_symlink=no],
+ [# When cross-compiling, be pessimistic so we will end up using the
+ # replacement version of lstat that checks for trailing slashes and
+ # calls lstat a second time when necessary.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ ])
+ else
+ # If the 'ln -s' command failed, then we probably don't even
+ # have an lstat function.
+ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+ rm -f conftest.sym conftest.file
+ ])
+ test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+ AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+ [Define to 1 if `lstat' dereferences a symlink specified
+ with a trailing slash.])
+ if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then
+ AC_LIBOBJ([lstat])
+ fi
+])
-# malloc.m4 serial 9
+# malloc.m4 serial 12
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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_FUNC_MALLOC_GNU
+# ------------------
+# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
+# it is not.
+AC_DEFUN([gl_FUNC_MALLOC_GNU],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ dnl _AC_FUNC_MALLOC_IF is defined in Autoconf.
+ _AC_FUNC_MALLOC_IF(
+ [AC_DEFINE([HAVE_MALLOC_GNU], [1],
+ [Define to 1 if your system has a GNU libc compatible 'malloc'
+ function, and to 0 otherwise.])],
+ [AC_DEFINE([HAVE_MALLOC_GNU], [0])
+ gl_REPLACE_MALLOC
+ ])
+])
+
# gl_FUNC_MALLOC_POSIX
# --------------------
# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
# fails), and replace malloc if it is not.
AC_DEFUN([gl_FUNC_MALLOC_POSIX],
[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
if test $gl_cv_func_malloc_posix = yes; then
- HAVE_MALLOC_POSIX=1
AC_DEFINE([HAVE_MALLOC_POSIX], [1],
[Define if the 'malloc' function is POSIX compliant.])
else
- AC_LIBOBJ([malloc])
- HAVE_MALLOC_POSIX=0
+ gl_REPLACE_MALLOC
fi
- AC_SUBST([HAVE_MALLOC_POSIX])
])
# Test whether malloc, realloc, calloc are POSIX compliant,
dnl It is too dangerous to try to allocate a large amount of memory:
dnl some systems go to their knees when you do that. So assume that
dnl all Unix implementations of the function are POSIX compliant.
- AC_TRY_COMPILE([],
- [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- choke me
- #endif
- ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[]],
+ [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ choke me
+ #endif
+ ]])],
+ [gl_cv_func_malloc_posix=yes],
+ [gl_cv_func_malloc_posix=no])
])
])
+
+AC_DEFUN([gl_REPLACE_MALLOC],
+[
+ AC_LIBOBJ([malloc])
+ REPLACE_MALLOC=1
+])
-# mbrtowc.m4 serial 16
+# mbrtowc.m4 serial 18
dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
AC_REQUIRE([AC_TYPE_MBSTATE_T])
gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBRTOWC=1
- fi
+
AC_CHECK_FUNCS_ONCE([mbrtowc])
if test $ac_cv_func_mbrtowc = no; then
HAVE_MBRTOWC=0
- fi
- if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then
- gl_MBRTOWC_NULL_ARG
- gl_MBRTOWC_RETVAL
- gl_MBRTOWC_NUL_RETVAL
- case "$gl_cv_func_mbrtowc_null_arg" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
- [Define if the mbrtowc function has the NULL string argument bug.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1],
- [Define if the mbrtowc function returns a wrong return value.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_nul_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1],
- [Define if the mbrtowc function does not return 0 for a NUL character.])
- REPLACE_MBRTOWC=1
- ;;
- esac
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBRTOWC=1
+ else
+ gl_MBRTOWC_NULL_ARG
+ gl_MBRTOWC_RETVAL
+ gl_MBRTOWC_NUL_RETVAL
+ case "$gl_cv_func_mbrtowc_null_arg" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
+ [Define if the mbrtowc function has the NULL string argument bug.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_retval" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1],
+ [Define if the mbrtowc function returns a wrong return value.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_nul_retval" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1],
+ [Define if the mbrtowc function does not return 0 for a NUL character.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ fi
fi
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
gl_REPLACE_WCHAR_H
dnl is present.
changequote(,)dnl
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
changequote([,])dnl
if test $LOCALE_JA != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_incomplete_state=yes],
[gl_cv_func_mbrtowc_incomplete_state=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <stdlib.h>
#include <string.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_sanitycheck=yes],
[gl_cv_func_mbrtowc_sanitycheck=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], [:])
+}]])],
+ [gl_cv_func_mbrtowc_null_arg=yes],
+ [gl_cv_func_mbrtowc_null_arg=no],
+ [:])
fi
])
])
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
}
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_retval=yes],
[gl_cv_func_mbrtowc_retval=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_nul_retval=yes],
[gl_cv_func_mbrtowc_nul_retval=no],
[:])
-# mbsinit.m4 serial 3
-dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+# mbsinit.m4 serial 4
+dnl Copyright (C) 2008, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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_REQUIRE([AC_TYPE_MBSTATE_T])
gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBSINIT=1
- fi
+
AC_CHECK_FUNCS_ONCE([mbsinit])
if test $ac_cv_func_mbsinit = no; then
HAVE_MBSINIT=0
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBSINIT=1
+ fi
fi
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
gl_REPLACE_WCHAR_H
-# mbsrtowcs.m4 serial 5
+# mbsrtowcs.m4 serial 7
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_REQUIRE([AC_TYPE_MBSTATE_T])
gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBSRTOWCS=1
- fi
+
AC_CHECK_FUNCS_ONCE([mbsrtowcs])
if test $ac_cv_func_mbsrtowcs = no; then
HAVE_MBSRTOWCS=0
- fi
- if test $HAVE_MBSRTOWCS != 0 && test $REPLACE_MBSRTOWCS != 1; then
- gl_MBSRTOWCS_WORKS
- case "$gl_cv_func_mbsrtowcs_works" in
- *yes) ;;
- *) REPLACE_MBSRTOWCS=1 ;;
- esac
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBSRTOWCS=1
+ else
+ gl_MBSRTOWCS_WORKS
+ case "$gl_cv_func_mbsrtowcs_works" in
+ *yes) ;;
+ *) REPLACE_MBSRTOWCS=1 ;;
+ esac
+ fi
fi
if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
gl_REPLACE_WCHAR_H
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
}
}
return 0;
-}],
+}]])],
[gl_cv_func_mbsrtowcs_works=yes],
[gl_cv_func_mbsrtowcs_works=no],
[:])
-# memchr.m4 serial 7
+# memchr.m4 serial 9
dnl Copyright (C) 2002-2004, 2009-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl These days, we assume memchr is present. But just in case...
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([memchr])
- if test $ac_cv_func_memchr = no; then
- gl_PREREQ_MEMCHR
- REPLACE_MEMCHR=1
- fi
-
+ AC_CHECK_FUNCS_ONCE([memchr])
if test $ac_cv_func_memchr = yes; then
# Detect platform-specific bugs in some versions of glibc:
# memchr should not dereference anything with length 0
strcpy (fence - 9, "12345678");
if (memchr (fence - 9, 0, 79) != fence - 1)
return 2;
+ if (memchr (fence - 1, 0, 3) != fence - 1)
+ return 3;
}
return 0;
]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no],
[dnl Be pessimistic for now.
gl_cv_func_memchr_works="guessing no"])])
if test "$gl_cv_func_memchr_works" != yes; then
- gl_PREREQ_MEMCHR
REPLACE_MEMCHR=1
- AC_LIBOBJ([memchr])
fi
+ else
+ HAVE_MEMCHR=0
+ fi
+ if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
+ AC_LIBOBJ([memchr])
+ gl_PREREQ_MEMCHR
fi
])
--- /dev/null
+# serial 1
+# See if we need to provide mkfifo replacement.
+
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_MKFIFO],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([mkfifo])
+ if test $ac_cv_func_mkfifo = no; then
+ HAVE_MKFIFO=0
+ AC_LIBOBJ([mkfifo])
+ else
+ dnl Check for Solaris 9 and FreeBSD bug with trailing slash.
+ AC_CHECK_FUNCS_ONCE([lstat])
+ AC_CACHE_CHECK([whether mkfifo rejects trailing slashes],
+ [gl_cv_func_mkfifo_works],
+ [# Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.tmp conftest.lnk
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/stat.h>
+]], [[if (!mkfifo ("conftest.tmp/", 0600)) return 1;
+#if HAVE_LSTAT
+ if (!mkfifo ("conftest.lnk/", 0600)) return 2;
+#endif
+ ]])],
+ [gl_cv_func_mkfifo_works=yes], [gl_cv_func_mkfifo_works=no],
+ [gl_cv_func_mkfifo_works="guessing no"])
+ rm -f conftest.tmp conftest.lnk])
+ if test "$gl_cv_func_mkfifo_works" != yes; then
+ AC_DEFINE([MKFIFO_TRAILING_SLASH_BUG], [1], [Define to 1 if mkfifo
+ does not reject trailing slash])
+ REPLACE_MKFIFO=1
+ AC_LIBOBJ([mkfifo])
+ fi
+ fi
+])
--- /dev/null
+# serial 2
+# See if we need to provide mkfifoat/mknodat replacement.
+
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_MKFIFOAT],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([gl_FUNC_OPENAT])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([mkfifoat mknodat])
+ if test $ac_cv_func_mkfifoat = no; then
+ # No known system has mkfifoat but not mknodat
+ HAVE_MKFIFOAT=0
+ HAVE_MKNODAT=0
+ AC_LIBOBJ([mkfifoat])
+ AC_LIBOBJ([mknodat])
+ fi
+])
--- /dev/null
+# serial 2
+# See if we need to provide mknod replacement.
+
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_MKNOD],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([gl_FUNC_MKFIFO])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([mknod])
+ if test $ac_cv_func_mknod = no; then
+ HAVE_MKNOD=0
+ AC_LIBOBJ([mknod])
+ else
+ dnl Detect BSD bug, where mknod requires root privileges to create fifo.
+ AC_CACHE_CHECK([whether mknod can create fifo without root privileges],
+ [gl_cv_func_mknod_works],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/stat.h>
+ #include <unistd.h>
+]], [[/* Indeterminate for super-user, assume no. Why are you running
+ configure as root, anyway? */
+ if (!geteuid ()) return 99;
+ if (mknod ("conftest.fifo", S_IFIFO | 0600, 0)) return 2;]])],
+ [gl_cv_func_mknod_works=yes],
+ [if test $? == 99 && test x"$FORCE_UNSAFE_CONFIGURE" = x; then
+ AC_MSG_FAILURE([you should not run configure as root ]dnl
+[(set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)])
+ fi
+ gl_cv_func_mknod_works=no],
+ [gl_cv_func_mknod_works="guessing no"])
+ rm -f conftest.fifo])
+ if test "$gl_cv_func_mknod_works" != yes; then
+ AC_DEFINE([MKNOD_FIFO_BUG], [1], [Define to 1 if mknod cannot create
+ a fifo without super-user privileges])
+ fi
+ dnl Systems that mishandle trailing slash on mkfifo also goof on mknod.
+ if test $REPLACE_MKFIFO = 1 || test "$gl_cv_func_mknod_works" != yes; then
+ REPLACE_MKNOD=1
+ AC_LIBOBJ([mknod])
+ fi
+ fi
+])
-# serial 15
+# serial 16
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl From Jim Meyering.
-# Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.61a and earlier.
-# This redefinition can be removed once a new version of Autoconf is assumed.
-# The redefinition is taken from
-# <http://cvs.sv.gnu.org/viewcvs/*checkout*/autoconf/autoconf/lib/autoconf/functions.m4?rev=1.119>.
+# Redefine AC_FUNC_MKTIME, because it is no longer maintained in Autoconf.
# AC_FUNC_MKTIME
# --------------
AC_DEFUN([AC_FUNC_MKTIME],
-# open.m4 serial 8
+# open.m4 serial 9
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
touch conftest.tmp
ln -s conftest.tmp conftest.lnk
fi
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <fcntl.h>
#if HAVE_UNISTD_H
# include <unistd.h>
if (open ("conftest.lnk/", O_RDONLY) != -1) return 2;
#endif
return open ("conftest.sl/", O_CREAT, 0600) >= 0;
-}], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no],
+}]])],
+ [gl_cv_func_open_slash=yes],
+ [gl_cv_func_open_slash=no],
[
changequote(,)dnl
case "$host_os" in
- freebsd*) gl_cv_func_open_slash="guessing no" ;;
- 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" ;;
+ freebsd* | aix* | hpux* | solaris2.[0-9]*)
+ gl_cv_func_open_slash="guessing no" ;;
+ *)
+ gl_cv_func_open_slash="guessing yes" ;;
esac
changequote([,])dnl
])
-# serial 27
+# serial 30
# See if we need to use our replacement for Solaris' openat et al functions.
dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
# If we have the fchownat function, and it has the bug (in glibc-2.4)
# that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then
# use the replacement function.
+# Also if the fchownat function, like chown, has the trailing slash bug,
+# use the replacement function.
# Also use the replacement function if fchownat is simply not available.
AC_DEFUN([gl_FUNC_FCHOWNAT],
[
AC_REQUIRE([gl_FUNC_CHOWN])
AC_CHECK_FUNC([fchownat],
- [gl_FUNC_FCHOWNAT_DEREF_BUG([REPLACE_FCHOWNAT=1
- AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1], [Define to 1 if your
- platform has fchownat, but it cannot perform lchown tasks.])])],
+ [gl_FUNC_FCHOWNAT_DEREF_BUG(
+ [REPLACE_FCHOWNAT=1
+ AC_DEFINE([FCHOWNAT_NOFOLLOW_BUG], [1],
+ [Define to 1 if your platform has fchownat, but it cannot
+ perform lchown tasks.])
+ ])
+ if test $REPLACE_CHOWN = 1; then
+ REPLACE_FCHOWNAT=1
+ fi],
[HAVE_FCHOWNAT=0])
- if test $REPLACE_CHOWN = 1; then
- REPLACE_FCHOWNAT=1
- fi
if test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1; then
AC_LIBOBJ([fchownat])
fi
--- /dev/null
+# parse-datetime.m4 serial 18
+dnl Copyright (C) 2002-2006, 2008-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[struct s { int i, j; };]],
+ [[struct s t = (struct s) { 3, 4 };
+ if (t.i != 0) return 0;]])],
+ gl_cv_compound_literals=yes,
+ gl_cv_compound_literals=no)])
+ if test $gl_cv_compound_literals = yes; then
+ AC_DEFINE([HAVE_COMPOUND_LITERALS], [1],
+ [Define if you have compound literals.])
+ fi
+])
+
+AC_DEFUN([gl_PARSE_DATETIME],
+[
+ dnl Prerequisites of lib/parse-datetime.h.
+ AC_REQUIRE([AM_STDBOOL_H])
+ AC_REQUIRE([gl_TIMESPEC])
+
+ dnl Prerequisites of lib/parse-datetime.y.
+ AC_REQUIRE([gl_BISON])
+ AC_REQUIRE([gl_C_COMPOUND_LITERALS])
+ AC_STRUCT_TIMEZONE
+ AC_REQUIRE([gl_CLOCK_TIME])
+ AC_REQUIRE([gl_TM_GMTOFF])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <time.h> /* for time_t */
+#include <limits.h> /* for CHAR_BIT, LONG_MIN, LONG_MAX */
+#define TYPE_MINIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
+#define TYPE_MAXIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
+typedef int verify_min[2 * (LONG_MIN <= TYPE_MINIMUM (time_t)) - 1];
+typedef int verify_max[2 * (TYPE_MAXIMUM (time_t) <= LONG_MAX) - 1];
+ ]])],
+ [AC_DEFINE([TIME_T_FITS_IN_LONG_INT], [1],
+ [Define to 1 if all 'time_t' values fit in a 'long int'.])
+ ])
+])
dnl Release version of the gettext macros. This is used to ensure that
dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
-# printf.m4 serial 33
+# printf.m4 serial 35
dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_CACHE_CHECK([whether printf supports size specifiers as in C99],
[gl_cv_func_printf_sizes_c99],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stddef.h>
#include <stdio.h>
#include <string.h>
|| strcmp (buf, "1.5 33") != 0)
return 1;
return 0;
-}], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports 'long double' arguments],
[gl_cv_func_printf_long_double],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[10000];
|| strcmp (buf, "1.75 33") != 0)
return 1;
return 0;
-}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports infinite 'double' arguments],
[gl_cv_func_printf_infinite],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static int
|| strcmp (buf, "-0") != 0)
return 1;
return 0;
-}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments],
[gl_cv_func_printf_infinite_long_double],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
]GL_NOCRASH[
#include <float.h>
#include <stdio.h>
}
#endif
return 0;
-}],
- [gl_cv_func_printf_infinite_long_double=yes],
- [gl_cv_func_printf_infinite_long_double=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
;;
*)
AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives],
[gl_cv_func_printf_directive_a],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
&& 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
- ])
+}]])],
+ [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
+ ])
])
])
AC_CACHE_CHECK([whether printf supports the 'F' directive],
[gl_cv_func_printf_directive_f],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
|| strcmp (buf, "1234") != 0)
return 1;
return 0;
-}], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports the 'n' directive],
[gl_cv_func_printf_directive_n],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char fmtstring[10];
|| count != 4)
return 1;
return 0;
-}], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no],
- [
+}]])],
+ [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
+ case "$host_os" in
+ *) gl_cv_func_printf_directive_n="guessing yes";;
+ esac
changequote([,])dnl
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports the 'ls' directive],
[gl_cv_func_printf_directive_ls],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
return 1;
}
return 0;
-}], [gl_cv_func_printf_directive_ls=yes], [gl_cv_func_printf_directive_ls=no],
- [
+}]])],
+ [gl_cv_func_printf_directive_ls=yes],
+ [gl_cv_func_printf_directive_ls=no],
+ [
changequote(,)dnl
- case "$host_os" in
- openbsd*) gl_cv_func_printf_directive_ls="guessing no";;
- irix*) gl_cv_func_printf_directive_ls="guessing no";;
- solaris*) gl_cv_func_printf_directive_ls="guessing no";;
- cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
- beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
- *) gl_cv_func_printf_directive_ls="guessing yes";;
- esac
+ case "$host_os" in
+ openbsd*) gl_cv_func_printf_directive_ls="guessing no";;
+ irix*) gl_cv_func_printf_directive_ls="guessing no";;
+ solaris*) gl_cv_func_printf_directive_ls="guessing no";;
+ cygwin*) gl_cv_func_printf_directive_ls="guessing no";;
+ beos* | haiku*) gl_cv_func_printf_directive_ls="guessing no";;
+ *) gl_cv_func_printf_directive_ls="guessing yes";;
+ esac
changequote([,])dnl
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions],
[gl_cv_func_printf_positions],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
/* The string "%2$d %1$d", with dollar characters protected from the shell's
{
sprintf (buf, format, 33, 55);
return (strcmp (buf, "55 33") != 0);
-}], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports the grouping flag],
[gl_cv_func_printf_flag_grouping],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
|| buf[strlen (buf) - 1] != '9')
return 1;
return 0;
-}], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly],
[gl_cv_func_printf_flag_leftadjust],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
|| strcmp (buf, "ab c") != 0)
return 1;
return 0;
-}],
+}]])],
[gl_cv_func_printf_flag_leftadjust=yes],
[gl_cv_func_printf_flag_leftadjust=no],
[
AC_CACHE_CHECK([whether printf supports the zero flag correctly],
[gl_cv_func_printf_flag_zero],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
&& strcmp (buf, " infinity") != 0))
return 1;
return 0;
-}], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether printf supports large precisions],
[gl_cv_func_printf_precision],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[5000];
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],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
[gl_cv_func_snprintf_truncation_c99],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
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],
- [
+}]])],
+ [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
+ 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 ---------------------------------------------------------------------
dnl Result is gl_cv_func_snprintf_retval_c99.
-AC_DEFUN([gl_SNPRINTF_RETVAL_C99],
+AC_DEFUN_ONCE([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([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char buf[100];
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],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
[gl_cv_func_snprintf_directive_n],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
static char fmtstring[10];
if (count != 6)
return 1;
return 0;
-}], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no],
- [
+}]])],
+ [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
+ 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
- ])
+ ])
])
])
AC_CACHE_CHECK([whether snprintf respects a size of 1],
[gl_cv_func_snprintf_size1],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
int main()
{
static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
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"])
+}]])],
+ [gl_cv_func_snprintf_size1=yes],
+ [gl_cv_func_snprintf_size1=no],
+ [gl_cv_func_snprintf_size1="guessing yes"])
])
])
AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99],
[gl_cv_func_vsnprintf_zerosize_c99],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdarg.h>
#include <stdio.h>
static int my_snprintf (char *buf, int size, const char *format, ...)
static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
my_snprintf (buf, 0, "%d", 12345);
return buf[0] != 'D';
-}],
- [gl_cv_func_vsnprintf_zerosize_c99=yes],
- [gl_cv_func_vsnprintf_zerosize_c99=no],
- [
+}]])],
+ [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
+ 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 Solaris 10 . . # # # . . # . . . # . . . . . . . .
dnl Solaris 2.6 ... 9 # . # # # # . # . . . # . . . . . . . .
dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # #
-dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . .
+dnl AIX 5.2, 7.1 . . # # # . . . . . . # . . . . . . . .
dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . . . . .
dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . .
dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . #
-# serial 6
+# serial 7
# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
#
[
AC_REQUIRE([AC_C_INLINE])
AC_CHECK_FUNCS([getppriv])
+ AC_CHECK_HEADERS_ONCE([priv.h])
])
-# progtest.m4 serial 6 (gettext-0.18)
+# progtest.m4 serial 7 (gettext-0.18.2)
dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
--- /dev/null
+# serial 1
+# See if we need to provide readlinkat replacement.
+
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_READLINKAT],
+[
+ AC_REQUIRE([gl_FUNC_OPENAT])
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([readlinkat])
+ if test $ac_cv_func_readlinkat = no; then
+ HAVE_READLINKAT=0
+ AC_LIBOBJ([readlinkat])
+ fi
+])
-# realloc.m4 serial 9
+# realloc.m4 serial 11
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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_FUNC_REALLOC_GNU
+# -------------------
+# Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace
+# realloc if it is not.
+AC_DEFUN([gl_FUNC_REALLOC_GNU],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ dnl _AC_FUNC_REALLOC_IF is defined in Autoconf.
+ _AC_FUNC_REALLOC_IF(
+ [AC_DEFINE([HAVE_REALLOC_GNU], [1],
+ [Define to 1 if your system has a GNU libc compatible 'realloc'
+ function, and to 0 otherwise.])],
+ [AC_DEFINE([HAVE_REALLOC_GNU], [0])
+ gl_REPLACE_REALLOC
+ ])
+])# gl_FUNC_REALLOC_GNU
+
# gl_FUNC_REALLOC_POSIX
# ---------------------
# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it
# fails), and replace realloc if it is not.
AC_DEFUN([gl_FUNC_REALLOC_POSIX],
[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
if test $gl_cv_func_malloc_posix = yes; then
- HAVE_REALLOC_POSIX=1
AC_DEFINE([HAVE_REALLOC_POSIX], [1],
[Define if the 'realloc' function is POSIX compliant.])
else
- AC_LIBOBJ([realloc])
- HAVE_REALLOC_POSIX=0
+ gl_REPLACE_REALLOC
fi
- AC_SUBST([HAVE_REALLOC_POSIX])
+])
+
+AC_DEFUN([gl_REPLACE_REALLOC],
+[
+ AC_LIBOBJ([realloc])
+ REPLACE_REALLOC=1
])
-# serial 55
+# serial 56
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
if (!s)
return 1;
- /* Ensure that [b-a] is diagnosed as invalid. */
- re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+ /* Ensure that [b-a] is diagnosed as invalid, when
+ using RE_NO_EMPTY_RANGES. */
+ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES);
memset (®ex, 0, sizeof regex);
s = re_compile_pattern ("a[b-a]", 6, ®ex);
if (s == 0)
if (! REG_STARTEND)
return 1;
- /* Reject hosts whose regoff_t values are too narrow.
- These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t
- and 32-bit int. */
+#if 0
+ /* It would be nice to reject hosts whose regoff_t values are too
+ narrow (including glibc on hosts with 64-bit ptrdiff_t and
+ 32-bit int), but we should wait until glibc implements this
+ feature. Otherwise, support for equivalence classes and
+ multibyte collation symbols would always be broken except
+ when compiling --without-included-regex. */
if (sizeof (regoff_t) < sizeof (ptrdiff_t)
|| sizeof (regoff_t) < sizeof (ssize_t))
return 1;
+#endif
return 0;]])],
[gl_cv_func_re_compile_pattern_working=yes],
--- /dev/null
+# serial 22
+
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2010 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.
+
+dnl From Volker Borchert.
+dnl Determine whether rename works for source file names with a trailing slash.
+dnl The rename from SunOS 4.1.1_U1 doesn't.
+dnl
+dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange
+dnl to compile the wrapper function.
+dnl
+
+AC_DEFUN([gl_FUNC_RENAME],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([lstat])
+
+ dnl Solaris 10, AIX 7.1 mistakenly allow rename("file","name/").
+ dnl NetBSD 1.6 mistakenly forbids rename("dir","name/").
+ dnl FreeBSD 7.2 mistakenly allows rename("file","link-to-file/").
+ dnl The Solaris bug can be worked around without stripping
+ dnl trailing slash, while the NetBSD bug requires stripping;
+ dnl the two conditions can be distinguished by whether hard
+ dnl links are also broken.
+ AC_CACHE_CHECK([whether rename honors trailing slash on destination],
+ [gl_cv_func_rename_slash_dst_works],
+ [rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.lnk
+ touch conftest.f && mkdir conftest.d1 ||
+ AC_MSG_ERROR([cannot create temporary files])
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.f conftest.lnk
+ fi
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+# include <stdio.h>
+# include <stdlib.h>
+]], [if (rename ("conftest.f", "conftest.f1/") == 0) return 1;
+ if (rename ("conftest.d1", "conftest.d2/") != 0) return 2;
+#if HAVE_LSTAT
+ if (rename ("conftest.f", "conftest.lnk/") == 0) return 3;
+#endif
+ ])],
+ [gl_cv_func_rename_slash_dst_works=yes],
+ [gl_cv_func_rename_slash_dst_works=no],
+ dnl When crosscompiling, assume rename is broken.
+ [gl_cv_func_rename_slash_dst_works="guessing no"])
+ rm -rf conftest.f conftest.f1 conftest.d1 conftest.d2 conftest.lnk
+ ])
+ if test "x$gl_cv_func_rename_slash_dst_works" != xyes; then
+ AC_LIBOBJ([rename])
+ REPLACE_RENAME=1
+ AC_DEFINE([RENAME_TRAILING_SLASH_DEST_BUG], [1],
+ [Define if rename does not correctly handle slashes on the destination
+ argument, such as on Solaris 10 or NetBSD 1.6.])
+ fi
+
+ dnl SunOS 4.1.1_U1 mistakenly forbids rename("dir/","name").
+ dnl Solaris 9 mistakenly allows rename("file/","name").
+ dnl FreeBSD 7.2 mistakenly allows rename("link-to-file/","name").
+ dnl These bugs require stripping trailing slash to avoid corrupting
+ dnl symlinks with a trailing slash.
+ AC_CACHE_CHECK([whether rename honors trailing slash on source],
+ [gl_cv_func_rename_slash_src_works],
+ [rm -rf conftest.f conftest.d1 conftest.d2 conftest.lnk
+ touch conftest.f && mkdir conftest.d1 ||
+ AC_MSG_ERROR([cannot create temporary files])
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.f conftest.lnk
+ fi
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+# include <stdio.h>
+# include <stdlib.h>
+]], [if (rename ("conftest.f/", "conftest.d2") == 0) return 1;
+ if (rename ("conftest.d1/", "conftest.d2") != 0) return 2;
+#if HAVE_LSTAT
+ if (rename ("conftest.lnk/", "conftest.f") == 0) return 3;
+#endif
+ ])],
+ [gl_cv_func_rename_slash_src_works=yes],
+ [gl_cv_func_rename_slash_src_works=no],
+ dnl When crosscompiling, assume rename is broken.
+ [gl_cv_func_rename_slash_src_works="guessing no"])
+ rm -rf conftest.f conftest.d1 conftest.d2 conftest.lnk
+ ])
+ if test "x$gl_cv_func_rename_slash_src_works" != xyes; then
+ AC_LIBOBJ([rename])
+ REPLACE_RENAME=1
+ AC_DEFINE([RENAME_TRAILING_SLASH_SOURCE_BUG], [1],
+ [Define if rename does not correctly handle slashes on the source
+ argument, such as on Solaris 9 or cygwin 1.5.])
+ fi
+
+ dnl NetBSD 1.6 and cygwin 1.5.x mistakenly reduce hard link count
+ dnl on rename("h1","h2").
+ dnl This bug requires stat'ting targets prior to attempting rename.
+ AC_CACHE_CHECK([whether rename manages hard links correctly],
+ [gl_cv_func_rename_link_works],
+ [rm -rf conftest.f conftest.f1
+ if touch conftest.f && ln conftest.f conftest.f1 &&
+ set x `ls -i conftest.f conftest.f1` && test "$2" = "$4"; then
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+]], [if (rename ("conftest.f", "conftest.f1")) return 1;
+ if (unlink ("conftest.f1")) return 2;
+ if (rename ("conftest.f", "conftest.f")) return 3;
+ if (rename ("conftest.f1", "conftest.f1") == 0) return 4;])],
+ [gl_cv_func_rename_link_works=yes],
+ [gl_cv_func_rename_link_works=no],
+ dnl When crosscompiling, assume rename is broken.
+ [gl_cv_func_rename_link_works="guessing no"])
+ else
+ gl_cv_func_rename_link_works="guessing no"
+ fi
+ rm -rf conftest.f conftest.f1
+ ])
+ if test "x$gl_cv_func_rename_link_works" != xyes; then
+ AC_LIBOBJ([rename])
+ REPLACE_RENAME=1
+ AC_DEFINE([RENAME_HARD_LINK_BUG], [1],
+ [Define if rename fails to leave hard links alone, as on NetBSD 1.6
+ or Cygwin 1.5.])
+ fi
+
+ dnl Cygwin 1.5.x mistakenly allows rename("dir","file").
+ dnl mingw mistakenly forbids rename("dir1","dir2").
+ dnl These bugs require stripping trailing slash to avoid corrupting
+ dnl symlinks with a trailing slash.
+ AC_CACHE_CHECK([whether rename manages existing destinations correctly],
+ [gl_cv_func_rename_dest_works],
+ [rm -rf conftest.f conftest.d1 conftest.d2
+ touch conftest.f && mkdir conftest.d1 conftest.d2 ||
+ AC_MSG_ERROR([cannot create temporary files])
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+# include <stdio.h>
+# include <stdlib.h>
+]], [if (rename ("conftest.d1", "conftest.d2") != 0) return 1;
+ if (rename ("conftest.d2", "conftest.f") == 0) return 2;])],
+ [gl_cv_func_rename_dest_works=yes],
+ [gl_cv_func_rename_dest_works=no],
+ dnl When crosscompiling, assume rename is broken.
+ [gl_cv_func_rename_dest_works="guessing no"])
+ rm -rf conftest.f conftest.d1 conftest.d2
+ ])
+ if test "x$gl_cv_func_rename_dest_works" != xyes; then
+ AC_LIBOBJ([rename])
+ REPLACE_RENAME=1
+ AC_DEFINE([RENAME_DEST_EXISTS_BUG], [1],
+ [Define if rename does not work when the destination file exists,
+ as on Cygwin 1.5 or Windows.])
+ fi
+])
--- /dev/null
+# serial 2
+# See if we need to provide renameat replacement.
+
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_RENAMEAT],
+[
+ AC_REQUIRE([gl_FUNC_OPENAT])
+ AC_REQUIRE([gl_FUNC_RENAME])
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([renameat])
+ if test $ac_cv_func_renameat = no; then
+ HAVE_RENAMEAT=0
+ AC_LIBOBJ([renameat])
+ AC_LIBOBJ([at-func2])
+ elif test $REPLACE_RENAME = 1; then
+ dnl Solaris 9 and 10 have the same bugs in renameat as in rename.
+ REPLACE_RENAMEAT=1
+ AC_LIBOBJ([renameat])
+ AC_LIBOBJ([at-func2])
+ fi
+])
-# rmdir.m4 serial 7
+# rmdir.m4 serial 8
dnl Copyright (C) 2002, 2005, 2009-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_AC_DOS])
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- dnl FIXME: simplify this module in 2010 if no one reports a missing rmdir
- AC_REPLACE_FUNCS([rmdir])
- if test $ac_cv_func_rmdir = no; then
- REPLACE_RMDIR=1
- # If someone lacks rmdir, make configure fail, and request
- # a bug report to inform us about it.
- if test x"$SKIP_RMDIR_CHECK" != xyes; then
- AC_MSG_FAILURE([Your system lacks the rmdir function.
- Please report this, along with the output of "uname -a", to the
- bug-coreutils@gnu.org mailing list. To continue past this point,
- rerun configure with SKIP_RMDIR_CHECK=yes.
- E.g., ./configure SKIP_RMDIR_CHECK=yes])
- fi
- else
- dnl Detect cygwin 1.5.x bug.
- AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
- [mkdir conftest.dir
- touch conftest.file
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
+ dnl Detect cygwin 1.5.x bug.
+ AC_CACHE_CHECK([whether rmdir works], [gl_cv_func_rmdir_works],
+ [mkdir conftest.dir
+ touch conftest.file
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdio.h>
+ #include <errno.h>
+ #include <unistd.h>
]], [[return !rmdir ("conftest.file/") || errno != ENOTDIR
|| !rmdir ("conftest.dir/./");]])],
- [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
- [gl_cv_func_rmdir_works="guessing no"])
- rm -rf conftest.dir conftest.file])
- if test x"$gl_cv_func_rmdir_works" != xyes; then
- REPLACE_RMDIR=1
- AC_LIBOBJ([rmdir])
- fi
+ [gl_cv_func_rmdir_works=yes], [gl_cv_func_rmdir_works=no],
+ [gl_cv_func_rmdir_works="guessing no"])
+ rm -rf conftest.dir conftest.file])
+ if test x"$gl_cv_func_rmdir_works" != xyes; then
+ REPLACE_RMDIR=1
+ AC_LIBOBJ([rmdir])
fi
])
+++ /dev/null
-#serial 8
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2010 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_SAME],
-[
- AC_LIBOBJ([same])
-
- dnl Prerequisites of lib/same.c.
- AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
- AC_CHECK_FUNCS_ONCE([pathconf])
-])
-# setenv.m4 serial 15
+# setenv.m4 serial 18
dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <stdlib.h>
#include <errno.h>
+ #include <string.h>
]], [[
if (setenv ("", "", 0) != -1) return 1;
if (errno != EINVAL) return 2;
else
dnl Some BSDs return void, failing to do error checking.
AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
- [AC_TRY_COMPILE([#include <stdlib.h>
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
extern
#ifdef __cplusplus
"C"
#else
int unsetenv();
#endif
-], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')])
+ ]],
+ [[]])],
+ [gt_cv_func_unsetenv_ret='int'],
+ [gt_cv_func_unsetenv_ret='void'])])
if test $gt_cv_func_unsetenv_ret = 'void'; then
AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
instead of int.])
fi
dnl Solaris 10 unsetenv does not remove all copies of a name.
- AC_CACHE_CHECK([whether unsetenv works on duplicates],
+ dnl OpenBSD 4.7 unsetenv("") does not fail.
+ AC_CACHE_CHECK([whether unsetenv obeys POSIX],
[gl_cv_func_unsetenv_works],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <stdlib.h>
+ #include <errno.h>
]], [[
char entry[] = "b=2";
if (putenv ((char *) "a=1")) return 1;
entry[0] = 'a';
unsetenv ("a");
if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
]])],
[gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
[gl_cv_func_unsetenv_works="guessing no"])])
-# size_max.m4 serial 9
+# size_max.m4 serial 10
dnl Copyright (C) 2003, 2005-2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
if test $fits_in_uint = 1; then
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], [fits_in_uint=0])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ extern size_t foo;
+ extern unsigned long foo;
+ ]],
+ [[]])],
+ [fits_in_uint=0])
fi
dnl We cannot use 'expr' to simplify this expression, because 'expr'
dnl works only with 'long' integers in the host environment, while we
-# ssize_t.m4 serial 4 (gettext-0.15)
-dnl Copyright (C) 2001-2003, 2006, 2009-2010 Free Software Foundation, Inc.
+# ssize_t.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2001-2003, 2006, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gt_TYPE_SSIZE_T],
[
AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
- [AC_TRY_COMPILE([#include <sys/types.h>],
- [int x = sizeof (ssize_t *) + sizeof (ssize_t);
- return !x;],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>]],
+ [[int x = sizeof (ssize_t *) + sizeof (ssize_t);
+ return !x;]])],
[gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
if test $gt_cv_ssize_t = no; then
AC_DEFINE([ssize_t], [int],
-# serial 4
+# serial 5
# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
#
mingw*) gl_cv_func_stat_dir_slash="guessing no";;
*) gl_cv_func_stat_dir_slash="guessing yes";;
esac])])
- dnl Solaris 9 mistakenly succeeds on stat("file/")
+ dnl AIX 7.1, Solaris 9 mistakenly succeed on stat("file/")
dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/")
AC_CACHE_CHECK([whether stat handles trailing slashes on files],
[gl_cv_func_stat_file_slash],
-# stdarg.m4 serial 3
+# stdarg.m4 serial 4
dnl Copyright (C) 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
NEXT_STDARG_H='<stdarg.h>'; AC_SUBST([NEXT_STDARG_H])
AC_MSG_CHECKING([for va_copy])
AC_CACHE_VAL([gl_cv_func_va_copy], [
- AC_TRY_COMPILE([#include <stdarg.h>], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdarg.h>]],
+ [[
#ifndef va_copy
void (*func) (va_list, va_list) = va_copy;
#endif
-],
- [gl_cv_func_va_copy=yes], [gl_cv_func_va_copy=no])])
+ ]])],
+ [gl_cv_func_va_copy=yes],
+ [gl_cv_func_va_copy=no])])
AC_MSG_RESULT([$gl_cv_func_va_copy])
if test $gl_cv_func_va_copy = no; then
dnl Provide a substitute.
dnl Provide a substitute in <config.h>, either __va_copy or as a simple
dnl assignment.
gl_CACHE_VAL_SILENT([gl_cv_func___va_copy], [
- AC_TRY_COMPILE([#include <stdarg.h>], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdarg.h>]],
+ [[
#ifndef __va_copy
error, bail out
#endif
-],
- [gl_cv_func___va_copy=yes], [gl_cv_func___va_copy=no])])
+ ]])],
+ [gl_cv_func___va_copy=yes],
+ [gl_cv_func___va_copy=no])])
if test $gl_cv_func___va_copy = yes; then
AC_DEFINE([va_copy], [__va_copy],
[Define as a macro for copying va_list variables.])
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
+#serial 3
+
# Prepare for substituting <stdbool.h> if it is not supported.
AC_DEFUN([AM_STDBOOL_H],
# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
-# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf
-# have this macro built-in.
+# This version of the macro is needed in autoconf <= 2.67. Autoconf has
+# it built in since 2.60, but we want the tweaks from the 2.68 version
+# to avoid rejecting xlc and clang due to relying on extensions.
AC_DEFUN([AC_HEADER_STDBOOL],
[AC_CACHE_CHECK([for stdbool.h that conforms to C99],
[ac_cv_header_stdbool_h],
- [AC_TRY_COMPILE(
- [
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
- struct s { _Bool s: 1; _Bool t; } s;
+ struct s { _Bool s: 1; _Bool t; } s;
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- #if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
- #endif
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
- ],
- [
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
- ],
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
+ ]],
+ [[
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+ ]])],
[ac_cv_header_stdbool_h=yes],
[ac_cv_header_stdbool_h=no])])
AC_CHECK_TYPES([_Bool])
dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
-# stddef_h.m4 serial 1
+# stddef_h.m4 serial 2
dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
])
AC_DEFUN([gl_STDDEF_H_DEFAULTS],
-# stdint.m4 serial 34
+# stdint.m4 serial 35
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl config.h.in,
dnl - extra AC_SUBST calls, so that the right substitutions are made.
m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+ [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
[Define to the number of bits in type ']gltype['.])])
for gltype in $1 ; do
AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
eval BITSIZEOF_${GLTYPE}=\$result
done
m4_foreach_w([gltype], [$1],
- [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+ [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
])
dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
dnl config.h.in,
dnl - extra AC_SUBST calls, so that the right substitutions are made.
m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+ [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
[Define to 1 if ']gltype[' is a signed integer type.])])
for gltype in $1 ; do
AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
fi
done
m4_foreach_w([gltype], [$1],
- [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+ [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
])
dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
dnl config.h.in,
dnl - extra AC_SUBST calls, so that the right substitutions are made.
m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
+ [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
[Define to l, ll, u, ul, ull, etc., as suitable for
constants of type ']gltype['.])])
for gltype in $1 ; do
AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
done
m4_foreach_w([gltype], [$1],
- [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
+ [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
])
dnl gl_STDINT_INCLUDES
-# stdint_h.m4 serial 8
+# stdint_h.m4 serial 9
dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_AC_HEADER_STDINT_H],
[
AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h],
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- [gl_cv_header_stdint_h=yes],
- [gl_cv_header_stdint_h=no])])
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #include <stdint.h>]],
+ [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+ [gl_cv_header_stdint_h=yes],
+ [gl_cv_header_stdint_h=no])])
if test $gl_cv_header_stdint_h = yes; then
AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1],
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
-# stdio_h.m4 serial 26
+# stdio_h.m4 serial 31
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
AC_REQUIRE([AC_C_INLINE])
+ AC_REQUIRE([gl_ASM_SYMBOL_PREFIX])
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.
dnl guaranteed by C89.
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
- snprintf vdprintf vsnprintf])
+ snprintf tmpfile vdprintf vsnprintf])
])
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_STDIO_H_DEFAULTS],
GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
+ GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE])
GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF])
GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF])
HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
+ HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
+ HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT])
HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
+ REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE])
REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF])
REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
-# stdlib_h.m4 serial 23
+# stdlib_h.m4 serial 31
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
#if HAVE_RANDOM_H
# include <random.h>
#endif
- ]], [atoll canonicalize_file_name getloadavg getsubopt mkdtemp
- mkostemp mkostemps mkstemp mkstemps random_r initstat_r srandom_r
- setstate_r realpath rpmatch setenv strtod strtoll strtoull unsetenv])
+ ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
+ mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
+ setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
+ unsetenv])
])
AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_STDLIB_H_DEFAULTS],
[
+ GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT])
GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL])
GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG])
GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
+ GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT])
GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP])
GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
+ GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
+ GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX])
+ GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT])
GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
- HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX])
HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
- HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX])
+ HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP])
HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
+ HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
+ HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
- HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX])
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
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_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV])
+ REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
+ REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
+ REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
-# strdup.m4 serial 11
+# strdup.m4 serial 12
dnl Copyright (C) 2002-2010 Free Software Foundation, Inc.
AC_DEFUN([gl_FUNC_STRDUP],
[
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([strdup])
+ AC_CHECK_FUNCS_ONCE([strdup])
+ if test $ac_cv_func_strdup != yes; then
+ AC_LIBOBJ([strdup])
+ gl_PREREQ_STRDUP
+ fi
AC_CHECK_DECLS_ONCE([strdup])
if test $ac_cv_have_decl_strdup = no; then
HAVE_DECL_STRDUP=0
fi
- 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])
+ AC_CHECK_FUNCS_ONCE([strdup])
+ if test $ac_cv_func_strdup = yes; then
+ if test $gl_cv_func_malloc_posix != yes; then
+ REPLACE_STRDUP=1
+ AC_LIBOBJ([strdup])
+ gl_PREREQ_STRDUP
+ fi
else
- AC_REPLACE_FUNCS([strdup])
+ AC_LIBOBJ([strdup])
+ gl_PREREQ_STRDUP
fi
AC_CHECK_DECLS_ONCE([strdup])
if test $ac_cv_have_decl_strdup = no; then
HAVE_DECL_STRDUP=0
fi
- gl_PREREQ_STRDUP
])
# Prerequisites of lib/strdup.c.
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
+# serial 17
# Written by Paul Eggert.
dnl corresponding gnulib module is not in use, and which is not
dnl guaranteed by C89.
gl_WARN_ON_USE_PREPARE([[#include <string.h>
- ]], [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
- strndup strnlen strpbrk strsep strcasestr strtok_r strsignal strverscmp])
+ ]],
+ [memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
+ strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal
+ strverscmp])
])
AC_DEFUN([gl_STRING_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
+ GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT])
GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR])
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_STRSEP=1; AC_SUBST([HAVE_STRSEP])
HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
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])
HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
+ REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
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_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
+ REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
# Configure a replacement for <string.h>.
-# serial 2
+# serial 3
-# Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2010 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.
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
])
AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS],
-# strndup.m4 serial 17
+# strndup.m4 serial 18
dnl Copyright (C) 2002-2003, 2005-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
return s[13] != '\0';]])],
[gl_cv_func_strndup_works=yes],
[gl_cv_func_strndup_works=no],
- [case $host_os in
- aix*) gl_cv_func_strndup_works="guessing no";;
- *) gl_cv_func_strndup_works="guessing yes";;
- esac])])
+ [
+changequote(,)dnl
+ case $host_os in
+ aix | aix[3-6]*) gl_cv_func_strndup_works="guessing no";;
+ *) gl_cv_func_strndup_works="guessing yes";;
+ esac
+changequote([,])dnl
+ ])])
case $gl_cv_func_strndup_works in
*no)
REPLACE_STRNDUP=1
-# strnlen.m4 serial 10
+# strnlen.m4 serial 12
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
AC_DEFUN([gl_FUNC_STRNLEN],
[
+ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+
dnl Persuade glibc <string.h> to declare strnlen().
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
AC_CHECK_DECLS_ONCE([strnlen])
if test $ac_cv_have_decl_strnlen = no; then
HAVE_DECL_STRNLEN=0
+ else
+ AC_FUNC_STRNLEN
+ dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]).
+ if test $ac_cv_func_strnlen_working = no; then
+ REPLACE_STRNLEN=1
+ fi
fi
-
- AC_FUNC_STRNLEN
- if test $ac_cv_func_strnlen_working = no; then
- # This is necessary because automake-1.6.1 doesn't understand
- # that the above use of AC_FUNC_STRNLEN means we may have to use
- # lib/strnlen.c.
- #AC_LIBOBJ([strnlen])
- AC_DEFINE([strnlen], [rpl_strnlen],
- [Define to rpl_strnlen if the replacement function should be used.])
+ if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
+ AC_LIBOBJ([strnlen])
gl_PREREQ_STRNLEN
fi
])
--- /dev/null
+# serial 3
+# See if we need to provide symlink replacement.
+
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_SYMLINK],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([symlink])
+ dnl The best we can do on mingw is provide a dummy that always fails, so
+ dnl that compilation can proceed with fewer ifdefs. On FreeBSD 7.2, AIX 7.1,
+ dnl and Solaris 9, we want to fix a bug with trailing slash handling.
+ if test $ac_cv_func_symlink = no; then
+ HAVE_SYMLINK=0
+ AC_LIBOBJ([symlink])
+ else
+ AC_CACHE_CHECK([whether symlink handles trailing slash correctly],
+ [gl_cv_func_symlink_works],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+]], [[if (!symlink ("a", "conftest.link/")) return 1;
+ if (symlink ("conftest.f", "conftest.lnk2")) return 2;
+ if (!symlink ("a", "conftest.lnk2/")) return 3;]])],
+ [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no],
+ [gl_cv_func_symlink_works="guessing no"])
+ rm -f conftest.f conftest.link conftest.lnk2])
+ if test "$gl_cv_func_symlink_works" != yes; then
+ REPLACE_SYMLINK=1
+ AC_LIBOBJ([symlink])
+ fi
+ fi
+])
--- /dev/null
+# serial 4
+# See if we need to provide symlinkat replacement.
+
+dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_SYMLINKAT],
+[
+ AC_REQUIRE([gl_FUNC_OPENAT])
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([symlinkat])
+ if test $ac_cv_func_symlinkat = no; then
+ HAVE_SYMLINKAT=0
+ AC_LIBOBJ([symlinkat])
+ fi
+])
-# sys_stat_h.m4 serial 23 -*- Autoconf -*-
+# sys_stat_h.m4 serial 24 -*- Autoconf -*-
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
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
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
# Configure a replacement for <sys/time.h>.
-# serial 5
+# serial 6
# Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS],
# Copyright (C) 2000-2001, 2003-2007, 2009-2010 Free Software Foundation, Inc.
+# serial 2
+
# 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.
])
dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
-dnl in time.h or sys/time.h.
+dnl in time.h, sys/time.h, or pthread.h.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
[
TIME_H_DEFINES_STRUCT_TIMESPEC=0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
TIME_H_DEFINES_STRUCT_TIMESPEC=1
else
[gl_cv_sys_struct_timespec_in_sys_time_h=no])])
if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ AC_CACHE_CHECK([for struct timespec in <pthread.h>],
+ [gl_cv_sys_struct_timespec_in_pthread_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [gl_cv_sys_struct_timespec_in_pthread_h=yes],
+ [gl_cv_sys_struct_timespec_in_pthread_h=no])])
+ if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
fi
fi
AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
])
AC_DEFUN([gl_TIME_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP])
GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME])
GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM])
+ GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_LOCALTIME_R=1; AC_SUBST([HAVE_LOCALTIME_R])
+ HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP])
+ HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME])
+ HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM])
dnl If another module says to replace or to not replace, do that.
dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
dnl this lets maintainers check for portability.
REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R])
REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME])
REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP])
- REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME])
REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM])
])
-dnl Reentrant time functions like localtime_r.
+dnl Reentrant time functions: localtime_r, gmtime_r.
-dnl Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 2003, 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free 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_TIME_R],
[
- dnl Persuade glibc and Solaris <time.h> to declare localtime_r.
+ dnl Persuade glibc and Solaris <time.h> to declare localtime_r.
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
AC_REQUIRE([AC_C_RESTRICT])
- AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature],
- [gl_cv_time_r_posix],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[#include <time.h>]],
- [[/* We don't need to append 'restrict's to the argument types,
- even though the POSIX signature has the 'restrict's,
- since C99 says they can't affect type compatibility. */
- struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;
- if (ptr) return 0;
- /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */
- *localtime_r (0, 0);]])],
- [gl_cv_time_r_posix=yes],
- [gl_cv_time_r_posix=no])])
- if test $gl_cv_time_r_posix = yes; then
- REPLACE_LOCALTIME_R=0
+ AC_CHECK_FUNCS_ONCE([localtime_r])
+ if test $ac_cv_func_localtime_r = yes; then
+ AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature],
+ [gl_cv_time_r_posix],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <time.h>]],
+ [[/* We don't need to append 'restrict's to the argument types,
+ even though the POSIX signature has the 'restrict's,
+ since C99 says they can't affect type compatibility. */
+ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;
+ if (ptr) return 0;
+ /* Check the return type is a pointer.
+ On HP-UX 10 it is 'int'. */
+ *localtime_r (0, 0);]])
+ ],
+ [gl_cv_time_r_posix=yes],
+ [gl_cv_time_r_posix=no])
+ ])
+ if test $gl_cv_time_r_posix = yes; then
+ REPLACE_LOCALTIME_R=0
+ else
+ REPLACE_LOCALTIME_R=1
+ fi
else
- REPLACE_LOCALTIME_R=1
+ HAVE_LOCALTIME_R=0
+ fi
+ if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
AC_LIBOBJ([time_r])
gl_PREREQ_TIME_R
fi
-# unistd_h.m4 serial 40
+# unistd_h.m4 serial 46
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat
fsync ftruncate getcwd getdomainname getdtablesize getgroups
gethostname getlogin getlogin_r getpagesize getusershell setusershell
- endusershell lchown link linkat lseek pipe2 pread readlink readlinkat
- rmdir sleep symlink symlinkat unlink unlinkat usleep])
+ endusershell lchown link linkat lseek pipe2 pread pwrite readlink
+ readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat
+ usleep])
])
AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_UNISTD_H_DEFAULTS],
GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD])
+ GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE])
GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT])
GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR])
GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
+ GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT])
+ HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR])
HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT])
HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
- HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL])
HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
HAVE_LINK=1; AC_SUBST([HAVE_LINK])
HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
+ HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE])
HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
+ HAVE_TTYNAME_R=1; AC_SUBST([HAVE_TTYNAME_R])
+ HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
+ HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
+ HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
+ HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
- HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
- HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
- REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
+ REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
+ REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R])
REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK])
REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT])
REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP])
-# unlink.m4 serial 3
+# unlink.m4 serial 5
dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_AC_DOS])
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- dnl Detect Solaris 9 and FreeBSD 7.2 bug.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ dnl Detect FreeBSD 7.2, AIX 7.1, Solaris 9 bug.
AC_CACHE_CHECK([whether unlink honors trailing slashes],
- [gl_cv_func_unlink_works],
+ [gl_cv_func_unlink_honors_slashes],
[touch conftest.file
# Assume that if we have lstat, we can also check symlinks.
if test $ac_cv_func_lstat = yes; then
if (!unlink ("conftest.lnk/") || errno != ENOTDIR) return 2;
#endif
]])],
- [gl_cv_func_unlink_works=yes], [gl_cv_func_unlink_works=no],
- [gl_cv_func_unlink_works="guessing no"])
+ [gl_cv_func_unlink_honors_slashes=yes],
+ [gl_cv_func_unlink_honors_slashes=no],
+ [gl_cv_func_unlink_honors_slashes="guessing no"])
rm -f conftest.file conftest.lnk])
- if test x"$gl_cv_func_unlink_works" != xyes; then
+ dnl Detect MacOS X 10.5.6 bug: On read-write HFS mounts, unlink("..") or
+ dnl unlink("../..") succeeds without doing anything.
+ AC_CACHE_CHECK([whether unlink of a parent directory fails is it should],
+ [gl_cv_func_unlink_parent_fails],
+ [case "$host_os" in
+ darwin*)
+ dnl Try to unlink a subdirectory of /tmp, because /tmp is usually on a
+ dnl HFS mount on MacOS X. Use a subdirectory, owned by the current
+ dnl user, because otherwise unlink() may fail due to permissions
+ dnl reasons, and because when running as root we don't want to risk
+ dnl destroying the entire /tmp.
+ if {
+ # Use the mktemp program if available. If not available, hide the error
+ # message.
+ tmp=`(umask 077 && mktemp -d /tmp/gtXXXXXX) 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+ } ||
+ {
+ # Use a simple mkdir command. It is guaranteed to fail if the directory
+ # already exists. $RANDOM is bash specific and expands to empty in shells
+ # other than bash, ksh and zsh. Its use does not increase security;
+ # rather, it minimizes the probability of failure in a very cluttered /tmp
+ # directory.
+ tmp=/tmp/gt$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ }; then
+ mkdir "$tmp/subdir"
+ GL_SUBDIR_FOR_UNLINK="$tmp/subdir"
+ export GL_SUBDIR_FOR_UNLINK
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <unistd.h>
+ int main ()
+ {
+ if (chdir (getenv ("GL_SUBDIR_FOR_UNLINK")) != 0)
+ return 1;
+ return unlink ("..") == 0;
+ }
+ ]])],
+ [gl_cv_func_unlink_parent_fails=yes],
+ [gl_cv_func_unlink_parent_fails=no],
+ [gl_cv_func_unlink_parent_fails="guessing no"])
+ unset GL_SUBDIR_FOR_UNLINK
+ rm -rf "$tmp"
+ else
+ gl_cv_func_unlink_parent_fails="guessing no"
+ fi
+ ;;
+ *)
+ gl_cv_func_unlink_parent_fails="guessing yes"
+ ;;
+ esac
+ ])
+ case "$gl_cv_func_unlink_parent_fails" in
+ *no)
+ AC_DEFINE([UNLINK_PARENT_BUG], [1],
+ [Define to 1 if unlink() on a parent directory may succeed])
+ ;;
+ esac
+ if test "$gl_cv_func_unlink_honors_slashes" != yes \
+ || { case "$gl_cv_func_unlink_parent_fails" in
+ *yes) false;;
+ *no) true;;
+ esac
+ }; then
REPLACE_UNLINK=1
AC_LIBOBJ([unlink])
fi
--- /dev/null
+# serial 3
+# See if we need to provide utimensat replacement.
+
+dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_UTIMENSAT],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_CHECK_FUNCS_ONCE([utimensat])
+ if test $ac_cv_func_utimensat = no; then
+ HAVE_UTIMENSAT=0
+ AC_LIBOBJ([utimensat])
+ else
+ AC_CACHE_CHECK([whether utimensat works],
+ [gl_cv_func_utimensat_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+]], [[struct timespec ts[2] = { { 1, UTIME_OMIT }, { 1, UTIME_NOW } };
+ struct stat st;
+ const char *f = "conftest.file";
+ if (close (creat (f, 0600))) return 1;
+ if (utimensat (AT_FDCWD, f, NULL, AT_SYMLINK_NOFOLLOW)) return 2;
+ if (utimensat (AT_FDCWD, f, ts, 0)) return 3;
+ sleep (1);
+ ts[0].tv_nsec = UTIME_NOW;
+ ts[1].tv_nsec = UTIME_OMIT;
+ if (utimensat (AT_FDCWD, f, ts, 0)) return 4;
+ if (stat (f, &st)) return 5;
+ if (st.st_ctime < st.st_atime) return 6;]])],
+dnl FIXME: simplify this in 2012, when file system bugs are no longer common
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef __linux__
+/* The Linux kernel added utimensat in 2.6.22, but has bugs with UTIME_OMIT
+ in several file systems as recently as 2.6.32. Always replace utimensat
+ to support older kernels. */
+choke me
+#endif
+ ]])],
+ [gl_cv_func_utimensat_works=yes],
+ [gl_cv_func_utimensat_works="needs runtime check"])],
+ [gl_cv_func_utimensat_works=no],
+ [gl_cv_func_utimensat_works="guessing no"])])
+ if test "$gl_cv_func_utimensat_works" != yes; then
+ REPLACE_UTIMENSAT=1
+ AC_LIBOBJ([utimensat])
+ fi
+ fi
+])
-# vasnprintf.m4 serial 29
+# vasnprintf.m4 serial 31
dnl Copyright (C) 2002-2004, 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# Prerequisites of lib/vasnprintf.c.
AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
[
+ AC_REQUIRE([AC_C_INLINE])
AC_REQUIRE([AC_FUNC_ALLOCA])
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
AC_REQUIRE([gt_TYPE_WCHAR_T])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>])
+ dnl We can avoid a lot of code by assuming that snprintf's return value
+ dnl conforms to ISO C99. So check that.
+ AC_REQUIRE([gl_SNPRINTF_RETVAL_C99])
+ case "$gl_cv_func_snprintf_retval_c99" in
+ *yes)
+ AC_DEFINE([HAVE_SNPRINTF_RETVAL_C99], [1],
+ [Define if the return value of the snprintf function is the number of
+ of bytes (excluding the terminating NUL) that would have been produced
+ if the buffer had been large enough.])
+ ;;
+ esac
])
# Extra prerequisites of lib/vasnprintf.c for supporting 'long double'
dnl Written by Eric Blake.
-# wchar_h.m4 serial 32
+# wchar_h.m4 serial 33
AC_DEFUN([gl_WCHAR_H],
[
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
dnl Define it also as a C macro, for the benefit of the unit tests.
- gl_MODULE_INDICATOR([$1])
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_WCHAR_H_DEFAULTS],
-# wchar_t.m4 serial 3 (gettext-0.18)
+# wchar_t.m4 serial 4 (gettext-0.18.2)
dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gt_TYPE_WCHAR_T],
[
AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
- [AC_TRY_COMPILE([#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';], ,
- [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])])
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';]],
+ [[]])],
+ [gt_cv_c_wchar_t=yes],
+ [gt_cv_c_wchar_t=no])])
if test $gt_cv_c_wchar_t = yes; then
AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.])
fi
-# wcrtomb.m4 serial 4
+# wcrtomb.m4 serial 6
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_REQUIRE([AC_TYPE_MBSTATE_T])
gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_WCRTOMB=1
- fi
+
AC_CHECK_FUNCS_ONCE([wcrtomb])
if test $ac_cv_func_wcrtomb = no; then
HAVE_WCRTOMB=0
- fi
- if test $HAVE_WCRTOMB != 0 && test $REPLACE_WCRTOMB != 1; then
- dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes
- dnl returns 0 instead of 1.
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([gt_LOCALE_FR])
- AC_REQUIRE([gt_LOCALE_FR_UTF8])
- AC_REQUIRE([gt_LOCALE_JA])
- AC_REQUIRE([gt_LOCALE_ZH_CN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether wcrtomb return value is correct],
- [gl_cv_func_wcrtomb_retval],
- [
- dnl Initial guess, used when cross-compiling or when no suitable locale
- dnl is present.
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_WCRTOMB=1
+ else
+ dnl On AIX 4.3, OSF/1 5.1 and Solaris 10, wcrtomb (NULL, 0, NULL) sometimes
+ dnl returns 0 instead of 1.
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([gt_LOCALE_FR])
+ AC_REQUIRE([gt_LOCALE_FR_UTF8])
+ AC_REQUIRE([gt_LOCALE_JA])
+ AC_REQUIRE([gt_LOCALE_ZH_CN])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CACHE_CHECK([whether wcrtomb return value is correct],
+ [gl_cv_func_wcrtomb_retval],
+ [
+ dnl Initial guess, used when cross-compiling or when no suitable locale
+ dnl is present.
changequote(,)dnl
- case "$host_os" in
- # Guess no on AIX 4, OSF/1 and Solaris.
- aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
- esac
+ case "$host_os" in
+ # Guess no on AIX 4, OSF/1 and Solaris.
+ aix4* | osf* | solaris*) gl_cv_func_wcrtomb_retval="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_wcrtomb_retval="guessing yes" ;;
+ esac
changequote([,])dnl
- if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <stdio.h>
#include <string.h>
return 1;
}
return 0;
-}],
- [gl_cv_func_wcrtomb_retval=yes],
- [gl_cv_func_wcrtomb_retval=no],
- [:])
- fi
- ])
- case "$gl_cv_func_wcrtomb_retval" in
- *yes) ;;
- *) REPLACE_WCRTOMB=1 ;;
- esac
+}]])],
+ [gl_cv_func_wcrtomb_retval=yes],
+ [gl_cv_func_wcrtomb_retval=no],
+ [:])
+ fi
+ ])
+ case "$gl_cv_func_wcrtomb_retval" in
+ *yes) ;;
+ *) REPLACE_WCRTOMB=1 ;;
+ esac
+ fi
fi
if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
gl_REPLACE_WCHAR_H
-# wctype_h.m4 serial 5
+# wctype_h.m4 serial 8
dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
HAVE_ISWCNTRL=0
fi
AC_SUBST([HAVE_ISWCNTRL])
+ AC_CHECK_FUNCS_ONCE([iswblank])
+ AC_CHECK_DECLS_ONCE([iswblank])
+ if test $ac_cv_func_iswblank = yes; then
+ HAVE_ISWBLANK=1
+ REPLACE_ISWBLANK=0
+ else
+ HAVE_ISWBLANK=0
+ if test $ac_cv_have_decl_iswblank = yes; then
+ REPLACE_ISWBLANK=1
+ else
+ REPLACE_ISWBLANK=0
+ fi
+ fi
+ AC_SUBST([HAVE_ISWBLANK])
+ AC_SUBST([REPLACE_ISWBLANK])
+
AC_CHECK_HEADERS_ONCE([wctype.h])
AC_REQUIRE([AC_C_INLINE])
-# wcwidth.m4 serial 15
+# wcwidth.m4 serial 17
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
HAVE_DECL_WCWIDTH=0
fi
- if test $ac_cv_func_wcwidth = no; then
- REPLACE_WCWIDTH=1
- else
+ if test $ac_cv_func_wcwidth = yes; then
dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
dnl This leads to bugs in 'ls' (coreutils).
AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales],
[gl_cv_func_wcwidth_works],
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
/* AIX 3.2.5 declares wcwidth in <string.h>. */
#include <string.h>
if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0)
return 1;
return 0;
-}], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no],
+}]])],
+ [gl_cv_func_wcwidth_works=yes],
+ [gl_cv_func_wcwidth_works=no],
[
changequote(,)dnl
case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu*) gl_cv_func_wcwidth_works="guessing yes";;
- *) gl_cv_func_wcwidth_works="guessing no";;
+ # Guess yes on glibc and AIX 7 systems.
+ *-gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+ *) gl_cv_func_wcwidth_works="guessing no";;
esac
changequote([,])dnl
])
*no) REPLACE_WCWIDTH=1 ;;
esac
fi
- if test $REPLACE_WCWIDTH = 1; then
+ if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1; then
AC_LIBOBJ([wcwidth])
fi
-
- if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then
+ if test $ac_cv_func_wcwidth != yes || test $REPLACE_WCWIDTH = 1 \
+ || test $HAVE_DECL_WCWIDTH = 0; then
gl_REPLACE_WCHAR_H
fi
+ dnl We don't substitute HAVE_WCWIDTH. We assume that if the system does not
+ dnl have the wcwidth function, then it does not declare it.
])
-# wint_t.m4 serial 4 (gettext-0.18)
+# wint_t.m4 serial 5 (gettext-0.18.2)
dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gt_TYPE_WINT_T],
[
AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
- [AC_TRY_COMPILE([
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
#include <stdio.h>
#include <time.h>
#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])])
+ wint_t foo = (wchar_t)'\0';]],
+ [[]])],
+ [gt_cv_c_wint_t=yes],
+ [gt_cv_c_wint_t=no])])
if test $gt_cv_c_wint_t = yes; then
AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
fi
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \
- \
+ \
--flag=_:1:pass-c-format\
--flag=N_:1:pass-c-format\
--flag=error:3:c-format --flag=error_at_line:5:c-format\
# This file should be sent to translation@iro.umontreal.ca with the
# following subject line: TP-Robot tar-1.16.bg.po
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.16\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2006-11-23 22:40+0200\n"
"Last-Translator: Anton Zinoviev <zinoviev@debian.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
+"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Съобщавайте за програмни грешки на %s.\n"
"За грешки в българския превод на <dict@fsa-bg.org>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Непозната системна грешка"
msgid "give a short usage message"
msgstr "показва кратко съобщение за използването"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "ИМЕ"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: опцията „%s“ е двусмислена\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: опцията „--%s“ не допуска аргумент\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: опцията „%c%s“ не допуска аргумент\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: опцията „%s“ изисква аргумент\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: непозната опция „--%s“\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: непозната опция „%c%s“\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: неправилна опция -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: опцията изисква аргумент -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: опцията „-W %s“ е двусмислена\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: опцията „-W %s“ не допуска аргумент\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: опцията „%s“ изисква аргумент\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "паметта е изчерпана"
msgid "Cannot execute remote shell"
msgstr "Не може да се стартира отдалечена командна обвивка"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Посоката за отместване е недопустима"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "На опция е подаден неправилен режим"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Неправилен размер: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Мястото за позициониране е извън допустимия диапазон"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Неправилна дължина на лента"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Мястото за позициониране е извън допустимия диапазон"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Преждевременен край (eof)\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Вид основно действие:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Неочакван EOF"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "N"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "ФАЙЛ"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Не може да се отвори „%s“"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "твърде много аргументи"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Непозната команда"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Това не прилича на tar-архив"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Общо записани байтове"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Общо прочетени байтове"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Общо изтрити байтове: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(канал)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Неправилна стойност на record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Не е посочено име на архив"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Не може да се проверяват архиви на стандартните вход/изход"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Архивът е компресиран. Използвайте опцията %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Не може да се актуализират компресирани архиви"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "В началото на лентата, край на изпълнението"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Твърде много грешки, край на изпълнението"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "Размер на записа = %lu блок"
msgstr[1] "Размер на записа = %lu блока"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция "
"-i"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek не завърши при граница на запис"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: съдържа неправилен номер на том"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Препълване на номера на том"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Подгответе том №%d за %s и натиснете return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF, когато се очакваше отговор от потребителя"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ВНИМАНИЕ: Архивът е незавършен"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Прекратява tar\n"
" y или return Продължава изпълнението\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Поражда вторична командна обвивка\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Извежда този списък\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Няма повече томове; изход.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Не е посочено име на файл. Опитайте отново.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Неправилна команда. Използвайте ? за справка.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "командата %s не успя"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
"%s вероятно продължава в този том: заглавният запис съдържа отрязано име"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s не продължава с този том"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s е грешен размер (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Този том е извън поредицата"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Архивът не е етикетиран да отговаря на %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Томът %s не съответства на %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: името на файла е твърде дълго, за да се побере в заглавен запис на "
"многотомен ГНУ-архив и бе съкратено"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "EOF на архив %s не е на границата на блок"
msgstr[0] "Само %lu от %lu байт можаха да се прочетат"
msgstr[1] "Само %lu от %lu байта можаха да се прочетат"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Съдържанието се различава"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Неочакван знак за край (EOF) в архива"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Файловите типове се различават"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Режимите за достъп се различават"
msgid "Mod time differs"
msgstr "Времената на промяна се различават"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Размерите се различават"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Не е свързан с %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Символните връзки се различават"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Номерата на устройство се различават"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Проверка"
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Непознат файлов тип „%c“, сравнява се като обикновен файл"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Архивът съдържа файлови имена, с отстранени префикси."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Проверката може и да не открие оригиналните файлове."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "НЕУСПЕШНА ПРОВЕРКА: открита е %d неправилен заглавен запис"
msgstr[1] "НЕУСПЕШНА ПРОВЕРКА: открити са %d неправилни заглавни записа"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Изолиран блок от нули при %s"
-#: src/create.c:68
+#: src/create.c:72
#, fuzzy, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: каталогът е обозначен като кеш; не се архивира"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
"стойността на %s е извън границите %s на диапазона %s..%s; замества се с %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "стойността %s е извън границите %s на диапазона %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Генерират се отрицателни осмични заглавни записи"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: файловото име е твърде дълго (максимум %d); не е архивирано"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: файловото име е твърде дълго (не може да се раздели); не е архивирано"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: името на символната връзка е твърде дълго; не е архивирано"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Файлът намаля с %s байт; допълва се с нула"
msgstr[1] "%s: Файлът намаля с %s байта; допълва се с нули"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: файлът е в друга файлова система; не се архивира"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Непознат файлов тип; файлът се пренебрегва"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Неархивирани връзки с %s.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: файлът не е променен; не се архивира"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: файлът е архив; не се архивира"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
#, fuzzy
msgid "directory not dumped"
msgstr "%s: каталогът е обозначен като кеш; не се архивира"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: файлът бе изменен по време на четене"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: гнездото се пренебрегва"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: пренебрегва се специалният файл тип door"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Пропуска се до следващия заглавен запис"
msgid "Deleting non-header from archive"
msgstr "Изтрива се незаглавен запис от архива"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: записано е невероятно старо време %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: записано е време %s, което е %s сек. в бъдещето"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Неочаквана несъгласуваност при създаване на каталог"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
"%s: каталогът бе преименуван преди да може да се извлече състоянието му"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Продължаващи файлове се извличат като обикновени файлове"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Опитва се извличането на символни връзки като твърди"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: Не може да се извлича -- файлът продължава с друг том"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Неочаквано дълъг заглавен запис"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Текущият %s е по-нов или със същата възраст"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Не можа да се направи резервно копие на този файл"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Бе невъзможно %s да се преименува на %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Каталогът бе преименуват от %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Каталогът бе преименуван"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Каталогът е нов"
msgid "%s: Cannot remove"
msgstr "%s: Не може да се изтрие"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Пропуска се"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "блок %s: ** Блок от знаци NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "блок %s: ** Край на файла **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "блок %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
"Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " връзка към %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " непознат файлов тип %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Дълга връзка--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Дълго име--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Заглавен запис на тома--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Продължава при байт %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Създава се каталог:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Не може да се смени работният каталог"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Преименува се %s на %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Не може да се преименува на %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Преименува се %s обратно на %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Не може да се запази работният каталог"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Не може да се смени работният каталог"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Файлът бе изтрит преди да бъде прочетен"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Файлът бе изтрит преди да бъде прочетен"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "породен процес"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "междупроцесен канал"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "Във файловите имена са използвани „*“ и „?“. Моля,"
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "използвайте --wildcards, за да позволите съпоставяне с образци,"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Не е открит в архива"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Необходимо срещане не е открито в архива"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Архивът не е етикетиран да отговаря на %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-"
"style=help“, за да получите списък."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"tar\n"
" tar -xf архив.tar # Извлича от архив.tar всички файлове\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
"иначе\n"
" never, simple винаги да се правят прости резервни копия\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Вид основно действие:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "изрежда съдържанието на архив"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "извлича файлове от архива"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "създава нов архив"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "намира разликите между архива и файловата система"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "добавя файлове в края на архив"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "добавя само файлове, по-нови от копието в архива"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "прибавя tar-файлове към архива"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "трие файлове от архива (не при магнитни ленти!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "проверява етикета на тома и завършва"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Модификатори на действието:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "работи ефективно с разредени файлове"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "ГОЛЯМ[.МАЛЪК]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "определя версията на формата разредени файлове (влече --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "със стар формат ГНУ за инкрементално архивиране"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "с новия формат на ГНУ за инкрем. архивиране"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "при нечитаеми файлове не завършва с грешка"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"list и когато списъкът от файлове е зададен или на командния ред, или с "
"опция -T. Ако не е посочен N, се подразбира 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "архивът е с произволен достъп"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "архивът е с произволен достъп"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Регулиране заместването на файлове:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "след записа опитва да провери архива"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "изтрива файловете след като ги добави в архива"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "при извличане не замества съществуващи файлове"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
"не замества съществуващи файлове, ако са по-нови от копията им в архива"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "при извличане замества съществуващи файлове"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "изтрива всеки файл преди да извлича върху него"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "изпразва йерархията преди извличане на каталог"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "запазва метаданните на съществуващи каталози"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"при извличане замества метаданните на съществуващи каталози (подразбира се)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Избор на изходен поток:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "извлича файловете на стандартния изход"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "КОМАНДА"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "подава с канал всеки извлечен файл към КОМАНДА"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "игнорира кода на завършване на породени процеси"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "счита за грешка всеки ненулев код на завършване на породен процес"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Подход спрямо файловите атрибути:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "прави ИМЕ да е собственик на добавените файлове"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "прави ИМЕ да бъде групата на добавените файлове"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "ДАТА-ИЛИ-ФАЙЛ"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ПРОМЕНИ"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "модифицира режима за достъп на добавени файлове"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "МЕТОД"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"времената след четене (при МЕТОД=„replace“, подразбира се), или не променя "
"имената изобщо (МЕТОД=„system“)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "не извлича времето на промяна на файловете"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "опитва да възстановява собствеността на файловете"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "извлича файловете от ваше име"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "използва числа вместо имена за потребител и група"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"възстановява точно (без umask) режима на достъп (подразбира се при "
"привилегирован потребител)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"прилага umask на потребителя при извличане на файлове (подразбира се при "
"обикновен потребител)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "файловете за извличане са сортирани според архива"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "същото като едновременно -p и -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"забавя настройката на времето на промяна и режима за достъп на извличаните "
"каталози докато извличането завърши"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "отменя ефекта на --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Избор на устройство и смяна:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "АРХИВ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "използва архивния файл или устройство АРХИВ"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "архивният файл е локален дори при двуеточие"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "използва посочената КОМАНДА вместо rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "използва посочената КОМАНДА вместо rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "посочва устройство и гъстота"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "създава/извежда/извлича многотомен архив"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "смяна на лентата след запис на 1024 x N байта"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "изпълнява скрипт в края на всяка лента (влече -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "ползва от и обновява във ФАЙЛ номера на тома"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Блокуване на устройството:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "БЛОКОВЕ"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "БЛОКОВЕ x 512 байта в секунда"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "прави N-байтови записи, кратно на 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "пренебрегва блоковете от нули и продължава"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "преформира при четене блоковете (канали 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Избор на архивен формат:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "ФОРМАТ"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "създава архив с посочения формат"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "ФОРМАТ е някой от следните:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "стар формат tar, V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "формат на ГНУ при tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "формат на версия 1.13.x на tar на ГНУ"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "формат POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "формат POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "същото като pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "същото като --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "същото като --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "управляващи ключови думи за pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "ТЕКСТ"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името "
"на тома с ТЕКСТ"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Противоречащи си опции за компресиране"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "Не може да се пише към компресиращата програма"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "Не може да се пише към компресиращата програма"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "ПРОГ"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "прекарва архива през ПРОГ (трябва да приема -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Избор на локален файл:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
"добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "КАТ"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "работи в каталога КАТ"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "взема имената за извличане или създаване от ФАЙЛ"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T чете имена, завършващи с нулев байт"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "не декодира „\\“ във файловите имена на -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "ОБРАЗЕЦ"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "без файловете, отговарящи на ОБРАЗЕЦ"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ"
-#: src/tar.c:657
+#: src/tar.c:658
#, fuzzy
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:660
+#: src/tar.c:661
#, fuzzy
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:663
+#: src/tar.c:664
#, fuzzy
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:665
+#: src/tar.c:666
#, fuzzy
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:668
+#: src/tar.c:669
#, fuzzy
msgid "exclude everything under directories containing FILE"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:670
+#: src/tar.c:671
#, fuzzy
msgid "exclude directories containing FILE"
msgstr "без каталози, обозначени като кеширащи"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "без автоматично влизане в подкаталозите"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "работи в рамките на локалната файлова система"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "влиза рекурсивно в подкаталозите (подразбира се)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "не маха „/“ в началото на файлови имена"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "следва симв. връзки; архивира сочените файлове"
-#: src/tar.c:686
+#: src/tar.c:687
#, fuzzy
msgid "follow hard links; archive and dump the files they refer to"
msgstr "следва симв. връзки; архивира сочените файлове"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "ЧЛЕН-ИМЕ"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "ДАТА"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "сравнява времето само ако данните са променени"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "МЕТОД"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "резервно копира съществуващи файлове с МЕТОД"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "НИЗ"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"освен ако не е бил сменен с променливата от обкръжението "
"SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Промени на файловите имена:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "при извличане маха N начални каталози от файловите пътеки"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "ИЗРАЗ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
"преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "пренебрегва разликата между големи/малки букви"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "съпоставянето с образците започва от началото на файловото име"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "отчита се разликата между малки и големи букви (подразбира се)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "ползва „*“ и „?“ (подразбира се за изключване)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "дословно низово сравнение"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "„/“ не пасва с „*“ и „?“"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Извеждане на информация:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "подробно изрежда обработените файлове"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "Регулиране заместването на файлове:"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "съобщава, ако не всички твърди връзки са включени"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "СИГНАЛ"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"извежда текущите байтове при получаване на СИГНАЛ. Допустими СИГНАЛи са "
"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "извежда времената по Гринуич"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "изпраща подробния изход във ФАЙЛ"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "показва номера на блок в архива с всяко съобщение"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "изисква потвърждение за всяко действие"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "показва подразбираното от tar"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"при извеждане или извличане изрежда всеки каталог, който се пропуска по "
"някаква причина"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "показва преобразуваните файлови имена в архива"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "НАЧИН"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
"начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "работи и със знаците от НИЗ като със специални"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "не работи със знаците от НИЗ като със специални"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Опции за съвместимост:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"при създаване е същото като --old-archive; при извличане е същото като --no-"
"same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Други опции:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "забранява някои потенциално опасни опции"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Не може да се използва повече от една опция „-Acdtrux“"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Противоречащи си опции за компресиране"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Непознато име на сигнал: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Не е открит еталлонният файл за дата"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Използва се %s вместо непознатия файлов формат за дата %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Опция %s: Датата „%s“ се разглежда като %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: файловият списък вече е прочетен"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: файловото име съдържа нулев байт"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "прекарва архива през gzip"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Правилни аргументи за опциите --quoting-style са:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Този* tar подразбира следното:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Неправилен фактор за блокуване"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Неправилна дължина на лента"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Грешен инкрементален файлов формат"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Повече от една ограничителна дата"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Неправилна версия на формат разредени файлове"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' не се поддържа на тази платформа"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "стойността на --checkpoint не е цяло число"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Неправилна група"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "На опция е подаден неправилен режим"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Неправилно число"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Неправилен собственик"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Неправилен размер на запис"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Размерът на запис трябва да е кратен на %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Неправилен брой елементи"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Позволява се само една опция --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Лошо образуван аргумент за гъстота: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Непозната гъстота: „%c“"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[ФАЙЛ]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Старата опция „%c“ изисква аргумент."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "без списък файлове опцията --occurrence е безсмислена"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "не може да се използва --occurrence при пожелания начин на работа"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Използването на много архивни файлове изисква опция „-M“"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Не може да се съчетават --listed-incremental с --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "без списък файлове опцията --occurrence е безсмислена"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Не може да се проверяват многотомни архиви"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Не може да се проверяват компресирани архиви"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Не може да се използват многотомни компресирани архиви"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Не може да се съединяват компресирани архиви"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
"опцията --pax-option може да се използва само при архиви във формат POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Страхлив отказ да се създава празен архив"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Опциите „-Aru“ са несъвместими с „-f -“"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Трябва да посочите поне една от опциите „-Acdtrux“"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Файлът намаля с %s байт"
msgstr[1] "%s: Файлът намаля с %s байта"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Ключовата дума %s е непозната или все още не е реализирана"
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Записано е време извън допустимия диапазон"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Образецът %s не може да се използва"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Ключовата дума %s не може да се отмени"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Лошо формиран разширен заглавен запис: не е посочена дължина"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Дължината на разширен заглавен запис е извън допустимия диапазон"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Дължината %*s на разширен заглавен запис е извън допустимия диапазон"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Лошо формиран разширен заглавен запис: липсва интервал след дължината"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Лошо формиран разширен заглавен запис: липсва знак за равенство"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Лошо формиран разширен заглавен запис: липсва знак за нов ред"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
"Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, c-format
msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
msgstr ""
-"Генерираната двойка <ключова дума, стойност> е твърде дълга (ключова дума=%"
-"s, дължина=%s)"
+"Генерираната двойка <ключова дума, стойност> е твърде дълга (ключова дума="
+"%s, дължина=%s)"
#. TRANSLATORS: The first %s is the pax extended header keyword
#. (atime, gid, etc.).
-#: src/xheader.c:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Контролна точка при четене %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile борави с файловете с данни за тестовия пакет GNU paxutils.\n"
"ОПЦИИТЕ са:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Опции за създаването на файл:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "РАЗМЕР"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Създава файл с посочения РАЗМЕР"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Запис във файл ИМЕ вместо на стандартния изход"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Чете файловите имена от ФАЙЛ"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T чете имена, завършващи с нулев байт"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Попълва файла с посочения ОБРАЗЕЦ. ОБРАЗЕЦ може да бъде „default“ или „zeros“"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Размер на блок за разреден файл"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Генерира разреден файл. Останалата част от командния ред дава карта на файла."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "след записа опитва да провери архива"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Опции за файлови статистики:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Извежда съдържанието на структурата stat за всеки файл. По подразбиране "
"ФОРМАТ е: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Опции за синхронизирано изпълнение:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [ОПЦИЯ...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"Изпълнява посочената КОМАНДА. Полезно с --checkpoint и някоя от --cut, --"
"append, --touch"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Изпълнява посоченото действие (вж. по-долу) до достигането на контролна "
"точка N"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Посочва дата за следващата опция --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Извежда изпълнените контролни точки и кода на завършване на КОМАНДА"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Синхронизирано изпълнение на действията. Те се изпълняват когато се достигне "
"контролната точка с номер, посочен с --checkpoint."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Отсича ФАЙЛ до размера, определен с предхождаща опция --length (подразбира "
"се 0)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Добавя РАЗМЕР байтове към ФАЙЛ. РАЗМЕРът се определя от предхождаща опция --"
"length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Обновява времето на достъп и промяна на FILE"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Изпълнява КОМАНДА"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Неправилен размер: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Номер извън допустимия диапазон: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Отрицателен размер: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "не успя stat(%s)"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Грешка при анализа на число до „%s“"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Непознат формат за дата"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[АРГУМ...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "Не може да се отвори „%s“"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Не може да се изпълни %s"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "името на файла съдържа нулев байт"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"не може да се създават разредени файлове на стандартния изход, използвайте "
"опцията --file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "неправилна маска (до „%s“)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Непознато поле „%s“"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "не може да се смени времето на „%s“"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Не може да се отвори „%s“"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Командата завърши успешно\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Командата завърши с код %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Командата бе прекратена със сигнал %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Командата бе спряна със сигнал %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Командата генерира core\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Командата бе прекратена\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat изисква файлови имена"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Не може да се запази работният каталог"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Бе невъзможно %s да се преименува на %s"
+
+#~ msgid "suppress this warning."
+#~ msgstr "или --no-wildcards, за да не се извежда това предупреждение."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: неправилна опция -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Чете се %s\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "Съобщавайте за програмни грешки на <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Чете се %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Грешката е непоправима: край на изпълнението"
-
-#~ msgid "suppress this warning."
-#~ msgstr "или --no-wildcards, за да не се извежда това предупреждение."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "прекарва архива през bzip2"
#~ msgid "Premature end of file"
#~ msgstr "Преждевременен край на файла"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Грешката е непоправима: край на изпълнението"
+
#~ msgid "block size"
#~ msgstr "блоковият размер"
--- /dev/null
+# Catalan translation for tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the tar package.
+# Àngel Mompó <mecatxis@gmail.com>, 2010.
+#: src/create.c:1550
+msgid ""
+msgstr ""
+"Project-Id-Version: tar-1.23.90\n"
+"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-18 20:14+0200\n"
+"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
+"Language-Team: Catalan <ca@dodds.net>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: gnu/argmatch.c:135
+#, c-format
+msgid "invalid argument %s for %s"
+msgstr "el paràmetre %s no és vàlid per %s"
+
+#: gnu/argmatch.c:136
+#, c-format
+msgid "ambiguous argument %s for %s"
+msgstr "el paràmetre %s és ambigu per %s"
+
+#: gnu/argmatch.c:155
+#, c-format
+msgid "Valid arguments are:"
+msgstr "Els paràmetres vàlids són:"
+
+#: gnu/argp-help.c:149
+#, c-format
+msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
+msgstr "ARGP_HELP_FMT: el valor de %s és més petit o igual que %s"
+
+#: gnu/argp-help.c:222
+#, c-format
+msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
+msgstr "%.*s: El paràmetre ARGP_HELP_FMT necessita un valor"
+
+#: gnu/argp-help.c:228
+#, c-format
+msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
+msgstr "%.*s: El paràmetre ARGP_HELP_FMT ha de ser positiu"
+
+#: gnu/argp-help.c:237
+#, c-format
+msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
+msgstr "%.*s: Paràmetre ARGP_HELP_FMT desconegut"
+
+#: gnu/argp-help.c:249
+#, c-format
+msgid "Garbage in ARGP_HELP_FMT: %s"
+msgstr "Hi ha brossa a ARGP_HELP_FMT: %s"
+
+#: gnu/argp-help.c:1246
+msgid ""
+"Mandatory or optional arguments to long options are also mandatory or "
+"optional for any corresponding short options."
+msgstr ""
+"Els paràmetres obligatoris o opcionals per les opcions llargues també ho són "
+"per les corresponents opcions curtes."
+
+#: gnu/argp-help.c:1639
+msgid "Usage:"
+msgstr "Ús:"
+
+#: gnu/argp-help.c:1643
+msgid " or: "
+msgstr " o: "
+
+#: gnu/argp-help.c:1655
+msgid " [OPTION...]"
+msgstr " [OPCIÓ...]"
+
+#: gnu/argp-help.c:1682
+#, c-format
+msgid "Try `%s --help' or `%s --usage' for more information.\n"
+msgstr "Proveu «%s --help» o «%s --usage» per més informació.\n"
+
+#: gnu/argp-help.c:1710
+#, c-format
+msgid "Report bugs to %s.\n"
+msgstr "Informeu dels errors de programació a %s.\n"
+
+#: gnu/argp-help.c:1929 gnu/error.c:183
+msgid "Unknown system error"
+msgstr "Error de sistema desconegut"
+
+#: gnu/argp-parse.c:83
+msgid "give this help list"
+msgstr "dóna aquesta llista d'ajuda"
+
+#: gnu/argp-parse.c:84
+msgid "give a short usage message"
+msgstr "dóna un missatge curt sobre utilització"
+
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
+msgid "NAME"
+msgstr "NOM"
+
+#: gnu/argp-parse.c:85
+msgid "set the program name"
+msgstr "definiu el nom del programa"
+
+#: gnu/argp-parse.c:86
+msgid "SECS"
+msgstr "SEGS"
+
+#: gnu/argp-parse.c:87
+msgid "hang for SECS seconds (default 3600)"
+msgstr "es penja durant SECS segons (per defecte 3600)"
+
+#: gnu/argp-parse.c:144
+msgid "print program version"
+msgstr "mostra la versió del programa"
+
+#: gnu/argp-parse.c:160
+#, c-format
+msgid "(PROGRAM ERROR) No version known!?"
+msgstr "(ERROR DE PROGRAMA) Versió desconeguda!?"
+
+#: gnu/argp-parse.c:613
+#, c-format
+msgid "%s: Too many arguments\n"
+msgstr "%s: Massa paràmetres\n"
+
+#: gnu/argp-parse.c:756
+msgid "(PROGRAM ERROR) Option should have been recognized!?"
+msgstr "(ERROR DE PROGRAMA) Hauria de conèixer l'opció!?"
+
+#: gnu/closeout.c:114
+msgid "write error"
+msgstr "error d'escriptura"
+
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l'opció «%s» és ambigua\n"
+
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: l'opció «--%s» no permet cap paràmetre\n"
+
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: l'opció «%c%s» no permet cap paràmetre\n"
+
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: l'opció «--%s» necessita un paràmetre\n"
+
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opció no reconeguda «--%s»\n"
+
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opció no reconeguda «%c%s»\n"
+
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: opció invàlida -- «%c»\n"
+
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: l'opció necessita un paràmetre -- «%c»\n"
+
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: l'opció «-W %s» és ambigua\n"
+
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: l'opció «-W %s» no permet cap paràmetre\n"
+
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: l'opció «-W %s» necessita un paràmetre\n"
+
+#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
+msgid "memory exhausted"
+msgstr "memòria exhaurida"
+
+#: gnu/openat-die.c:36
+#, c-format
+msgid "unable to record current working directory"
+msgstr "No es pot desar el directori de treball actual"
+
+#: gnu/openat-die.c:54
+#, c-format
+msgid "failed to return to initial working directory"
+msgstr "No es pot tornar al directori de treball inicial"
+
+#. TRANSLATORS:
+#. Get translations for open and closing quotation marks.
+#.
+#. The message catalog should translate "`" to a left
+#. quotation mark suitable for the locale, and similarly for
+#. "'". If the catalog has no translation,
+#. locale_quoting_style quotes `like this', and
+#. clocale_quoting_style quotes "like this".
+#.
+#. For example, an American English Unicode locale should
+#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
+#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
+#. MARK). A British English Unicode locale should instead
+#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK)
+#. and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
+#.
+#. If you don't know what to put here, please see
+#. <http://en.wikipedia.org/wiki/Quotation_mark#Glyphs>
+#. and use glyphs suitable for your language.
+#: gnu/quotearg.c:274
+msgid "`"
+msgstr "«"
+
+#: gnu/quotearg.c:275
+msgid "'"
+msgstr "»"
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes"). Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: gnu/rpmatch.c:149
+msgid "^[yY]"
+msgstr "^[sS]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no"). Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: gnu/rpmatch.c:162
+msgid "^[nN]"
+msgstr "^[nN]"
+
+#: gnu/version-etc.c:76
+#, c-format
+msgid "Packaged by %s (%s)\n"
+msgstr "Empaquetat per %s (%s)\n"
+
+#: gnu/version-etc.c:79
+#, c-format
+msgid "Packaged by %s\n"
+msgstr "Empaquetat per %s\n"
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale. Otherwise, do not translate "(C)"; leave it as-is.
+#: gnu/version-etc.c:86
+msgid "(C)"
+msgstr "(C)"
+
+#: gnu/version-etc.c:88
+msgid ""
+"\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>.\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+"\n"
+msgstr ""
+"\n"
+"Llicència GPLV3+: GNU GPL versió 3 o posterior <http://gnu.org/licenses/gpl."
+"html>\n"
+"Això és programari lliure: podeu modificar-lo i redistribuir-lo si voleu.\n"
+"No hi ha CAP GARANTIA, en la mesura que ho permeti la llei.\n"
+
+#. TRANSLATORS: %s denotes an author name.
+#: gnu/version-etc.c:104
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrit per %s. \n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: gnu/version-etc.c:108
+#, c-format
+msgid "Written by %s and %s.\n"
+msgstr "Escrit per %s i %s. \n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#: gnu/version-etc.c:112
+#, c-format
+msgid "Written by %s, %s, and %s.\n"
+msgstr "Escrit per %s, %s, i %s. \n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:119
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Escrit per %s, %s, %s,\n"
+"i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:126
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Escrit per %s, %s, %s,\n"
+"%s, i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:133
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, and %s.\n"
+msgstr ""
+"Escrit per %s, %s, %s,\n"
+"%s, %s, i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:141
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, and %s.\n"
+msgstr ""
+"Escrit per %s, %s, %s,\n"
+"%s, %s, %s, i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:149
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"and %s.\n"
+msgstr ""
+"Escrit per %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"i %s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:158
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, and %s.\n"
+msgstr ""
+"Escrit per %s,·%s,·%s \n"
+"%s,·%s,·%s,·%s,\n"
+"%s,·and·%s.\n"
+
+#. TRANSLATORS: Each %s denotes an author name.
+#. You can use line breaks, estimating that each author name occupies
+#. ca. 16 screen columns and that a screen line has ca. 80 columns.
+#: gnu/version-etc.c:169
+#, c-format
+msgid ""
+"Written by %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, and others.\n"
+msgstr ""
+"Escrit per %s,·%s,·%s,\n"
+"%s,·%s,·%s,·%s,\n"
+"%s,·%s,·i d'altres.\n"
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to <...>\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: gnu/version-etc.c:247
+#, c-format
+msgid ""
+"\n"
+"Report bugs to: %s\n"
+msgstr ""
+"\n"
+"Informeu dels errors a <%s>.\n"
+
+#: gnu/version-etc.c:249
+#, c-format
+msgid "Report %s bugs to: %s\n"
+msgstr "Informeu %s errors a: %s\n"
+
+#: gnu/version-etc.c:253
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "%s pàgina inicial <%s>\n"
+
+#: gnu/version-etc.c:255
+#, c-format
+msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
+msgstr "%s pàgina inicial: <http://www.gnu.org/software/%s/>\n"
+
+#: gnu/version-etc.c:258
+msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
+msgstr ""
+"Ajuda general per quan es fa servir programari de GNU: <http://www.gnu.org/"
+"gethelp/>\n"
+
+#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
+#. Directly translating this to another language will not work, first because
+#. %s itself is not translated.
+#. Translate it as `%s: Function %s failed'.
+#: lib/paxerror.c:58 lib/paxerror.c:71
+#, c-format
+msgid "%s: Cannot %s"
+msgstr "%s: No es pot %s"
+
+#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
+#. Directly translating this to another language will not work, first because
+#. %s itself is not translated.
+#. Translate it as `%s: Function %s failed'.
+#: lib/paxerror.c:84
+#, c-format
+msgid "%s: Warning: Cannot %s"
+msgstr "%s: Avís: No es pot %s"
+
+#: lib/paxerror.c:93
+#, c-format
+msgid "%s: Cannot change mode to %s"
+msgstr "%s: No es pot canviar el mode a %s"
+
+#: lib/paxerror.c:101
+#, c-format
+msgid "%s: Cannot change ownership to uid %lu, gid %lu"
+msgstr "%s: No es pot canviar la titularitat a uid %lu, gid %lu"
+
+#: lib/paxerror.c:127
+#, c-format
+msgid "%s: Cannot hard link to %s"
+msgstr "%s: No es pot crear l'enllaç dur amb %s"
+
+#: lib/paxerror.c:179 lib/paxerror.c:211
+#, c-format
+msgid "%s: Read error at byte %s, while reading %lu byte"
+msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
+msgstr[0] "%s: Error de lectura al byte %s, quan s'estava llegint %lu byte"
+msgstr[1] "%s: Error de lectura al byte %s, quan s'estaven llegint %lu bytes"
+
+#: lib/paxerror.c:192
+#, c-format
+msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
+msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
+msgstr[0] ""
+"%s: Avís: Error de lectura al byte %s, quan s'estava llegint %lu byte"
+msgstr[1] "%s: Error de lectura al byte %s, quan s'estaven llegint %lu bytes"
+
+#: lib/paxerror.c:259
+#, c-format
+msgid "%s: Cannot seek to %s"
+msgstr "%s: No es pot buscar a %s"
+
+#: lib/paxerror.c:275
+#, c-format
+msgid "%s: Warning: Cannot seek to %s"
+msgstr "%s: Avís: No es pot buscar a %s"
+
+#: lib/paxerror.c:284
+#, c-format
+msgid "%s: Cannot create symlink to %s"
+msgstr "%s: No es pot crear l'enllaç simbòlic 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: S'ha escrit només %lu de %lu byte"
+msgstr[1] "%s: S'han escrit només %lu de %lu bytes"
+
+#: lib/paxnames.c:155
+#, c-format
+msgid "Removing leading `%s' from member names"
+msgstr "Es treuen les primeres «%s» dels noms dels membres"
+
+#: lib/paxnames.c:156
+#, c-format
+msgid "Removing leading `%s' from hard link targets"
+msgstr "Es treuen les primeres «%s» dels objectius dels enllaços durs"
+
+#: lib/paxnames.c:169
+msgid "Substituting `.' for empty member name"
+msgstr "Se substitueixen «.» per noms buits de membres"
+
+#: lib/paxnames.c:170
+msgid "Substituting `.' for empty hard link target"
+msgstr "Se substitueixen «.» per objectius buits d'enllaços durs"
+
+#: lib/rtapelib.c:299
+#, c-format
+msgid "exec/tcp: Service not available"
+msgstr "exec/tcp: El servei no està disponible"
+
+#: lib/rtapelib.c:303
+#, c-format
+msgid "stdin"
+msgstr "stdin"
+
+#: lib/rtapelib.c:306
+#, c-format
+msgid "stdout"
+msgstr "stdout"
+
+#: lib/rtapelib.c:429
+#, c-format
+msgid "Cannot connect to %s: resolve failed"
+msgstr "No es pot connectar amb %s: no s'ha pogut resoldre"
+
+#: lib/rtapelib.c:515
+#, c-format
+msgid "Cannot execute remote shell"
+msgstr "No es pot executar un interpret d'ordres remot"
+
+#: rmt/rmt.c:432
+msgid "Seek direction out of range"
+msgstr "La direcció de cerca està fora de rang"
+
+#: rmt/rmt.c:438
+msgid "Invalid seek direction"
+msgstr "La direcció de cerca no és vàlida"
+
+#: rmt/rmt.c:446
+msgid "Invalid seek offset"
+msgstr "L'òfset de cerca no és vàlid"
+
+#: rmt/rmt.c:452
+msgid "Seek offset out of range"
+msgstr "L'òfset de cerca està fora de rang"
+
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
+msgid "Invalid byte count"
+msgstr "La mida en bytes no és vàlida"
+
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
+msgid "Byte count out of range"
+msgstr "La mida en bytes està fora de rang"
+
+#: rmt/rmt.c:558
+msgid "Premature eof"
+msgstr "Final del fitxer prematur"
+
+#: rmt/rmt.c:601
+msgid "Invalid operation code"
+msgstr "El codi de l'operació no és vàlid"
+
+#: rmt/rmt.c:636 rmt/rmt.c:680
+msgid "Operation not supported"
+msgstr "No se suporta la operació"
+
+#: rmt/rmt.c:664
+msgid "Unexpected arguments"
+msgstr "Arguments inesperats"
+
+#: rmt/rmt.c:689
+msgid "Manipulate a tape drive, accepting commands from a remote process"
+msgstr "Manipula una unitat de cinta, acceptant comandes d'un procés remot"
+
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
+msgid "NUMBER"
+msgstr "NÚMERO"
+
+#: rmt/rmt.c:697
+msgid "set debug level"
+msgstr "estableix el nivell de depuració"
+
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
+msgid "FILE"
+msgstr "FITXER"
+
+#: rmt/rmt.c:699
+msgid "set debug output file name"
+msgstr "estableix el nom del fitxer de sortida de la depuració"
+
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
+msgid "cannot open %s"
+msgstr "no es pot obrir %s"
+
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
+#, c-format
+msgid "too many arguments"
+msgstr "massa arguments"
+
+#: rmt/rmt.c:822
+msgid "Garbage command"
+msgstr "Ordre escombraria"
+
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
+msgid "This does not look like a tar archive"
+msgstr "No sembla un arxiu tar"
+
+#: src/buffer.c:450 src/buffer.c:459
+msgid "Total bytes written"
+msgstr "Bytes totals escrits"
+
+#: src/buffer.c:457 src/buffer.c:471
+msgid "Total bytes read"
+msgstr "Bytes totals llegits"
+
+#: src/buffer.c:461
+#, c-format
+msgid "Total bytes deleted: %s\n"
+msgstr "Bytes totals esborrats: %s\n"
+
+#: src/buffer.c:550
+msgid "(pipe)"
+msgstr "(conducte)"
+
+#: src/buffer.c:573
+msgid "Invalid value for record_size"
+msgstr "El valor de record_size no és vàlid"
+
+#: src/buffer.c:576
+msgid "No archive name given"
+msgstr "No s'ha donat el nom de l'arxiu"
+
+#: src/buffer.c:618
+msgid "Cannot verify stdin/stdout archive"
+msgstr "No es pot verificar l'arxiu stdin/stdout"
+
+#: src/buffer.c:632
+#, c-format
+msgid "Archive is compressed. Use %s option"
+msgstr "L'arxiu està comprimit. Feu servir l'opció %s"
+
+#: src/buffer.c:689 src/tar.c:2448
+msgid "Cannot update compressed archives"
+msgstr "No es poden actualitzar els arxius comprimits"
+
+#: src/buffer.c:782
+msgid "At beginning of tape, quitting now"
+msgstr "Al principi de la cinta, se surt"
+
+#: src/buffer.c:788
+msgid "Too many errors, quitting"
+msgstr "Massa errors, se surt"
+
+#: src/buffer.c:821
+#, c-format
+msgid "Record size = %lu block"
+msgid_plural "Record size = %lu blocks"
+msgstr[0] "Mida del registre = %lu bloc"
+msgstr[1] "Mida del registre = %lu blocs"
+
+#: src/buffer.c:842
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Bloc desalineat(byte %lu) a l'arxiu"
+msgstr[1] "Bloc desalineat(bytes %lu) a l'arxiu"
+
+#: src/buffer.c:919
+msgid "Cannot backspace archive file; it may be unreadable without -i"
+msgstr ""
+"No es pot tornar enrere al fitxer d'arxiu; potser no es pot llegir sense -i"
+
+#: src/buffer.c:951
+msgid "rmtlseek not stopped at a record boundary"
+msgstr "rmtlseek no s'ha aturat als límits d'un registre "
+
+#: src/buffer.c:1002
+#, c-format
+msgid "%s: contains invalid volume number"
+msgstr "%s: conté un número de volum invàlid"
+
+#: src/buffer.c:1037
+msgid "Volume number overflow"
+msgstr "Desbordament del número de volum"
+
+#: src/buffer.c:1052
+#, c-format
+msgid "Prepare volume #%d for %s and hit return: "
+msgstr "Prepareu el volum #%d per %s i premeu retorn: "
+
+#: src/buffer.c:1058
+msgid "EOF where user reply was expected"
+msgstr "Final del fitxer on s'esperava una resposta de l'usuari"
+
+#: src/buffer.c:1063 src/buffer.c:1095
+msgid "WARNING: Archive is incomplete"
+msgstr "AVÍS: L'arxiu és incomplet"
+
+#: src/buffer.c:1077
+#, c-format
+msgid ""
+" n name Give a new file name for the next (and subsequent) volume(s)\n"
+" q Abort tar\n"
+" y or newline Continue operation\n"
+msgstr ""
+" n nom Dona el nom d'un fitxer nou pel següents (i següents) volum"
+"(s)\n"
+" q Interromp tar\n"
+" y Continua l'operació\n"
+
+#: src/buffer.c:1082
+#, c-format
+msgid " ! Spawn a subshell\n"
+msgstr " ! Engendra un interpret d'ordres\n"
+
+#: src/buffer.c:1083
+#, c-format
+msgid " ? Print this list\n"
+msgstr " ? Mostra aquesta ajuda\n"
+
+#: src/buffer.c:1090
+msgid "No new volume; exiting.\n"
+msgstr "No hi ha cap volum nou; se surt.\n"
+
+#: src/buffer.c:1123
+msgid "File name not specified. Try again.\n"
+msgstr "No s'ha especificat cap nom de fitxer. Torneu-ho a provar.\n"
+
+#: src/buffer.c:1136
+#, c-format
+msgid "Invalid input. Type ? for help.\n"
+msgstr "Entrada invàlida. Tecleja ? per mostrar l'ajuda.\n"
+
+#: src/buffer.c:1187
+#, c-format
+msgid "%s command failed"
+msgstr "L'ordre %s ha fallat"
+
+#: src/buffer.c:1368
+#, c-format
+msgid "%s is possibly continued on this volume: header contains truncated name"
+msgstr ""
+"%s possiblement continua en aquest volum: la capçalera conté un nom truncat"
+
+#: src/buffer.c:1372
+#, c-format
+msgid "%s is not continued on this volume"
+msgstr "%s no continua a aquest volum"
+
+#: src/buffer.c:1386
+#, c-format
+msgid "%s is the wrong size (%s != %s + %s)"
+msgstr "%s té una mida equivocada (%s != %s + %s)"
+
+#: src/buffer.c:1401
+#, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
+msgstr "Aquest volum és fora de la seqüència (%s - %s != %s)"
+
+#: src/buffer.c:1479 src/buffer.c:1505
+#, c-format
+msgid "Archive not labeled to match %s"
+msgstr "L'arxiu no està etiquetat per coincidir amb %s"
+
+#: src/buffer.c:1509
+#, c-format
+msgid "Volume %s does not match %s"
+msgstr "El Volum %s no coincideix amb %s"
+
+#: src/buffer.c:1603
+#, c-format
+msgid ""
+"%s: file name too long to be stored in a GNU multivolume header, truncated"
+msgstr ""
+"%s: El nom del fitxer és massa llarg per ser desat en una capçalera "
+"multivolum GNU. S'ha truncat"
+
+#: src/buffer.c:1794
+msgid "write did not end on a block boundary"
+msgstr "l'escriptura no ha acabat al límit d'un bloc"
+
+#: src/compare.c:95
+#, c-format
+msgid "Could only read %lu of %lu byte"
+msgid_plural "Could only read %lu of %lu bytes"
+msgstr[0] "Només es pot llegir %lu de %lu byte"
+msgstr[1] "Només es poden llegir %lu de %lu bytes"
+
+#: src/compare.c:105 src/compare.c:382
+msgid "Contents differ"
+msgstr "El contingut no coincideix"
+
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
+msgid "Unexpected EOF in archive"
+msgstr "Final de l'arxiu inesperat"
+
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
+msgid "File type differs"
+msgstr "El tipus de fitxer no coincideix"
+
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
+msgid "Mode differs"
+msgstr "El mode no coincideix"
+
+#: src/compare.c:205
+msgid "Uid differs"
+msgstr "L'identificador d'usuari no coincideix"
+
+#: src/compare.c:207
+msgid "Gid differs"
+msgstr "L'identificador de grup d'usuaris no coincideix"
+
+#: src/compare.c:211
+msgid "Mod time differs"
+msgstr "La data de modificació no coincideix"
+
+#: src/compare.c:215 src/compare.c:414
+msgid "Size differs"
+msgstr "La mida no coincideix"
+
+#: src/compare.c:263
+#, c-format
+msgid "Not linked to %s"
+msgstr "No s'ha enllaçat amb %s"
+
+#: src/compare.c:287
+msgid "Symlink differs"
+msgstr "L'enllaç tou no coincideix"
+
+#: src/compare.c:316
+msgid "Device number differs"
+msgstr "El número de dispositiu no coincideix"
+
+#: src/compare.c:456
+#, c-format
+msgid "Verify "
+msgstr "Verifiqueu "
+
+#: src/compare.c:463
+#, c-format
+msgid "%s: Unknown file type `%c', diffed as normal file"
+msgstr ""
+"%s: Tipus de fitxer desconegut `%c', s'usa diff com si es tractés d'un "
+"fitxer normal"
+
+#: src/compare.c:518
+msgid "Archive contains file names with leading prefixes removed."
+msgstr "L'arxiu conté noms de fitxers amb els prefixes inicials esborrats."
+
+#: src/compare.c:520
+msgid "Verification may fail to locate original files."
+msgstr "Pot ser que la verificació no pugui trobar els fitxers originals."
+
+#: src/compare.c:593
+#, c-format
+msgid "VERIFY FAILURE: %d invalid header detected"
+msgid_plural "VERIFY FAILURE: %d invalid headers detected"
+msgstr[0] "HA FALLAT LA VERIFICACIÓ: %d s'ha detectat una capçalera invàlida"
+msgstr[1] "HA FALLAT LA VERIFICACIÓ: %d s'han detectat capçaleres invàlides"
+
+#: src/compare.c:611 src/list.c:161
+#, c-format
+msgid "A lone zero block at %s"
+msgstr "Un sol bloc zero a %s"
+
+#: src/create.c:72
+#, c-format
+msgid "%s: contains a cache directory tag %s; %s"
+msgstr "%s: conté una etiqueta de directori de memòria cau %s; %s"
+
+#: src/create.c:261
+#, c-format
+msgid "value %s out of %s range %s..%s; substituting %s"
+msgstr "el valor %s està fora del rang%s %s..%s; es substitueix per %s"
+
+#: src/create.c:267
+#, c-format
+msgid "value %s out of %s range %s..%s"
+msgstr "el valor %s està fora del rang %s %s..%s"
+
+#: src/create.c:327
+msgid "Generating negative octal headers"
+msgstr "S'estan generant les capçaleres octals negatives"
+
+#: src/create.c:611 src/create.c:674
+#, c-format
+msgid "%s: file name is too long (max %d); not dumped"
+msgstr "%s: el nom del fitxer és massa llarg (màx %d); no s'aboca"
+
+#: src/create.c:621
+#, c-format
+msgid "%s: file name is too long (cannot be split); not dumped"
+msgstr "%s: el nom del fitxer és massa llarg (no es pot dividir); no s'aboca"
+
+#: src/create.c:648
+#, c-format
+msgid "%s: link name is too long; not dumped"
+msgstr "%s: el nom de l'enllaç és massa llarg; no s'aboca"
+
+#: src/create.c:1062
+#, c-format
+msgid "%s: File shrank by %s byte; padding with zeros"
+msgid_plural "%s: File shrank by %s bytes; padding with zeros"
+msgstr[0] "%s: El fitxer s'encongeix %s byte; s'omple amb zero"
+msgstr[1] "%s: El fitxer s'encongeix %s bytes; s'omple amb zeros"
+
+#: src/create.c:1158
+#, c-format
+msgid "%s: file is on a different filesystem; not dumped"
+msgstr "%s: el fitxer es troba a un sistema de fitxers diferent; no s'aboca"
+
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
+msgid "contents not dumped"
+msgstr "els continguts no s'aboquen"
+
+#: src/create.c:1416
+#, c-format
+msgid "%s: Unknown file type; file ignored"
+msgstr "%s: Tipus de fitxer desconegut; el fitxer s'ignora"
+
+#: src/create.c:1527
+#, c-format
+msgid "Missing links to %s."
+msgstr "Falten els enllaços a %s."
+
+#: src/create.c:1688
+#, c-format
+msgid "%s: file is unchanged; not dumped"
+msgstr "%s: el fitxer no ha canviat; no s'aboca"
+
+#: src/create.c:1697
+#, c-format
+msgid "%s: file is the archive; not dumped"
+msgstr "%s: el fitxer és l'arxiu; no s'aboca"
+
+#: src/create.c:1721 src/incremen.c:575
+msgid "directory not dumped"
+msgstr "el directori no s'aboca"
+
+#: src/create.c:1793
+#, c-format
+msgid "%s: file changed as we read it"
+msgstr "%s: el fitxer ha canviat mentre es llegia"
+
+#: src/create.c:1855
+#, c-format
+msgid "%s: socket ignored"
+msgstr "%s: sòcol ignorat"
+
+#: src/create.c:1861
+#, c-format
+msgid "%s: door ignored"
+msgstr "%s: porta ignorada"
+
+#: src/delete.c:217 src/list.c:198 src/update.c:203
+msgid "Skipping to next header"
+msgstr "Es salta fins a la propera capçalera"
+
+#: src/delete.c:283
+msgid "Deleting non-header from archive"
+msgstr "S'esborra la no-capçalera de l'arxiu"
+
+#: src/extract.c:277
+#, c-format
+msgid "%s: implausibly old time stamp %s"
+msgstr "%s: marca horària inversemblantment antiga %s"
+
+#: src/extract.c:295
+#, c-format
+msgid "%s: time stamp %s is %s s in the future"
+msgstr "%s: la marca horària %s pertany %s s al futur"
+
+#: src/extract.c:475
+#, c-format
+msgid "%s: Unexpected inconsistency when making directory"
+msgstr "%s: Inconsistència inesperada en crear el directori"
+
+#: src/extract.c:709
+#, c-format
+msgid "%s: Directory renamed before its status could be extracted"
+msgstr ""
+"%s: S'ha canviat el nom del directori abans de poder extreure'n l'estat"
+
+#: src/extract.c:863
+msgid "Extracting contiguous files as regular files"
+msgstr "Els fitxers contigus s'extreuen com fitxers normals"
+
+#: src/extract.c:1183
+msgid "Attempting extraction of symbolic links as hard links"
+msgstr "Es prova d'extreure els enllaços simbòlics com enllaços durs"
+
+#: src/extract.c:1339
+#, c-format
+msgid "%s: Cannot extract -- file is continued from another volume"
+msgstr "%s: No espot extreure -- el fitxer continua des d'un altre volum"
+
+#: src/extract.c:1346 src/list.c:1117
+msgid "Unexpected long name header"
+msgstr "Nom de la capçalera inesperadament llarg"
+
+#: src/extract.c:1353
+#, c-format
+msgid "%s: Unknown file type `%c', extracted as normal file"
+msgstr "%s: Tipus de fitxer «%c» desconegut, s'extreu com un fitxer normal"
+
+#: src/extract.c:1379
+#, c-format
+msgid "Current %s is newer or same age"
+msgstr "L'actual %s és igual d'antic o més nou"
+
+#: src/extract.c:1431
+#, c-format
+msgid "%s: Was unable to backup this file"
+msgstr "%s: No es pot fer la còpia de seguretat d'aquest fitxer"
+
+#: src/extract.c:1568
+#, c-format
+msgid "Cannot rename %s to %s"
+msgstr "No es pot canviar el nom de %s a %s"
+
+#: src/incremen.c:474 src/incremen.c:518
+#, c-format
+msgid "%s: Directory has been renamed from %s"
+msgstr "%s: El directori ha canviat de nom a partir de %s"
+
+#: src/incremen.c:486
+#, c-format
+msgid "%s: Directory has been renamed"
+msgstr "%s: El directori ha canviat de nom"
+
+#: src/incremen.c:531
+#, c-format
+msgid "%s: Directory is new"
+msgstr "%s: El directori és nou"
+
+#: src/incremen.c:956 src/incremen.c:973
+msgid "Invalid time stamp"
+msgstr "Marca horària invàlida"
+
+#: src/incremen.c:1012
+msgid "Invalid modification time (seconds)"
+msgstr "Modificació invalida del temps (segons)"
+
+#: src/incremen.c:1027
+msgid "Invalid modification time (nanoseconds)"
+msgstr "Modificació invàlida del temps (nanosegons)"
+
+#: src/incremen.c:1047
+msgid "Invalid device number"
+msgstr "Número de dispositiu invàlid"
+
+#: src/incremen.c:1062
+msgid "Invalid inode number"
+msgstr "Número de node d'identificació invàlid"
+
+#: src/incremen.c:1113 src/incremen.c:1150
+msgid "Field too long while reading snapshot file"
+msgstr "Camp massa llarg en llegir el fitxer d'instantània"
+
+#: src/incremen.c:1120 src/incremen.c:1158
+msgid "Read error in snapshot file"
+msgstr "Error de lectura del fitxer d'instantània"
+
+#: src/incremen.c:1122 src/incremen.c:1162 src/incremen.c:1214
+#: src/incremen.c:1272
+msgid "Unexpected EOF in snapshot file"
+msgstr "Final de l'arxiu d'instantània inesperat"
+
+#: src/incremen.c:1129 src/incremen.c:1169
+msgid "Unexpected field value in snapshot file"
+msgstr "Valor de camp inesperat del fitxer d'instantània"
+
+#: src/incremen.c:1264
+msgid "Missing record terminator"
+msgstr "Falta el terminador del registre"
+
+#: src/incremen.c:1325 src/incremen.c:1328
+msgid "Bad incremental file format"
+msgstr "Format del fitxer incremental erroni"
+
+#: src/incremen.c:1347
+#, c-format
+msgid "Unsupported incremental format version: %<PRIuMAX>"
+msgstr "No se suporta la versió del format incremental: %<PRIuMAX>"
+
+#: src/incremen.c:1502
+#, c-format
+msgid "Malformed dumpdir: expected '%c' but found %#3o"
+msgstr "Directori d'abocament mal format: s'esperava «%c» i s'ha trobat %#3o"
+
+#: src/incremen.c:1512
+msgid "Malformed dumpdir: 'X' duplicated"
+msgstr "Directori d'abocament mal format: «X» duplicada"
+
+#: src/incremen.c:1525
+msgid "Malformed dumpdir: empty name in 'R'"
+msgstr "Directori d'abocament mal format: nom buit a «R»"
+
+#: src/incremen.c:1538
+msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
+msgstr "Directori d'abocament mal format: «T» no està precedit de «R»"
+
+#: src/incremen.c:1544
+msgid "Malformed dumpdir: empty name in 'T'"
+msgstr "Directori d'abocament mal format: nom buit a «T»"
+
+#: src/incremen.c:1564
+#, c-format
+msgid "Malformed dumpdir: expected '%c' but found end of data"
+msgstr ""
+"Directori d'abocament mal format: s'esperava «%c» però s'ha trobat el final "
+"de les dades"
+
+#: src/incremen.c:1571
+msgid "Malformed dumpdir: 'X' never used"
+msgstr "Directori d'abocament mal format: no s'ha fet servir «X»"
+
+#: src/incremen.c:1615
+#, c-format
+msgid "Cannot create temporary directory using template %s"
+msgstr "No es pot crear el directori temporal fent servir la plantilla %s"
+
+#: src/incremen.c:1677
+#, c-format
+msgid "%s: Not purging directory: unable to stat"
+msgstr "%s: No es purga el directori: no se'n pot saber l'estat"
+
+#: src/incremen.c:1690
+#, c-format
+msgid "%s: directory is on a different device: not purging"
+msgstr "%s: el directori és en un dispositiu diferent: no es purga"
+
+#: src/incremen.c:1698
+#, c-format
+msgid "%s: Deleting %s\n"
+msgstr "%s: S'elimina %s\n"
+
+#: src/incremen.c:1703
+#, c-format
+msgid "%s: Cannot remove"
+msgstr "%s: No es pot esborrar"
+
+#: src/list.c:130
+#, c-format
+msgid "%s: Omitting"
+msgstr "%s: S'ometen"
+
+#: src/list.c:146
+#, c-format
+msgid "block %s: ** Block of NULs **\n"
+msgstr "bloc %s: ** Bloc de NULs **\n"
+
+#: src/list.c:172
+#, c-format
+msgid "block %s: ** End of File **\n"
+msgstr "bloc %s: ** Final del Fitxer **\n"
+
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
+#, c-format
+msgid "block %s: "
+msgstr "bloc %s: "
+
+#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
+#. etc.)
+#: src/list.c:704
+#, c-format
+msgid "Blanks in header where numeric %s value expected"
+msgstr "Capçalera amb blancs on hi hauria d'haver un valor numèric %s"
+
+#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
+#: src/list.c:759
+#, c-format
+msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
+msgstr ""
+"El valor octal de l'arxiu %.*s està fora del rang %s; s'assumeix el "
+"complement a dos"
+
+#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
+#: src/list.c:770
+#, c-format
+msgid "Archive octal value %.*s is out of %s range"
+msgstr "El valor octal de l'arxiu %.*s està fora del rang %s"
+
+#: src/list.c:791
+msgid "Archive contains obsolescent base-64 headers"
+msgstr "L'arxiu conté capçaleres amb base 64 que estan esdevenint obsoletes"
+
+#: src/list.c:805
+#, c-format
+msgid "Archive signed base-64 string %s is out of %s range"
+msgstr "La cadena de signatura %s amb base 64 de l'arxiu està fora del rang %s"
+
+#: src/list.c:836
+#, c-format
+msgid "Archive base-256 value is out of %s range"
+msgstr "El valor amb base 256 de l'arxiu està fora del rang %s "
+
+#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
+#: src/list.c:865
+#, c-format
+msgid "Archive contains %.*s where numeric %s value expected"
+msgstr "L'arxiu conté %.*s on hi hauria d'haver un valor numèric de tipus %s"
+
+#. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
+#: src/list.c:887
+#, c-format
+msgid "Archive value %s is out of %s range %s..%s"
+msgstr "El valor %s de l'arxiu està fora del rang %s %s..%s"
+
+#: src/list.c:1253
+#, c-format
+msgid " link to %s\n"
+msgstr " enllaç cap a %s\n"
+
+#: src/list.c:1261
+#, c-format
+msgid " unknown file type %s\n"
+msgstr " tipus de fitxer desconegut %s\n"
+
+#: src/list.c:1279
+#, c-format
+msgid "--Long Link--\n"
+msgstr "--Enllaç llarg--\n"
+
+#: src/list.c:1283
+#, c-format
+msgid "--Long Name--\n"
+msgstr "--Nom Llarg--\n"
+
+#: src/list.c:1287
+#, c-format
+msgid "--Volume Header--\n"
+msgstr "--Capçalera del volum--\n"
+
+#: src/list.c:1295
+#, c-format
+msgid "--Continued at byte %s--\n"
+msgstr "--Continua al byte %s--\n"
+
+#: src/list.c:1357
+msgid "Creating directory:"
+msgstr "Es crea el directori:"
+
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "No es pot canviar el directori de treball"
+
+#: src/misc.c:571
+#, c-format
+msgid "Renaming %s to %s\n"
+msgstr "Es canvia el nom %s per %s\n"
+
+#: src/misc.c:580 src/misc.c:599
+#, c-format
+msgid "%s: Cannot rename to %s"
+msgstr "%s: No es pot canviar el nom a %s"
+
+#: src/misc.c:604
+#, c-format
+msgid "Renaming %s back to %s\n"
+msgstr "Es torna a canviar el nom %s a %s\n"
+
+#: src/misc.c:851
+#, c-format
+msgid "%s: File removed before we read it"
+msgstr "%s: El fitxer s'ha esborrat abans de poder-lo llegir"
+
+#: src/misc.c:866
+#, c-format
+msgid "%s: Directory removed before we read it"
+msgstr "%s: El directori s'ha esborrat abans de poder-lo llegir"
+
+#: src/misc.c:887
+msgid "child process"
+msgstr "procés descendent"
+
+#: src/misc.c:896
+msgid "interprocess channel"
+msgstr "canal d'intercomunicació"
+
+#: src/names.c:594
+msgid "Pattern matching characters used in file names"
+msgstr ""
+"Caràcters de patró de coincidència que es fan servir en noms de fitxers"
+
+#: src/names.c:596
+msgid ""
+"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
+"this warning"
+msgstr ""
+"Feu servir --wildcards per habilitar els patrons de coincidència, o --no-"
+"wildcars per eliminar aquest avís."
+
+#: src/names.c:614 src/names.c:630
+#, c-format
+msgid "%s: Not found in archive"
+msgstr "%s: No s'ha trobat a l'arxiu"
+
+#: src/names.c:615
+#, c-format
+msgid "%s: Required occurrence not found in archive"
+msgstr "%s: No s'ha trobat cap coincidència a l'arxiu"
+
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "L'etiqueta de l'arxiu no coincideix"
+
+#: src/names.c:953
+msgid ""
+"Using -C option inside file list is not allowed with --listed-incremental"
+msgstr ""
+"No podeu fer servir la opció -C als llistats de fitxer amb --listed-"
+"incremental"
+
+#: src/names.c:959
+msgid "Only one -C option is allowed with --listed-incremental"
+msgstr "Només podeu fer servit una opció -C amb --listed-incemental"
+
+#: src/tar.c:81
+#, c-format
+msgid "Options `-%s' and `-%s' both want standard input"
+msgstr "Ambdues opcions «-%s» i «-%s» necessiten la sortida estàndard"
+
+#: src/tar.c:158
+#, c-format
+msgid "%s: Invalid archive format"
+msgstr "%s: Format de fitxer invàlid"
+
+#: src/tar.c:182
+msgid "GNU features wanted on incompatible archive format"
+msgstr ""
+"El format de l'arxiu és incompatible perquè requereix característiques de GNU"
+
+#: src/tar.c:250
+#, c-format
+msgid ""
+"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
+msgstr ""
+"Estil de citació desconegut «%s». Feu servir «%s --quoting-style=help» per "
+"obtenir-ne una llista."
+
+#: src/tar.c:348
+msgid ""
+"GNU `tar' saves many files together into a single tape or disk archive, and "
+"can restore individual files from the archive.\n"
+"\n"
+"Examples:\n"
+" tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.\n"
+" tar -tvf archive.tar # List all files in archive.tar verbosely.\n"
+" tar -xf archive.tar # Extract all files from archive.tar.\n"
+msgstr ""
+"GNU `tar' desa molts fitxers agrupats en un sol arxiu de cinta o de disc, i "
+"pot recuperar fitxers individuals de l'arxiu.\n"
+"\n"
+"Exemples:\n"
+" tar -cf arxiu.tar foo bar # Crea l'arxiu.tar dels fitxers foo i bar.\n"
+" tar -tvf arxiu.tar # Fa una llista detallada dels fitxers que hi "
+"ha a l'arxiu.tar.\n"
+" tar -xf arxiu.tar # Extreu tots els fitxers de l'arxiu.tar.\n"
+
+#: src/tar.c:357
+msgid ""
+"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
+"The version control may be set with --backup or VERSION_CONTROL, values "
+"are:\n"
+"\n"
+" none, off never make backups\n"
+" t, numbered make numbered backups\n"
+" nil, existing numbered if numbered backups exist, simple otherwise\n"
+" never, simple always make simple backups\n"
+msgstr ""
+"El sufix de les còpies de seguretat és «~», a no ser que s'especifiqui amb --"
+"suffix o SIMPLE_BACKUP_SUFFIX.\n"
+"El control de versions pot ser especificat amb --backup or VERSION_CONTROL, "
+"els valors possibles son:\n"
+"\n"
+" none, off no facis mai còpies de seguretat\n"
+" t, numbered fes còpies de seguretat numerades\n"
+" nil, existing numerades si existeixen còpies de seguretat numerades, si "
+"no simples\n"
+" never, simple fes sempre còpies de seguretat simples\n"
+
+#: src/tar.c:387
+msgid "Main operation mode:"
+msgstr "Mode d'operació principal:"
+
+#: src/tar.c:390
+msgid "list the contents of an archive"
+msgstr "Llista els continguts d'un arxiu"
+
+#: src/tar.c:392
+msgid "extract files from an archive"
+msgstr "extreu fitxers d'un arxiu"
+
+#: src/tar.c:395
+msgid "create a new archive"
+msgstr "crea un arxiu nou"
+
+#: src/tar.c:397
+msgid "find differences between archive and file system"
+msgstr "cerca diferències entre un arxiu i el sistema de fitxers"
+
+#: src/tar.c:400
+msgid "append files to the end of an archive"
+msgstr "afegeix fitxers al final d'un arxiu"
+
+#: src/tar.c:402
+msgid "only append files newer than copy in archive"
+msgstr "només afegeix els fitxers més nous que les còpies dins l'arxiu"
+
+#: src/tar.c:404
+msgid "append tar files to an archive"
+msgstr "afegeix fitxers tar a un arxiu"
+
+#: src/tar.c:407
+msgid "delete from the archive (not on mag tapes!)"
+msgstr "esborra de l'arxiu (excepte en cintes magnètiques!)"
+
+#: src/tar.c:409
+msgid "test the archive volume label and exit"
+msgstr "prova l'etiqueta de volum de l'arxiu i surt"
+
+#: src/tar.c:414
+msgid "Operation modifiers:"
+msgstr "Modificadors d'operació:"
+
+#: src/tar.c:417
+msgid "handle sparse files efficiently"
+msgstr "tracta fitxers dispersos de manera eficient"
+
+#: src/tar.c:418
+msgid "MAJOR[.MINOR]"
+msgstr "MAJOR[.MENOR]"
+
+#: src/tar.c:419
+msgid "set version of the sparse format to use (implies --sparse)"
+msgstr ""
+"estableix la versió del format de dispersió que cal fer servir (implica --"
+"sparse)"
+
+#: src/tar.c:421
+msgid "handle old GNU-format incremental backup"
+msgstr "tracta l'antic format incremental GNU de còpies de seguretat"
+
+#: src/tar.c:423
+msgid "handle new GNU-format incremental backup"
+msgstr "tracta el nou format de còpies de seguretat incrementals de GNU"
+
+#: src/tar.c:425
+msgid "dump level for created listed-incremental archive"
+msgstr "nivell de bolcat per l'arxiu llistat-incremental creat"
+
+#: src/tar.c:427
+msgid "do not exit with nonzero on unreadable files"
+msgstr ""
+"no surtis si l'estat és diferent de zero quan trobis fitxers il·legibles "
+
+#: src/tar.c:429
+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 només la ENÈssima aparició de cada fitxer a l'arxiu; aquesta opció "
+"només és vàlid amb una de les següents subcomandes --delete, --diff, --"
+"extract o --list i quan es dona una llista de fitxers ja sigui a la línia de "
+"comandes com amb l'opció -T; ENA val 1 per defecte"
+
+#: src/tar.c:435
+msgid "archive is seekable"
+msgstr "l'arxiu pot buscar-se"
+
+#: src/tar.c:437
+msgid "archive is not seekable"
+msgstr "L'arxiu no pot buscar-se"
+
+#: src/tar.c:439
+msgid "do not check device numbers when creating incremental archives"
+msgstr "no comprovis el número de dispositiu quan creis arxius incrementals"
+
+#: src/tar.c:442
+msgid "check device numbers when creating incremental archives (default)"
+msgstr ""
+"comprova el número de dispositiu quan creis arxius incrementals (per defecte)"
+
+#: src/tar.c:448
+msgid "Overwrite control:"
+msgstr "Control de sobreescriptura:"
+
+#: src/tar.c:451
+msgid "attempt to verify the archive after writing it"
+msgstr "intenta verificar l'arxiu després d'escriure'l"
+
+#: src/tar.c:453
+msgid "remove files after adding them to the archive"
+msgstr "eliminar els fitxers després d'afegir-los a l'arxiu"
+
+#: src/tar.c:455
+msgid "don't replace existing files when extracting"
+msgstr "no reemplacis els fitxers existents quan els extreguis"
+
+#: src/tar.c:457
+msgid "don't replace existing files that are newer than their archive copies"
+msgstr ""
+"no reemplacis els fitxers existents que siguin més nous que les còpies de "
+"l'arxiu"
+
+#: src/tar.c:459
+msgid "overwrite existing files when extracting"
+msgstr "sobreescriu els fitxers existents quan els extreguis"
+
+#: src/tar.c:461
+msgid "remove each file prior to extracting over it"
+msgstr "elimina cada fitxer abans d'extreure-hi a sobre"
+
+#: src/tar.c:463
+msgid "empty hierarchies prior to extracting directory"
+msgstr "buida les jerarquies abans d'extreure el directori"
+
+#: src/tar.c:465
+msgid "preserve metadata of existing directories"
+msgstr "conserva les metadades dels directoris existents"
+
+#: src/tar.c:467
+msgid "overwrite metadata of existing directories when extracting (default)"
+msgstr ""
+"sobreescriu les metadades dels directoris existents quan s'extreguin (per "
+"defecte)"
+
+#: src/tar.c:473
+msgid "Select output stream:"
+msgstr "Selecciona la sortida del flux de dades:"
+
+#: src/tar.c:476
+msgid "extract files to standard output"
+msgstr "extreu els fitxers a la sortida estàndard"
+
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
+msgid "COMMAND"
+msgstr "COMANDA"
+
+#: src/tar.c:478
+msgid "pipe extracted files to another program"
+msgstr "condueix els fitxers extrets a un altre programa"
+
+#: src/tar.c:480
+msgid "ignore exit codes of children"
+msgstr "ignora els codis de sortida dels processos fill"
+
+#: src/tar.c:482
+msgid "treat non-zero exit codes of children as error"
+msgstr ""
+"tracta els codis de sortida dels processos fills diferents de zero com a "
+"error"
+
+#: src/tar.c:487
+msgid "Handling of file attributes:"
+msgstr "Gestió dels atributs del fitxer:"
+
+#: src/tar.c:490
+msgid "force NAME as owner for added files"
+msgstr "força NOM coma propietari dels fitxers afegits"
+
+#: src/tar.c:492
+msgid "force NAME as group for added files"
+msgstr "força NOM com a grup pels fitxers afegits"
+
+#: src/tar.c:493 src/tar.c:690
+msgid "DATE-OR-FILE"
+msgstr "DATA-O-FITXER"
+
+#: src/tar.c:494
+msgid "set mtime for added files from DATE-OR-FILE"
+msgstr "estableix mtime pels fitxers afegits des de DATA-O-FITXER"
+
+#: src/tar.c:495
+msgid "CHANGES"
+msgstr "CANVIS"
+
+#: src/tar.c:496
+msgid "force (symbolic) mode CHANGES for added files"
+msgstr "força CANVIS de mode (simbòlic) als fitxers que s'afegeixin"
+
+#: src/tar.c:498
+msgid "METHOD"
+msgstr "MÈTODE"
+
+#: src/tar.c:499
+msgid ""
+"preserve access times on dumped files, either by restoring the times after "
+"reading (METHOD='replace'; default) or by not setting the times in the first "
+"place (METHOD='system')"
+msgstr ""
+"conserva les hores d'accés dels fitxers bolcats, ja sigui restaurant les "
+"hores després de llegir-los (MÈTODE='replace'; per defecte) o no posant "
+"primer les hores(MÈTODE='system')"
+
+#: src/tar.c:503
+msgid "don't extract file modified time"
+msgstr "no extreguis la data de modificació dels fitxers"
+
+#: src/tar.c:505
+msgid ""
+"try extracting files with the same ownership as exists in the archive "
+"(default for superuser)"
+msgstr ""
+"intenta extreure els fitxers amb el mateix propietari que existeix a l'arxiu "
+"(per defecte pel superusuari)"
+
+#: src/tar.c:507
+msgid "extract files as yourself (default for ordinary users)"
+msgstr ""
+"extreu el fitxer com a tu mateix com a propietari (per defecte pels usuaris "
+"ordinaris"
+
+#: src/tar.c:509
+msgid "always use numbers for user/group names"
+msgstr "fes servir sempre números pels noms de usuari/grup"
+
+#: src/tar.c:511
+msgid "extract information about file permissions (default for superuser)"
+msgstr ""
+"extreu la informació dels permisos del fitxer (per defecte per al "
+"superusuari)"
+
+#: src/tar.c:515
+msgid ""
+"apply the user's umask when extracting permissions from the archive (default "
+"for ordinary users)"
+msgstr ""
+"fes servir els permisos especificats per l'usuari qua s'extreguin permisos "
+"de l'arxiu (per defecte per usuaris normals)"
+
+#: src/tar.c:517
+msgid "sort names to extract to match archive"
+msgstr "ordena els noms a extreure per que coincideixin amb els de l'arxiu"
+
+#: src/tar.c:520
+msgid "same as both -p and -s"
+msgstr "el mateix que per -p i -s"
+
+#: src/tar.c:522
+msgid ""
+"delay setting modification times and permissions of extracted directories "
+"until the end of extraction"
+msgstr ""
+"no modifiquis els temps i els permisos dels directoris extrets fins que "
+"s'acabi l'extracció"
+
+#: src/tar.c:525
+msgid "cancel the effect of --delay-directory-restore option"
+msgstr "cancel·la l'efecte de l'opció --delay-directory-restore"
+
+#: src/tar.c:530
+msgid "Device selection and switching:"
+msgstr "Selecció i canvi de dispositiu:"
+
+#: src/tar.c:532
+msgid "ARCHIVE"
+msgstr "ARXIU"
+
+#: src/tar.c:533
+msgid "use archive file or device ARCHIVE"
+msgstr "fes servir el fitxer o dispositiu ARXIU"
+
+#: src/tar.c:535
+msgid "archive file is local even if it has a colon"
+msgstr "l'arxiu és local encara que tingui dos punts"
+
+#: src/tar.c:537
+msgid "use given rmt COMMAND instead of rmt"
+msgstr "fes servir la COMANDA rmt en comtes de rmt"
+
+#: src/tar.c:539
+msgid "use remote COMMAND instead of rsh"
+msgstr "fes servir la COMANDA remota en comptes de rsh"
+
+#: src/tar.c:543
+msgid "specify drive and density"
+msgstr "especifica la unitat i la densitat"
+
+#: src/tar.c:557
+msgid "create/list/extract multi-volume archive"
+msgstr "crea/llista/extreu arxius de múltiples volums"
+
+#: src/tar.c:559
+msgid "change tape after writing NUMBER x 1024 bytes"
+msgstr "canvia la cinta després d'escriure NÚMERO x 1024 bytes"
+
+#: src/tar.c:561
+msgid "run script at end of each tape (implies -M)"
+msgstr "executa seqüència al final de cada cinta (implica -M)"
+
+#: src/tar.c:564
+msgid "use/update the volume number in FILE"
+msgstr "fes servir/actualitza el número de volum del FITXER"
+
+#: src/tar.c:569
+msgid "Device blocking:"
+msgstr "Blocs als dispositius:"
+
+#: src/tar.c:571
+msgid "BLOCKS"
+msgstr "BLOCS"
+
+#: src/tar.c:572
+msgid "BLOCKS x 512 bytes per record"
+msgstr "BLOCS x 512 bytes per registre"
+
+#: src/tar.c:574
+msgid "NUMBER of bytes per record, multiple of 512"
+msgstr "NÚMERO de bytes per registre, múltiple de 512"
+
+#: src/tar.c:576
+msgid "ignore zeroed blocks in archive (means EOF)"
+msgstr "ignora els blocs posats a zero de l'arxiu (volen dir fi del fitxer)"
+
+#: src/tar.c:578
+msgid "reblock as we read (for 4.2BSD pipes)"
+msgstr "refés els blocs mentre els llegeixes (per conductes de 4.2BSD)"
+
+#: src/tar.c:583
+msgid "Archive format selection:"
+msgstr "Selecció del format de l'arxiu: "
+
+#: src/tar.c:585 tests/genfile.c:153
+msgid "FORMAT"
+msgstr "FORMAT"
+
+#: src/tar.c:586
+msgid "create archive of the given format"
+msgstr "crea un arxiu del format especificat"
+
+#: src/tar.c:588
+msgid "FORMAT is one of the following:"
+msgstr "El FORMAT és un dels següents"
+
+#: src/tar.c:589
+msgid "old V7 tar format"
+msgstr "format tar de l'antiga versió 7"
+
+#: src/tar.c:592
+msgid "GNU format as per tar <= 1.12"
+msgstr "format GNU tar <= 1.12"
+
+#: src/tar.c:594
+msgid "GNU tar 1.13.x format"
+msgstr "format GNU tar 1.13.x"
+
+#: src/tar.c:596
+msgid "POSIX 1003.1-1988 (ustar) format"
+msgstr "format POSIX 1003.1-1988 (ustar)"
+
+#: src/tar.c:598
+msgid "POSIX 1003.1-2001 (pax) format"
+msgstr "format POSIX 1003.1-2001 (pax)"
+
+#: src/tar.c:599
+msgid "same as pax"
+msgstr "el mateix que pax"
+
+#: src/tar.c:602
+msgid "same as --format=v7"
+msgstr "el mateix que --format=v7"
+
+#: src/tar.c:605
+msgid "same as --format=posix"
+msgstr "el mateix que --format=posix"
+
+#: src/tar.c:606
+msgid "keyword[[:]=value][,keyword[[:]=value]]..."
+msgstr "paraula clau[[:]=valor][,paraula clau[[:]=valor]]..."
+
+#: src/tar.c:607
+msgid "control pax keywords"
+msgstr "controla les paraules clau de pax"
+
+#: src/tar.c:608
+msgid "TEXT"
+msgstr "TEXT"
+
+#: src/tar.c:609
+msgid ""
+"create archive with volume name TEXT; at list/extract time, use TEXT as a "
+"globbing pattern for volume name"
+msgstr ""
+"crea l'arxiu amb el nom de volum TEXT. Quan es llista/s'extreu, utilitza "
+"TEXT com a patró global de noms de volum"
+
+#: src/tar.c:614
+msgid "Compression options:"
+msgstr "Opcions de compressió:"
+
+#: src/tar.c:616
+msgid "use archive suffix to determine the compression program"
+msgstr "utilitza el sufix de l'arxiu per determinar el programa de compressió"
+
+#: src/tar.c:618
+msgid "do not use archive suffix to determine the compression program"
+msgstr ""
+"no fa servir el sufix de l'arxiu per determinar el programa de compressió"
+
+#: src/tar.c:620
+msgid "PROG"
+msgstr "PROGRAMA"
+
+#: src/tar.c:621
+msgid "filter through PROG (must accept -d)"
+msgstr "filtra mitjançant PROGRAMA (ha d'acceptar -d)"
+
+#: src/tar.c:637
+msgid "Local file selection:"
+msgstr "Selecció de fixter local:"
+
+#: src/tar.c:640
+msgid "add given FILE to the archive (useful if its name starts with a dash)"
+msgstr "afegeix el FITXER a l'arxiu (útil si el nom comença per un guió)"
+
+#: src/tar.c:641
+msgid "DIR"
+msgstr "DIRECTORI"
+
+#: src/tar.c:642
+msgid "change to directory DIR"
+msgstr "Canvia al directori DIRECTORI"
+
+#: src/tar.c:644
+msgid "get names to extract or create from FILE"
+msgstr "obté els noms que cal extreure u crear del FITXER"
+
+#: src/tar.c:646
+msgid "-T reads null-terminated names, disable -C"
+msgstr "-T llegeix els noms acabats en nul, desactivar-ho amb -C"
+
+#: src/tar.c:648
+msgid "disable the effect of the previous --null option"
+msgstr "deshabilita l'efecte del la opció --null prèvia"
+
+#: src/tar.c:650
+msgid "unquote filenames read with -T (default)"
+msgstr "treu les cometes dels noms dels fitxers llegits amb -T (per defecte)"
+
+#: src/tar.c:652
+msgid "do not unquote filenames read with -T"
+msgstr "no treguis les cometes dels noms dels fitxers llegits amb -T"
+
+#: src/tar.c:653 tests/genfile.c:136
+msgid "PATTERN"
+msgstr "PATRÓ"
+
+#: src/tar.c:654
+msgid "exclude files, given as a PATTERN"
+msgstr "exclou els fitxers que es donen com un PATRÓ"
+
+#: src/tar.c:656
+msgid "exclude patterns listed in FILE"
+msgstr "exclou els patrons que es llisten al FITXER"
+
+#: src/tar.c:658
+msgid ""
+"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
+"file itself"
+msgstr ""
+"exclou el contingut dels directoris que continguin CACHEDIR.TAG, excepte el "
+"propi fitxer d'etiquetes"
+
+#: src/tar.c:661
+msgid "exclude everything under directories containing CACHEDIR.TAG"
+msgstr "exclou tot el que estigui als directoris que continguin CACHEDIR.TAG"
+
+#: src/tar.c:664
+msgid "exclude directories containing CACHEDIR.TAG"
+msgstr "exclou els directoris que continguin CACHEDIR.TAG "
+
+#: src/tar.c:666
+msgid "exclude contents of directories containing FILE, except for FILE itself"
+msgstr ""
+"exclou el contingut dels directoris que contenen el FITXER, excepte el "
+"FITXER mateix"
+
+#: src/tar.c:669
+msgid "exclude everything under directories containing FILE"
+msgstr "exclou tot el que hi hagi al directori que contingui el FITXER"
+
+#: src/tar.c:671
+msgid "exclude directories containing FILE"
+msgstr "exclou els directoris que continguin el FITXER"
+
+#: src/tar.c:673
+msgid "exclude version control system directories"
+msgstr "exclou els directoris del sistema de control de versions"
+
+#: src/tar.c:675
+msgid "exclude backup and lock files"
+msgstr "exclou els fitxers de còpia de seguretat i de blocat"
+
+#: src/tar.c:677
+msgid "avoid descending automatically in directories"
+msgstr "no baixa automàticament als directoris"
+
+#: src/tar.c:679
+msgid "stay in local file system when creating archive"
+msgstr "queda't al sistema de fitxers local quan creïs l'arxiu"
+
+#: src/tar.c:681
+msgid "recurse into directories (default)"
+msgstr "incloure els subdirectoris (per defecte)"
+
+#: src/tar.c:683
+msgid "don't strip leading `/'s from file names"
+msgstr "no treguis les primeres «/» dels noms dels fitxers"
+
+#: src/tar.c:685
+msgid "follow symlinks; archive and dump the files they point to"
+msgstr ""
+"segueix els enllaços simbòlics; arxiva i aboca els fitxers als quals apunten"
+
+#: src/tar.c:687
+msgid "follow hard links; archive and dump the files they refer to"
+msgstr ""
+"segueix els enllaços durs; arxiva i aboca els fitxers als quals es refereix"
+
+#: src/tar.c:688
+msgid "MEMBER-NAME"
+msgstr "NOM-DEL-MEMBRE"
+
+#: src/tar.c:689
+msgid "begin at member MEMBER-NAME in the archive"
+msgstr "comença al membre NOM-DEL MEMBRE de l'arxiu"
+
+#: src/tar.c:691
+msgid "only store files newer than DATE-OR-FILE"
+msgstr "desa només els fitxers més nous que DATA-O-FITXER"
+
+#: src/tar.c:693
+msgid "DATE"
+msgstr "DATA"
+
+#: src/tar.c:694
+msgid "compare date and time when data changed only"
+msgstr "compara la data i l'hora només quan les dades hagin canviat"
+
+#: src/tar.c:695
+msgid "CONTROL"
+msgstr "CONTROL"
+
+#: src/tar.c:696
+msgid "backup before removal, choose version CONTROL"
+msgstr ""
+"fes una còpia de seguretat abans d'esborrar, tria el CONTROL de versions"
+
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
+msgid "STRING"
+msgstr "CADENA"
+
+#: src/tar.c:698
+msgid ""
+"backup before removal, override usual suffix ('~' unless overridden by "
+"environment variable SIMPLE_BACKUP_SUFFIX)"
+msgstr ""
+"fa una còpia de seguretat abans d'esborrar, substitueix el sufix usual («~» "
+"si no s'ha definit la variable d'entorn SIMPLE_BACKUP_SUFFIX)"
+
+#: src/tar.c:703
+msgid "File name transformations:"
+msgstr "Transformacions del nom del fitxer:"
+
+#: src/tar.c:705
+msgid "strip NUMBER leading components from file names on extraction"
+msgstr ""
+"treu NÚMERO components de la capçalera dels noms dels fitxers quan extreu"
+
+#: src/tar.c:707
+msgid "EXPRESSION"
+msgstr "EXPRESSIÓ"
+
+#: src/tar.c:708
+msgid "use sed replace EXPRESSION to transform file names"
+msgstr ""
+"fes servir l'EXPRESSIÓ de substitució sed per transformar els noms dels "
+"fitxers"
+
+#: src/tar.c:714
+msgid "File name matching options (affect both exclude and include patterns):"
+msgstr ""
+"opcions de concordança de nom de fitxer (afecta tant als patrons de inclusió "
+"com als d'exclusió):"
+
+#: src/tar.c:717
+msgid "ignore case"
+msgstr "ignora diferències majúscules/minúscules"
+
+#: src/tar.c:719
+msgid "patterns match file name start"
+msgstr "comprova els patrons del començament del nom del fitxer"
+
+#: src/tar.c:721
+msgid "patterns match after any `/' (default for exclusion)"
+msgstr ""
+"comprova els patrons després de qualsevol «/» (per defecte a les exclusions) "
+
+#: src/tar.c:723
+msgid "case sensitive matching (default)"
+msgstr "comprova diferències majúscules/minúscules (per defecte)"
+
+#: src/tar.c:725
+msgid "use wildcards (default for exclusion)"
+msgstr "fa servir comodins (per defecte a les exclusions)"
+
+#: src/tar.c:727
+msgid "verbatim string matching"
+msgstr "concordància exacte a les cadenes"
+
+#: src/tar.c:729
+msgid "wildcards do not match `/'"
+msgstr "els comodins no han de concordar amb «/»"
+
+#: src/tar.c:731
+msgid "wildcards match `/' (default for exclusion)"
+msgstr "els comodins han de concordar amb «/» (per defecte a les exclusions)"
+
+#: src/tar.c:736
+msgid "Informative output:"
+msgstr "Sortida informativa:"
+
+#: src/tar.c:739
+msgid "verbosely list files processed"
+msgstr "llista els fitxers processats detalladament"
+
+#: src/tar.c:740
+msgid "KEYWORD"
+msgstr "PARAULA CLAU"
+
+#: src/tar.c:741
+msgid "warning control"
+msgstr "control d'avisos"
+
+#: src/tar.c:743
+msgid "display progress messages every NUMBERth record (default 10)"
+msgstr "mostra els missatges de progres cada NÚMERO registres (per defecte 10)"
+
+#: src/tar.c:745
+msgid "ACTION"
+msgstr "ACCIÓ"
+
+#: src/tar.c:746
+msgid "execute ACTION on each checkpoint"
+msgstr "executa ACCIÓ a cada punt de comprovació"
+
+#: src/tar.c:749
+msgid "print a message if not all links are dumped"
+msgstr "mostra un missatge si no s'aboquen tots els enllaços"
+
+#: src/tar.c:750
+msgid "SIGNAL"
+msgstr "SENYAL"
+
+#: src/tar.c:751
+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 ""
+"mostra els bytes totals després de processar l'arxiu. Amb un argument - "
+"mostra els bytes totals quan es rep el SENYAL. Els senyals permesos són: "
+"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2. També s'accepta els noms sense "
+"el prefix SIG"
+
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "mostra l'hora de modificació del fitxer en UTC"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "Mostra l'hora del fitxer amb alta precisió"
+
+#: src/tar.c:760
+msgid "send verbose output to FILE"
+msgstr "envia la sortida detallada al FITXER"
+
+#: src/tar.c:762
+msgid "show block number within archive with each message"
+msgstr "mostra el número de bloc de dins l'arxiu a cada missatge"
+
+#: src/tar.c:764
+msgid "ask for confirmation for every action"
+msgstr "demana la confirmació per cada acció"
+
+#: src/tar.c:767
+msgid "show tar defaults"
+msgstr "mostra els valors per defecte de tar"
+
+#: src/tar.c:769
+msgid ""
+"when listing or extracting, list each directory that does not match search "
+"criteria"
+msgstr ""
+"quan es llisti o s'extregui, llista tots els directoris que no es "
+"corresponguin amb el criteri de cerca"
+
+#: src/tar.c:771
+msgid "show file or archive names after transformation"
+msgstr "mostra el nom del fitxer o de l'arxiu després de la transformació"
+
+#: src/tar.c:774
+msgid "STYLE"
+msgstr "ESTIL"
+
+#: src/tar.c:775
+msgid "set name quoting style; see below for valid STYLE values"
+msgstr ""
+"estableix el nom de l'estil de citació; vegeu més avall una llista de valors "
+"vàlids per ESTIL"
+
+#: src/tar.c:777
+msgid "additionally quote characters from STRING"
+msgstr "més caràcters de cometes des de CADENA"
+
+#: src/tar.c:779
+msgid "disable quoting for characters from STRING"
+msgstr "deshabilita els caràcters de cometa de la CADENA"
+
+#: src/tar.c:784
+msgid "Compatibility options:"
+msgstr "Opcions de compatibilitat:"
+
+#: src/tar.c:787
+msgid ""
+"when creating, same as --old-archive; when extracting, same as --no-same-"
+"owner"
+msgstr ""
+"quan es crea, el mateix que --old-archive; quan s'extreu, el mateix que --no-"
+"same-owner"
+
+#: src/tar.c:792
+msgid "Other options:"
+msgstr "Altres opcions:"
+
+#: src/tar.c:795
+msgid "disable use of some potentially harmful options"
+msgstr "desactiva l'ús de certes opcions potencialment perjudicials"
+
+#: src/tar.c:930
+msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
+msgstr "No podeu especificar més d'un «-Acdtrux» o d'opció «--test-label»"
+
+#: src/tar.c:940
+msgid "Conflicting compression options"
+msgstr "Opcions de compressió conflictives"
+
+#: src/tar.c:996
+#, c-format
+msgid "Unknown signal name: %s"
+msgstr "Nom del senyal desconegut: %s"
+
+#: src/tar.c:1020
+msgid "Date sample file not found"
+msgstr "No s'ha trobat el fitxer de mostra de la data"
+
+#: src/tar.c:1028
+#, c-format
+msgid "Substituting %s for unknown date format %s"
+msgstr "S'està substituint %s pel format de data desconegut %s"
+
+#: src/tar.c:1057
+#, c-format
+msgid "Option %s: Treating date `%s' as %s"
+msgstr "Opció %s: S'està tractant la data «%s» com a %s"
+
+#: src/tar.c:1135
+#, c-format
+msgid "%s: file list already read"
+msgstr "%s: la llista de fitxers ja s'ha llegit"
+
+#: src/tar.c:1201
+#, c-format
+msgid "%s: file name read contains nul character"
+msgstr "%s: la lectura del nom del fixter conté un caràcter nul"
+
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
+msgid "filter the archive through %s"
+msgstr "filtra l'arxiu a mitjançant %s"
+
+#: src/tar.c:1296
+msgid "Valid arguments for the --quoting-style option are:"
+msgstr "Les opcions vàlides per la opció --quoting-style són:"
+
+#: src/tar.c:1300
+msgid ""
+"\n"
+"*This* tar defaults to:\n"
+msgstr ""
+"\n"
+"*Aquest* tar va per defecte en:\n"
+
+#: src/tar.c:1402
+msgid "Invalid blocking factor"
+msgstr "Factor de blocs invàlid"
+
+#: src/tar.c:1515
+msgid "Invalid tape length"
+msgstr "Longitud de la cinta invàlida"
+
+#: src/tar.c:1529
+msgid "Invalid incremental level value"
+msgstr "valor invàlid del nivell d'increment"
+
+#: src/tar.c:1575
+msgid "More than one threshold date"
+msgstr "Més d'una data del llindar"
+
+#: src/tar.c:1630 src/tar.c:1633
+msgid "Invalid sparse version value"
+msgstr "valor de la versió de la opció de dispersió invalid"
+
+#: src/tar.c:1718
+msgid "--atime-preserve='system' is not supported on this platform"
+msgstr "No es permet l'ús de --atime-preserve=«system» en aquesta plataforma"
+
+#: src/tar.c:1743
+msgid "--checkpoint value is not an integer"
+msgstr "El valor --checkpoint no és un enter"
+
+#: src/tar.c:1848
+msgid "Invalid group"
+msgstr "Grup invàlid"
+
+#: src/tar.c:1855
+msgid "Invalid mode given on option"
+msgstr "Mode invàlid donat a les opcions"
+
+#: src/tar.c:1912
+msgid "Invalid number"
+msgstr "Número invàlid"
+
+#: src/tar.c:1934
+msgid "Invalid owner"
+msgstr "Propietari invàlid"
+
+#: src/tar.c:1964
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+"La opció --preserve es obsoleta, en comptes d'això feu servir --preserve-"
+"permissions --preserve-order"
+
+#: src/tar.c:1975
+msgid "Invalid record size"
+msgstr "Mida del registre invàlida"
+
+#: src/tar.c:1978
+#, c-format
+msgid "Record size must be a multiple of %d."
+msgstr "La mida del registre ha de ser múltiple de %d."
+
+#: src/tar.c:2019
+msgid "Invalid number of elements"
+msgstr "Nombre d'elements invàlid"
+
+#: src/tar.c:2039
+msgid "Only one --to-command option allowed"
+msgstr "Només es permet una opció --to-command"
+
+#: src/tar.c:2119
+#, c-format
+msgid "Malformed density argument: %s"
+msgstr "Argument de densitat mal format: %s"
+
+#: src/tar.c:2145
+#, c-format
+msgid "Unknown density: `%c'"
+msgstr "Densitat desconeguda: «%c»"
+
+#: src/tar.c:2162
+#, c-format
+msgid "Options `-[0-7][lmh]' not supported by *this* tar"
+msgstr "Opcions «-[0-7][lmh]» no suportades per *aquest* tar"
+
+#: src/tar.c:2175
+msgid "[FILE]..."
+msgstr "[FITXER]..."
+
+#: src/tar.c:2293
+#, c-format
+msgid "Old option `%c' requires an argument."
+msgstr "L'opció antiga «%c» requereix un argument."
+
+#: src/tar.c:2374
+msgid "--occurrence is meaningless without a file list"
+msgstr "--occurrence no te sentit sense una llista de fitxers"
+
+#: src/tar.c:2380
+msgid "--occurrence cannot be used in the requested operation mode"
+msgstr "--occurrence no es pot utilitzar en el mode d'operació que ha requerit"
+
+#: src/tar.c:2398
+msgid "Multiple archive files require `-M' option"
+msgstr "Per a múltiples arxius de fitxers es requereix l'opció «-M»"
+
+#: src/tar.c:2403
+msgid "Cannot combine --listed-incremental with --newer"
+msgstr "No es pot combinar --listed-incremental amb --newer"
+
+#: src/tar.c:2406
+msgid "--level is meaningless without --listed-incremental"
+msgstr "--level no té sentit sense --listed-incremental"
+
+#: src/tar.c:2423
+#, c-format
+msgid "%s: Volume label is too long (limit is %lu byte)"
+msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
+msgstr[0] "%s: l'etiqueta del volum és massa llarga (el limit és %lu byte)"
+msgstr[1] "%s: l'etiqueta del volum és massa llarga (el limit és %lu bytes)"
+
+#: src/tar.c:2436
+msgid "Cannot verify multi-volume archives"
+msgstr "No es poden verificar els arxius multi-volum"
+
+#: src/tar.c:2438
+msgid "Cannot verify compressed archives"
+msgstr "No es poden verificar els arxius comprimits"
+
+#: src/tar.c:2444
+msgid "Cannot use multi-volume compressed archives"
+msgstr "No es poden utilitzar arxius comprimits multi-volum"
+
+#: src/tar.c:2450
+msgid "Cannot concatenate compressed archives"
+msgstr "No es poden concatenar arxius comprimits"
+
+#: src/tar.c:2462
+msgid "--pax-option can be used only on POSIX archives"
+msgstr "--pax-option només es pot utilitzar en arxius POSIX"
+
+#: src/tar.c:2492
+msgid "Volume length cannot be less than record size"
+msgstr "La llargada del volum no pot ser inferior que la mida del registre"
+
+#: src/tar.c:2495
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr "--preserve-order no és compatible amb --listed-incremental"
+
+#: src/tar.c:2506
+msgid "Cowardly refusing to create an empty archive"
+msgstr "S'està refusant covardament crear un arxiu buit"
+
+#: src/tar.c:2532
+msgid "Options `-Aru' are incompatible with `-f -'"
+msgstr "Les opcions «-Aru» son incompatibles amb «-f -»"
+
+#: src/tar.c:2621
+msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
+msgstr "Heu d'especificar una opció «-Acdtrux» o «--test-label»"
+
+#: src/tar.c:2675
+#, c-format
+msgid "Exiting with failure status due to previous errors"
+msgstr "Se surt amb estat de fallida degut a errors prèvis"
+
+#: src/update.c:86
+#, c-format
+msgid "%s: File shrank by %s byte"
+msgid_plural "%s: File shrank by %s bytes"
+msgstr[0] "%s: El fitxer s'encongeix %s byte"
+msgstr[1] "%s: El fitxer s'encongeix %s bytes"
+
+#: src/xheader.c:164
+#, c-format
+msgid "Keyword %s is unknown or not yet implemented"
+msgstr "La paraula clau %s és desconeguda o encara no s'ha implementat"
+
+#: src/xheader.c:174
+msgid "Time stamp is out of allowed range"
+msgstr "La marca horària està fora del rang permés"
+
+#: src/xheader.c:205
+#, c-format
+msgid "Pattern %s cannot be used"
+msgstr "No s'ha pogut utilitzar el patró %s "
+
+#: src/xheader.c:219
+#, c-format
+msgid "Keyword %s cannot be overridden"
+msgstr "No s'ha pogut sobreescriure la paraula clau %s"
+
+#: src/xheader.c:542
+msgid "Malformed extended header: missing length"
+msgstr "Capçalera estesa mal formada: falta la longitud"
+
+#: src/xheader.c:550
+msgid "Extended header length is out of allowed range"
+msgstr "Longitud de la capçalera estesa està fora del rang permès"
+
+#: src/xheader.c:557
+#, c-format
+msgid "Extended header length %*s is out of range"
+msgstr "La longitud de la capçalera estesa %*s està fora de rang"
+
+#: src/xheader.c:569
+msgid "Malformed extended header: missing blank after length"
+msgstr "Capçalera estesa mal formada: falta l'espai després de la longitud"
+
+#: src/xheader.c:577
+msgid "Malformed extended header: missing equal sign"
+msgstr "Capçalera estesa mal formada: falta el signe igual"
+
+#: src/xheader.c:583
+msgid "Malformed extended header: missing newline"
+msgstr "Capçalera estesa mal formada: falta el salt de línia"
+
+#: src/xheader.c:621
+#, c-format
+msgid "Ignoring unknown extended header keyword `%s'"
+msgstr "S'ignora la paraula clau desconeguda de la capçalera estesa «%s»"
+
+#: src/xheader.c:831
+#, c-format
+msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
+msgstr ""
+"La paraula clau/parella de valors generada és massa llarga (paraula clau=%s, "
+"longitud=%s)"
+
+#. TRANSLATORS: The first %s is the pax extended header keyword
+#. (atime, gid, etc.).
+#: src/xheader.c:863
+#, c-format
+msgid "Extended header %s=%s is out of range %s..%s"
+msgstr "La capçalera estesa %s=%s està fora del rang %s..%s"
+
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
+#, c-format
+msgid "Malformed extended header: invalid %s=%s"
+msgstr "Capçalera estesa mal formada: %s=%s invàlid"
+
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
+#, c-format
+msgid "Malformed extended header: excess %s=%s"
+msgstr "Capçalera estesa mal formada: excedeix %s=%s"
+
+#: src/xheader.c:1379
+#, c-format
+msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
+msgstr "Capçalera estesa mal formada: %s invàlid, delimitador %c inesperat"
+
+#: src/xheader.c:1389
+#, c-format
+msgid "Malformed extended header: invalid %s: odd number of values"
+msgstr "Capçalera estesa mal formada: %s invàlid: nombre de valors incorrecte"
+
+#: src/checkpoint.c:107
+#, c-format
+msgid "%s: not a valid timeout"
+msgstr "%s: no és un temps d'espera vàlid"
+
+#: src/checkpoint.c:112
+#, c-format
+msgid "%s: unknown checkpoint action"
+msgstr "%s: acció del punt de comprovació desconegut"
+
+#: src/checkpoint.c:132
+msgid "write"
+msgstr "escriu"
+
+#: src/checkpoint.c:132
+msgid "read"
+msgstr "llegeix"
+
+#. TRANSLATORS: This is a ``checkpoint of write operation'',
+#. *not* ``Writing a checkpoint''.
+#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
+#. *not* ``Escribiendo un punto de comprobaci@'on''
+#: src/checkpoint.c:222
+#, c-format
+msgid "Write checkpoint %u"
+msgstr "Punt de comprovació d'escriptura %u"
+
+#. TRANSLATORS: This is a ``checkpoint of read operation'',
+#. *not* ``Reading a checkpoint''.
+#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'',
+#. *not* ``Leyendo un punto de comprobaci@'on''
+#: src/checkpoint.c:228
+#, c-format
+msgid "Read checkpoint %u"
+msgstr "Punt de comprovació de lectura %u"
+
+#: tests/genfile.c:111
+msgid ""
+"genfile manipulates data files for GNU paxutils test suite.\n"
+"OPTIONS are:\n"
+msgstr ""
+"genfile manipula els fitxers de dades al conjunt de programes de proves GNU "
+"paxutils.\n"
+"Les OPCIONS són:\n"
+
+#: tests/genfile.c:127
+msgid "File creation options:"
+msgstr "Opcions de creació de fitxers:"
+
+#: tests/genfile.c:128 tests/genfile.c:139
+msgid "SIZE"
+msgstr "MIDA"
+
+#: tests/genfile.c:129
+msgid "Create file of the given SIZE"
+msgstr "Crea un fitxer de la MIDA indicada"
+
+#: tests/genfile.c:131
+msgid "Write to file NAME, instead of standard output"
+msgstr "Escriu al fitxer amb NOM, en comptes de la sortida estàndard"
+
+#: tests/genfile.c:133
+msgid "Read file names from FILE"
+msgstr "Llegeix els noms dels fitxers del FITXER"
+
+#: tests/genfile.c:135
+msgid "-T reads null-terminated names"
+msgstr "-T llegeix els noms acabats en nul"
+
+#: tests/genfile.c:137
+msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
+msgstr ""
+"Omple el fitxer amb el PATRÓ indicat. El PATRÓ és «per defecte» o «zeros»"
+
+#: tests/genfile.c:140
+msgid "Size of a block for sparse file"
+msgstr "Mida d'un bloc per fitxer dispers"
+
+#: tests/genfile.c:142
+msgid "Generate sparse file. Rest of the command line gives the file map."
+msgstr ""
+"Genera un fitxer dispers. La resta de la línia de comandes indica el mapa "
+"del fitxer"
+
+#: tests/genfile.c:144
+msgid "OFFSET"
+msgstr "ÒFSET"
+
+#: tests/genfile.c:145
+msgid "Seek to the given offset before writing data"
+msgstr "Cerca l'òfset donat abans d'escriure les dades"
+
+#: tests/genfile.c:151
+msgid "File statistics options:"
+msgstr "Opcions de les estadístiques dels fitxers:"
+
+#: tests/genfile.c:154
+msgid "Print contents of struct stat for each given file. Default FORMAT is: "
+msgstr ""
+"Mostra el contingut de l'estructura stat per cadascun dels fitxers indicats. "
+"El FORMAT per defecte és:"
+
+#: tests/genfile.c:161
+msgid "Synchronous execution options:"
+msgstr "Opcions d'execució sincrónica:"
+
+#: tests/genfile.c:163
+msgid "OPTION"
+msgstr "OPCIÓ"
+
+#: tests/genfile.c:164
+msgid ""
+"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
+"--unlink"
+msgstr ""
+"Executa ARGS. Útil amb --checkpoint i i una entre --cut, --append, --touch, "
+"--unlink"
+
+#: tests/genfile.c:167
+msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
+msgstr ""
+"Realitzar les accions donades (mirar avall) quan s'arrivi al punt de "
+"comprovació NÚMERO"
+
+#: tests/genfile.c:170
+msgid "Set date for next --touch option"
+msgstr "Defineix la data per a la següent opció --touch"
+
+#: tests/genfile.c:173
+msgid "Display executed checkpoints and exit status of COMMAND"
+msgstr ""
+"Mostra els punts de comprovació executats i l'estat de sortida de la COMANDA"
+
+#: tests/genfile.c:178
+msgid ""
+"Synchronous execution actions. These are executed when checkpoint number "
+"given by --checkpoint option is reached."
+msgstr ""
+"Accions d'execució sincrónica. Aquestes son executades quan s'arriba al "
+"númerode punts de comprovació donat per --checkpoint"
+
+#: tests/genfile.c:181
+msgid ""
+"Truncate FILE to the size specified by previous --length option (or 0, if it "
+"is not given)"
+msgstr ""
+"Talla el FITXER a la mida especificada amb la opció --length prèvia (o 0, si "
+"no s'ha especificat)"
+
+#: tests/genfile.c:185
+msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
+msgstr ""
+"Afegeix MIDA bytes al FITXER. MIDA s'ha especificat amb la opció --length "
+"prèvia."
+
+#: tests/genfile.c:188
+msgid "Update the access and modification times of FILE"
+msgstr "Actualitza les hores d'accés i modificació del FITXER"
+
+#: tests/genfile.c:191
+msgid "Execute COMMAND"
+msgstr "Executa COMANDA"
+
+#: tests/genfile.c:194
+msgid "Unlink FILE"
+msgstr "Desfés l'enllaç del FITXER"
+
+#: tests/genfile.c:244
+#, c-format
+msgid "Invalid size: %s"
+msgstr "Mida invàlida: %s"
+
+#: tests/genfile.c:249
+#, c-format
+msgid "Number out of allowed range: %s"
+msgstr "Número fora de l'abast permés: %s"
+
+#: tests/genfile.c:252
+#, c-format
+msgid "Negative size: %s"
+msgstr "Mida negativa: %s"
+
+#: tests/genfile.c:265 tests/genfile.c:567
+#, c-format
+msgid "stat(%s) failed"
+msgstr "Ha fallat la petició d'stat(%s)"
+
+#: tests/genfile.c:268
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr "mida del fitxer sol·licitada %lu, actual %lu"
+
+#: tests/genfile.c:272
+#, c-format
+msgid "created file is not sparse"
+msgstr "el fitxer creat no és dispers"
+
+#: tests/genfile.c:361
+#, c-format
+msgid "Error parsing number near `%s'"
+msgstr "Error en analitzar el número prop de «%s»"
+
+#: tests/genfile.c:367
+#, c-format
+msgid "Unknown date format"
+msgstr "Format de data desconegut"
+
+#: tests/genfile.c:391
+msgid "[ARGS...]"
+msgstr "[ARGS...]"
+
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
+#, c-format
+msgid "cannot open `%s'"
+msgstr "no es pot obrir «%s»"
+
+#: tests/genfile.c:434
+msgid "cannot seek"
+msgstr "no es pot cercar"
+
+#: tests/genfile.c:451
+#, c-format
+msgid "file name contains null character"
+msgstr "el nom del fitxer conté un caràcter nul"
+
+#: tests/genfile.c:516
+#, c-format
+msgid "cannot generate sparse files on standard output, use --file option"
+msgstr ""
+"no es pot generar fitxers dispersos a la sortida estàndard, empreu la opció "
+"--file"
+
+#: tests/genfile.c:594
+#, c-format
+msgid "incorrect mask (near `%s')"
+msgstr "màscara incorrecta (prop de «%s»)"
+
+#: tests/genfile.c:600 tests/genfile.c:633
+#, c-format
+msgid "Unknown field `%s'"
+msgstr "Camp desconegut «%s»"
+
+#: tests/genfile.c:660
+#, c-format
+msgid "cannot set time on `%s'"
+msgstr "no es pot definir el temps de «%s»"
+
+#: tests/genfile.c:699
+#, c-format
+msgid "cannot unlink `%s'"
+msgstr "no es pot desfer l'enllaç «%s»"
+
+#: tests/genfile.c:825
+#, c-format
+msgid "Command exited successfully\n"
+msgstr "La comanda ha finalitzat amb èxit\n"
+
+#: tests/genfile.c:827
+#, c-format
+msgid "Command failed with status %d\n"
+msgstr "La comanda ha fallat amb estat %d\n"
+
+#: tests/genfile.c:831
+#, c-format
+msgid "Command terminated on signal %d\n"
+msgstr "La comanda ha finalitzat amb la senyal %d\n"
+
+#: tests/genfile.c:833
+#, c-format
+msgid "Command stopped on signal %d\n"
+msgstr "La comanda ha parat amb la senyal %d\n"
+
+#: tests/genfile.c:836
+#, c-format
+msgid "Command dumped core\n"
+msgstr "La comanda ha abocat l'ànima\n"
+
+#: tests/genfile.c:839
+#, c-format
+msgid "Command terminated\n"
+msgstr "Comanda finalitzada\n"
+
+#: tests/genfile.c:871
+#, c-format
+msgid "--stat requires file names"
+msgstr "--stat requereix noms de fitxers"
+
+#~ msgid "Cannot save working directory"
+#~ msgstr "No es pot desar al directori de treball"
# tape → páska (rod ženský, vzor žena; ne pásek)
# seek offset → pozice posunu (pásky)
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-16 20:38+0100\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-12 20:02+0200\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Chyby v programu oznamujte na adrese %s (anglicky), připomínky k překladu na "
"adrese <translation-team-cs@lists.sourceforge.net> (česky).\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Neznámá systémová chyba"
msgstr "vypíše stručný návod na použití"
# JMÉNO jako v příslušné položce nápovědy
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "JMÉNO"
msgid "write error"
msgstr "chyba zápisu"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: přepínač „%s“ není jednoznačný\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: přepínač „--%s“ musí být zadán bez argumentu\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: přepínač „%c%s“ musí být zadán bez argumentu\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: přepínač „%s“ vyžaduje argument\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: přepínač „--%s“ vyžaduje argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: nerozpoznaný přepínač „--%s“\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: nerozpoznaný přepínač „%c%s“\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neplatný přepínač -- „%c“\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: přepínač vyžaduje argument -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: přepínač „-W %s“ není jednoznačný\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: přepínač „-W %s“ musí být zadán bez argumentu\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: přepínač „-W %s“ vyžaduje argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "paměť vyčerpána"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "K %s se nelze připojit: selhal překlad"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Vzdálený shell není možné spustit"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Směr posunu je mimo rozsah"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Chybný směr posunu"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Neplatná pozice posunu"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Pozice posunu je je mimo rozsah"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Neplatný počet bajtů"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Počet bajtů je mimo rozsah"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "Předčasný konec souboru"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Neplatní kód operace"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Operace není podporována"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Neočekávané argumenty"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "Ovládá páskovou jednotku přijímaje příkazy ze vzdáleného procesu"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "ČÍSLO"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "nastaví úroveň ladění"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "SOUBOR"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "nastaví název souboru pro výstup ladění"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "„%s“ nelze otevřít"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "příliš mnoho argumentů"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Neznámý příkaz"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Toto pravděpodobně není tar archiv"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Celkem zapsáno bajtů"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Celkem přečteno bajtů"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Celkem smazáno bajtů: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(roura)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Chybná hodnota pro velikost záznamu"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Název archivu nebyl zadán"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Stdin/Stdout archiv nelze ověřit"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Archiv je komprimován. Použijte přepínač %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Komprimovaný archiv nelze aktualizovat"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Páska na začátku, končím"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Příliš mnoho chyb, končím"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[1] "Velikost záznamu = %'lu bloky"
msgstr[2] "Velikost záznamu = %'lu bloků"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[1] "Nezarovnaný blok (%'lu bajty) v archivu"
msgstr[2] "Nezarovnaný blok (%'lu bajtů) v archivu"
-#: src/buffer.c:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek se nezastavil na hranici záznamu"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: obsahuje neplatné číslo svazku"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "U čísla svazku nastalo přetečení"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Místo uživatelské odpovědi byl zadán konec souboru"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "VAROVÁNÍ: Archiv je nekompletní"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Ukončit program tar\n"
" y nebo odřádkování Pokračovat v operaci\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Vytvořit podshell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Vypsat tuto nápovědu\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Není nový svazek; končím.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Název souboru nebyl zadán. Zkuste to znovu.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Neplatný vstup. Nápovědu obdržíte napsáním „?“ (otazníku).\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "příkaz %s selhal"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s možná pokračuje na tomto svazku: hlavička obsahuje zkrácený název"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nepokračuje na tomto svazku"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s je špatné délky (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Tento svazek není je mimo pořadí (%s − %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Pro vyhodnocení vzorku %s musí být archiv pojmenován"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Svazek %s neodpovídá vzorku %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: název souboru je příliš dlouhý, aby byl uložen do vícesvazkové hlavičky "
"GNU, bude zkrácen"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "zápis neskončil na konci hranice bloku"
msgstr[1] "Bylo možné načíst pouze %'lu z %'lu bajtů"
msgstr[2] "Bylo možné načíst pouze %'lu z %'lu bajtů"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Obsahy se liší"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Neočekávaný konec archivu"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Typ souboru se liší"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Práva se liší"
msgid "Mod time differs"
msgstr "Čas poslední modifikace se liší"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Velikost se liší"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Není odkazem na %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolický odkaz se liší"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Číslo zařízení se liší"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Ověřuji "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Neznámý typ souboru „%c“, porovnáván jako normální soubor"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Archiv obsahuje názvy souborů, kterým byly odstraněny předpony."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Při kontrole může selhat nalezení původních souborů."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[1] "SELHÁNÍ KONTROLY: zjištěny %d chybné hlavičky"
msgstr[2] "SELHÁNÍ KONTROLY: zjištěno %d chybných hlaviček"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Osiřelý nulový blok na pozici %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: obsahuje značku keše adresáře %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahrazuji za %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generuji záporné osmičkové hlavičky"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: název souboru je příliš dlouhý (max. %d); nezpracován"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: název souboru je příliš dlouhý (nelze jej rozdělit); nezpracován"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: název odkazu je příliš dlouhý; nezpracován"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] "%s: Soubor je kratší o %s bajty; Doplňuji nulami."
msgstr[2] "%s: Soubor je kratší o %s bajtů; Doplňuji nulami."
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: soubor je na jiném souborovém systému; nearchivován"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "obsah nezpracován"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Neznámý typ souboru; soubor ignorován"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Chybí odkazy na %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: soubor není změněn; neaktualizován"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: soubor je archiv; nearchivován"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "adresář nezpracován"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: soubor byl během čtení změněn"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: soket ignorován"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: dveře ignorovány"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Přeskakuji na další hlavičku"
msgid "Deleting non-header from archive"
msgstr "Z archivu je mazáno to, co není hlavička"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: nemožně stará časová značka %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: časová značka %s je %s s v budoucnosti"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Neočekávaná inkonzistence, při vytváření adresáře"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Adresář byl přejmenován dříve, než bylo možné získat jeho stav"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Souvisle uložené soubory rozbaluji jako obyčejné soubory"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Zkouším rozbalit symbolické odkazy jako pevné odkazy"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Neočekávaná hlavička dlouhého názvu"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Současný soubor %s je novější nebo stejně starý"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Tento soubor nebylo možné zálohovat"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s nelze přejmenovat na %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Adresář byl přejmenován z %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Adresář byl přejmenován"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Adresář je nový"
msgid "%s: Cannot remove"
msgstr "%s: Nelze smazat"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Vynechávám"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Konec souboru **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Archiv obsahuje zastaralé base-64 hlavičky"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " odkaz na %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " neznámý souborový typ %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Dlouhý odkaz--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Dlouhý název--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Hlavička svazku--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Pokračováno od %s bajtu--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Vytvářím adresář:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Pracovní adresář nelze změnit"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Přejmenovávám %s na %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: nelze přejmenovat na %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Přejmenovávám %s zpět na %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Pracovní adresář nelze uchovat"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Pracovní adresář nelze změnit"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Soubor smazán dříve než mohl být přečten"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Adresář smazán dříve než mohl být přečten"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "potomek"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "meziprocesový kanál"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "V názvech souborů se nachází žolíkové znaky. Prosím,"
+msgstr "V názvech souborů se nachází žolíkové znaky"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "porovnávání proti žolíkových znaků zapněte pomocí --wildcards,"
+msgstr ""
+"Porovnávání proti žolíkových znaků zapněte pomocí --wildcards, nebo varování "
+"potlačte prostřednictvím --no-wildcards"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: V archivu nenalezen"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Požadovaný výskyt nebyl v archivu nalezen"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Název archivu se neodpovídá"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"Použití přepínače -C uvnitř seznamu souborů není spolu s --listed-"
"incremental dovoleno"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "S --listed-incremental je dovelen pouze jediný přepínač -C"
+msgstr "S --listed-incremental je dovolen pouze jediný přepínač -C"
#: src/tar.c:81
#, c-format
"Neznámý styl citování „%s“. Seznam stylů lze získat příkazem „%s --quoting-"
"style=help“."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"tar.\n"
" tar -xf archiv.tar # Rozbalí všechny soubory z archiv.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" existují, jinak tvoří jednoduché\n"
" never, simple tvoří vždy jednoduché záložní kopie souborů\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Hlavní operační režim:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "vypíše obsah archivu"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "vybalí soubory z archivu"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "vytvoří nový archiv"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "hledá rozdíly mezi archivem a systémem souborů"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "připojí soubory na konec archivu"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "připojí jen takové soubory, které jsou novější nežli kopie v archivu"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "připojí k archivu tarové soubory"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "smaže z archivu (ne na magnetických páskách!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "otestuje jmenovku archivního svazku a skončí"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Operační modifikátory:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "zachází s řídkými soubory efektivně"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "HLAVNÍ[.VEDLEJŠÍ]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "nastaví verzi řídkého formátu (implikuje --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "zpracuje přírůstkové zálohy starého formátu GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "zpracuje přírůstkové zálohy nového formátu GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "úroveň výpisu pro vytvářený archiv s přírůstkovým seznamem"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "neskoční nenulovým kódem při nečitelných souborech"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"--list a jen když je zadán seznam souborů na příkazovém řádku nebo přes "
"přepínač -T; implicitní ČÍSLO je 1"
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "v archivu se lze posunovat"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "v archivu se lze posunovat"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "při vytváření přírůstkových archivů se nekontrolují čísla zařízení"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"při vytváření přírůstkových archivů se kontrolují čísla zařízení (implicitní)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Ovládání přepisování:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "pokusí se zkontrolovat archiv po té, co bude zapsán"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "odstraní soubory po té, co budou přidány do archivu"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "při rozbalovaní nenahrazuje existující soubory"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
"nenahrazuje existující soubory, které jsou novější než jejich archivní kopie"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "při rozbalování existující soubory přepisuje"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "před vybalením každého souboru jej odstraní"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "před vybalením adresáře vytvoří prázdnou hierarchii"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "zachovává metadata existujících adresářů"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "při rozbalování přepisuje metadata existujících adresářů (implicitní)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Výběr výstupního proudu:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "soubory vybaluje na standardní výstup"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "PŘÍKAZ"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "vybalené soubory pošle rourou jinému programu"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "ignoruje návratový kód potomků"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "nenulový návratový kód potomků považuje za chybu"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Zacházení s atributy souborů:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "vynutí JMÉNO jako vlastníka vkládaných souborů"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "vynutí JMÉNO jako skupinu vkládaných souborů"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATUM_NEBO_SOUBOR"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "nastaví čas změny obsahu vkládaných souborů podle DATA_NEBO_SOUBORU"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ZMĚNY"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "vynutí (symbolický) mód ZMĚN (přístupová práva) vkládaným souborům"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODA"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"(METODA=„REPLACE“; implicitní), nebo nenastavením časů v prvním pořadí "
"(METODA=„system“)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "nevybaluje čas změny obsahu souboru"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"pokusí se vybalit soubory se stejným vlastníkem jako je uveden v archivu "
"(výchozí pro superuživatele)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr "rozbaluje soubory pod vaší identitou (výchozí pro běžného uživatele)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "pro jména uživatel/skupin vždy použije čísla"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "vybaluje informace o právech souborů (implicitní pro superuživatele)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"při vybalování práv z archivu použije uživatelovu umask (implicitní pro "
"běžné uživatele)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "při rozbalování seřadí názvy tak, aby odpovídaly pořadí v archivu"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "stejné jako -p -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"pozdrží nastavení časů modifikace a práv rozbalovaných adresářů až do "
"dokončení rozbalování"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "zruší účinek přepínače --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Výběr a přepínání zařízení:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "pro archiv požije soubor zařízení ARCHIV"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "soubor archivu je místní, i když obsahuje dvojtečku"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "namísto příkazu rmt použije PŘÍKAZ"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "namísto rsh použije PŘÍKAZ"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "určuje mechaniku a hustotu"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "vytvoří/vypíše/rozbalí vícesvazkový archiv"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "po zapsaní ČÍSLO × 1024 bajtů vymění pásku"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "na konci každé pásky spustí skript (implikuje -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "použije/aktualizuje číslo svazku v SOUBORU"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Bloky zařízení:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKY"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOKŮ × 512 bajtů na záznam"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "ČÍSLO bajtů na záznam, násobek 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "v archivu ignoruje vynulované bloky (znamená EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "předělat bloky v průběhu čtení (pro roury na BSD 4.2)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Výběr formátu archivu:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMÁT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "vytvoří archiv daného formátu"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMÁT je jeden z následujících:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "starý formát taru V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "formát taru GNU <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "formát taru GNU 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "formát POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "formát POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "stejné jako pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "stejné jako --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "stejné jako --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "klíčové_slovo[[:]=hodnota][,klíčové_slovo[[:]=hodnota]]…"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "řídicí klíčová slova paxu"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXT"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"vytvoří archiv s názvem svazku TEXT; při výpisu/rozbalení použije TEXT jako "
"vzor se zástupnými symboly pro název svazku"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Přepínače komprese:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "kompresní program určí podle přípony archivu"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "kompresní program neurčí podle přípony archivu"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROGRAM"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "archiv protáhne PROGRAMEM (musí znát -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Výběr místního souboru:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
"zadaný SOUBOR přidá do archivu (užitečné, začíná-li jeho název spojovníkem)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "ADRESÁŘ"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "změní adresář na ADRESÁŘ"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "seznam jmen souborů na rozbalení nebo zabalení získá ze SOUBORU"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T čte názvy zakončené nulovým znakem, vypne -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "zruší účinek předchozího přepínače --null"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
"odčiní citování (escapování) názvů souboru načtených přes -T (implicitní)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "nezruší citování (escapování) názvů souboru načtených přes -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "VZOR"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "vynechá soubory, které odpovídají VZORU"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "vynechá soubory vyjmenované v SOUBORU"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"vynechá obsah adresářů obsahujících CACHEADR.ZNAČKA, kromě souboru značky "
"samotného"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "vynechá vše pod adresáři obsahujícími CACHEADR.ZNAČKA"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "vynechá adresáře obsahující CACHEADR.ZNAČKA"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "vynechá obsah adresářů obsahujících SOUBOR, vyjma SOUBORU samotného"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "vynechá vše pod adresáři obsahujícími SOUBOR"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "vynechá adresáře obsahující SOUBOR"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "vynechá adresáře systému správy verzí"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "vynechá soubory záloh a zámků"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "zabrání automatickému sestupu do adresářů"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "při tvorbě archivu se zdrží v místním systému souborů"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "sestupuje rekurzivně do adresářů (implicitní)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "neodstraní z názvů souborů úvodní „/“"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
"následuje symbolické odkazy; archivuje a vybaluje soubory, na které je "
"odkazováno"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
"následuje pevné odkazy; archivuje a vybaluje soubory, na které je odkazováno"
# část cesty (adresář)
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "SLOŽKA_NÁZVU"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "začne v archivu na složce SLOŽKA_NÁZVU"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "ukládá jen soubory novější než DATUM_NEBO_SOUBOR"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATUM"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "při změně dat porovná datum i čas"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "STRATEGIE"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "před odstraněním vytvoří záložní kopii za použití STRATEGIE"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "ŘETĚZEC"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"před odstraněním vytvoří záložní kopii, potlačí obvyklou příponu („~“, není-"
"li uvedeno jinak v proměnné prostředí SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Transformace názvů souborů:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "při rozbalování odřízne ČÍSLO úvodních složek z názvů souborů"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "VÝRAZ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "názvy souborů transformuje pomocí nahrazovacího VÝRAZU sedu"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Přepínače řídicí výběr souborů podle názvu (ovlivňuje vzory jak pro "
"vyloučení, tak pro zahrnutí)"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "ignoruje velikost písmen"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "vzory se testují název souboru od začátku"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "vzory se testují po každém „/“ (implicitní u vyloučení)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "testování je citlivé na velikost (implicitní)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "použije žolíkové znaky (implicitní u vyloučení)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "testuje se přesný řetězec"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "žolíkové znaky nezahrnují „/“"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "žolíkové znaky zahrnují „/“ (implicitní u vyloučení)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informativní výstup:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "vypisuje zpracovávané soubory"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "KLÍČOVÉ_SLOVO"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "řídí varování"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "zobrazuje zprávy o postupu každých ČÍSLO. záznam (implicitně 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "AKCE"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "v každém kontrolním bodu vykoná AKCI"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "hlásí, že nebyly zpracovány všechny odkazy"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNÁL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"hlášení, až bude doručen SIGNÁL; Povolené signály jsou SIGHUP, SIGQUIT, "
"SIGINT, SIGUSR1 a SIGUSR2; názvy bez předpony SIG jsou rovněž přípustné"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "časy změn obsahu souborů vypisuje v UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "časy souborů vypisuje v plném znění"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "informativní výstup pošle do SOUBORU"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "každou zprávu opatří číslem bloku uvnitř archivu"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "na každou akcí žádá potvrzení"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "zobrazí implicitní argumenty taru"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"při vypisování nebo rozbalování zobrazí každý adresář, který neodpovídá "
"vyhledávacím podmínkám"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "zobrazuje názvy souborů a archivů po transformaci"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STYL"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "nastaví styl citování názvů; platné hodnoty STYLŮ nalezte níže"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "cituje navíc znaky z ŘETĚZCE"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "zakáže citování znaků z ŘETĚZCE"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Přepínače pro kompatibilitu"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"při vytváření archivu má stejný význam jako --old-archive, při rozbalování "
"jako --no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Další přepínače:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "zakáže použití některých potenciálně nebezpečných přepínačů"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"Nemůže být zadán více jak jeden přepínač z „-Acdtrux“ nebo „--test-label“"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Odporující si kompresní přepínače"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Neznámý název signálu: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Soubor, ze kterého se má vzít datum a čas, nebyl nalezen"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Přepínač %s: S datem „%s“ bude zacházeno jako s %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: seznam souborů již načten"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: načtený název souboru obsahuje nulový znak"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "archiv protáhne skrze filtr %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Pro přepínač --quoting-style jsou platné argumenty:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Implicitní přepínače *tohoto* taru:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Neplatný počet bajtů na záznam"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Neplatná délka pásky"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Chybná hodnota úrovně přírůstku"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Více než jedeno počáteční datum"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Neplatná hodnota verze řídkého formátu"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' není na této platformě podporován"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "hodnota --checkpoint není celé číslo"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Neplatná skupina"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Zadána chybná práva"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Neplatné číslo"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Neplatný vlastník"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Přepínač --preserve je zastaralý, místo něj používejte --preserve-"
"permissions --preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Chybná velikost záznamu"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Velikost záznamu musí být násobek %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Neplatný počet prvků"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Povolen je jen jeden přepínač --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Neplatný argument hustoty: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Neznámá hustota: „%c“"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Přepínače „-[0-7][lmh]“ nejsou *tímto* tarem podporovány"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[SOUBOR]…"
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Přepínač „%c“ vyžaduje argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "bez seznamu souborů nemá --occurrence smysl"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence nelze v požadovaném režimu operace použít"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Více archivačních souborů vyžaduje přepínač „-M“"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental a --newer nelze kombinovat"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "--level bez --listed-incremental postrádá smysl"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] "%s: Název svazku je příliš dlouhý (limit je %'lu bajty)"
msgstr[2] "%s: Název svazku je příliš dlouhý (limit je %'lu bajtů)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Vícesvazkový archiv není možné ověřit"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Komprimovaný archiv nelze ověřit"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Vícesvazkový komprimovaný archiv nelze vytvořit"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Komprimované archivy nelze zřetězit"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "Přepínač --pax-option lze použít jen na posixových archivech"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Délka svazku nemůže být kratší než délka záznamu"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order není slučitelný s --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Vytvoření prázdného archivu odmítnuto."
-#: src/tar.c:2501
+#: src/tar.c:2532
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:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Musíte zadat jeden z přepínačů „-Acdtrux“ nebo „--test-label“"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Končí se chybovým kódem, protože byly zaznamenány chyby"
msgstr[1] "%s: Soubor zkrácen o %s bajty"
msgstr[2] "%s: Soubor zkrácen o %s bajtů"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Klíčové slovo %s není známo nebo ještě nebylo implementováno"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Časový údaj je mimo povolený rozsah"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Vzor %s nelze použít"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Klíčové slovo %s nelze přebít"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Chybná rozšířená hlavička: chybí délka"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Délka rozšířené hlavičky je mimo povolený rozsah"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Délka rozšířené hlavičky %*s je mimo rozsah"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Chybná rozšířená hlavička: po délce chybí bílé místo"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Chybná rozšířená hlavička: chybí znak rovná se"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Chybná rozšířená hlavička: chybí odřádkování"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Ignoruje se neznámé klíčové slovo „%s“ rozšířené hlavičky"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, c-format
msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
msgstr ""
-"Utvořená dvojice klíčové slovo / hodnota je příliš dlouhá (klíčové slovo = %"
-"s, délka %s)"
+"Utvořená dvojice klíčové slovo / hodnota je příliš dlouhá (klíčové slovo = "
+"%s, délka %s)"
#. TRANSLATORS: The first %s is the pax extended header keyword
#. (atime, gid, etc.).
-#: src/xheader.c:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "%s=%s v rozšířené hlavičce je mimo rozsah %s–%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Chybná rozšířená hlavička: %s=%s není platné"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Chybná rozšířená hlavička: nadbytečná %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Chybná rozšířená hlavička: neplatný %s: neočekávaný oddělovač %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Chybná rozšířená hlavička: neplatný %s: lichý počet hodnot"
msgid "Read checkpoint %u"
msgstr "Kontrolní bod čtení %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile pracuje s datovými soubory testovacího balíku GNU paxutils.\n"
"PŘEPÍNAČE jsou:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Přepínače tvorby souboru:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "VELIKOST"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Vytvoří soubor zadané VELIKOSTI"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Místo na standardní výstup píše do souboru JMÉNO"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Názvy souborů čte ze SOUBORU"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T čte názvy zakončené nulovými znaky"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Vyplní soubor zadaným VZOREM. VZOR je „default“ (výchozí) nebo „zeros“ (nuly)"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Velikost bloku pro řídké soubory"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Vytvoří řídký soubor. Zbytek příkazové řádku definuje mapu souboru."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "POZICE"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Před zápisem dat se přesune na zadanou POZICI"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Přepínače statistiky souboru:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"U každého zadaného souboru vypíše obsah struktury stat. Implicitní FORMÁT je:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Přepínače synchronního vykonávání:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "PŘEPÍNAČ"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Provede ARGUMENTY. Užitečné s --checkpoint a jedním z --cut, --append, --"
"touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "Provede zadanou akci (vizte níže) při dosažení kontrolního bodu ČÍSLO"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Nastaví datum pro následující přepínač --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Zobrazuje prováděné kontrolní body a návratové kódy PŘÍKAZU"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Synchronní vykonávání akcí. Tyto budou provedeny, když bude dosaženo číslo "
"kontrolního bodu zadaného přepínačem --checkpoint."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Zkrátí SOUBOR na velikost zadanou předchozím přepínačem --length (nebo na 0, "
"není-li uveden)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"K SOUBORU připojí VELIKOST bajtů. VELIKOST se zadává předcházejícím "
"přepínačem --length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Aktualizuje časy přístupu a změny obsahu SOUBORU"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Vykoná PŘÍKAZ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Smaže (unlink) SOUBOR"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Neplatná velikost: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Číslo je mimo povolený rozsah: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Záporná velikost: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) selhalo"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "požadovaná délka souboru %'lu, aktuální %'lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "vytvořený soubor není řídký"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Chyba při rozebírání čísla poblíž „%s“"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Neznámý formát data"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENT…]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "„%s“ nelze otevřít"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "v souboru se nelze pohybovat"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "název souboru obsahuje nulový znak"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"na standardní výstup nelze generovat řídké soubory, použijte přepínač --file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "nesprávná maska (poblíž „%s“)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Neznámá položka „%s“"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "Souboru „%s“ nelze nastavit čas"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "„%s“ nelze odstranit (unlink)"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Příkaz skončil úspěšně\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Příkaz selhal s kódem %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Příkaz skončil signálem %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Příkaz pozastaven signálem %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Příkaz skončil výpisem obrazu paměti\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Příkaz ukončen\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat potřebuje název souboru"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Pracovní adresář nelze uchovat"
+
#~ msgid "Cannot resolve hostname %s"
#~ msgstr "Název počítače %s nelze přeložit"
# Danish messages for GNU tar.
# Copyright (C) 1996 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
-# Claus Hindsgaul <claus_h@image.dk>, 2001.
-# Keld Jørn Simonsen <keld@dkuug.dk>, 2000-2001,2009.
#
+# Claus Hindsgaul <claus_h@image.dk>, 2001.
+# Keld Jørn Simonsen <keld@keldix.com>, 2000-2001,2009,2010.
+# Keld Simonsen <keld@keldix.com>, 2010.
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: GNU tar 1.22\n"
+"Project-Id-Version: GNU tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-05-26 13:57+0200\n"
-"Last-Translator: Keld Jørn Simonsen <keld@dkuug.dk>\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-09-26 09:18+0200\n"
+"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.0\n"
#: gnu/argmatch.c:135
#, c-format
#: gnu/argp-help.c:149
#, c-format
msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: %s værdi er mindre eller lig med %s"
#: gnu/argp-help.c:222
#, c-format
msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr ""
+msgstr "%.*s: Parameter for ARGP_HELP_FMT kræver en værdi"
#: gnu/argp-help.c:228
#, c-format
msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-msgstr ""
+msgstr "%.*s: Parameter fra ARGP_HELP_FMT skal være positiv."
#: gnu/argp-help.c:237
#, c-format
msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr ""
+msgstr "%.*s: Ukendt ARGP_HELP_FMT-parameter"
#: gnu/argp-help.c:249
#, c-format
msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr ""
+msgstr "Skidt i ARGP_HELP_FMT: %s"
#: gnu/argp-help.c:1246
msgid ""
"Mandatory or optional arguments to long options are also mandatory or "
"optional for any corresponding short options."
msgstr ""
+"Obligatoriske eller valgfri argumenter til lange flag er også obligatoriske "
+"eller valgfri for alle tilsvarende korte flag."
#: gnu/argp-help.c:1639
msgid "Usage:"
#: gnu/argp-help.c:1655
msgid " [OPTION...]"
-msgstr " [FLAG...}"
+msgstr " [FLAG...]"
#: gnu/argp-help.c:1682
#, c-format
msgid "Report bugs to %s.\n"
msgstr "Rapportér fejl til %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Ukendt systemfejl"
#: gnu/argp-parse.c:83
msgid "give this help list"
-msgstr ""
+msgstr "vis denne hjælpetekst"
#: gnu/argp-parse.c:84
msgid "give a short usage message"
-msgstr ""
+msgstr "vis en kort hjælpemeddelelse"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
-msgstr ""
+msgstr "NAVN"
#: gnu/argp-parse.c:85
msgid "set the program name"
-msgstr ""
+msgstr "angiv progravnavnet"
#: gnu/argp-parse.c:86
msgid "SECS"
-msgstr ""
+msgstr "SEK"
#: gnu/argp-parse.c:87
msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "vent i SEK sekunder (standardværdi 3600)"
#: gnu/argp-parse.c:144
msgid "print program version"
-msgstr ""
+msgstr "vis programversion"
#: gnu/argp-parse.c:160
#, c-format
msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(PROGRAMFEJL) Ingen version kendt!?"
#: gnu/argp-parse.c:613
#, c-format
#: gnu/argp-parse.c:756
msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(PROGRAMFEJL) Flag burde være genkendt!?"
#: gnu/closeout.c:114
msgid "write error"
msgstr "skrivefejl"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: flag '%s' er flertydigt\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: flag '%s' tillader ikke et argument\n"
+msgstr "%s: flag '--%s' tillader ikke et argument\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flag '%c%s' tillader ikke et argument\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: flag '%s' kræver et argument\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: flag '--%s' kræver et argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ukendt flag '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ukendt flag '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: ugyldigt flag -- %c\n"
+msgstr "%s: ugyldigt flag -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: flag kræver et argument -- %c\n"
+msgstr "%s: flag kræver et argument -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flag '-W %s' er flertydigt\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flag '-W %s' tillader ikke et argument\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: flag '-W %s' kræver et argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "hovedlager opbrugt"
#: gnu/openat-die.c:36
-#, fuzzy, c-format
+#, c-format
msgid "unable to record current working directory"
-msgstr "Kan ikke ændre arbejdskatalog"
+msgstr "Kan ikke notere nuværende arbejdskatalog"
#: gnu/openat-die.c:54
-#, fuzzy, c-format
+#, c-format
msgid "failed to return to initial working directory"
-msgstr "Kan ikke gemme arbejdskatalog"
+msgstr "Kan ikke gå tilbage til oprindeligt arbejdskatalog"
#. TRANSLATORS:
#. Get translations for open and closing quotation marks.
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Pakket af %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Pakket af %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#. locale. Otherwise, do not translate "(C)"; leave it as-is.
#: gnu/version-etc.c:86
msgid "(C)"
-msgstr ""
+msgstr "©"
#: gnu/version-etc.c:88
msgid ""
"There is NO WARRANTY, to the extent permitted by law.\n"
"\n"
msgstr ""
+"\n"
+"Licens GPLv3+: GNU GPL version 3 eller senere <http://gnu.org/licenses/gpl."
+"html>.\n"
+"Dette program er frit programmel. Du kan ændre og distribuere det.\n"
+"Der er ikke NOGEN SOM HELST GARANTI, i det omfang som lov tillader.\n"
#. TRANSLATORS: %s denotes an author name.
#: gnu/version-etc.c:104
-#, fuzzy, c-format
+#, c-format
msgid "Written by %s.\n"
-msgstr "Skrevet af François Pinard <pinard@iro.umontreal.ca>"
+msgstr "Skrevet af %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:108
-#, fuzzy, c-format
+#, c-format
msgid "Written by %s and %s.\n"
-msgstr "Skrevet af François Pinard <pinard@iro.umontreal.ca>"
+msgstr "Skrevet af %s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:112
-#, fuzzy, c-format
+#, c-format
msgid "Written by %s, %s, and %s.\n"
-msgstr "Skrevet af François Pinard <pinard@iro.umontreal.ca>"
+msgstr "Skrevet af %s, %s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s\n"
+"og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, %s, and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s, %s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, %s, %s, and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s, %s, %s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s og %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"%s, %s, and others.\n"
msgstr ""
+"Skrevet af %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s og andre.\n"
#. TRANSLATORS: The placeholder indicates the bug-reporting address
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Rapportér fejl til %s.\n"
+msgstr ""
+"\n"
+"Rapportér fejl til: %s\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr ""
-"\n"
-"Rapportér fejl til <bugs-tar@gnu.org>.\n"
+msgstr "Rapportér %s fejl til: %s\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "%s hjemmeside: <%s>\n"
#: gnu/version-etc.c:255
#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "%s hjemmeside: <http://www.gnu.org/software/%s/>.\n"
#: gnu/version-etc.c:258
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
+"Generel brugerhjælp for GNU-programmel: <http://www.gnu.org/gethelp/>.\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/paxerror.c:58 lib/paxerror.c:71
#, c-format
msgid "%s: Cannot %s"
-msgstr "%s: Kan ikke %s"
+msgstr "%s: Funktionen %s fejlede"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#, 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: Læsefejl ved byte %s, ved læsning af %lu byte"
-msgstr[1] "%s: Læsefejl ved byte %s, ved læsning af %lu byte"
+msgstr[0] "%s: Læsefejl ved byte %s ved læsning af %lu byte"
+msgstr[1] "%s: Læsefejl ved byte %s ved læsning af %lu byte"
#: lib/paxerror.c:192
#, c-format
msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: Advarsel: Læsefejl ved byte %s, ved læsning af %lu byte"
-msgstr[1] "%s: Advarsel: Læsefejl ved byte %s, ved læsning af %lu byte"
+msgstr[0] "%s: Advarsel: Læsefejl ved byte %s ved læsning af %lu byte"
+msgstr[1] "%s: Advarsel: Læsefejl ved byte %s ved læsning af %lu byte"
#: lib/paxerror.c:259
#, c-format
#: lib/paxnames.c:156
#, c-format
msgid "Removing leading `%s' from hard link targets"
-msgstr "Fjerner indledende '%s' fra absolutte lænkemål"
+msgstr "Fjerner indledende '%s' fra hårde lænkemål"
#: lib/paxnames.c:169
-#, fuzzy
msgid "Substituting `.' for empty member name"
-msgstr "Fjerner indledende '%.*s' fra medlemsnavne"
+msgstr "Erstatter tomme navne i arkivet med \".\""
#: lib/paxnames.c:170
msgid "Substituting `.' for empty hard link target"
-msgstr ""
+msgstr "Erstatter tomt mål for hård lænke med \".\""
#: lib/rtapelib.c:299
#, c-format
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Kan ikke opkoble til %s: navneopslag mislykkedes"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
-msgstr "Kan ikke eksekvere fjern skal"
+msgstr "Kan ikke eksekvere fjern skál"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
-msgstr "Søgeretning uden for område"
+msgstr "Søgeretning udenfor interval"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Ugyldig modus angivet i flag"
+msgstr "Ugyldig søgeretning"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Ugyldigt tidsstempel"
+msgstr "Ugyldig positioneringsværdi"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
-msgstr "Søgeposition uden for område"
+msgstr "Søgeposition udenfor interval"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Ugyldig båndlængde"
+msgstr "Ugyldigt byteantal"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Søgeposition uden for område"
+msgstr "Byteantal udenfor interval"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: For tidlig filafslutning\n"
+msgstr "For tidlig filafslutning"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "%s: ugyldigt flag -- %c\n"
+msgstr "Ugyldig operationskode"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Operation understøttes ikke"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Uventet filslutning i arkivet"
+msgstr "Uventede argumenter"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
-msgstr ""
+msgstr "Styr en båndstation via accept af kommandoer fra en fjernproces"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
-msgstr ""
+msgstr "NUMMER"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "sæt fejlsøgningsniveau"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
-msgstr ""
+msgstr "FIL"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "sæt fejlsøgningsfilnavn"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "kan ikke ændre ejer (chown) '%s'"
+msgstr "kan ikke åbne %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
-msgstr ""
+msgstr "for mange argumenter"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Ugyldig kommando"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Dette ligner ikke et tar-arkiv"
-#: src/buffer.c:385 src/buffer.c:394
-#, fuzzy
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
-msgstr "Totalt antal byte skrevet: %s (%sB, %sB/s)\n"
+msgstr "Totalt antal byte skrevet"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
-msgstr ""
+msgstr "Totalt antal byte læst"
-#: src/buffer.c:396
-#, fuzzy, c-format
+#: src/buffer.c:461
+#, c-format
msgid "Total bytes deleted: %s\n"
-msgstr "Totalt antal byte skrevet: %s (%sB, %sB/s)\n"
+msgstr "Totalt antal byte slettet: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(datakanal)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Ugyldig værdi for record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arkivnavn er ikke opgivet"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Kan ikke verificere standard-ind/standard-ud arkiver"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
-msgstr ""
+msgstr "Arkivet er komprimeret. Brug flaget %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Kan ikke opdatere komprimerede arkiver"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Ved begyndelsen af båndet, afslutter nu"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "For mange fejl, afslutter"
-#: src/buffer.c:744
-#, fuzzy, c-format
+#: src/buffer.c:821
+#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
-msgstr[0] "Poststørrelse = %lu blokke"
+msgstr[0] "Poststørrelse = %lu blok"
msgstr[1] "Poststørrelse = %lu blokke"
-#: src/buffer.c:765
-#, fuzzy, c-format
+#: src/buffer.c:842
+#, 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"
+msgstr[1] "Ikke-justerede blokke (%lu byte) i arkiv"
-#: src/buffer.c:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
-msgstr ""
+msgstr "rmtlseek stoppede ikke på en postgrænse"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: indeholder ugyldigt delarkivs-nummer"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Overløb på delarkiv-nummer"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Filafslutning hvor svar fra bruger var forventet"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ADVARSEL: Arkivet er ufuldstændigt"
-#: src/buffer.c:1003
-#, fuzzy, c-format
+#: src/buffer.c:1077
+#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Abort tar\n"
" y or newline Continue operation\n"
msgstr ""
-" n [navn] Giv et filnavn for næste (og efterfølgende) delarkiv(er)\n"
-" q Afbryd tar\n"
-" ! Start en skal\n"
-" ? Skriv denne list\n"
+" n navn Giv et nyt filnavn for næste (og efterfølgende) "
+"delarkiver\n"
+" q Afbryd tar\n"
+" y eller ny linje Fortsæt handling\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
-msgstr ""
+msgstr " ! Start en ny skál\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
-msgstr ""
+msgstr " ? Udskriv denne liste\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Intet nyt delarkiv; afslutter.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "Filnavn ikke angivet, prøv igen.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "Ugyldigt inddata. Skriv ? for at få hjælp.\n"
-#: src/buffer.c:1113
-#, fuzzy, c-format
+#: src/buffer.c:1187
+#, c-format
msgid "%s command failed"
msgstr "'%s'-kommando mislykkedes"
-#: src/buffer.c:1294
-#, fuzzy, c-format
+#: src/buffer.c:1368
+#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s fortsætter ikke i dette delarkiv"
+msgstr ""
+"%s fortsættes muligvis i dette delarkiv: hoved indeholder afkortet navn"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s fortsætter ikke i dette delarkiv"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s har forkert størrelse (%s != %s + %s)"
-#: src/buffer.c:1326
-#, fuzzy, c-format
+#: src/buffer.c:1401
+#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "Dette delarkiv kommer ude af rækkefølge"
+msgstr "Dette delarkiv er ude af rækkefølge (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arkivet er ikke navngivet til at passe med %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
-msgstr "Volumenet '%s' stemmer ikke overens med %s"
+msgstr "Delarkivet '%s' stemmer ikke overens med %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
+"%s: filnavnet er for langt til at gemmes i hovedet på et GNU-flerdelarkiv, "
+"afkortes"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
-msgstr ""
+msgstr "skrivning stoppede ikke på en blokgrænse"
#: src/compare.c:95
-#, fuzzy, c-format
+#, c-format
msgid "Could only read %lu of %lu byte"
msgid_plural "Could only read %lu of %lu bytes"
msgstr[0] "Kunne kun læse %lu af %lu byte"
msgstr[1] "Kunne kun læse %lu af %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Indhold er forskelligt"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Uventet filslutning i arkivet"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Filtype er forskellig"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modus er forskellig"
msgid "Mod time differs"
msgstr "Modificeringstid er forskellig"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Størrelse er forskellig"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ikke lænket til %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolsk lænke er forskellig"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Enhedsnummer er forskellig"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
-msgstr "Verificering "
+msgstr "Verificér "
-#: src/compare.c:469
-#, fuzzy, c-format
+#: src/compare.c:463
+#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
-msgstr "%s: Ukendt filtype '%c', diff-et som en almindelig fil"
+msgstr "%s: Ukendt filtype '%c', diff'et som en almindelig fil"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
-msgstr ""
+msgstr "Arkivet indeholder filnavne med indledende prefixer borttaget."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
-msgstr ""
+msgstr "Verificering kan mislykkes med at finde originalfiler."
-#: src/compare.c:599
-#, fuzzy, c-format
+#: src/compare.c:593
+#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
-msgstr[0] "VERIFIKASIONSFEJL: %d ukendte hoveder fundet"
-msgstr[1] "VERIFIKASIONSFEJL: %d ukendte hoveder fundet"
+msgstr[0] "VERIFICERINGSFEJL: %d ukendt hoved fundet"
+msgstr[1] "VERIFICERINGSFEJL: %d ukendte hoveder fundet"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
-msgstr ""
+msgstr "En enkeltstående nulblok ved %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
-msgstr ""
+msgstr "%s: indeholder et cachekatalog-mærke %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr "værdi %s ud af %s område %s..%s; erstatter %s"
+msgstr "værdi %s ud af %s interval %s..%s; erstatter %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
-msgstr "værdi %s ud af %s område %s..%s"
+msgstr "værdi %s ud af %s interval %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Genererer negative oktale hoveder"
-#: src/create.c:624 src/create.c:687
-#, fuzzy, c-format
+#: src/create.c:611 src/create.c:674
+#, c-format
msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: file er uændret; ikke lagret"
+msgstr "%s: filnavnet er for langt (max %d); ikke arkiveret"
-#: src/create.c:634
-#, fuzzy, c-format
+#: src/create.c:621
+#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
-msgstr "%s: file er uændret; ikke lagret"
+msgstr "%s: filnavnet er for langt (kan ikke opdeles); ikke arkiveret"
-#: src/create.c:661
-#, fuzzy, c-format
+#: src/create.c:648
+#, c-format
msgid "%s: link name is too long; not dumped"
-msgstr "%s: file er uændret; ikke lagret"
+msgstr "%s: lænkenavn er for langt; ikke arkiveret"
-#: src/create.c:1078
-#, fuzzy, c-format
+#: src/create.c:1062
+#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
-msgstr[0] "%s: Filen formindsket med %s byte, fylder ud med nuller"
+msgstr[0] "%s: Filen formindsket med %s byte, fylder ud med nul"
msgstr[1] "%s: Filen formindsket med %s byte, fylder ud med nuller"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
-msgstr "%s: fil er på et andet filesystem. Ikke lagret"
+msgstr "%s: fil er på et andet filesystem; ikke arkiveret"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
-msgstr ""
+msgstr "indholdet ikke arkiveret"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Ukendt filtype; filen blev ignoreret"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr " lænke til %s\n"
+msgstr "Mangler lænke til %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
-msgstr "%s: file er uændret; ikke lagret"
+msgstr "%s: fil er uændret; ikke arkiveret"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
-msgstr "%s: fil er det samme som arkivet; ikke lagret"
+msgstr "%s: fil er det samme som arkivet; ikke arkiveret"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
-msgstr ""
+msgstr "katalog ikke arkiveret"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: Fil ændredes mens vi læste den"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: sokkel ignoreret"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: dør ignoreret"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Hopper til næste hoved"
msgid "Deleting non-header from archive"
msgstr "Sletter ikke-hoved fra arkivet"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
-msgstr ""
+msgstr "%s: usandsynligt gammelt tidsstempel %s"
-#: src/extract.c:229
-#, fuzzy, c-format
+#: src/extract.c:295
+#, c-format
msgid "%s: time stamp %s is %s s in the future"
-msgstr "%s: tidsstempel %s er %lu s i fremtiden"
+msgstr "%s: tidsstempel %s er %s sekunder ud i fremtiden"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Uventet uoverensstemmelse ved oprettelse af katalog"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
-msgstr "%s: Katalog omdøbt før dets status kunne blive udtrukket"
+msgstr "%s: Katalog omdøbt før dets status kunne blive udpakket"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
-msgstr "Udtrækker sammenhængende filer som almindelige filer"
+msgstr "Udpakker sammenhængende filer som almindelige filer"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
-msgstr "Forsøger at udtrække symbolske lænker som hårde lænker"
+msgstr "Forsøger at udpakke symbolske lænker som hårde lænker"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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"
+msgstr "%s: Kan ikke udpakke -- filen er fortsat fra et andet delarkiv"
-#: src/extract.c:1190 src/list.c:1109
-#, fuzzy
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
-msgstr "Uventet filafslutning i ødelagte navne"
+msgstr "Uventet langt filnavnshoved"
-#: src/extract.c:1197
-#, fuzzy, c-format
+#: src/extract.c:1353
+#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
-msgstr "%s: Ukendt filtype '%c', udtrukket som en almindelig fil"
+msgstr "%s: Ukendt filtype '%c', udpakket som en almindelig fil"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
-msgstr ""
+msgstr "Nuværende %s er nyere eller lige så gammel"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Kunne ikke sikkerhedskopiere denne fil"
-#: src/extract.c:1402
-#, fuzzy, c-format
+#: src/extract.c:1568
+#, c-format
msgid "Cannot rename %s to %s"
-msgstr "%s: Kan ikke omdøbe til %s"
+msgstr "Kan ikke omdøbe %s til %s"
-#: src/incremen.c:482 src/incremen.c:526
-#, fuzzy, c-format
+#: src/incremen.c:474 src/incremen.c:518
+#, c-format
msgid "%s: Directory has been renamed from %s"
-msgstr "%s: Kataloget er blevet omdøbt"
+msgstr "%s: Kataloget er blevet omdøbt fra %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Kataloget er blevet omdøbt"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Kataloget er nyt"
msgstr "Ugyldigt tidsstempel"
#: src/incremen.c:1012
-#, fuzzy
msgid "Invalid modification time (seconds)"
-msgstr "Ugyldig modus angivet i flag"
+msgstr "Ugyldig modifikationstid (sekunder)"
#: src/incremen.c:1027
msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "Ugyldig modifikationstid (nanosekunder)"
#: src/incremen.c:1047
msgid "Invalid device number"
#: src/incremen.c:1113 src/incremen.c:1150
msgid "Field too long while reading snapshot file"
-msgstr ""
+msgstr "Felt for langt da øjebliksfil læstes"
#: src/incremen.c:1120 src/incremen.c:1158
msgid "Read error in snapshot file"
-msgstr ""
+msgstr "Læsefejl i øjebliksfil"
#: src/incremen.c:1122 src/incremen.c:1162 src/incremen.c:1214
#: src/incremen.c:1272
-#, fuzzy
msgid "Unexpected EOF in snapshot file"
-msgstr "Uventet filslutning i arkivet"
+msgstr "Uventet filslutning i øjebliksfil"
#: src/incremen.c:1129 src/incremen.c:1169
msgid "Unexpected field value in snapshot file"
-msgstr ""
+msgstr "Uventet feltværdi i øjebliksfil"
#: src/incremen.c:1264
msgid "Missing record terminator"
-msgstr ""
+msgstr "Postafslutning mangler"
#: src/incremen.c:1325 src/incremen.c:1328
msgid "Bad incremental file format"
-msgstr ""
+msgstr "Fejlagtigt inkrementelt filformat"
#: src/incremen.c:1347
#, c-format
msgid "Unsupported incremental format version: %<PRIuMAX>"
msgstr ""
+"Formatversion for inkrementel sikkerhedskopiering understøttes ikke: "
+"%<PRIuMAX>"
#: src/incremen.c:1502
#, c-format
msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt %#3o"
#: src/incremen.c:1512
msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: \"X\" duplikeret"
#: src/incremen.c:1525
msgid "Malformed dumpdir: empty name in 'R'"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: tomt navn i \"R\""
#: src/incremen.c:1538
msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: \"T\" foregås ikke af \"R\""
#: src/incremen.c:1544
msgid "Malformed dumpdir: empty name in 'T'"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: tomt navn i \"T\""
#: src/incremen.c:1564
#, c-format
msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: forventede \"%c\" men fandt slut på data"
#: src/incremen.c:1571
msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "Fejlagtigt dumpkatalog: \"X\" bruges aldrig"
#: src/incremen.c:1615
-#, fuzzy, c-format
+#, c-format
msgid "Cannot create temporary directory using template %s"
-msgstr "kan ikke oprette kataloget '%s'"
+msgstr "kan ikke oprette midlertidigt katalog ved brug af skabelonen %s"
#: src/incremen.c:1677
#, c-format
msgid "%s: Not purging directory: unable to stat"
-msgstr ""
+msgstr "%s: Renser ikke katalog: kunne ikke tage status"
#: src/incremen.c:1690
-#, fuzzy, c-format
+#, c-format
msgid "%s: directory is on a different device: not purging"
-msgstr "%s: fil er på et andet filesystem. Ikke lagret"
+msgstr "%s: fil er på et andet filesystem: sletter ikke"
#: src/incremen.c:1698
#, c-format
msgid "%s: Cannot remove"
msgstr "Kan ikke slette %s"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
-msgstr "Udelader %s"
+msgstr "%s: Udelader"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
-msgstr "blok %s: ** Blok med NUL-er **\n"
+msgstr "blok %s: ** Blok med NULler **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Slut på fil **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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"
+msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval; antager to-komplement"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
-msgstr "Arkiv oktal værdi %.*s er udenfor %s område"
+msgstr "Oktal værdi %.*s i arkiv er udenfor %s interval"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arkiv indeholder forældede base-64 hoveder"
-#: src/list.c:790
+#: src/list.c:805
#, 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"
+msgstr "Base-64 streng med fortegn %s i arkiv er udenfor %s interval"
-#: src/list.c:821
+#: src/list.c:836
#, c-format
msgid "Archive base-256 value is out of %s range"
-msgstr "Arkiv base-256 værdi er uden for %s område"
+msgstr "Base-256 værdi i arkiv er udenfor %s interval"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:850
+#: src/list.c:865
#, c-format
msgid "Archive contains %.*s where numeric %s value expected"
-msgstr "Arkiv indeholder %.*s hvor numerisk %s værdi var forventet"
+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:872
+#: src/list.c:887
#, 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"
+msgstr "Arkiv værdi %s er udenfor %s interval %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " lænke til %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " ukendt filtype %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
-msgstr ""
+msgstr "--Lang lænke--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
-msgstr ""
+msgstr "--Langt navn--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
-msgstr "--Volumenhoved--\n"
+msgstr "--Delarkivhoved--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
-msgstr "--Fortsætter ved byte %s--\n"
+msgstr "--Fortsat ved byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Opretter katalog:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Kan ikke ændre arbejdskatalog"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Omdøber %s til %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Kan ikke omdøbe til %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Omdøber %s tilbage til %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Kan ikke gemme arbejdskatalog"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Kan ikke ændre arbejdskatalog"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fil fjernet før vi læste den"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: Fil fjernet før vi læste den"
+msgstr "%s: Katalog fjernet før vi læste det"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "underproces"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "mellemproces-kanal"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr ""
+msgstr "Mønstermatchningstegn bruges i filnavne"
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
+"Brug --wildcards for at aktivere mønstermatchning, eller --no-wildcards for "
+"at undertrykke denne advarsel"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
-msgstr "%s: Blev ikke fundet i arkivet"
+msgstr "%s: Ikke fundet i arkivet"
-#: src/names.c:622
-#, fuzzy, c-format
+#: src/names.c:615
+#, c-format
msgid "%s: Required occurrence not found in archive"
-msgstr "%s: Blev ikke fundet i arkivet"
+msgstr "%s: Krævet forekomst blev ikke fundet i arkivet"
+
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Arkivetiket stemmer ikke overrens"
-#: src/names.c:894
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
+"At bruge -C-flaget i en filliste er ikke tilladt med --listed-incremental"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr ""
+msgstr "Kun ét -C-flag er tilladt med --listed-incremental"
#: src/tar.c:81
#, c-format
msgstr "Flagene '-%s' and '-%s' vil begge have standard inddata"
#: src/tar.c:158
-#, fuzzy, c-format
+#, c-format
msgid "%s: Invalid archive format"
-msgstr "%s: ugyldig gruppe"
+msgstr "%s: ugyldigt arkivformat"
#: src/tar.c:182
msgid "GNU features wanted on incompatible archive format"
msgid ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
+"Ukendt citeringsstíl \"%s\". Prøv \"%s --quoting-style=help for at få en "
+"liste."
-#: src/tar.c:347
-#, fuzzy
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -tvf archive.tar # List all files in archive.tar verbosely.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-"\n"
-"Brug: %s [OPTION]... [FILE]...\n"
+"GNU 'tar' gemmer mange filer sammen i et enkelt disk- eller bånd-arkiv, og "
+"kan gendanne individuelle filer fra arkivet.\n"
"\n"
"Eksempler:\n"
-" %s -cf arkiv.tar foo bar # Skab arkiv.tar fra filerne foo og bar.\n"
-" %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"
+" tar -cf arkiv.tar foo bar # Skab arkiv.tar fra filerne foo og bar.\n"
+" tar -tvf arkiv.tar # Vís alle filer i arkiv.tar udførligt.\n"
+" tar -xf arkiv.tar # Udpak alle filer fra arkiv.tar.\n"
-#: src/tar.c:356
-#, fuzzy
+#: src/tar.c:357
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 "
" nil, existing numbered if numbered backups exist, simple otherwise\n"
" never, simple always make simple backups\n"
msgstr ""
-"\n"
"Suffikset for sikkerhedskopiering er '~', med mindre det er sat med --"
"suffix\n"
-"eller SIMPLE_BACKUP_SUFFIX. Versionskontrol kan sættes med --backup eller\n"
-"VERSION_CONTROL. Gyldige værdier er:\n"
+"eller SIMPLE_BACKUP_SUFFIX Versionskontrollen kan sættes med --backup "
+"eller\n"
+"VERSION_CONTROL, værdier er:\n"
"\n"
+" none, off lav aldrig sikkerhedskopier\n"
" t, numbered lav nummererede sikkerhedskopier\n"
" nil, existing nummererede, dersom nummererede sikkerhedskopier "
"eksisterer,\n"
" ellers simple\n"
-" never, simple lav simple sikkerhedskopier\n"
+" never, simple lav altid simple sikkerhedskopier\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
-msgstr ""
+msgstr "Hovedoperationstilstand:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
-msgstr ""
+msgstr "vis indholdet af et arkiv"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
-msgstr ""
+msgstr "udpak filer fra et arkiv"
-#: src/tar.c:394
-#, fuzzy
+#: src/tar.c:395
msgid "create a new archive"
-msgstr "Uventet filslutning i arkivet"
+msgstr "opret et nyt arkiv"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
-msgstr ""
+msgstr "find forskelle mellem filsystemet og arkivet"
-#: src/tar.c:399
-#, fuzzy
+#: src/tar.c:400
msgid "append files to the end of an archive"
-msgstr "%d overflødige byte ignoreret ved slutningen på arkiv"
+msgstr "tilføj filer til slutningen af et arkiv"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
-msgstr ""
+msgstr "tilføj kun filer som er nyere end dem i arkivet"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
-msgstr ""
+msgstr "tilføj indholdet i tar-arkivfiler til et arkiv"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
-msgstr ""
+msgstr "fjern fra arkivet (ikke på magnetbånd!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "verificér arkivets delarkivnavn og afslut derefter."
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
-msgstr ""
+msgstr "Ændringer til handling:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
-msgstr ""
+msgstr "håndtér filer med huller effektivt"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "ØVRE[.NEDRE]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
+"angiv hvilken formatversion som skal håndtere filer med huller (implicerer --"
+"sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
-msgstr ""
+msgstr "håndtér det gamle GNU-format for inkrementel sikkerhedskopiering"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
-msgstr ""
+msgstr "håndtér det nye GNU-format for inkrementel sikkerhedskopiering"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "dumpniveau for \"listed-incremental\" arkiv"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
-msgstr ""
+msgstr "afslut ikke med fejlslutstatus p.g.a. filer, der ikke kan læses"
-#: src/tar.c:428
+#: src/tar.c:429
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 ""
+"behandl kun forekomst NUMMER af hver fil i arkivet. Dette flag er kun "
+"gyldigt med en af underkommandoerne --delete, --diff, --extract eller --list "
+"og når en liste af filer angives enten på kommandolinjen eller med flaget -"
+"T. Standardværdi for NUMMER er 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
-msgstr ""
+msgstr "arkivet er søgbart"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr ""
+msgstr "arkivet er ikke søgbart"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "kontrollér ikke enhedsnumre når inkrementelle arkiver oprettes"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
+"kontrollér enhedsnumre når inkrementelle arkiver oprettes (standardværdi)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
-msgstr ""
+msgstr "Kontrollér overskrivning:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
-msgstr ""
+msgstr "forsøg at verificere arkivet efter det blev skrevet"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
-msgstr ""
+msgstr "fjern filer efter de blev tilføjet til arkivet"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
-msgstr ""
+msgstr "erstat ikke eksisterende filer ved udpakning"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
+"erstat ikke eksisterende filer som er nyere end de, som findes i arkivet"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
-msgstr ""
+msgstr "overskriv eksisterende filer ved udpakning"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
-msgstr ""
+msgstr "fjern hver eksisterende fil inden en ny udpakkes oven i den"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
-msgstr ""
+msgstr "tøm kataloghierarkier før udpakning af katalog"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
-msgstr ""
+msgstr "bevar eksisterende katalogers metadata"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
+"overskriv metadata for eksisterende kataloger ved udpakning (standardværdi)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
-msgstr ""
+msgstr "Vælg uddatastrøm:"
-#: src/tar.c:475
-#, fuzzy
+#: src/tar.c:476
msgid "extract files to standard output"
-msgstr "Fejl ved skrivning til standard uddata"
+msgstr "udpak filer til standard-ud"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
-msgstr ""
+msgstr "KOMMANDO"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
-msgstr ""
+msgstr "udpak filer til standard input til et andet program"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
-msgstr ""
+msgstr "ignorér barneprocessers slutstatus"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
-msgstr ""
+msgstr "behandl slutstatus fra barneprocesser bortset fra 0 som fejl"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
-msgstr ""
+msgstr "Håndtering af filattributter:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
-msgstr ""
+msgstr "sæt NAVN som ejer for tilføjede filer"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
-msgstr ""
+msgstr "sæt NAVN som gruppe for tilføjede filer"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
-msgstr ""
+msgstr "DATO-ELLER-FIL"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
-msgstr ""
+msgstr "sæt modificeringstid på tilføjede filer fra DATO-ELLER-FIL"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
-msgstr ""
+msgstr "RETTIGHEDER"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
-msgstr ""
+msgstr "sæt (symbolske) RETTIGHEDER for tilføjede filer"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
-msgstr ""
+msgstr "METODE"
-#: src/tar.c:498
+#: src/tar.c:499
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 ""
+"bevar accesstider på arkiverede filer, enten ved at genskabe tiderne efter "
+"læsning (METODE=\"replace\", standardværdi) eller ved at ikke sætte tiderne "
+"overhovedet (METODE=\"system\")"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
-msgstr ""
+msgstr "udpak ikke filers modificeringstid"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
+"forsøg at udpakke filer til samme ejere som i arkivet (standardværdi for "
+"superbrugeren)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
+"udpak filer med dig selv som ejer (standardværdi for almindelige brugere)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
-msgstr ""
+msgstr "brug altid tal for bruger- og gruppnavn"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
-msgstr ""
+msgstr "udpak information om filrettigheder (standardværdi for superbrugeren)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
+"anvend brugerens umask når rettigheder udpakkes fra arkivet (standardværdi "
+"for almindelige brugere)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
-msgstr ""
+msgstr "sortér navne som skal udpakkes så de passer med arkivet"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
-msgstr ""
+msgstr "samme som både -p og -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
+"udsæt sætning af modifikationstider og rettigheder på udpakkede kataloger "
+"til slutningen på arkivudpakningen."
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "fjern effekten af flaget --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
-msgstr ""
+msgstr "Enhedsvalg og enhedsskift:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
-msgstr ""
+msgstr "ARKIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
-msgstr ""
+msgstr "brug arkivfil eller enhed ARKIV"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
-msgstr ""
+msgstr "arkivfilen er lokal selv om navnet har et kolon"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
-msgstr ""
+msgstr "brug KOMMANDO i stedet for rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
-msgstr ""
+msgstr "brug ekstern KOMMANDO i stedet for rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
-msgstr ""
+msgstr "angiv enhed og densitet"
-#: src/tar.c:556
-#, fuzzy
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
-msgstr "Kan ikke verificere arkiv som går over flere delarkiver"
+msgstr "opret/vis/udpak et flerdelarkiv"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr ""
+msgstr "skift bånd efter at NUMMER x 1024 byte er skrevet"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
-msgstr ""
+msgstr "kør kommandofil ved slutningen af hvert bånd (flaget -M sættes også)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
-msgstr ""
+msgstr "brug/opdatér delarkivnummer i FIL"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
-msgstr ""
+msgstr "Blokhåndtering:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
-msgstr ""
+msgstr "BLOK"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
-msgstr ""
+msgstr "BLOK x 512 byte per post"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
-msgstr ""
+msgstr "ANTAL byte per post, deleligt med 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr ""
+msgstr "ignorér blok med kun nultegn (betyder filslut)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr ""
+msgstr "lav nye blokke ved læsning (for 4.2BSD-datakanaler)"
-#: src/tar.c:582
-#, fuzzy
+#: src/tar.c:583
msgid "Archive format selection:"
-msgstr "Konflikt i flagene for arkiv-format"
+msgstr "Valg af arkivformat:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
-msgstr ""
+msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
-msgstr ""
+msgstr "opret et arkiv med det angivne format"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
-msgstr ""
+msgstr "FORMAT er et af følgende:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
-msgstr ""
+msgstr "gammelt V7-format"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
-msgstr ""
+msgstr "GNU-format for tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
-msgstr ""
+msgstr "Format fra GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr ""
+msgstr "POSIX 1003.1-1988 (ustar) format"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
-msgstr ""
+msgstr "POSIX 1003.1-2001 (pax) format"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
-msgstr ""
+msgstr "samme som pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
-msgstr ""
+msgstr "samme som --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
-msgstr ""
+msgstr "samme som --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr ""
+msgstr "nøgleord[[:]=værdi][,nøgleord[[:]=værdi]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
-msgstr ""
+msgstr "angiv nøgleord for pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
-msgstr ""
+msgstr "TEKST"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
+"opret et arkiv med delarkivnavnet TEKST. Ved visning/udpakning er TEKST et "
+"skálmønster (\"globbing\") for delarkivnavn"
-#: src/tar.c:613
-#, fuzzy
+#: src/tar.c:614
msgid "Compression options:"
-msgstr "Konflikt i komprimeringsflag"
+msgstr "Komprimeringsflag:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
-msgstr ""
+msgstr "brug arkivsuffix til at bestemme komprimeringsprogrammet"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
-msgstr ""
+msgstr "brug ikke arkivsuffix til at bestemme komprimeringsprogrammet"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
-msgstr ""
+msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
-msgstr ""
+msgstr "filtrér med PROG (skal acceptere -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
-msgstr ""
+msgstr "Lokalt filvalg:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
+msgstr "tilføj angivet FIL til arkivet (brugbart hvis FIL begynder med \"-\")"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
-msgstr ""
+msgstr "KATALOG"
-#: src/tar.c:641
-#, fuzzy
+#: src/tar.c:642
msgid "change to directory DIR"
-msgstr "Kan ikke ændre arbejdskatalog"
+msgstr "gå til arbejdskatalog KATALOG"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
-msgstr ""
+msgstr "hent navne at udpakke eller oprette fra FIL"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
-msgstr ""
+msgstr "-T læser navne adskilt med nultegn, deaktivér -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
-msgstr ""
+msgstr "fjern effekten af foregående --null-flag"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
-msgstr ""
+msgstr "afcitér filnavne som blev læst med -T (standardværdi)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
-msgstr ""
+msgstr "afcitér ikke filnavne som blev læst med -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
-msgstr ""
+msgstr "MØNSTER"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
-msgstr ""
+msgstr "udelad filer som matcher MØNSTER"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
-msgstr ""
+msgstr "udelad filer som matcher mønster listet i FIL"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
+"udelad indholdet i kataloger som indeholder CACHEDIR.TAG, undtagen "
+"mærkefilen CACHEDIR.TAG selv"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "udelad alt i kataloger som indeholder CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "udelad kataloger som indeholder CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
+msgstr "udelad indholdet i kataloger som indeholder FIL, undtagen FIL selv"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
-msgstr ""
+msgstr "udelad alting i kataloger som indeholder FIL"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
-msgstr ""
+msgstr "udelad kataloger som indeholder FIL"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
-msgstr ""
+msgstr "udelad kataloger fra versionshåndteringssystemer"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "udelad sikkerhedskopier og låsefiler"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
-msgstr ""
+msgstr "gå ikke ned i kataloger automatisk"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
-msgstr ""
+msgstr "skift ikke filsystem når arkivet oprettes"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
-msgstr ""
+msgstr "gå rekursivt ned i kataloger (standardværdi)"
-#: src/tar.c:682
-#, fuzzy
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
-msgstr "Fjerner indledende '/' fra absolutte lænker"
+msgstr "fjern ikke indledende '/' fra filnavne"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
-msgstr ""
+msgstr "følg symbolske lænker, arkivér filerne de peger på"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
-msgstr ""
+msgstr "følg hårde lænker, arkivér filerne de peger på"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
-msgstr ""
+msgstr "MEDLEMSNAVN"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
-msgstr ""
+msgstr "begynd med medlem MEDLEMSNAVN i arkivet"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
-msgstr ""
+msgstr "arkivér kun filer nyere end DATO-ELLER-FIL"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
-msgstr ""
+msgstr "DATO"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
-msgstr ""
+msgstr "sammenlign kun dato og tid for dataændringer"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
-msgstr ""
+msgstr "KONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
-msgstr ""
+msgstr "lav sikkerhedskopier før fjernelse, vælg type af versionshåndtering"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
-msgstr ""
+msgstr "STRENG"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
+"lav sikkerhedskopier før fjernelse, erstat den normale sikkerhedskopiendelse "
+"(\"~\" hvis ikke ændret med miljøvariablen SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
-msgstr ""
+msgstr "Filnavnstransformationer:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
-msgstr ""
+msgstr "fjern ANTAL indledende komponenter fra filnavne ved udpakning"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
-msgstr ""
+msgstr "UDTRYK"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
+msgstr "brug sed's erstatnings-UDTRYK for at transformere filnavne"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
+"Flag for match af filnavne (påvirker både ekskluderings- og "
+"inkluderingsmønstre):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
-msgstr ""
+msgstr "ingen forskel på store og små bogstaver"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
-msgstr ""
+msgstr "mønstre skal matche med begyndelsen på filnavne"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
+"mønstre matches efter \"/\" i filnavne (standardværdi ved ekskludering)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
-msgstr ""
+msgstr "match store og små bogstaver forskelligt (standardværdi)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
-msgstr ""
+msgstr "brug jokertegn (standardværdi for ekskludering)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
-msgstr ""
+msgstr "ordret strengsammenligning"
-#: src/tar.c:728
-#, fuzzy
+#: src/tar.c:729
msgid "wildcards do not match `/'"
-msgstr "Volumenet '%s' stemmer ikke overens med %s"
+msgstr "jokertegn matcher ikke \"/\""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
-msgstr ""
+msgstr "jokertegn matcher \"/\" (standardværdi for ekskludering)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
-msgstr ""
+msgstr "Informativ udskrift:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
-msgstr ""
+msgstr "vís navne på alle filer som bliver behandlet"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "NØGLEORD"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
-msgstr ""
+msgstr "advarselskontrol"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
+"vis forløbsmeddelelser efter hver gruppe af ANTAL poster (standardværdi 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
-msgstr ""
+msgstr "HANDLING"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "udfør HANDLING ved hvert kontrolpunkt"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
-msgstr ""
+msgstr "vis en meddelelse hvis ikke alle lænker bliver arkiveret"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
-msgstr ""
+msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names without SIG prefix are also "
"accepted"
msgstr ""
+"skriv totalt antal byte efter arkivet er blevet behandlet. Med et argument - "
+"skrives totalt antal byte når SIGNAL levereres. Tilladte signaler er: "
+"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 coh SIGUSR2. Navne uden SIG-præfix "
+"accepteres også."
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr ""
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "vis filers modificeringstid i UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "vis fuld opløsning på filtider"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
-msgstr ""
+msgstr "send informative meddelelser til FIL"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
-msgstr ""
+msgstr "vis bloknummer i arkivet for hver meddelelse"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
-msgstr ""
+msgstr "bed om bekræftelse for hver handling"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
-msgstr ""
+msgstr "vis standardværdier for \"tar\""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
+"ved visning eller udpakning vises hvert katalog som ikke matcher "
+"søgekriterium"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "vis fil- eller arkivnavne efter transformering"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
-msgstr ""
+msgstr "STÍL"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
+msgstr "sæt citatstíl for navne. Se nedenfor for gyldige værdier på STÍL."
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "citér også tegn i STRENG"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "citér ikke tegn fra STRENG"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
-msgstr ""
+msgstr "Kompatibilitetsflag:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
+"ved oprettelse det samme som --old-archive; ved udpakning det samme som --no-"
+"same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
-msgstr ""
+msgstr "Andre flag:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "begræns brugen af potentielt farlige flag"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Du kan ikke angive mere end et af '-Acdtrux'-flagene"
+msgstr ""
+"Du kan ikke angive mere end et af '-Acdtrux' eller `--test-label' flagene"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Konflikt i komprimeringsflag"
-#: src/tar.c:993
-#, fuzzy, c-format
+#: src/tar.c:996
+#, c-format
msgid "Unknown signal name: %s"
-msgstr " ukendt filtype %s\n"
+msgstr "Ukendt signalnavn: %s"
-#: src/tar.c:1017
-#, fuzzy
+#: src/tar.c:1020
msgid "Date sample file not found"
-msgstr "Datofil ikke fundet"
+msgstr "Tidsfil blev ikke fundet"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Erstatter %s for ukendt dato-format %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
-msgstr ""
+msgstr "Flag %s: Behandler tidsangivelse \"%s\" som %s"
-#: src/tar.c:1132
-#, fuzzy, c-format
+#: src/tar.c:1135
+#, c-format
msgid "%s: file list already read"
-msgstr "%s: fil er det samme som arkivet; ikke lagret"
+msgstr "%s: filliste allerede læst"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
-msgstr ""
+msgstr "%s: filnavnet som læstes indeholder nultegn"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "%s: fil er det samme som arkivet; ikke lagret"
+msgstr "filtrér arkivet igennem %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
-msgstr ""
+msgstr "Gyldige argumenter til flaget --quoting-style er:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
+"\n"
+"*Denne* tar har standardværdierne:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Ugyldig blokfaktor"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Ugyldig båndlængde"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr ""
+msgstr "Fejlagtig værdi for inkrementelt niveau"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mere end én grænse-dato"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Ugyldig version for filer med huller"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "--atime-preserve=\"system\" understøttes ikke på denne platform"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "--checkpoint-værdien er ikke et heltal"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: ugyldig gruppe"
+msgstr "Ugyldig gruppe"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Ugyldig modus angivet i flag"
-#: src/tar.c:1894
-#, fuzzy
+#: src/tar.c:1912
msgid "Invalid number"
-msgstr "Ugyldigt inode-nummer"
+msgstr "Ugyldigt nummer"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Ugyldig ejer"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
+"Flaget --preserve er forældet, brug --preserve-permissions --preserve-order "
+"i stedet"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Ugyldig poststørrelse"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Poststørrelse skal være deleligt med %d."
-#: src/tar.c:2000
-#, fuzzy
+#: src/tar.c:2019
msgid "Invalid number of elements"
-msgstr "Ugyldig båndlængde"
+msgstr "Ugyldigt antal elementer"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
-msgstr ""
+msgstr "Kun ét --to-command flag tilladt"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
-msgstr ""
+msgstr "Ugyldig densitetsangivelse: %s"
-#: src/tar.c:2126
-#, fuzzy, c-format
+#: src/tar.c:2145
+#, c-format
msgid "Unknown density: `%c'"
-msgstr "Ukendt mønster '%s'"
+msgstr "Ukendt densitet: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
-msgstr ""
+msgstr "[FIL]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Gammelt flag '%c' behøver et argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
-msgstr ""
+msgstr "--occurrence er meningsløs uden en filliste"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
-msgstr ""
+msgstr "--occurrence kan ikke bruges i den ønskede operationstilstand."
-#: src/tar.c:2379
-#, fuzzy
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Ved flere arkivfiler kræves '-M'-flaget"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Kan ikke kombinere --listed-incremental med --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr ""
+msgstr "--level er meningsløs uden --listed-incremental"
-#: src/tar.c:2404
-#, fuzzy, c-format
+#: src/tar.c:2423
+#, 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)"
+msgstr[0] "%s: etiket på delarkiv er for lang (grænse er %lu byte)"
+msgstr[1] "%s: etiket på delarkiv er for lang (grænse er %lu byte)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Kan ikke verificere arkiv som går over flere delarkiver"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Kan ikke verificere komprimerede arkiver"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Kan ikke bruge komprimerede arkiver som går over flere delarkiver"
-#: src/tar.c:2431
-#, fuzzy
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
-msgstr "Kan ikke opdatere komprimerede arkiver"
+msgstr "Kan ikke sammenlægge (konkatenere) komprimerede arkiver"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
-msgstr ""
+msgstr "--pax-option kan kun bruges på POSIX-arkiver"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
-msgstr ""
+msgstr "Delarkivlængden kan ikke være mindre end poststørrelsen"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
-msgstr ""
+msgstr "--preserve-order er ikke kompatibel med --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Nægter stædigt at oprette et tomt arkiv"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Flagene '-Aru' er inkompatible med '-f -'"
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Du skal angive et af '-Acdtrux'-flagene"
+msgstr "Du skal angive et af '-Acdtrux' eller '--test-label' flagene"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
-msgstr ""
+msgstr "Afslutter med fejlstatus på grund af tidligere fejl"
#: 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: Filen formindskedes med %s byte"
msgstr[1] "%s: Filen formindskedes med %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
-msgstr ""
+msgstr "Nøgleordet %s er ukendt eller ikke implementeret endnu"
-#: src/xheader.c:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Tidsstempel uden for område"
+msgstr "Tidsstempel udenfor tilladt interval"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
-msgstr ""
+msgstr "Mønster %s kan ikke bruges"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
-msgstr ""
+msgstr "Nøgleord %s kan ikke erstattes"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: længden mangles"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
-msgstr ""
+msgstr "Længde på udvidet hoved er udenfor gyldigt interval"
-#: src/xheader.c:556
-#, fuzzy, c-format
+#: src/xheader.c:557
+#, 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"
+msgstr "Længde %*s på udvidet hoved er udenfor gyldigt interval"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: blanktegn efter længdangivelse mangles"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: ligmedtegn mangles"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: nylinje mangles"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
-msgstr ""
+msgstr "Ignorerer nøgleord \"%s\" i udvidet hoved"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, c-format
msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
-msgstr ""
+msgstr "Genereret nøgle/værdi-par er for langt (nøgle=%s, længde=%s)"
#. TRANSLATORS: The first %s is the pax extended header keyword
#. (atime, gid, etc.).
-#: src/xheader.c:862
-#, fuzzy, c-format
+#: src/xheader.c:863
+#, 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"
+msgstr "Udvidet hoved %s=%s er udenfor intervallet %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: ugyldig %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: for mange %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: uventet skilletegn %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr ""
+msgstr "Fejlagtigt udvidet hoved: ugyldigt %s: ulige antal værdier"
#: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
msgid "%s: not a valid timeout"
-msgstr "%s: ugyldig gruppe"
+msgstr "%s: ugyldig tidsudløb"
#: src/checkpoint.c:112
#, c-format
msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: ukendt kontrolpunktshandling"
#: src/checkpoint.c:132
-#, fuzzy
msgid "write"
-msgstr "skrivefejl"
+msgstr "skrive"
#: src/checkpoint.c:132
msgid "read"
-msgstr ""
+msgstr "læse"
#. TRANSLATORS: This is a ``checkpoint of write operation'',
#. *not* ``Writing a checkpoint''.
#. E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
#. *not* ``Escribiendo un punto de comprobaci@'on''
#: src/checkpoint.c:222
-#, fuzzy, c-format
+#, c-format
msgid "Write checkpoint %u"
-msgstr "Skriver kontrolpunkt %d"
+msgstr "Skrivekontrolpunkt %u"
#. TRANSLATORS: This is a ``checkpoint of read operation'',
#. *not* ``Reading a checkpoint''.
#. E.g. in Spanish ``Punto de comprobaci@'on de lectura'',
#. *not* ``Leyendo un punto de comprobaci@'on''
#: src/checkpoint.c:228
-#, fuzzy, c-format
+#, c-format
msgid "Read checkpoint %u"
-msgstr "Læser kontrolpunkt %d"
+msgstr "Læsekontrolpunkt %u"
-#: tests/genfile.c:112
-#, fuzzy
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
-msgstr "Generér datafiler for GNU tar testpakke.\n"
+msgstr ""
+"genfile bearbejder datafiler i testsuiten for GNU paxutils.\n"
+"FLAG er:\n"
-#: tests/genfile.c:128
-#, fuzzy
+#: tests/genfile.c:127
msgid "File creation options:"
-msgstr "Konflikt i komprimeringsflag"
+msgstr "Flag for filoprettelse:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
-msgstr ""
+msgstr "STØRRELSE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
-msgstr ""
+msgstr "Opret en fil med angivet STØRRELSE"
-#: tests/genfile.c:132
-#, fuzzy
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
-msgstr "Fejl ved skrivning til standard uddata"
+msgstr "Skriv til filen NAVN i stedet for til standard-ud"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
-msgstr ""
+msgstr "Læs filnavne fra FIL"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
-msgstr ""
+msgstr "-T læser navne adskilte med nultegn"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr ""
+msgstr "Fyld filen med det angivne MØNSTER. MØNSTER er 'default' eller 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Størrelse af en blok for filer med huller"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr ""
+msgstr "Generér fil med huller. Resten af kommandolinjen giver filmapningen."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
-msgstr ""
+msgstr "POSITION"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
-msgstr ""
+msgstr "Flyt til given position inden data skrives"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
-msgstr ""
+msgstr "Flag for filstatistik:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
+"Vís indholdet i \"struct stat\" for hver given fil. Standardværdi på FORMAT "
+"er:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
-msgstr ""
+msgstr "Flag for synkron udførelse:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [FLAG...}"
+msgstr "FLAG"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
+"Udfør ARGUMENTER. Nyttigt ved --checkpoint og en af --cut, --append, --"
+"touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
-msgstr ""
+msgstr "Udfør angivet handling (se nedenfor) når kontrolpunkt NUMMER nås"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
-msgstr ""
+msgstr "Sæt dato for næste --touch flag"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr ""
+msgstr "Vís udførte kontrolpunkter og slutstatus på KOMMANDO"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
+"Synkront udførte handlinger. Disse udføres når kontrolpunktnummeret givet "
+"med flaget --checkpoint nås."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
+"Afkort FIL til størrelsen givet med det foregående --length flag (eller 0 "
+"hvis det ikke er angivet)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
+"Tilføj STØRRELSE antal byte til FIL. STØRRELSE er givet med foregående --"
+"length flag."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
-msgstr ""
+msgstr "Opdatér acces- og modifikationstider for FIL"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
-msgstr ""
+msgstr "Udfør KOMMANDO"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "Fjern (unlink) FIL"
-#: tests/genfile.c:245
-#, fuzzy, c-format
+#: tests/genfile.c:244
+#, c-format
msgid "Invalid size: %s"
-msgstr "Ugyldigt tidsstempel"
+msgstr "Ugyldig størrelse %s"
-#: tests/genfile.c:250
-#, fuzzy, c-format
+#: tests/genfile.c:249
+#, c-format
msgid "Number out of allowed range: %s"
-msgstr "Inode-nummer uden for område"
+msgstr "Nummer udenfor tilladt interval: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
-msgstr ""
+msgstr "Negativ størrelse: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
-msgstr ""
+msgstr "status (stat) kunne ikke tages på %s"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "ønsket fillængde %lu, virkelig %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
-msgstr ""
+msgstr "oprettet fil har ikke huller"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
-msgstr ""
+msgstr "Fejl ved fortolkning af tal nær \"%s\""
-#: tests/genfile.c:368
-#, fuzzy, c-format
+#: tests/genfile.c:367
+#, c-format
msgid "Unknown date format"
-msgstr "Ukendt systemfejl"
+msgstr "Ukendt datoformat"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARGUMENTER...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
-#, fuzzy, c-format
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
+#, c-format
msgid "cannot open `%s'"
-msgstr "kan ikke ændre ejer (chown) '%s'"
+msgstr "kan ikke åbne '%s'"
-#: tests/genfile.c:435
-#, fuzzy
+#: tests/genfile.c:434
msgid "cannot seek"
-msgstr "Kan ikke lukke"
+msgstr "Kan ikke søge"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
-msgstr ""
+msgstr "filnavnet indeholder nultegn"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
-msgstr ""
+msgstr "kan ikke oprette filer med huller til standard-ud, brug flaget --file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "fejlagtig maske (nær \"%s\")"
-#: tests/genfile.c:601 tests/genfile.c:634
-#, fuzzy, c-format
+#: tests/genfile.c:600 tests/genfile.c:633
+#, c-format
msgid "Unknown field `%s'"
-msgstr "Ukendt mønster '%s'"
+msgstr "Ukendt felt '%s'"
-#: tests/genfile.c:661
-#, fuzzy, c-format
+#: tests/genfile.c:660
+#, c-format
msgid "cannot set time on `%s'"
-msgstr "kan ikke oprette kataloget '%s'"
+msgstr "kan ikke sætte tid på \"%s\""
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "kan ikke ændre ejer (chown) '%s'"
+msgstr "kan ikke fjerne (unlink) \"%s\""
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
-msgstr ""
+msgstr "Kommandoen afsluttedes uden fejl\n"
-#: tests/genfile.c:828
-#, fuzzy, c-format
+#: tests/genfile.c:827
+#, c-format
msgid "Command failed with status %d\n"
-msgstr "Underproces døde med signal %d"
+msgstr "Kommandoen mislykkedes med slutstatus %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "Kommandoen termineredes af signal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "Kommandoen stoppedes af signal %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
-msgstr ""
+msgstr "Kommandoen dumpede hukommelsen\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
-msgstr ""
+msgstr "Kommandoen afsluttedes\n"
-#: tests/genfile.c:872
-#, fuzzy, c-format
+#: tests/genfile.c:871
+#, c-format
msgid "--stat requires file names"
-msgstr "--Ødelagte filnavne--\n"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ulovligt flag -- %c\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Rapportér fejl til <bugs-tar@gnu.org>.\n"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Læser %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Fejl kan ikke reddes; afslutter nu"
-
-#, fuzzy
-#~ msgid "filter the archive through compress"
-#~ msgstr "%s: fil er det samme som arkivet; ikke lagret"
-
-#, fuzzy
-#~ msgid "filter the archive through lzma"
-#~ msgstr "%s: fil er det samme som arkivet; ikke lagret"
-
-#, fuzzy
-#~ msgid "filter the archive through lzop"
-#~ msgstr "%s: fil er det samme som arkivet; ikke lagret"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Kan ikke allokere plads til buffer\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Kan ikke allokere plads til buffer"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "Prøv '%s --help' for mere information.\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ " --version Output version info.\n"
-#~ " --help Output this help.\n"
-#~ msgstr ""
-#~ "Brug: %s [FLAG]\n"
-#~ "Behandl en båndstation, med kommandoer fra en anden proces.\n"
-#~ "\n"
-#~ " --help vis denne hjælpetekst\n"
-#~ " --version vis programversion\n"
-
-#, fuzzy
-#~ msgid "Seek offset error"
-#~ msgstr "Søgeposition uden for område"
-
-#~ msgid "Premature end of file"
-#~ msgstr "For tidlig filafslutning"
-
-#~ msgid "block size"
-#~ msgstr "blokstørrelse"
-
-#~ msgid "Cannot dup"
-#~ msgstr "Kan ikke starte ny proces med 'dup'"
-
-#~ msgid "Cannot use compressed or remote archives"
-#~ msgstr ""
-#~ "Kan ikke bruge komprimerede arkiver eller arkiver på en anden maskine"
-
-#~ msgid "tar (child)"
-#~ msgstr "tar (underproces)"
-
-#~ msgid "tar (grandchild)"
-#~ msgstr "tar (under-underproces)"
-
-#~ msgid "Cannot allocate memory for blocking factor %d"
-#~ msgstr "Kunne ikke allokere hovedlager for blok-faktor %d"
-
-#~ msgid "WARNING: No volume header"
-#~ msgstr "ADVARSEL: Manglende delarkivhoved"
-
-#~ msgid "Child returned status %d"
-#~ msgstr "Underproces afsluttede med status %d"
-
-#~ msgid "Member names contain `..'"
-#~ msgstr "Medlemsnavne indeholder '..'"
-
-#~ msgid "%s: Member name contains `..'"
-#~ msgstr "%s: Medlemsnavne indeholder '..'"
-
-#~ msgid "Visible long name error"
-#~ msgstr "Fejl på et langt navn"
-
-#~ msgid "Device number out of range"
-#~ msgstr "Enhedsnummer er uden for område"
-
-#~ msgid "Visible longname error"
-#~ msgstr "Fejl på et langt navn"
-
-#~ msgid "Renamed %s to %s"
-#~ msgstr "Omdøbt %s til %s"
-
-#~ msgid "%s: Cannot symlink to %s"
-#~ msgstr "%s: Kan ikke oprette symbolsk lænke til %s"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "Lænkede %s symbolsk til %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Ukendt kommando %s ved rekonstruering af navn"
-
-#~ msgid "Missing file name after -C"
-#~ msgstr "Mangler filnavn efter -C"
-
-#~ 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 ""
-#~ "Dette program kommer UDEN GARANTI, i den grad som dette er tilladt ved "
-#~ "lov.\n"
-#~ "Du må redistribuere det under betingelsene i GNU General Public License;\n"
-#~ "se filen kaldet COPYING for detaljer."
-
-#~ msgid "rmtd: Garbage command %c\n"
-#~ msgstr "rmtd: Ugyldig kommando %c\n"
-
-#~ msgid ""
-#~ "GNU `tar' saves many files together into a single tape or disk archive, "
-#~ "and\n"
-#~ "can restore individual files from the archive.\n"
-#~ msgstr ""
-#~ "GNU 'tar' gemmer mange filer i et arkiv, og kan hente enkeltstående\n"
-#~ "filer ud af arkivet.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "If a long option shows an argument as mandatory, then it is mandatory\n"
-#~ "for the equivalent short option also. Similarly for optional arguments.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Dersom et langt flag har et obligatorisk argument, er argumentet også\n"
-#~ "obligatorisk for det korte flag. Tilsvarende gælder dersom argumentet\n"
-#~ "kan sløjfes.\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"
-#~ "Hovedoperationsmodi:\n"
-#~ " -t, --list list indholdet af arkivet\n"
-#~ " -x, --extract, --get udtræk filer fra arkivet\n"
-#~ " -c, --create oprette et nyt arkiv\n"
-#~ " -d, --diff, --compare vis forskelle mellem arkivet og filsystemet\n"
-#~ " -r, --append tilføj filer ved slutningen af arkivet\n"
-#~ " -u, --update tilføj kun filer som er nyere end dem i "
-#~ "arkivet\n"
-#~ " -A, --catenate føj en arkivfil til arkivet\n"
-#~ " --concatenate samme som -A\n"
-#~ " --delete slet fra arkivet (ikke for arkiv på bånd!)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Operation modifiers:\n"
-#~ " -W, --verify attempt to verify the archive after writing "
-#~ "it\n"
-#~ " --remove-files remove files after adding them to the "
-#~ "archive\n"
-#~ " -k, --keep-old-files don't 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"
-#~ "Flag for operationsmodi:\n"
-#~ " -W, --verify forsøg at verificere arkivet efter at have "
-#~ "skrevet det\n"
-#~ " --remove-files slet filer efter at have tilføjet dem til "
-#~ "arkivet\n"
-#~ " -k, --keep-old-files overskriv ikke eksisterende filer ved "
-#~ "udtræk\n"
-#~ " --overwrite overskriv eksisterende filer ved udtræk\n"
-#~ " --overwrite-dir overskriv metadata for kataloger ved udtræk\n"
-#~ " -U, --unlink-first slet alle filer før udtrækning til dem\n"
-#~ " --recursive-unlink tøm kataloger før udtrækning\n"
-#~ " -S, --sparse håndtér filer med huller mere effektivt\n"
-#~ " -O, --to-stdout udtræk filer til standard-ud\n"
-#~ " -G, --incremental brug det gamle GNU format for inkrementel\n"
-#~ " sikkerhedskopiering\n"
-#~ " -g, --listed-incremental brug det nye GNU-format for inkrementel\n"
-#~ " sikkerhedskopiering\n"
-#~ " --ignore-failed-read ignorér fejl under læsning af filer\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Handling of file attributes:\n"
-#~ " --owner=NAME force NAME as owner for added files\n"
-#~ " --group=NAME force NAME as group for added files\n"
-#~ " --mode=CHANGES force (symbolic) mode CHANGES for added "
-#~ "files\n"
-#~ " --atime-preserve don't change access times on dumped files\n"
-#~ " -m, --modification-time don't extract file modified time\n"
-#~ " --same-owner try extracting files with the same "
-#~ "ownership\n"
-#~ " --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"
-#~ "Håndtering af filattributter:\n"
-#~ " --owner=NAVN brug NAVN som ejer for nye filer\n"
-#~ " --gruppe=NAVN brug NAVN som gruppe for nye filer\n"
-#~ " --mode=OKTAL brug OKTAL som modus for nye filer\n"
-#~ " --atime-preserve ændre ikke accesstider på tilføjede filer\n"
-#~ " -m, --modification-time udtræk ikke modificeringstiden\n"
-#~ " --same-owner forsøg at udtrække filer med samme ejer\n"
-#~ " --numeric-owner brug nummer for bruger/gruppe-navn\n"
-#~ " -p, --same-permissions forsøg at udtrække filer med samme\n"
-#~ " filbeskyttelse\n"
-#~ " --preserve-permissions samme som -p\n"
-#~ " -s, --same-order sorter navn som skal udtrækkes sådan at\n"
-#~ " de passer med arkivet\n"
-#~ " --preserve-order samme som -s\n"
-#~ " --preserve samme som både -p og -s\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Device selection and switching:\n"
-#~ " -f, --file=ARCHIVE use archive file or device ARCHIVE\n"
-#~ " --force-local archive file is local even if has a "
-#~ "colon\n"
-#~ " --rsh-command=COMMAND use remote COMMAND instead of rsh\n"
-#~ " -[0-7][lmh] specify drive and density\n"
-#~ " -M, --multi-volume create/list/extract multi-volume "
-#~ "archive\n"
-#~ " -L, --tape-length=NUM change tape after writing NUM x 1024 "
-#~ "bytes\n"
-#~ " -F, --info-script=FILE run script at end of each tape (implies -"
-#~ "M)\n"
-#~ " --new-volume-script=FILE same as -F FILE\n"
-#~ " --volno-file=FILE use/update the volume number in FILE\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Enhedsvalg og enhedsskifte:\n"
-#~ " -f, --file=ARKIV brug arkivfil eller enhed ARKIV\n"
-#~ " --force-local arkivfil er lokal selv om den har et "
-#~ "kolon\n"
-#~ " --rsh-command=KOMMANDO brug KOMMANDO i stedet for rsh\n"
-#~ " -[0-7][lmh] angiv enhed og tæthed\n"
-#~ " -M, --multi-volume behandl arkivet som et arkiv af flere "
-#~ "delarkiver\n"
-#~ " -L, --tape-length=NUMMER skift bånd efter at NUMMER x 1024 byte "
-#~ "er\n"
-#~ " skrevet\n"
-#~ " -F, --info-script=FIL kør kommandofil FIL ved slutningen af "
-#~ "hvert\n"
-#~ " bånd (sætter -M automatisk)\n"
-#~ " --new-volume-script=FIL samme som -F FIL\n"
-#~ " --volno-file=FIL brug/opdatér delarkivnummeret i FIL\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Device blocking:\n"
-#~ " -b, --blocking-factor=BLOCKS BLOCKS x 512 bytes per record\n"
-#~ " --record-size=SIZE SIZE bytes per record, multiple of 512\n"
-#~ " -i, --ignore-zeros ignore zeroed blocks in archive (means "
-#~ "EOF)\n"
-#~ " -B, --read-full-records reblock as we read (for 4.2BSD pipes)\n"
-#~ msgstr ""
-#~ "\n"
-#~ "blokhåndtering:\n"
-#~ " -b, --blocking-factor=ENHEDER sæt blokstørrelse ENHEDER x 512 byte\n"
-#~ " --record-size=STØRRELSE STØRRELSE byte per enhed (deleligt mad "
-#~ "512)\n"
-#~ " -i, --ignore-zeros ignorér blokke som indeholder nuller\n"
-#~ " (betyder filafslutning)\n"
-#~ " -B, --read-full-records omblok ved læsning (for 4.2BSD "
-#~ "datakanaler)\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"
-#~ "Valg af arkivformat:\n"
-#~ " -V, --label=NAVN lav et arkiv med delarkivnavn NAVN\n"
-#~ " MØNSTER filer som skal medtages ved listning "
-#~ "eller\n"
-#~ " udtrækning (tilladt med jokertegn)\n"
-#~ " -o, --old-archive, --portability lav et arkiv i V7 format\n"
-#~ " --posix lav et arkiv i POSIX format\n"
-#~ " -j, --bzip2 send arkivet gennem bzip2\n"
-#~ " -z, --gzip, --ungzip send arkivet gennem gzip\n"
-#~ " -Z, --compress, --uncompress send arkivet gennem compress\n"
-#~ " --use-compress-program=PROG send arkivet gennem PROG (skal "
-#~ "forstå -d)\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Local file selection:\n"
-#~ " -C, --directory=DIR change to directory DIR\n"
-#~ " -T, --files-from=NAME get names to extract or create from file "
-#~ "NAME\n"
-#~ " --null -T reads null-terminated names, disable -"
-#~ "C\n"
-#~ " --exclude=PATTERN exclude files, given as a 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"
-#~ "Valg af lokale filer:\n"
-#~ " -C, --directory=KATALOG ændr katalog til KATALOG\n"
-#~ " -T, --files-from=FIL hent navn for udtrækning eller arkivering\n"
-#~ " fra filen FIL\n"
-#~ " --null -T læser nul-terminerede navne, tillader "
-#~ "ikke -C\n"
-#~ " --exclude=MØNSTER medtag ikke filer (tilladt med jokertegn)\n"
-#~ " -X, --exclude-from=FIL medtag ikke filer navngivne i filen FIL\n"
-#~ " (tilladt med jokertegn)\n"
-#~ " --anchored udeladelsesmønstre passer med "
-#~ "filnavnsstart (standard)\n"
-#~ " --no-anchored udeladelsesmønstre passer på navne efter "
-#~ "ethvert /\n"
-#~ " --ignore-case udeladelse behandler store og små "
-#~ "bogstaver ens\n"
-#~ " --no-ignore-case udeladelse behandler store og små "
-#~ "bogstaver forskelligt (standard)\n"
-#~ " --wildcards udeladelsesmønstre bruger jokertegn "
-#~ "(standard)\n"
-#~ " --no-wildcards udeladelsesmønstre er rene strenge\n"
-#~ " --wildcards-match-slash udeladelsesmønstre med jokertegn passer "
-#~ "med '/' (default)\n"
-#~ " --no-wildcards-match-slash udeladelsesmønstre med jokertegn passer "
-#~ "ikke med '/'\n"
-#~ " -P, --absolute-names fjern ikke indledende '/' fra filnavn\n"
-#~ " -h, --dereference arkivér istedet det som symbolske lænker "
-#~ "peger på\n"
-#~ " --no-recursion medtag ikke filer i underkataloger\n"
-#~ " -l, --one-file-system medtag ikke filer fra andre filsystemer\n"
-#~ " -K, --starting-file=NAVN begynd med filen NAVN i arkivet\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=DATO arkivér kun filer som er nyere end DATO\n"
-#~ " --newer-mtime=DATO sammenlign tidsstempel kun når data er "
-#~ "ændret\n"
-#~ " --after-date=DATO samme som -N\n"
-
-#~ msgid ""
-#~ " --backup[=CONTROL] backup before removal, choose version "
-#~ "control\n"
-#~ " --suffix=SUFFIX backup before removal, override usual "
-#~ "suffix\n"
-#~ msgstr ""
-#~ " --backup[=KONTROL] lav sikkerhedskopi før sletning, med\n"
-#~ " versionskontrol\n"
-#~ " --suffix=SUFFIKS lav sikkerhedskopi før sletning, med\n"
-#~ " overstyring af det almindelige suffiks\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"
-#~ "Udskrift af information:\n"
-#~ " --help vis denne hjælpetekst og afslut\n"
-#~ " --version vis programversion og afslut\n"
-#~ " -v, --verbose vis hver fil som behandles\n"
-#~ " --checkpoint vis katalognavn når arkivet læses\n"
-#~ " --totals vis totalt antal byte skrevet\n"
-#~ " -R, --block-number vis enhedsnummer i arkivet sammen med alle "
-#~ "beskeder\n"
-#~ " -w, --interactive spørg efter bekræftelse for hver operation\n"
-#~ " --confirmation samme som -w\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "GNU tar cannot read nor produce `--posix' archives. If POSIXLY_CORRECT\n"
-#~ "is set in the environment, GNU extensions are disallowed with `--posix'.\n"
-#~ "Support for POSIX is only partially implemented, don't count on it yet.\n"
-#~ "ARCHIVE may be FILE, HOST:FILE or USER@HOST:FILE; 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 kan hverken læse eller skrive '--posix'-arkiver. Dersom\n"
-#~ "miljøvariablen POSIXLY_CORRECT er sat, er GNU-funktioner ikke tilladt\n"
-#~ "sammen med '--posix'. POSIX-understøttelse er kun delvis implementeret, "
-#~ "så\n"
-#~ "stol ikke på det endnu.\n"
-#~ "ARKIV kan være FIL, MASKINE:FIL eller BRUGER@MASKINE:FIL; DATO kan være "
-#~ "en\n"
-#~ "tekst-dato, eller et filnavn begyndende med '/' eller '.' og da vil "
-#~ "filens dato\n"
-#~ "blive brugt. *Denne* version af tar har '-f%s -b%d' som forvalg.\n"
-
-#~ msgid "Obsolete option, now implied by --blocking-factor"
-#~ msgstr "Forældet flag, nu underforstået af --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --blocking-factor"
-#~ msgstr "Forældet flag udskiftet med --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --read-full-records"
-#~ msgstr "Forældet flag skiftet ud med --read-full-records"
-
-#~ 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?"
-
-#~ msgid "Obsolete option name replaced by --touch"
-#~ msgstr "Forældet flag skiftet ud med --touch"
-
-#~ msgid "Obsolete option name replaced by --absolute-names"
-#~ msgstr "Forældet flag skiftet ud med --absolute-names"
-
-#~ msgid "Obsolete option name replaced by --block-number"
-#~ msgstr "Forældet flag skiftet ud med --block-number"
-
-#~ msgid "Warning: the -y option is not supported; perhaps you meant -j?"
-#~ msgstr "Advarsel: -y flaget er ikke understøttet; måske mente du -j?"
-
-#~ msgid "Obsolete option name replaced by --backup"
-#~ msgstr "Forældet flag skiftet ud med --backup"
-
-#~ 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"
-#~ "\n"
-#~ " -l, --file-length=LENGTH LENGTH of generated file\n"
-#~ " -p, --pattern=PATTERN PATTERN is `default' or `zeros'\n"
-#~ " --help display this help and exit\n"
-#~ " --version output version information and exit\n"
-#~ msgstr ""
-#~ "Obligatoriske argumenter for lange flag er obligatoriske også for korte "
-#~ "flag.\n"
-#~ "\n"
-#~ " -l, --file-length=LÆNGDE længde af genereret fil\n"
-#~ " -p, --pattern=MØNSTER gyldige mønstre er 'default' eller 'zeros'\n"
-#~ " --help vis denne hjælpetekst og afslut\n"
-#~ " --version vis programversion og afslut\n"
-
-#~ msgid "Ambiguous pattern `%s'"
-#~ msgstr "Flertydigt mønster '%s'"
-
-#~ msgid "Copyright %d Free Software Foundation, Inc."
-#~ msgstr "Copyright © %d Free Software Foundation, Inc."
-
-#~ msgid ""
-#~ "This is free software; see the source for copying conditions. There is "
-#~ "NO\n"
-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
-#~ "PURPOSE.\n"
-#~ msgstr ""
-#~ "Dette er frit programmel. Se kildekoden for kopieringsbetingelser.\n"
-#~ "Programmellet har ingen garanti, ikke en gang for SALGBARHED eller "
-#~ "EGNETHED\n"
-#~ "TIL NOGEN SPECIEL OPGAVE.\n"
-
-#~ msgid "`%s' exists but is not a directory"
-#~ msgstr "'%s' eksisterer, men er ikke et katalog"
-
-#~ msgid "cannot chdir to directory, %s"
-#~ msgstr "kan ikke gå til kataloget, %s"
-
-#~ msgid "cannot chmod %s"
-#~ msgstr "kan ikke ændre filrettigheder for '%s'"
-
-#~ msgid "virtual memory exhausted"
-#~ msgstr "virtuelt hovedlager opbrugt"
-
-#~ msgid "Write to compression program short %lu bytes"
-#~ msgstr "Skrev %lu byte for lidt til komprimeringsprogrammet"
-
-#~ msgid "Removing `%.*s' prefix from member names"
-#~ msgstr "Fjerner '%.*s' præfiks fra medlemsnavne"
-
-#~ msgid "Archive contains future timestamp %s"
-#~ msgstr "Arkiv indeholder fremtidigt tidsstempel %s"
-
-#~ msgid "%s: Cannot symlink %s %s"
-#~ msgstr "%s: Kan ikke lænke %s symbolsk til %s"
-
-#~ msgid "Invalid group given on option"
-#~ msgstr "Ugyldig gruppe angivet i flag"
+msgstr "--stat kræver filnavne"
-#~ msgid "Invalid owner given on option"
-#~ msgstr "Ugyldig ejer angivet i flag"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Kan ikke gemme arbejdskatalog"
# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995?
# Karl Eichwalder <ke@ke.central.de>, 1996
# Christian Kirsch <ck@held.mind.de>, 1996, 2001
-# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009
+# Michael Piefel <piefel@informatik.hu-berlin.de>, 2003, 2006, 2007, 2008, 2009, 2010
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-03-26 10:05+0100\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-08-17 21:45+0200\n"
"Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Unbekannter Systemfehler."
msgid "give a short usage message"
msgstr "eine kurze Benutzungsübersicht ausgeben"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAME"
msgid "write error"
msgstr "Schreibfehler"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: Option „%s“ ist mehrdeutig\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Option „--%s“ erlaubt keinen Parameter\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: Option „%c%s“ erlaubt keinen Parameter.\n"
+msgstr "%s: Option „%c%s“ erlaubt keinen Parameter\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: Option „%s“ benötigt einen Parameter.\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: Option „--%s“ benötigt einen Parameter\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: Unbekannte Option „--%s“\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: Unbekannte Option „%c%s“\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: Ungültige Option -- %c\n"
+msgstr "%s: Ungültige Option -- „%c“\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: Option benötigt einen Parameter -- %c.\n"
+msgstr "%s: Option benötigt einen Parameter -- „%c“.\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: Option „-W %s“ ist mehrdeutig.\n"
+msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: Option „-W %s“ erlaubt keinen Parameter.\n"
+msgstr "%s: Option „-W %s“ erlaubt keinen Parameter\n"
+
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: Option „-W %s“ benötigt einen Parameter\n"
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Paketiert von %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Paketiert von %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n"
+msgstr ""
+"\n"
+"Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an: %s\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr ""
-"\n"
-"Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <%s>.\n"
+msgstr "Melden Sie Fehler in %s (auf Englisch, mit LC_ALL=C) an: %s\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Homepage von %s: <%s>\n"
#: gnu/version-etc.c:255
-#, fuzzy, c-format
+#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Homepage von %s: <http://www.gnu.org/software/%s/>.\n"
+msgstr "Homepage von %s: <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
-#, fuzzy
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Allgemeine Hilfe zu GNU-Software: <http://www.gnu.org/gethelp/>.\n"
+msgstr "Allgemeine Hilfe zu GNU-Software: <http://www.gnu.org/gethelp/>\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Kann nicht mit %s verbinden: Auflösung fehlgeschlagen"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Kann Remote-Shell nicht ausführen."
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Richtung für Positionierung nicht zulässig."
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Ungültige Zugriffsrechte angegeben."
+msgstr "Ungültige Richtung für Positionierung"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Ungültige Größe: %s"
+msgstr "Ungültiger Betrag für Positionierung"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Positionierungsangabe außerhalb des zulässigen Bereichs."
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Ungültige Bandlänge"
+msgstr "Ungültige Bytezahl"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Positionierungsangabe außerhalb des zulässigen Bereichs."
+msgstr "Bytezahl außerhalb des zulässigen Bereichs"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: Vorzeitiges Dateiende.\n"
+msgstr "Vorzeitiges Dateiende"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Hauptsächlicher Arbeitsmodus:"
+msgstr "Ungültiger Arbeitsmodus"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Operation nicht gestattet"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Unerwartetes Dateiende in verstümmelten Namen."
+msgstr "Unerwartete Argumente"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
+"Ein Bandlaufwerk bearbeiten, dabei Befehle von entferntem Prozess annehmen"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "ZAHL"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "Debug-Level setzen"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "DATEI"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "Dateinamen für Debug-Ausschriften setzen"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
msgstr "kann „%s“ nicht öffnen"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "zu viele Argumente"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
-msgstr "Ungültiges Befehl."
+msgstr "Ungültiger Befehl"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Das sieht nicht wie ein „tar“-Archiv aus."
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Gesamtzahl geschriebener Bytes"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Gesamtzahl gelesener Bytes"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Gesamtzahl gelöschter Bytes: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Ungültiger Wert für „record_size“."
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Kein Archivname angegeben"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen."
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s."
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Kann komprimierte Archive nicht aktualisieren"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Am Anfang des Mediums, beende jetzt."
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Zu viele Fehler, beende."
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "„rmtlseek“ nicht an Recordgrenze angehalten"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: enthält ungültige Teil-Nummer."
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Teil-Nummer zu groß."
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Dateiende gefunden, Benutzereingabe erwartet"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "WARNUNG: Archiv unvollständig"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q „tar“ abbrechen\n"
" j oder Enter fortfahren\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Shell in einem Unterprozess starten\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? diese Liste ausgeben\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Kein neues Medium; halte an.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "„%s“-Befehl gescheitert."
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "Dieser Teil ist keine Fortsetzung von %s."
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s hat die falsche Größe (%s != %s + %s)."
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Dieser Teil ist nicht an der Reihe (%s - %s != %s)."
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Kennzeichnung des Archivs passt nicht zu „%s“."
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Teil „%s“ passt nicht zu „%s“."
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu "
"können, abgeschnitten"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "Schreiben endete nicht an Blockgrenze"
msgstr[0] "Konnte nur %lu von %lu Byte lesen"
msgstr[1] "Konnte nur %lu von %lu Bytes lesen"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Unterschiedliche Inhalte"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Unerwartetes Dateiende im Archiv."
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Unterschiedliche Dateitypen "
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modus ist unterschiedlich"
msgid "Mod time differs"
msgstr "Änderungszeit ist unterschiedlich"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Größe ist unterschiedlich"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nicht mit „%s“ verknüpft"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolische Verknüpfung ist unterschiedlich"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Unterschiedliche Gerätenummern"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Prüfe "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Unbekannter Dateityp „%c“, Differenz wie für eine normale Datei."
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Archiv enthält Dateinamen, deren Präfixe entfernt wurden."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Die Überprüfung findet möglicherweise die Originaldateien nicht."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "FEHLER BEI PRÜFUNG: %d ungültiger Kopfteil erkannt."
msgstr[1] "FEHLER BEI PRÜFUNG: %d ungültige Kopfteile erkannt."
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Ein einzelner Nullblock bei %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: enthält eine „Cache-Verzeichnis“-Markierung %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "Wert %s außerhalb des %s-Bereich %s..%s; ersetze durch %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "Wert %s außerhalb des %s-Bereichs %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Erzeuge negative oktale Kopfteile"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: Dateiname ist zu lang (max. %d); nicht gesichert."
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: Dateiname ist zu lang (kann nicht aufgeteilt werden); nicht gesichert."
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: Verknüpfungsname ist zu lang; nicht gesichert."
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "Datei %s ist um ein Byte geschrumpft, fülle mit Null auf."
msgstr[1] "Datei %s ist um %s Bytes geschrumpft, fülle mit Nullen auf."
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert."
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "Inhalt nicht gesichert"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Unbekannter Dateityp; Datei ignoriert."
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "Fehlende Verknüpfungen zu %s.\n"
+msgstr "Fehlende Verknüpfungen zu %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "Datei %s ist unverändert; nicht gesichert."
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s ist das Archiv; nicht gesichert."
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "Verzeichnis nicht gesichert"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: Datei hat sich beim Lesen geändert."
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: Socket ignoriert"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: Klappe ignoriert"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Springe zum nächsten Kopfteil."
msgid "Deleting non-header from archive"
msgstr "Lösche nicht-Kopfteil aus dem Archiv"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: unplausibel alter Zeitstempel %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: Zeitstempel %s liegt %s Sekunden in der Zukunft."
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Unerwarteter Inkonsitenz beim Erstellen des Verzeichnisses."
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Verzeichnis umbenannt bevor sein Status ermittelt werden konnte"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extrahiere zusammenhängende Dateien („contiguous files“) als reguläre."
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr ""
"Versuche symbolische Verknüpfungen als harte Verknüpfungen herauszuholen."
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Unerwarteter Kopfteil mit langem Namen"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Unbekannter Dateityp „%c“, wie normale Datei extrahiert."
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter."
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Kann %s nicht in %s umbenennen."
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Verzeichnis wurde von „%s“ umbenannt."
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Verzeichnis wurde umbenannt."
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "Verzeichnis „%s“ ist neu."
msgid "%s: Cannot remove"
msgstr "%s: Kann nicht entfernen."
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Ausgelassen"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "Block %s: ** Block aus NULlen **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "Block %s: ** Ende der Datei **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "Block %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, c-format
msgid "Blanks in header where numeric %s value expected"
msgstr "Leerzeichen im Kopfteil, wo numerische %s-Werte stehen sollten."
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Archiv enthält veraltete Base64-Kopfteile"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " Verknüpfung zu %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " unbekannter Dateityp %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "––Lange Verknüpfung––\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
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:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "––Vorspann des Teils––\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "––Fortgesetzt bei Byte %s––\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Erzeuge Verzeichnis:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Kann Arbeitsverzeichnis nicht wechseln."
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Benenne „%s“ in „%s“ um.\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Kann nicht in %s umbenennen"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Benenne „%s“ zurück in „%s“.\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Kann aktuelles Verzeichnis nicht sichern."
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Kann Arbeitsverzeichnis nicht wechseln."
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Datei gelöscht, bevor sie gelesen wurde."
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: Datei gelöscht, bevor sie gelesen wurde."
+msgstr "%s: Verzeichnis gelöscht, bevor es gelesen wurde."
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "Kindprozess"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
-msgstr "interprocess channel"
+msgstr "Interprocess-Kanal"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt. Benutzen"
+msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "Sie bitte --wildcards, um Musterüberdeckung zu ermöglichen oder"
+msgstr ""
+"Benutzen Sie --wildcards, um Musterüberdeckung zu ermöglichen oder\n"
+"--no-wildcards, um diese Warnung zu unterdrücken."
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Nicht im Archiv gefunden."
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden."
-#: src/names.c:894
-#, fuzzy
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Kennzeichnung des Archivs passt nicht"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr "--preserve-order ist nicht kompatibel mit --listed-incremental"
+msgstr "Option -C in Dateiliste ist nicht erlaubt mit --listed-incremental"
-#: src/names.c:900
-#, fuzzy
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "--preserve-order ist nicht kompatibel mit --listed-incremental"
+msgstr "In --listed-incremental ist nur eine Option -C erlaubt"
#: src/tar.c:81
#, c-format
"Unbekannter Zitatstil „%s“. Versuchen Sie „%s --quoting-style=help“ für eine "
"Liste."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"zusammen und kann einzelne Dateien aus dem Archiv wieder herstellen.\n"
"\n"
"Beispiele:\n"
-" %s -cf archiv.tar foo bar # archiv.tar mit den Dateien foo und bar "
+" tar -cf archiv.tar foo bar # archiv.tar mit den Dateien foo und bar "
"erzeugen\n"
-" %s -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen\n"
-" %s -xf archiv.tar # alle Dateien aus archiv.tar extrahieren\n"
+" tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen\n"
+" tar -xf archiv.tar # alle Dateien aus archiv.tar extrahieren\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" vorhanden sind, sonst einfache\n"
" never, simple immer einfache Sicherheitskopien\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Hauptsächlicher Arbeitsmodus:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "den Inhalt eines Archivs auflisten"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "Dateien aus einem Archiv extrahieren"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "ein neues Archiv anlegen"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "Unterschiede zwischen Archiv und Dateisystem suchen"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "Dateien hinten an das Archiv anfügen"
-#: src/tar.c:401
+#: src/tar.c:402
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:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "tar-Dateien an ein Archiv anfügen"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "aus dem Archiv löschen (nicht auf Magnetband!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "den Archiv-Teil-Namen überprüfen und beenden"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Feineinstellungen:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "löchrige Dateien („sparse files“) effizient behandeln"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "zu benutzende Version des Sparse-Formats setzen (impliziert --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "inkrementelle Sicherung im alten GNU-Format"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "inkrementelle Sicherung im neuen GNU-Format"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "Niveau für erzeugte Archive mit --listed-incremental ausgeben"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "kein Abbruch mit Existatus!=0 bei unlesbaren Dateien"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"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:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "im Archiv kann positioniert werden"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "im Archiv kann positioniert werden"
+msgstr "im Archiv kann nicht positioniert werden"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "Gerätenummer bei Erstellung inkrementeller Archive nicht prüfen"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"Gerätenummer bei Erstellung inkrementeller Archive prüfen (Voreinstellung)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Steuerung des Überschreibens:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "Archiv nach dem Schreiben prüfen"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "Dateien nach dem Hinzufügen zum Archiv löschen"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "vorhandene Dateien beim Extrahieren nicht überschreiben"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "vorhandene Dateien beim Extrahieren überschreiben"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "zu überschreibende Dateien vor dem Extrahieren löschen"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
"Verzeichnishierarchien rekursiv vor dem Extrahieren eines Verzeichnisses "
"löschen"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "Metadaten existierender Verzeichnisse erhalten"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"Metadaten existierender Verzeichnisse beim Extrahieren überschreiben "
"(Voreinstellung)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Wahl des Ausgabestroms:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "Dateien auf die Standardausgabe extrahieren"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "BEFEHL"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "extrahierte Dateien an ein anderes Programm weiterreichen"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "Exitstatus der Kinder ignorieren"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "Exitstatus!=0 von Kindern als Fehler ansehen"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Behandlung der Datei-Attribute:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "Eigentümer für hinzugefügte Dateien auf NAME setzen"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "Gruppe für hinzugefügte Dateien auf NAME setzen"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATUM-ODER-DATEI"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ÄNDERUNGEN"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "den (symbolischen) Modus ÄNDERUNGEN für hinzugefügte Dateien erzwingen"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METHODE"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden (METHODE="
"„system“)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "die geänderte Zeit nicht extrahieren"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-"versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren"
+"versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren "
+"(für den Admin ist dies die Voreinstellung)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "Dateien als aktueller Nutzer extrahieren"
+msgstr ""
+"Dateien als aktueller Nutzer extrahieren (für normale Nutzer die "
+"Voreinstellung)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "immer Zahlen für Nutzer-/Gruppennamen verwenden"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"Informationen über Dateizugriffsrechte mit extrahieren (Voreinstellung für "
"Root)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"die Umask des Nutzers anwenden beim Extrahieren von Dateizugriffsrechte aus "
"dem Archiv (Voreinstellung für normale Nutzer)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "zu entpackende Dateinamen wie im Archiv sortieren"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "wie -p und -s zusammen"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"das Setzen von Zugriffszeiten und Rechten von extrahierten Verzeichnissen "
"verschieben bis zum Ende des Entpackens"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "den Effekt von --delay-directory-restore aufheben"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Geräteauswahl und -umschaltung:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "Archivdatei oder Gerät ARCHIV benutzen"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "statt „rmt“ den gegebenen BEFEHL benutzen"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "statt „rsh“ den entfernten BEFEHL benutzen"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "Laufwerk und Schreibdichte angeben"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "mehrteiliges Archiv anlegen/listen/extrahieren"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "Medium wechseln, wenn ZAHL × 1024 Bytes geschrieben wurden"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "am Ende jedes Mediums das Skript ausführen (impliziert -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "Teil-Nummer in DATEI benutzen/aktualisieren"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blockung des Gerätes:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLÖCKE"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLÖCKE × 512 Bytes pro Record"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "ZAHL Bytes pro Record, Vielfaches von 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "Blöcke mit Nullen im Archiv ignorieren (heißt EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Auswahl des Archiv-Formats:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "Archiv mit dem gegebenen Format anlegen"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT ist eines der folgenden:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "altes V7-tar-Format"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU-Format wie mit tar <=1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU-tar-1.13.x-Format"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "Format von POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "Format von POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "wie pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "wie --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "wie --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "Pax-Schlüsselwörter steuern"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXT"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"Archiv mit dem Teilnamen TEXT anlegen; beim Listen/Extrahieren, TEXT als "
"Muster für den Teilnamen benutzen"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Kompressionsoptionen:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "Archiverweiterung nicht nehmen, um Kompressionsprogramm zu bestimmen"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "durch PROG filten (muss -d akzeptieren)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Auswahl der lokalen Dateien:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "VERZEICHNIS"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "zu VERZEICHNIS wechseln"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T liest null-terminierte Namen, verbiete -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "die Wirkung der vorangehenden Option --null aufheben"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
"Dateinamen, die mit -T gelesen werden, von Zitat befreien (Voreinstellung)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "Dateinamen, die mit -T gelesen werden, nicht von Zitat befreien"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MUSTER"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "Dateien auslassen, auf die MUSTER passt"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der "
"Markierungsdatei selbst"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
"alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "Verzeichnisse auslassen, die DATEI enthalten"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "Verzeichnisse von Versionskontrollsystemen auslassen"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "Backup- und Lock-Dateien ausschließen"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "automatischen Abstieg in Vezeichnisse vermeiden"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "in Verzeichnisse absteigen (Voreinstellung)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "führende „/“-Zeichen in den Dateinamen erhalten"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "ELEMENT-NAME"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "mit ELEMENT-NAME im Archiv beginnen"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATUM"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "KONTROLLE"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "ZEICHENKETTE"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch "
"Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Dateinamentransformationen:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "AUSDRUCK"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen"
-#: src/tar.c:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "Groß-/Kleinschreibung ignorieren"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "Muster am Dateinamensanfang ausrichten"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "Muster benutzen (Voreinstellung für Ausschluss)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "Zeichenketten sind buchstabengetreu"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "Jokerzeichen passen nicht auf „/“"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informationen:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "bearbeitete Dateien ausführlich listen"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "SCHLÜSSELWORT"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Steuerung des Überschreibens:"
+msgstr "Warnungssteuerung"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
"Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "AKTION"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "AKTION bei jedem Kontrollpunkt ausführen"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
"eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"wird; erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; "
"die Namen ohne das Präfix SIG sind auch erlaubt"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "Dateiänderungszeiten in UTC anzeigen"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "Dateizeit in voller Auflösung anzeigen"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "ausführliche Ausgabe in DATEI schreiben"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "für jede Aktion um Bestätigung bitten"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "Voreinstellungen von tar anzeigen"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den "
"Suchkriterien entspricht"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "Datei- oder Archivnamen nach der Transformation anzeigen"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STIL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "Zeichen aus ZEICHENKETTE nicht zitieren"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Kompatibilitätsoptionen:"
-#: src/tar.c:784
+#: src/tar.c:787
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:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Weitere Optionen:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "möglicherweise schädliche Optionen deaktivieren"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Von den Optionen „-Acdtrux“ ist nur _eine_ erlaubt."
+msgstr ""
+"Von den Optionen „-Acdtrux“ oder „--test-label“ ist jeweils nur eine erlaubt"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Kompressionsoptionen schließen sich gegenseitig aus."
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Unbekannter Signalname: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Datumsdatei nicht gefunden"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Ersetze %s für unbekanntes Datumsformat %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Option %s: Behandle Datum „%s“ als %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: Dateiliste schon gelesen"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "Archiv durch xz filtern"
+msgstr "Archiv durch %s filtern"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Gültige Argumente für die Option --quoting-style sind:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Dieses* „tar“ hat als Voreinstellung:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Ungültige Blockgröße"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Ungültige Bandlänge"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "unzulässiges inkrementelles Dateiformat"
+msgstr "unzulässiger Wert für inkrementelles Niveau"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mehr als ein Datum angegeben."
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Ungültiger Wert für Sparse-Version (für löchrige Dateien)"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "Wert für --checkpoint ist keine ganze Zahl"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: Ungültige Gruppe"
+msgstr "Ungültige Gruppe"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Ungültige Zugriffsrechte angegeben."
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Ungültige Zahl"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Ungültiger Benutzer"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Die Option --preserve ist veraltet, benutzen Sie stattdessen --preserve-"
"permissions --preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Ungültiger Wert für Recordgröße."
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Die Recordgröße muss ein Vielfaches von %d sein."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Ungültige Elementanzahl"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Nur eine Option --to-command erlaubt"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Fehlgeformtes Dichteargument: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Unbekannte Dicht: „%c“"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[DATEI]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Die alte Option „%c“ benötigt einen Parameter."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence ist ohne Dateiliste bedeutungslos"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
"--occurrence kann im angeforderten Operationsmodus nicht benutzt werden"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Mehrere Archivdateien verlangen die Option „-M“."
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental kann nicht mit --newer benutzt werden"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--preserve-order ist nicht kompatibel mit --listed-incremental"
+msgstr "--level ist ohne --listed-incremental bedeutungslos"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Kann mehrteilige Archive nicht prüfen."
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Kann komprimierte Archive nicht prüfen"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Kann keine mehrteiligen komprimierten Archive verwenden."
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Kann komprimierte Archive nicht aneinanderhängen"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Teillänge kann nicht unter der Recordgröße liegen"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order ist nicht kompatibel mit --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Anlegen eines leeren Archivs wird feige verweigert."
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“."
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Eine der Optionen „-Acdtrux“ ist notwendig."
+msgstr "Eine der Optionen „-Acdtrux“ oder „--test-label“ ist notwendig."
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Beende mit Fehlerstatus aufgrund vorheriger Fehler"
msgstr[0] "%s: Datei ist um ein Byte geschrumpft."
msgstr[1] "%s: Datei ist um %s Bytes geschrumpft."
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Schlüsselwort %s ist unbekannt oder noch nicht implementiert"
-#: src/xheader.c:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Zahl außerhalb des zulässigen Bereichs: %s"
+msgstr "Zeitstempel außerhalb des zulässigen Bereichs"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Muster %s kann nicht benutzt werden"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Schlüsselwort %s kann nicht überschrieben werden"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Fehlgeformter erweiterter Kopfteil: fehlende Länge"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Länge des erweiterten Kopfteils ist außerhalb des erlaubten Bereichs"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Leerraum nach der Länge"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Fehlgeformter erweiterter Kopfteil: fehlendes Gleichheitszeichen"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Lese-Kontrollpunkt %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr ""
-"genfile manipuliert Datendateien für die Testsuit der GNU paxutils.\n"
+"genfile manipuliert Datendateien für die Testsuite der GNU paxutils.\n"
"OPTIONEN sind:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Optionen beim Anlegen von Dateien:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "GRÖßE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Datei der gegebenen GRÖßE anlegen"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "in Datei NAME anstelle der Standardausgabe schreiben"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Dateinamenlist aus DATEI lesen"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T liest null-terminierte Namen"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Die Datei mit dem gegebenen MUSTER füllen. MUSTER ist „default“ oder „zeros“."
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Größe eines Blocks für löchrige Dateien"
# „map“: Karte, Abbildung?
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Löchrige („sparse“) Datei erzeugen. Der Rest der Kommandozeile gibt die die "
"Dateibildungsvorschrift an."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "POSITION"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "vor dem Schreiben zur gegebenen Position springen"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Dateistatistikoptionen:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Inhalt des „struct stat“ für jede gegebene Datei ausgeben. Standard-FORMAT "
"ist:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Optionen für synchrone Ausführung:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [OPTION...]"
+msgstr "OPTION"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-"jeden gegebenen BEFEHL ausführen; nützlich mit --checkpoint und einem aus --"
-"cut, --append, --touch"
+"ARGUMENTE ausführen. Nützlich mit --checkpoint und einem aus --cut, --"
+"append, --touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"gegebene Aktion (siehe unten) beim Erreichen des Kontrollpunkts ZAHL "
"ausführen"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Datum für nächste „--touch“-Operation setzen"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "ausgeführte Kontrollpunkte und Beendigungsstatus von BEFEHL anzeigen"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Aktionen für synchrone Ausführung. Diese werden beim Erreichen des "
"Kontrollpunkts, der mit der Option --checkpoint gesetzt wurde, ausgeführt."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"DATEI kürzen auf die Länge, die mit einer vorhergehenden Option --length "
"(oder 0 bei Abwesenheit) gesetzt wurde"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"GRÖßE Bytes an DATEI anfügen. GRÖßE wird mit einer vorhergehenden Option --"
"length gesetzt."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Zugriffs- und Änderungszeiten der DATEI neu setzen"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "BEFEHL ausführen"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "FILE entfernen (unlink)"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Ungültige Größe: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Zahl außerhalb des zulässigen Bereichs: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negative Größe: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) fehlgeschlagen"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "Dateilänge %lu verlangt, tatsächlich %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "erzeugte Datei ist nicht löchrig"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Unbekanntes Datumsformat"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENTE...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "kann „%s“ nicht öffnen"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "kann nicht positionieren"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "Dateiname enthält Null-Zeichen"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "inkorrekte Maske (nahe „%s“)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "unbekannte Feld „%s“"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "kann an „%s“ keine Zeit setzen"
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "kann „%s“ nicht öffnen"
+msgstr "kann „%s“ nicht entfernen (unlink)"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Befehl erfolgreich ausgeführt\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Befehl schlug mit Beendigungsstatus %d fehl.\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Befehl beendete sich bei Signal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Befehl hieltb bei Signal %d an\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Befehl erzeugte einen Core-Dump\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Befehl beendet\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat erfordert Dateinamen"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Kann aktuelles Verzeichnis nicht sichern."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: Unzulässige Option -- %c\n"
#~ "\n"
#~ "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Lese %s.\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Nicht behebbarer Fehler: Programmabbruch. "
-
-#~ msgid "suppress this warning."
-#~ msgstr "--no-wildcards, um diese Warnung zu unterdrücken."
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "Archiv durch bzip2 filtern"
-
-#~ msgid "filter the archive through gzip"
-#~ msgstr "Archiv durch gzip filtern"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "Archiv durch compress filtern"
-
-#~ msgid "filter the archive through lzma"
-#~ msgstr "Archiv durch lzma filtern"
-
-#~ msgid "filter the archive through lzop"
-#~ msgstr "Archiv durch lzop filtern"
-
#~ msgid "Input string too long"
#~ msgstr "Eingabezeichenkette zu lang"
#~ msgid "Premature end of file"
#~ msgstr "Vorzeitiges Dateiende."
+#~ msgid "Reading %s\n"
+#~ msgstr "Lese %s.\n"
+
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Nicht behebbarer Fehler: Programmabbruch. "
+
+#~ msgid "suppress this warning."
+#~ msgstr "--no-wildcards, um diese Warnung zu unterdrücken."
+
+#~ msgid "filter the archive through bzip2"
+#~ msgstr "Archiv durch bzip2 filtern"
+
+#~ msgid "filter the archive through gzip"
+#~ msgstr "Archiv durch gzip filtern"
+
+#~ msgid "filter the archive through compress"
+#~ msgstr "Archiv durch compress filtern"
+
+#~ msgid "filter the archive through lzma"
+#~ msgstr "Archiv durch lzma filtern"
+
+#~ msgid "filter the archive through lzop"
+#~ msgstr "Archiv durch lzop filtern"
+
#~ 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?"
# Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs.teiath.gr>, 2004.
# Simos Xenitellis <simos74@gmx.net>, 2004.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.13.25 \n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2004-03-08 14:44+0200\n"
"Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs."
"teiath.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
+"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"\n"
"Αναφορά σφαλμάτων στο <bug-tar@gnu.org>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Άγνωστο σφάλμα συστήματος"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: η επιλογή`%s' είναι αμφιλεγόμενη\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: η επιλογή `--%s' δεν επιτρέπει όρισμα\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: η επιλογή `%c%s' δεν επιτρέπει όρισμα\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: μη αναγνωρίσιμη επιλογή `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: άκυρη επιλογή -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: η επιλογή απαιτεί όρισμα -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει όρισμα\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "η μνήμη εξαντλήθηκε"
msgid "Cannot execute remote shell"
msgstr "Δεν είναι δυνατή η εκτέλεση απομακρυσμένου κελύφους (φλοιού)"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Η κατεύθυνση αναζήτησης είναι εκτός εύρους"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Άκυρη ένδειξη χρόνου"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Η μετατόπιση αναζήτησης είναι εκτός εύρους"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Άκυρο μέγεθος ταινίας"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Η μετατόπιση αναζήτησης είναι εκτός εύρους"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Πρόωρο eof (τέλος αρχείου)\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: άκυρη επιλογή -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Εντολή απορριμμάτων"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(σωλήνωση)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Άκυρη τιμή για record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Δεν δόθηκε όνομα αρχειοθήκης"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr ""
"Δεν είναι δυνατή η επαλήθευση των κανονικών εισόδων/εξόδων της αρχειοθήκης"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Στην αρχή της ταινίας, τερματισμός τώρα"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Πάρα πολλά σφάλματα, τερματισμός"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: περιέχει άκυρο αριθμό τόμου"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Υπερχήλιση αριθμού τόμου"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής"
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Παραγωγή νέου υπό-φλοιού\n"
" ? Εκτύπωση αυτής της λίστας\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Κανένας νέος τόμος; έξοδος\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "`%s' η εντολή απέτυχε"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, fuzzy, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Αυτός ο τόμος είναι εκτός συνέχειας"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Ο τόμος %s δεν ταιριάζει %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Τα περιεχόμενα διαφέρουν"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Οι τύποι αρχείων διαφέρουν"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Οι καταστάσεις διαφέρουν"
msgid "Mod time differs"
msgstr "Ώρες τροποποίησης διαφέρουν"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Τα μεγέθη διαφέρουν"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Δεν είναι συνδεδεμένο με %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Οι σύνδεσμοι διαφέρουν"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Οι αριθμοί των συσκευών διαφέρουν"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Επαλήθευση "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Άγνωστος τύπος αρχείου '%c', εκτέλεση της diff ως κανονικό αρχείο"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)"
msgstr[1] "Η ΕΠΑΛΎΘΕΥΣΗ ΑΠΈΤΥΧΕ: ανιχνεύτηκαν %d άκυρη(ες) επικεφαλίδα(δες)"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "η τιμή %s είναι εκτός του %s εύρος %s..%s; αντικαταστήθηκε από %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "η τιμή %s είναι εκτός του %s εύρους %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Παράχθηκαν αρνητικές οκταδικές επικεφαλίδες"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά"
msgstr[1] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμπλήρωση με μηδενικά"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Άγνωστος τύπος αρχείου; το αρχείο αγνοήθηκε"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " σύνδεσμος σε %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: δεν μπορεί να τροποποιηθεί το αρχείο; δεν αποθηκεύτηκε"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: αρχείο τροποποιήθηκε κατά την ανάγνωση"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: η υποδοχή αγνοήθηκε"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: η πόρτα αγνοήθηκε"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Παραλείποντας στην επόμενη επικεφαλίδα"
msgid "Deleting non-header from archive"
msgstr "Διαγραφή μη-επικεφαλίδων από την αρχειοθήκη"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: η ένδειξη χρόνου %s είναι %lu s στο μέλλον"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Μη αναμενόμενη ανακολουθία κατά την δημιουργία του καταλόγου"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Ο κατάλογος μετονομάστηκε πριν η κατάστασή του γίνει μη εξαγώγιμη"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Εξαγωγή συνεχόμενων αρχείων ως κανονικών αρχείων"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Προσπάθεια εξαγωγής των συμβολικών συνδέσμων ως σθεναρών συνδέσμων"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Άγνωστος τύπος αρχείου '%c', εξαγωγή ως κανονικό αρχείο"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού του αρχείου"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Ο κατάλογος είναι καινούριος"
msgid "%s: Cannot remove"
msgstr "%s: Δεν είναι δυνατή η απομάκρυνση"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Παράλειψη"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "μπλοκ %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
"Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
"%s εύρους"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " σύνδεσμος σε %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " άγνωστος τύπος αρχείου %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Επικεφαλίδα Τόμου--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Συνέχιση στο byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Δημιουργία καταλόγου:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Μετονομασία %s σε %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Μετονομασία %s πίσω στο %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "θυγατρική διεργασία"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "κανάλι μεταξύ διεργασιών"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"archive.tar με λεπτομέρειες.\n"
" %s -xf archive.tar # Εξάγει όλα τα αρχεία από το archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
"διαφορετικά\n"
" never, simple πάντα κάνε απλά αντίγραφα\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Συγκρουόμενες επιλογές συμπίεσης"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "Ο τόμος %s δεν ταιριάζει %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Συγκρουόμενες επιλογές συμπίεσης"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " άγνωστος τύπος αρχείου %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Άκυρος συντελεστής ομαδοποίησης"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Άκυρο μέγεθος ταινίας"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Παραπάνω από ένα όριο ημερομηνίας"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Άκυρη ομάδα"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Άκυρος αριθμός i-κόμβου"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Άκυρος ιδιοκτήτης"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Άκυρο μέγεθος εγγραφής"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "Άκυρο μέγεθος ταινίας"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr ""
"Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
msgstr[1] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Η ένδειξη χρόνου είναι εκτός εύρους"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, fuzzy, c-format
msgid "Extended header length %*s is out of range"
msgstr ""
"Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
"%s εύρους"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, fuzzy, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Ανάγνωση σημείου ελέγχου %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Παράγει αρχεία δεδομένων για δοκιμαστική πλατφόρμα GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Συγκρουόμενες επιλογές συμπίεσης"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Χρήση: %s [ΕΠΙΛΟΓΉ]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Άκυρη ένδειξη χρόνου"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρους"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Άγνωστο σφάλμα συστήματος"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Δεν είναι δυνατό το κλείσιμο"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " άγνωστος τύπος αρχείου %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Η θυγατρική διεργασία τερματίστηκε με το σήμα %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Κατακερματισμένα ονόματα αρχείων--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: παράνομη επιλογή -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Ανάγνωση %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Αναφορά σφαλμάτων στο <bug-tar@gnu.org>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Ανάγνωση %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Το σφάλμα δεν είναι επανορθώσιμο: τερματισμός τώρα"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
#~ msgid "Premature end of file"
#~ msgstr "Πρόωρο τέλος αρχείου"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Το σφάλμα δεν είναι επανορθώσιμο: τερματισμός τώρα"
+
#~ msgid "block size"
#~ msgstr "μέγεθος μπλοκ"
# Enrique Melero <melero@iprolink.ch>, 1997.
# Santiago Vila Doncel <sanvila@unex.es>, 1998, 1999, 2000, 2001, 2002, 2004.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: GNU tar 1.15.1\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\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"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr "Comunicar bichos a %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Error del sistema desconocido"
msgid "give a short usage message"
msgstr "Da un mensaje de uso corto"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NOMBRE"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: la opción `%s' requiere un argumento\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción no reconocida `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción no reconocida `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción inválida -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: la opción requiere un argumento -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: la opción `-W %s' es ambigua\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: la opción `%s' requiere un argumento\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memoria agotada"
msgid "Cannot execute remote shell"
msgstr "No se puede ejecutar un shell remoto"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Dirección de desplazamiento fuera de rango"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Se ha especificado un modo no válido en la opción"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Marca de tiempo inválida"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Desplazamiento fuera de rango"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Longitud de cinta inválida"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Desplazamiento fuera de rango"
# FIXME. Este es el único eof en minúsculas.
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Fin de fichero prematuro\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Modo principal de operación:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Fin de fichero inesperado en el archivo"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NÚMERO"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FICHERO"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "No se puede abrir %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Orden ininteligible"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
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:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Bytes escritos en total: %s (%s, %s/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
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:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
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:485
+#: src/buffer.c:550
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:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "El valor de `record_size' no es válido"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "No se ha especificado ningún nombre de archivo"
# o algo así. Quizá "No se puede verificar un archivo tomado de la entrada
# estándar o escrito hacia la salida estándar", pero es un poco largo.. =)
#
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "No se puede verificar la entrada/salida estándar"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "El archivo está comprimido. Utilice la opción %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "No se pueden actualizar archivos comprimidos"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Al principio de la cinta, se terminará ahora"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Demasiados errores, abandono"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek no paró en los límites de un registro"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: contiene un número de volumen inválido"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Desbordamiento en el número de volumen"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Prepare el volumen #%d para %s y pulse intro: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr ""
"Se encontró un final de fichero mientras se esperaba respuesta del usuario"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ATENCIÓN: El archivo está incompleto"
# A mí aquí me da igual lista que ayuda, de las dos formas se entiende. Manda
# el traductor original. gerardo
# ¿A alguien más le parece mal que ponga ayuda en vez de lista? sv
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Lanza un subshell\n"
" ? Muestra esta ayuda\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
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:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "No hay volumen nuevo; finalizando.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "La orden `%s' falló"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s no continúa en este volumen"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
# él solito.
# Todavía espero una solución mágica que sea mejor que las dos
# que tenemos hasta ahora.
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Este volumen está fuera de secuencia"
# 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:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "El archivo no está etiquetado para que coincida con %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "El volumen %s no coincide con %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, fuzzy, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
# 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:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "El fin del archivo %s no está en un límite de bloque"
msgstr[0] "Sólo se pudieron leer %lu de %lu byte"
msgstr[1] "Sólo se pudieron leer %lu de %lu bytes"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "El contenido es distinto"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Fin de fichero inesperado en el archivo"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "El tipo de fichero es distinto"
# corresponder siempre una frase corta española, el resultado sonará a indio
# completamente (me refiero a los indios esos de las películas del oeste,
# que solamente hablan con sustantivos, verbos y adjetivos). sv
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "El modo es distinto"
msgid "Mod time differs"
msgstr "La fecha de modificación es distinta"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "El tamaño es distinto"
# Creo que este enlace se efectúa al descomprimir un archivo tar.
# No es que nos diga si está enlazado o no lo está, sino si él hace
# el enlace o no lo hace. sv
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "No se enlaza a %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "El enlace simbólico es distinto"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "El número de dispositivo es distinto"
# "Verifica ". Supongo que depende de si se concatena en algún
# mensaje. jmg
# FUZZY. Es verdad, habrá que verlo.
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificar "
# Realmente, dice lo que hace y no lo que ha hecho. sv
# FIXME. Decirle al autor que estandarice las comillas: ¿'%c' o `%c'?
# De momento lo estandarizo en la traducción.
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: Tipo de fichero `%c' desconocido, se toma la diferencia\n"
"como fichero normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
"El archivo contiene nombres de fichero con los prefijos iniciales eliminados."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Puede que la verificación no encuentre los ficheros originales."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "FALLO DE VERIFICACIÓN: %d cabecera inválida detectada"
msgstr[1] "FALLO DE VERIFICACIÓN: %d cabeceras inválidas detectadas"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Un bloque de ceros aislado en %s"
-#: src/create.c:68
+#: src/create.c:72
#, fuzzy, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: contiene una marca de directorio caché; no se vuelca"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "valor %s fuera del rango %s %s..%s; se sustituye %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "valor %s fuera del rango %s %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generando cabeceras octales negativas"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: el nombre del fichero es demasiado largo (máx %d); no se vuelca"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: el nombre del fichero es demasiado largo (no se puede dividir); no se "
"vuelca"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: el nombre del enlace es demasiado largo; no se vuelca"
# Que sí, reconozco que la traducción es un poco libre.
# Pero mi intención es que el programa diga lo que va haciendo, no lo que ya
# ha hecho. Ni siquiera el original es consistente en los modos verbales. sv
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] ""
"%s: El tamaño del fichero ha disminuido en %s bytes, se rellena con ceros"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: el fichero está en un sistema de ficheros distinto; no se vuelca"
# Se vuelca la *memoria* del proceso en un fichero llamado `core'.
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
#, fuzzy
msgid "contents not dumped"
msgstr " (memoria volcada)"
# Seguiremos en la ortodoxia, pero aún así, no puedo creerme que venga
# en el DRAE. ¿Estás seguro? sv
# No, no me compré el DRAE. Pregúntalo a spanglish (si te atreves ;-) gerardo
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tipo de fichero desconocido; no se tendrá en cuenta"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Faltan enlaces a '%s'.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: el fichero no ha cambiado; no se vuelca"
# FIXME: Decir al autor que ponga el "itself". sv
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: el fichero es el propio archivo; no se vuelca"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
#, fuzzy
msgid "directory not dumped"
msgstr "%s: contiene una marca de directorio caché; no se vuelca"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: el fichero cambió mientras se estaba leyendo"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: el `socket' no se tendrá en cuenta"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: no se tendrá en cuenta la puerta"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Saltando a la siguiente cabecera"
msgid "Deleting non-header from archive"
msgstr "Borrando no-cabecera del archivo"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: marca de fecha sospechosamente antigua %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: la marca de tiempo %s está %lu s en el futuro"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Inconsistencia inesperada al crear el directorio"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
# ni un dispositivo (de bloques o de caracteres) ni un fifo, etc.
# Uno puede pensar que son los ficheros "normales", pero eso depende,
# pues un directorio es de lo más "normal"...
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
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:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Intentando la extracción de enlaces simbólicos como enlaces duros"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, 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:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, fuzzy, c-format
msgid "Current %s is newer or same age"
msgstr "El `%s' actual es más reciente"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, 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:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: No se puede renombrar a %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: El directorio ha sido renombrado"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: El directorio ha sido renombrado"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: El directorio es nuevo"
msgid "%s: Cannot remove"
msgstr "%s: No se puede borrar"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Se omite"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloque %s: ** Bloque de NULos **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloque %s: ** Fin de Fichero **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloque %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"se supone complemento a dos"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "El archivo contiene cabeceras base 64 obsoletas"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " enlace a %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tipo de fichero desconocido %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Enlace largo--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Nombre largo--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Cabecera de Volumen--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continúa en el byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Creando el directorio:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "No se puede cambiar el directorio de trabajo"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Se renombra %s como %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: No se puede renombrar a %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Se vuelve a renombrar %s como %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "No se puede guardar el directorio de trabajo"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "No se puede cambiar el directorio de trabajo"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: El fichero fue borrado antes de leerlo"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: El fichero fue borrado antes de leerlo"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proceso hijo"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "canal de interproceso"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr ""
"los patrones de exclusión encajan con el comienzo del nombre del fichero"
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: No se encuentra en el archivo"
-#: src/names.c:622
+#: 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"
-#: src/names.c:894
+# Ojo que esto podría referirse a "is not being labelled NOW" en vez de
+# "isn't labelled". Pero no tengo los fuentes para ver la intención
+# original. nl
+# Si no se sabe eso, se podría dejar de forma más neutra como
+# "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag)
+# FIXME: Preguntar.
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "El archivo no está etiquetado para que coincida con %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
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:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
# # 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:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" en otro caso\n"
" never, simple siempre hace copias de seguridad simples\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Modo principal de operación:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "lista el contenido de un archivo"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "extrae ficheros de un archivo"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "crea un nuevo archivo"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "encuentra las diferencias entre un archivo y el sistema de ficheros"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "añade ficheros al final de un archivo"
-#: src/tar.c:401
+#: src/tar.c:402
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:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "añade ficheros tar a un archivo"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "borra del archivo (¡no en cintas magnéticas!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modificadores de operación:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "maneja ficheros dispersos de forma eficiente"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "maneja el formato GNU antiguo de respaldo incremental"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "maneja el nuevo formato GNU de respaldo incremental"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
# # encuentre ficheros ilegibles. (¡Uf! Ahora a ver cómo se pone esto en
# # media línea.) gag
#
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "no sale con estado distinto de cero cuando hay ficheros ilegibles"
-#: src/tar.c:428
+#: src/tar.c:429
#, fuzzy
msgid ""
"process only the NUMBERth occurrence of each file in the archive; this "
"ó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:434
+#: src/tar.c:435
#, fuzzy
msgid "archive is seekable"
msgstr "El archivo admite `seek'"
# Mejor eso que inventarse un palabro, digo yo. sv
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "El archivo admite `seek'"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "intenta verificar el archivo después de escribirlo"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "borra los ficheros después de añadirlos al archivo"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "no reemplaza ficheros que existan al extraer"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "sobreescribe los ficheros que existan al extraer"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "borra cada fichero antes de extraer sobre él"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "vacía jerarquías antes de extraer directorios"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "conserva los metadatos de los directorios que existan"
-#: src/tar.c:466
+#: src/tar.c:467
#, fuzzy
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "sobreescribe los ficheros que existan al extraer"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "extrae los ficheros a la salida estándar"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "ORDEN"
-#: src/tar.c:477
+#: src/tar.c:478
#, fuzzy
msgid "pipe extracted files to another program"
msgstr "extrae los ficheros a la salida estándar"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Manejo de los atributos del fichero:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "fuerza NOMBRE como propietario de los ficheros que se añaden"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "fuerza NOMBRE como grupo para los ficheros que se añaden"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "FECHA-O-FICHERO"
-#: src/tar.c:493
+#: src/tar.c:494
#, 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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "CAMBIOS"
-#: src/tar.c:495
+#: src/tar.c:496
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:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "no extrae la fecha de modificación del fichero"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "intenta extraer los ficheros con el mismo propietario"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "extrae los ficheros como usted mismo"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "utiliza siempre números para los nombres de usuarios/grupos"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "ordena los nombres que se extraen para que coincidan con el archivo"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "lo mismo que -p y -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Selección de dispositivo y opciones:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVO"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "utiliza un archivo o el dispositivo ARCHIVO"
-#: src/tar.c:534
+#: src/tar.c:535
#, 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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "utiliza la ORDEN rmt dada en vez de rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "utiliza la ORDEN remota en vez de rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "especifica la unidad y la densidad"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
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:558
+#: src/tar.c:559
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:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "ejecuta un script al final de cada cinta (implica -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "usa/actualiza el número de volumen en FICHERO"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Bloques en los dispositivos:"
-#: src/tar.c:570
+#: src/tar.c:571
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:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOQUES x 512 bytes por registro"
-#: src/tar.c:573
+#: src/tar.c:574
#, fuzzy
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "TAMAÑO bytes por registro, múltiplo de 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
"no tiene en cuenta los bloques convertidos en ceros dentro de un archivo "
# # 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:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)"
# salida estándar' no pega mucho. Está en otros mensajes, como el
# siguiente; no lo entiendo. - gerardo
# FIXME. Tienes razón. Es muy raro.
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Selección del formato de archivo:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMATO"
-#: src/tar.c:585
+#: src/tar.c:586
#, fuzzy
msgid "create archive of the given format"
msgstr "crea un archivo en el formato dado."
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMATO es uno de los siguientes:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "formato tar V7 antiguo"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "formato GNU de tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "formato GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "formato POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "formato POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
#, fuzzy
msgid "same as pax"
msgstr "Lo mismo que pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "lo mismo que --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "lo mismo que --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
#, fuzzy
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "palabra[[:]=valor][,palabra[[:]=valor], ...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "palabras clave de control de pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXTO"
-#: src/tar.c:608
+#: src/tar.c:609
#, fuzzy
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"crea un archivo con nombre de volumen NOMBRE. En el momento de listar/"
"extraer, utiliza TEXTO como patrón expandible"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Opciones de compresión en conflicto"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "No se puede escribir al programa de compresión"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "No se puede escribir al programa de compresión"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtra a través de PROG (debe aceptar -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Selección del fichero local:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "cambia al directorio DIR"
-#: src/tar.c:643
+#: src/tar.c:644
#, 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:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T lee nombres terminados en nulo, desactiva -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
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:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATRÓN"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "excluye ficheros, dados como un PATRÓN"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "excluye los patrones listados en FICHERO"
-#: src/tar.c:657
+#: src/tar.c:658
#, 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:660
+#: src/tar.c:661
#, fuzzy
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "excluye los directorios que contienen una marca de caché"
-#: src/tar.c:663
+#: src/tar.c:664
#, fuzzy
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "excluye los directorios que contienen una marca de caché"
-#: src/tar.c:665
+#: src/tar.c:666
#, 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:668
+#: src/tar.c:669
#, fuzzy
msgid "exclude everything under directories containing FILE"
msgstr "excluye los directorios que contienen una marca de caché"
-#: src/tar.c:670
+#: src/tar.c:671
#, fuzzy
msgid "exclude directories containing FILE"
msgstr "excluye los directorios que contienen una marca de caché"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "evita descender automáticamente en los directorios"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "permanece en el sistema de ficheros locales al crear el archivo"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "opera recursivamente sobre los directorios (por omisión)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "no elimina la `/' inicial de los nombres de ficheros"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NOMBRE-DE-MIEMBRO"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO dentro del archivo"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "FECHA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "compara la fecha y hora solamente cuando cambian los datos"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "CADENA"
-#: src/tar.c:697
+#: src/tar.c:698
#, fuzzy
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"que se\n"
"cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
#, 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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
#, fuzzy
msgid "ignore case"
msgstr "la exclusión no distingue mayúsculas de minúsculas"
-#: src/tar.c:718
+#: src/tar.c:719
#, fuzzy
msgid "patterns match file name start"
msgstr ""
"los patrones de exclusión encajan con el comienzo del nombre del fichero"
-#: src/tar.c:720
+#: src/tar.c:721
#, 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:722
+#: src/tar.c:723
#, fuzzy
msgid "case sensitive matching (default)"
msgstr "la exclusión distingue mayúsculas de minúsculas (por omisión)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "los comodines de patrones de exclusión no encajan con '/'"
-#: src/tar.c:730
+#: src/tar.c:731
#, fuzzy
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
"los comodines de los patrones de exclusión encajan con '/' (por omisión)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Salida informativa:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "lista los ficheros procesados detalladamente"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
#, fuzzy
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "muestra mensajes de progreso cada 10 registros"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "muestra un mensaje si no se vuelcan todos los enlaces"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "muestra las fechas de modificación de los ficheros en UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "envía la salida detallada a FICHERO"
-#: src/tar.c:759
+#: src/tar.c:762
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:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "pide confirmación para cada acción"
-#: src/tar.c:764
+#: src/tar.c:767
#, fuzzy
msgid "show tar defaults"
msgstr "Muestra los valores predeterminados de tar"
-#: src/tar.c:766
+#: src/tar.c:769
#, fuzzy
msgid ""
"when listing or extracting, list each directory that does not match search "
"Cuando se lista o extrae, lista cada directorio que no coincida con el "
"criterio de búsqueda"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Opciones de compatibilidad:"
-#: src/tar.c:784
+#: src/tar.c:787
#, fuzzy
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"al crear, lo mismo que --old-archive. Al extraer, lo mismo que --no-same-"
"owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Otras opciones:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "No se puede especificar más de una opción `-Acdtrux'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Opciones de compresión en conflicto"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " tipo de fichero desconocido %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "No se encontró la fecha del fichero"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Sustituyendo %s por el formato de fecha desconocido %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, 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:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: el fichero es el propio archivo; no se vuelca"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
# FIXME: Decir al autor que ponga el "itself". sv
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "filtra el arhivo a través de gzip"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Las opciones predeterminadas de *esta* versión de tar son:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Factor de bloqueo inválido"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Longitud de cinta inválida"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
# Es "umbral", pero no sé qué c$%&# es la fecha umbral. :-( gag
# A ver si te vale así. sv
# ¿Qué tal os suena "fecha límite"?. jmg
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Se ha especificado más de una fecha tope"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Grupo inválido"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Se ha especificado un modo no válido en la opción"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Número inválido"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Propietario inválido"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "El tamaño del registro es inválido"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Número inválido de elementos"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, fuzzy, c-format
msgid "Malformed density argument: %s"
msgstr "Argumento de densidad mal formado: '%s'"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "Densidad desconocida: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FICHERO]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "La opción antigua `%c' requiere un argumento"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence no tiene sentido sin una lista de ficheros"
-#: src/tar.c:2361
+#: src/tar.c:2380
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:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Los archivos múltiples requieren la opción `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "No se puede combinar --listed-incremental con --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "--occurrence no tiene sentido sin una lista de ficheros"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] ""
"%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "No se pueden verificar archivos multivolumen"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "No se pueden verificar archivos comprimidos"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "No se pueden utilizar archivos multivolumen comprimidos"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "No se pueden actualizar archivos comprimidos"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option solamente se puede usar en archivos POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
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:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Rechazo cobarde a crear un archivo vacío"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Las opciones `-Aru' son incompatibles con `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Debe especificar una de las opciones `-Acdtrux'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[1] "%s: El tamaño del fichero ha disminuido en %s bytes"
# FIXME: Imlemented
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Marca de tiempo fuera de rango"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "No se puede usar el patrón %s"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "La palabra clave %s no se puede sustituir"
-#: src/xheader.c:541
+#: src/xheader.c:542
#, fuzzy
msgid "Malformed extended header: missing length"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
#, 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:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:582
+#: src/xheader.c:583
#, fuzzy
msgid "Malformed extended header: missing newline"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, fuzzy, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Cabecera extendida errónea: falta un signo igual"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Cabecera extendida errónea: falta un signo igual"
# Acepto sugerencias para el `test suite'. sv
# "test suite"="paquete/conjunto de pruebas/análisis", en cualquier
# combinación. jmg
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Genera ficheros de datos para el conjunto de pruebas de GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Otras opciones:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
#, fuzzy
msgid "Create file of the given SIZE"
msgstr "crea un archivo en el formato dado."
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "extrae los ficheros a la salida estándar"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
#, fuzzy
msgid "Read file names from FILE"
msgstr "Leídos %s bytes como %s"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
#, fuzzy
msgid "-T reads null-terminated names"
msgstr "-T lee nombres terminados en nulo, desactiva -C"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "intenta verificar el archivo después de escribirlo"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [OPCIÓN...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "%s: No se pueden cambiar las fechas de acceso y modificación"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
#, fuzzy
msgid "Execute COMMAND"
msgstr "ORDEN"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Marca de tiempo inválida"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Número de nodo-i fuera de rango"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Error del sistema desconocido"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "No se puede abrir %s"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "No se puede cerrar"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
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:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "No se puede leer el estado del fichero %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "No se puede abrir %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "El proceso hijo terminó con la señal %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Nombres de fichero modificados--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "No se puede guardar el directorio de trabajo"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: No se puede renombrar a %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opción ilegal -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Leyendo %s\n"
+
# Por favor, no me digáis cómo se traduce bug.
# Gerardo lo ha visto traducido en un libro como "pulgas", y yo
# lo he visto como "chinche" en la "Investigación y Ciencia".
#~ "\n"
#~ "Comunicar bichos a <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Leyendo %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "El error no es recuperable: salida ahora"
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "filtra el archivo a través de bzip2"
#~ msgid "Premature end of file"
#~ msgstr "Fin de fichero prematuro"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "El error no es recuperable: salida ahora"
+
#~ msgid "block size"
#~ msgstr "tamaño del bloque"
#~ msgid "%s: Cannot chown to uid %lu gid %lu"
#~ msgstr ""
-#~ "%s: No se puede cambiar el propietario y grupo con `chown' a uid %lu gid %"
-#~ "lu"
+#~ "%s: No se puede cambiar el propietario y grupo con `chown' a uid %lu gid "
+#~ "%lu"
#~ msgid "%s: lseek error at byte %s"
#~ msgstr "%s: error de desplazamiento en el byte %s"
+# This file is distributed under the same license as the tar package.
# Estonian translations for GNU tar.
# Copyright (C) 2001 Free Software Foundation, Inc.
-# Toomas Soome <Toomas.Soome@microlink.ee>, 2006.
+# Toomas Soome <Toomas.Soome@microlink.ee>, 2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: GNU tar 1.15.92\n"
+"Project-Id-Version: GNU tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2006-10-26 14:45+0300\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-08-11 17:57+0300\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
-"Language-Team: Estonian <et@li.org>\n"
+"Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
+"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-15\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr "Teated vigadest saatke palun aadressil %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Tundmatu süsteemi viga"
msgid "give a short usage message"
msgstr "näita lühikest kasutamise õpetust"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NIMI"
#: gnu/closeout.c:114
msgid "write error"
-msgstr ""
+msgstr "viga kirjutamisel"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: võti `%s' on segane\n"
+msgstr "%s: võti '%s' on segane\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: võtmel `--%s' pole argumente\n"
+msgstr "%s: võtmel '--%s' pole argumente\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: võtmel `%c%s' pole argumente\n"
+msgstr "%s: võtmel '%c%s' pole argumente\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: võti `%s' nõuab argumenti\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: võti '--%s' nõuab argumenti\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: tundmatu võti `--%s'\n"
+msgstr "%s: tundmatu võti '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: tundmatu võti `%c%s'\n"
+msgstr "%s: tundmatu võti '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: vigane võti -- %c\n"
+msgstr "%s: vigane võti -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: võti nõuab argumenti -- %c\n"
+msgstr "%s: võti nõuab argumenti -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: võti `-W %s' on segane\n"
+msgstr "%s: võti '-W %s' on segane\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: võti `-W %s' ei luba argumenti\n"
+msgstr "%s: võti '-W %s' ei luba argumenti\n"
+
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: võti '-W %s' nõuab argumenti\n"
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "mälu on otsas"
#: gnu/openat-die.c:36
-#, fuzzy, c-format
+#, c-format
msgid "unable to record current working directory"
-msgstr "Ei õnnestu vahetada töökataloogi"
+msgstr "ei õnnestu salvestada jooksvat töökataloogi"
#: gnu/openat-die.c:54
-#, fuzzy, c-format
+#, c-format
msgid "failed to return to initial working directory"
-msgstr "Töökataloogi ei õnnestu salvestada"
+msgstr "algsesse töökataloogi ei õnnestu tagasi minna"
#. TRANSLATORS:
#. Get translations for open and closing quotation marks.
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Paketi looja %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Paketi looja %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#. locale. Otherwise, do not translate "(C)"; leave it as-is.
#: gnu/version-etc.c:86
msgid "(C)"
-msgstr ""
+msgstr "©"
#: gnu/version-etc.c:88
msgid ""
"There is NO WARRANTY, to the extent permitted by law.\n"
"\n"
msgstr ""
+"\n"
+"Litsents GPLv3+: GNU GPL versioon 3 või uuem <http://gnu.org/licenses/gpl."
+"html>.\n"
+"See on vaba tarkvara: teil on lubatud seda muuta ja levitada.\n"
+"GARANTII PUUDUB, vastaval seadusega lubatud piiridele.\n"
+"\n"
#. TRANSLATORS: %s denotes an author name.
#: gnu/version-etc.c:104
#, c-format
msgid "Written by %s.\n"
-msgstr ""
+msgstr "Kirjutanud %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:108
#, c-format
msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "Kirjutanud %s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:112
#, c-format
msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+msgstr "Kirjutanud %s, %s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, %s, and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s, %s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"%s, %s, %s, and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s, %s, %s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s ja %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"%s, %s, %s, %s,\n"
"%s, %s, and others.\n"
msgstr ""
+"Kirjutanud %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s ja teised.\n"
#. TRANSLATORS: The placeholder indicates the bug-reporting address
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Teated vigadest saatke palun aadressil %s.\n"
+msgstr ""
+"\n"
+"Teated vigadest saatke palun aadressil: %s\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr ""
-"\n"
-"Teated vigadest saatke palun aadressil <%s>.\n"
+msgstr "Teated %s vigadest saatke palun aadressil: %s\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "%s koduleht: <%s>\n"
#: gnu/version-etc.c:255
#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr ""
+msgstr "%s koduleht: <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
+"Üldine abiinfo GNU tarkvara kasutamisest: <http://www.gnu.org/gethelp/>\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Ei õnnestu luua ühendust masinaga %s: nimelahendus ebaõnnestus"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Ei saa käivitada kaug käsuinterpretaatorit"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Otsimise suund on piiridest väljas"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Võtmega anti vigane mood"
+msgstr "Vigane seek suund"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Vigane suurus: %s"
+msgstr "Vigane seek indeks"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Otsimise indeks on piiridest väljas"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Vigane lindi pikkus"
+msgstr "Vigane baitide arv"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Otsimise indeks on piiridest väljas"
+msgstr "Baitide arv on piiridest väljas"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: Ootamatu faili lõpp\n"
+msgstr "Ootamatu faili lõpp"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Põhiline töö:"
+msgstr "Vigane operatsiooni kood"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Operatsioon ei ole toetatud"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Tükeldatud nimedel ootamatu faililõpp"
+msgstr "Ootamatud argumendid"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
-msgstr ""
+msgstr "Opereeri lindiseadet, aktsepteerib käske mittelokaalselt protsessilt"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "N"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "määra silumise tase"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FAIL"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "sea silumisteadete faili nimi"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "`%s' ei saa avada"
+msgstr "%s ei saa avada"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "liiga palju argumente"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Rämpskäsk"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Hmm.... see ei tundu olema tar arhiiv"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Baite kirjutatud kokku"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Baite loetud kokku"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Baite kirjutatud kokku: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(toru)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Kirje suuruse väärtus on vigane"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arhiivi nime pole"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Ei saa kontrollida sisend/väljund arhiive"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Arhiiv on tihendatud. Kasutage võtit %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Ei saa uuendada pakitud arhiive"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Lindi alguses, lõpetan töö"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Liig palju vigu, jätan töö pooleli"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek ei peatunud kirje piiril"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: sisaldab vigast volüümi numbrit"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Volüümi number on liiga suur"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF kasutaja vastuse asemel"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "HOIATUS: Arhiiv pole täielik"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Katkesta tar\n"
" y või reavahetus Jätka\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Loo alamshell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Väljasta see info\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Pole uus volüüm; lõpetan töö.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Puudub faili nimi. Proovige uuesti.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Vigane sisend. ? annab abiinfot.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s käsklus sai vea"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s ei jätku sellel volüümil"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s on vale suurusega (%s != %s + %s)"
-#: src/buffer.c:1326
-#, fuzzy, c-format
+#: src/buffer.c:1401
+#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
-msgstr "See volüüm on väljaspoolt järjekorda"
+msgstr "See volüüm on väljaspoolt järjekorda (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
-msgstr "Arhiivi märgend ei sobi `%s'"
+msgstr "Arhiivi märgend ei sobi %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
-msgstr "Volüüm `%s' ei sobi volüümiga `%s'"
+msgstr "Volüüm %s ei sobi volüümiga %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, "
"lühendan"
-#: src/buffer.c:1749
-#, fuzzy
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
-msgstr "rmtlseek ei peatunud kirje piiril"
+msgstr "kirjutamine ei peatunud bloki piiril"
#: src/compare.c:95
#, c-format
msgstr[0] "Sain lugeda ainult %lu baiti (sooviti %lu)"
msgstr[1] "Sain lugeda ainult %lu baiti (sooviti %lu)"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Sisu on erinev"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Ootamatu arhiivi lõpp"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Failitüübid on erinevad"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Moodid erinevad"
msgid "Mod time differs"
msgstr "Muutmise ajad erinevad"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Suurused erinevad"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "ei viita %s-le"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Nimeviited erinevad"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Seadme numbrid on erinevad"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Kontroll "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Tundmatu failitüüp '%c', võrdlen tavalise failina"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arhiiv sisaldab eemaldatud prefiksitega failinimesid."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Kontrollimine ei pruugi leida algseid faile."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "VIGA KONTROLLIMISEL: leiti %d vigast päist"
msgstr[1] "VIGA KONTROLLIMISEL: leiti %d vigast päist"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Üksik null blokk kohal %s"
-#: src/create.c:68
-#, fuzzy, c-format
+#: src/create.c:72
+#, c-format
msgid "%s: contains a cache directory tag %s; %s"
-msgstr "%s: sisaldab vahemälu kataloogi lipikut; ei salvesta"
+msgstr "%s: sisaldab vahemälu kataloogi lipikut %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "väärtus %s on %s piiridest %s..%s väljas; asendan %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "väärtus %s on %s piiridest %s..%s väljas"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Genereerin negatiivsed kaheksand päised"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: faili nimi on liiga pikk (maks. %d); ei salvesta"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: faili nimi on liiga pikk (ei saa poolitada); ei salvesta"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: viite nimi on liiga pikk; ei salvesta"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Fail lühenes %s baiti; täidan nullidega"
msgstr[1] "%s: Fail lühenes %s baiti; täidan nullidega"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: fail on teises failisüsteemis; ei salvesta"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
-msgstr ""
+msgstr "sisu ei salestata"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tundmatu failitüüp; ignoreerin seda faili"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "%s-le puudub viiteid.\n"
+msgstr "%s-le puudub viiteid."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: pole muutunud; ei salvesta"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s on arhiiv; ei salvesta"
-#: src/create.c:1593 src/incremen.c:583
-#, fuzzy
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
-msgstr "%s: sisaldab vahemälu kataloogi lipikut; ei salvesta"
+msgstr "kataloogi ei salvestatud"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: fail muutus lugemisel"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: ignoreerin pesa"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: ignoreerin ust"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Hüppan järgmise päiseni"
msgid "Deleting non-header from archive"
msgstr "Kustutan arhiivist mitte-päise"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: ebatõenäoliselt vana ajatempel %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: ajatempel %s on %s sekundit tulevikus"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Ootamatu kooskõlalisuse probleem kataloogi loomisel"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Kataloog nimetati ümber, enne kui sai loetud tema olek"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Taastan jätkuvad failid kui tavalised"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Üritan taastada nimeviiteid viidetena"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Ootamatu pika nime päis"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Tundmatu failitüüp `%c', taastan tavalise failina"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Olemasolev %s on uuem või sama kuupäevaga"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Selle faili varundamine ebaõnnestus"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s ei õnnestu ümber nimetada %s-ks"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Kataloog %s on ümber nimetatud"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Kataloog on ümber nimetatud"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Kataloog on uus"
msgid "%s: Cannot remove"
msgstr "%s: Ei saa eemaldada"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Jätan vahele"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blokk %s: ** NULlide blokk **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blokk %s: ** Faili lõpp **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blokk %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arhiiv sisaldab aegunuid base-64 päiseid"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " viide %s-le\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tundmatu failitüüp %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Pikk viide--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Pikk nimi--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Volüümi päis--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Jätkub baidilt %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Loon kataloogi:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Ei õnnestu vahetada töökataloogi"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Annan %s uueks nimeks %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: ei õnnestu ümber nimetada %s-ks"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Nimetan `%s' tagasi `%s'\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Töökataloogi ei õnnestu salvestada"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Ei õnnestu vahetada töökataloogi"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fail kustutati enne lugemist"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: Fail kustutati enne lugemist"
+msgstr "%s: Kataloog kustutati enne lugemist"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "alamprotsess"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "protsessidevaheline kanal"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Failide nimedes on jokkersümbolid. Nende kasutamiseks"
+msgstr "Failide nimedes on jokkersümbolid"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "kasutage --wildcars, selle teate saab blokeerida võtmega"
+msgstr ""
+"Jokkerite lubamiseks kasutage --wildcars või --no-wildcards selle teate "
+"blokeerimiseks"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Puudub arhiivis"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Nõutud eksemplar puudub arhiivis"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Arhiivi märgend ei sobi"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr ""
+msgstr "--listed-incremental ei luba faili loendis võtit -C kasutada"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr ""
+msgstr "Võti --listed-incremental lubab ainult ühte -C kasutamist"
#: src/tar.c:81
#, c-format
msgstr ""
"Tundmatu kvootimise stiil `%s'. Loendi saate käsuga `%s --quoting-style=help'"
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" 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:356
+#: src/tar.c:357
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 "
" nil, existing nummerdatud kui koopiad on nummerdatud, muidu lihtne\n"
" never, simple tee ainult lihtne koopia\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Põhiline töö:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "näita arhiivi sisukorda"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "taasta failid arhiivist"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "loo uus arhiiv"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "otsi arhiivi ja failisüsteemi erinevusi"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "lisa failid arhiivi lõppu"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "lisa arhiivi ainult failid uuemad kui arhiivis"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "lisa tar failid arhiivi"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "kustuta arhiivist (mitte magnetlindilt!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "testi arhiivi volüümi märgendit ja lõpeta töö"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Töö täpsustamine:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "tööta aukudega failidega efektiivsemalt"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "PÕHI[.ALAM]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "käsitle vana GNU vormingus inkrementaalset koopiat"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "käsitle uue GNU vormingu inkrementaalset koopiat"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "loodud listed-incremental arhiivi dump tase"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "ära lõpeta loetamatute failide korral veakoodiga"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"antud\n"
"käsureal või võtmega -T. Vaikimisi N on 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "arhiiv on positsioneeritav"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "arhiiv on positsioneeritav"
+msgstr "arhiiv ei ole positsioneeritav"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "inkrementaalsete arhiivide loomisel ära kontrolli seadmete numbreid"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
+"inkrementaalsete arhiivide loomisel kontrolli seadmete numbreid (vaikimisi)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Ülekirjutamise juhtimine:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "kontrolli arhiivi peale arhiivi kirjutamist"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "kustuta failid peale arhiveerimist"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "olemasolevaid faile taastamisel üle ei kirjuta"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "kirjuta olemasolevad failid üle"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "kustuta fail enne taastamist"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "kustuta hierarhia enne kataloogi taastamist"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "säilita olemasolevate kataloogide metainfo"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "taastamisel kirjuta olemasolevate kataloogide metainfo üle (vaikimisi)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Vali väljundvoog:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "taasta failid standardväljundisse"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "KÄSK"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "taasta failid läbi toru teise programmi"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "ignoreeri alamprotsesside lõpetamise koode"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "käsitle alamprotsesside nullist erinevaid lõpetamise koode veana"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Faili atribuutide käsitlemine:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "kasuta NIMEe kui lisatud failide omanikku"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "kasuta NIMEe kui lisatud failide gruppi"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "KUUP-VÕI-FAIL"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "sea lisatud failide muutmise ajaks KUUP-VÕI-FAIL"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "MUUTUSED"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "kasuta lisatud failidel sümbol moodi MUUTUSED"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "MEETOD"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"lugemist (METHOD='replace'; vaikimisi) või ei muuda kasutamise aega üldse "
"(METHOD='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "ära taasta faili muutmise aega"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
-msgstr "säilita taastamisel failide omanikud"
+msgstr ""
+"ürita failide taastamisel säilitada failide omanikud arhiivis (root "
+"kasutajal vaikimisi)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "taasta failid enda õigustes"
+msgstr "taasta failid enda õigustes (tavakasutajatel vaikimisi)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "kasuta kasutaja/grupp numbreid"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "taasta ka info failide õigustest (vaikimisi superkasutaja korral)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"õiguste taastamisel kasuta kasutaja umask väärtust (vaikimisi "
"tavakasutajatel)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "taasta failid arhiveerimis järjekorras"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "sama, kui -p ja -s"
-#: src/tar.c:521
+#: src/tar.c:522
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:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "katkesta --delay-directory-restore võtme mõju"
-#: src/tar.c:529
-#, fuzzy
+#: src/tar.c:530
msgid "Device selection and switching:"
-msgstr "Seadme valik ja vahetamine:\n"
+msgstr "Seadme valik ja vahetamine:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARHIIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "kasuta arhiivi faili või seadet ARHIIV"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "arhiivi fail on lokaalne isegi kui sisaldab koolonit"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "kasuta rmt asemel antud käsku"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "kasuta rsh asemel antud käsku"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "määra seade ja tihedus"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "loo/näita/taasta mitme volüümilisi arhiive"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "vaheta peale NUMBER x 1024 baidi kirjutamist linti"
-#: src/tar.c:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "kasuta/uuenda volüümi numbrit failis FAIL"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Seadme blokkimine:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKKE"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOKKE x 512 baiti kirjele"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "NUMBER baiti kirjele, 512 kordne"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ignoreeri null blokke arhiivis (tähistab EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Arhiivi vormingu valikud:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "VORMING"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "loo arhiiv antud vormingus"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "VORMING on üks järgnevaist:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "vana V7 tar vorming"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU vorming tar <= 1.12 korral"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x vorming"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) vorming"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) vorming"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "sama, kui pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "sama, kui --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "sama, kui --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "võtmesõna[[:]=väärtus][,võtmesõna[[:]=väärtus]...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "pax võtmesõnade kasutamine"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEKST"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"loo arhiivi volüümi nimega NIMI. Listingu/taastamise ajal kasuta TEKSTi "
"otsingumustrina"
-#: src/tar.c:613
-#, fuzzy
+#: src/tar.c:614
msgid "Compression options:"
-msgstr "Konfliktsed pakkimisvõtmed"
+msgstr "Tihendamise võtmed:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
-msgstr ""
+msgstr "tihendamisprogrammi tuvastamiseks kasuta arhiivi sufiksit"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
-msgstr ""
+msgstr "tihendamisprogrammi tuvastamiseks ära kasuta arhiivi sufiksit"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtreeri läbi programmi (peab lubama võtit -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Lokaalse faili valik:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "KAT"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "mine kataloogi KAT"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "loe taastatavate või varundatavate failide nimed failist NIMI"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T loeb nullidega lõpetatud nimesid, blokeeri -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
-msgstr ""
+msgstr "blokeeri eelmise --null võtme mõju"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "eemalda -T võtmega loetud failinimedest kvootimissümbolid (vaikimisi)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "ära eemalda -T võtmega loetud failinimedest kvootimissümboleid"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MUSTER"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "MUSTRI järgi välistatud failid"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "välistavad mustrid on FAILIS"
-#: src/tar.c:657
-#, fuzzy
+#: src/tar.c:658
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"
+msgstr ""
+"välista kataloogide, mis sisaldavad CACHEDIR.TAG, sisu, välja arvatud "
+"märgendi fail ise"
-#: src/tar.c:660
-#, fuzzy
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
+msgstr "välista kõik kataloogis, mis sisaldab CACHEDIR.TAG"
-#: src/tar.c:663
-#, fuzzy
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
+msgstr "välista kataloogid, mis sisaldavad CACHEDIR.TAG"
-#: src/tar.c:665
-#, fuzzy
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
+msgstr ""
+"välista kataloogide, mis sisaldavad faili FAIL, sisu, välja arvatud FAIL ise"
-#: src/tar.c:668
-#, fuzzy
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
-msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
+msgstr "välista kataloogid, mis sisaldavad faili FAIL"
-#: src/tar.c:670
-#, fuzzy
+#: src/tar.c:671
msgid "exclude directories containing FILE"
-msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
+msgstr "välista kataloogid, mis sisaldavad faili FAIL"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
-msgstr ""
+msgstr "välista versiooni kontrolli süsteemi kataloogid"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "välista varukoopiad ja lukufailid"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "ära sisene kataloogidesse"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "sisene kataloogidesse (vaikimisi)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "ära eemalda faili nimedelt prefiksit `/'"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
-#: src/tar.c:686
-#, fuzzy
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
-msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
+msgstr "järgi viiteid; arhiveeri ja taasta viidatavad failid"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "KOMPONENT"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "alusta arhiivi liikmest KOMPONENT"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "KUUPÄEV"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "võrdle kuupäevi ainult kui andmed on muutunud"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "KONTROLL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "SÕNE"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle "
"määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Failide nimede muutmine:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "AVALDIS"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "kasuta failide nimede muutmiseks sed asendus avaldist"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "tõstutundetu"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "mustrid alustavad faili nime algusest"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "mustrid toimivad iga / järel (välistamise korral vaikimisi)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "tõstutundlik otsimine (vaikimisi)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "täht-täheline sõne otsimine"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "jokkerid ei leia '/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informatsioon:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "väljasta töödeldavate failide kohta infot"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "VÕTMESÕNA"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Ülekirjutamise juhtimine:"
+msgstr "hoiatuste juhtimine"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
-msgstr ""
+msgstr "TEGEVUS"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "käivita tegevus igas kontrollpunktis"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "väljasta teade, kui kõike viiteid pole salvestatud"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"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:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "väljasta failide muutmise ajad UTC esituses"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "väljasta faili aeg täielikult"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "salvesta täiendav info FAILi"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "näita iga teatega ka arhiivi bloki numbrit"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "küsi iga tegevuse kohta kinnitust"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "näita tar vaikeseadeid"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"listingu või taastamise ajal, näita igat kataloogi mis ei vasta "
"otsingutingimustele"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "peale teisendamist näita faili või arhiivi nime"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STIIL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "lisaks kvoodi sõnes näidatud sümbolid"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "keela sõnes toodud sümbolite kvootimine"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Ühilduvuse võtmed:"
-#: src/tar.c:784
+#: src/tar.c:787
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:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Muud võtmed:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "blokeeri potentsiaalselt ohtlikud võtmed"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Korraga ainult üks võtmetest `-Acdtrux'"
+msgstr ""
+"Korraga võib kasutada ainult ühte võtmetest `-Acdtrux' või `--test-label'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Konfliktsed pakkimisvõtmed"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Tundmatu signaali nimi: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Kuupäeva fail puudub"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Kasutan %s tundmatu ajaformaadi %s asemel"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Võti %s: Käsitlen aega `%s' kui %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: failide nimekiri on juba loetud"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: loetud faili nimi sisaldab sümbolit nul"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "filtreeri arhiiv läbi gzipi"
+msgstr "filtreeri arhiiv läbi %s"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*See* tar kasutab vaikimisi:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Vigane blokkimisfaktor"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Vigane lindi pikkus"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "Inkrementaalse faili vorming on vigane"
+msgstr "Inkrementaalse varunduse taseme väärtus on vigane"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Rohkem kui üks etteantud aeg"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Vigane aukudega faili versiooni väärtus"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint väärtus ei ole täisarv"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: Vigane grupp"
+msgstr "Vigane grupp"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Võtmega anti vigane mood"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Vigane number"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Vigane omanik"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
+"Võti --preserve on mittesoovitatav, kasutage --preserve-permissions --"
+"preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Vigane kirje suurus"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Kirje suurus peab olema %d kordne."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Vigane elementide arv"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Lubatud on ainult üks --to-command võti"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Vigane tiheduse argument: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Tundmatu tihedus: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FAIL]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Vana võti `%c' nõuab argumenti."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence ei oma failide nimekirjata mõtet"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence ei saa valitud tööre¸iimil kasutada"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Mitme arhiivifaili kasutamine nõuab võtit `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental ja --newer ei saa koos kasutada"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--occurrence ei oma failide nimekirjata mõtet"
+msgstr "--level ei oma võtmeta --listed-incremental mõtet"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Ei suuda kontrollida mitme volüümilisi arhiive"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Ei saa kontrollida pakitud arhiive"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Tihendatud arhiive ei saa ühendada"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option saab kasutada ainult POSIX arhiividega"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
-msgstr ""
+msgstr "Volüümi suurus ei saa olla väiksem kirje suurusest"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
-msgstr ""
+msgstr "--preserve-order ei ole ühilduv võtmega --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Ega ikka ei tee küll tühja arhiivi"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Võtmeid `-Aru' ei saa kasutada võtmega `-f -'"
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Peab kasutama vähemalt üht võtmetest `-Acdtrux'"
+msgstr "Peab kasutama üht võtmetest `-Acdtrux' või `--test-label'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
-msgstr ""
+msgstr "Kuna eelnevalt oli vigu, siis lõpetan veakoodiga"
#: src/update.c:86
#, c-format
msgstr[0] "%s: Fail on %s baiti lühem"
msgstr[1] "%s: Fail on %s baiti lühem"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Number on piiridest väljas: %s"
+msgstr "Ajatempel on piiridest väljas"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Mustrit %s ei saa kasutada"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Võtmesõna %s ei saa ümber määrata"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Vigane laiendatud päis: puudub pikkus"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Laiendatud päise pikkus on piiridest väljas"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Laiendatud päise pikkus %*s on piiridest väljas"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Vigane laiendatud päis: pikkuse järel puudub tühik"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Vigane laiendatud päis: puudub võrdusmärk"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Vigane laiendatud päis: puudub reavahetus"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Ignoreerin tundmatud laiendatud päise võtmesõna `%s'"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Vigane laiendatud päis: %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Vigane laiendatud päis: liigne %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid"
#: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
msgid "%s: not a valid timeout"
-msgstr "%s: Vigane grupp"
+msgstr "%s: ei ole korrektne taimout"
#: src/checkpoint.c:112
#, c-format
msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: tundmatu kontrollpunkti tegevus"
#: src/checkpoint.c:132
msgid "write"
-msgstr ""
+msgstr "kirjutamine"
#: src/checkpoint.c:132
msgid "read"
-msgstr ""
+msgstr "lugemine"
#. TRANSLATORS: This is a ``checkpoint of write operation'',
#. *not* ``Writing a checkpoint''.
msgid "Read checkpoint %u"
msgstr "Lugemise kontrollpunkt %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile manipuleerib GNU paxutils testipaketi andmefailidega.\n"
"VÕTMED on:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Faili loomise võtmed:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "SUURUS"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Loo määratud suurusega fail"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Kirjuta standardväljundi asemel faili NIMI"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Loe failide nimed failist FAIL"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T loeb nullidega lõpetatud nimesid"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "Täida fail antud mustriga. Muster on 'default' või 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Bloki suurus aukudega faili korral"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Loo aukudega fail. Järgnev käsurida kirjeldab faili."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
-msgstr ""
+msgstr "INDEKS"
-#: tests/genfile.c:146
-#, fuzzy
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
-msgstr "kontrolli arhiivi peale arhiivi kirjutamist"
+msgstr "Enne kirjutamist liigu antud indeksile"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Statistika faili kohta:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "Väljasta iga faili kohta stat struktuuri sisu. Vaikimisi VORMING on: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Sünkroonse täitmise võtmed:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [VÕTI...]"
+msgstr "VÕTI"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
"Täida antud KÄSKLUS. Kasulik võtmetega --checkpoint ja --cut, --append, --"
-"touch"
+"touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "Jõudes kontrollpunkti NUMBER, täida antud tegevus (vt. allpool)"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Määra järgmise --touch võtme ajatempel"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Esita täidetud kontrollpunktid ja käsu lõpetamise olek"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Sünkroonse täitmise tegevused. Neid täidetakse, kui saabub --checkpoint "
"võtmega määratud kontrollpunkt."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
"Sea faili suuruseks --length võtmega näidatu (või 0, kui suurust ei antud)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "Lisa faili lõppu --length parameetriga näidatud arv baite."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Uuenda faili kasutamise ja muutmise ajatempleid"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Käivita KÄSK"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "Kustuta FAIL"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Vigane suurus: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Number on piiridest väljas: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negatiivne suurus: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) ebaõnnestus"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
-msgstr ""
+msgstr "küsitud faili pikkus %lu, tegelik %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
-msgstr ""
+msgstr "loodud fail pole aukudega"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Viga `%s' juures numbri parsimisel"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Tundmatu kuupäeva vorming"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENDID...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "`%s' ei saa avada"
-#: tests/genfile.c:435
-#, fuzzy
+#: tests/genfile.c:434
msgid "cannot seek"
-msgstr "%s: Ei õnnestu liikuda positsioonile %s"
+msgstr "seek ebaõnnestus"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "faili nimi sisaldab null sümbolit"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "vigane mask (`%s' lähedal)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Tundmatu väli `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "ei õnnestu seada `%s' aega"
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "`%s' ei saa avada"
+msgstr "`%s' ei saa kustutada"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Käsk lõpetas töö edukalt\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Käsk lõpetas veakoodiga %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Käsk katkestati signaaliga %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Käsk peatati signaaliga %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Käsk salvestas mälupildi\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Käsk katkestas\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat nõuab failinimesid"
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: vigane võti -- %c\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Teated vigadest saatke palun aadressil <%s>.\n"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Loen %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Ületamatu tõrge: lõpetan töö"
-
-#~ msgid "suppress this warning."
-#~ msgstr "--no-wildcards."
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "filtreeri arhiiv läbi bzip2"
-
-#~ msgid "filter the archive through gzip"
-#~ msgstr "filtreeri arhiiv läbi gzipi"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "filtreeri arhiiv läbi compressi"
-
-#, fuzzy
-#~ msgid "filter the archive through lzma"
-#~ msgstr "filtreeri arhiiv läbi gzipi"
-
-#, fuzzy
-#~ msgid "filter the archive through lzop"
-#~ msgstr "filtreeri arhiiv läbi gzipi"
-
-#~ msgid "Input string too long"
-#~ msgstr "Sisendi sõne on liiga pikk"
-
-#~ msgid "Number syntax error"
-#~ msgstr "Numbri süntaksi viga"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Ei saa võtta buhvritele mälu\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Buhvritele ei jätku mälu"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "`%s --help' annab rohkem infot.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ " --version Output version info.\n"
-#~ " --help Output this help.\n"
-#~ msgstr ""
-#~ "Kasuta: %s [võti]\n"
-#~ "Manipuleeri lindiseadmega, lubades käske teistest protsessidest.\n"
-#~ "\n"
-#~ " --version Väljasta versiooniinfo.\n"
-#~ " --help Väljasta abiinfo.\n"
-
-#~ msgid "Seek offset error"
-#~ msgstr "Otsimise indeksi viga"
-
-#~ msgid "Premature end of file"
-#~ msgstr "Ootamatu faili lõpp"
-
-#~ msgid "block size"
-#~ msgstr "bloki suurus"
-
-#~ msgid "%s: Read error at byte %s, reading %lu byte"
-#~ msgid_plural "%s: Read error at byte %s, reading %lu bytes"
-#~ msgstr[0] "%s: Lugemisviga baidil %s, loen %lu baiti"
-#~ msgstr[1] "%s: Lugemisviga baidil %s, loen %lu baiti"
-
-#~ msgid "--Mangled file names--\n"
-#~ msgstr "--Tükeldatud failinimed--\n"
-
-#~ msgid "Renamed %s to %s"
-#~ msgstr "%s nimetatud %s-ks"
-
-#~ msgid "%s: Cannot symlink to %s"
-#~ msgstr "%s: Ei saa luua %s nimeviidet"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "Loodud %s nimeviide %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Tundmatu kokkusobitamise käsk %s"
-
-#~ msgid "[.]NUMBER"
-#~ msgstr "[.]NUMBER"
-
-#~ 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?"
-
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Eelnevad vead ei lõpetanud veel programmi tööd, lõpetan veaga"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Töökataloogi ei õnnestu salvestada"
# This file is distributed under the same license as the tar package.
#
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar-1.15.91-eu\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2006-12-13 19:52+0100\n"
"Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
+"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Arazoen berri %s-en eman.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Sistema errore ezezaguna"
msgid "give a short usage message"
msgstr "erabilera mezu labur bat eman"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "IZENA"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: `%s' aukera anbiguoa da\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' aukerak ez du argumenturik onartzen\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' aukerak ez du argumenturik onartzen\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: `%s' aukerak argumentu bat behar du\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: `--%s' aukera ezezaguna\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: `%c%s' aukera ezezaguna\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: -- %c ekintza baliogabea\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: aukerak -- %c argumentu bat behar du.\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' aukera anbiguoa da\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' aukerak ez du argumenturik onartzen\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: `%s' aukerak argumentu bat behar du\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memoria askieza"
msgid "Cannot execute remote shell"
msgstr "Ezin da urruneko shell-a abiarazi"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Seek norabidea eremuz kanpo"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Modu baliogabea eman da aukeran"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Tamaina baliogabea: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Seek offset-a eremuz kanpo"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Zinta luzera baliogabea"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Seek offset-a eremuz kanpo"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Fitxategi amaiera azkarregia\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Ekintza nagusi modua:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Fitxategi Amaiera Esperogabea"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "ZENBAKIA"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FITXATEGIA"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Ezin da `%s' ireki"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "argumentu gehiegi"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Zabor komandoa"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Honek ez dirudi tar pakete bat"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Idatziriko byte-ak guztira"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Irakurritako byte-ak guztira"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Ezabaturiko byte-ak guztira: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(tutua)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "balio baliogabea record_size-rentzat"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Ez da fitxategi izenik eman"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Fitxategia konprimiturik dago. %s aukera erabili"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Ezin dira konprimituriko fitxategiak eguneratu"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Zintaren hasieran, uzten"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Errore gehiegi, uzten"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: bolumen zenbaki baliogabea du"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Bolumen zenbaki gainezkatzea"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "Oharra: Paketea ez dago osaturik"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q tar utzi\n"
" y edo intro Ekintza jarraitu\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Azpishell bat sortu\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Zerrenda hau inprimatu\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Ez dago bolumen berririk; uzten.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s komandoak huts egin du"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s ez da bolumen honen jarraipena"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s okerreko tamaina da (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Bolumen hau sekuentziatik kanpo dago"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr ""
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "%s bolumena ez da %s-ren pareko"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, 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:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "%lu byte bakarrik irakurri daiteke %lu byte-tatik"
msgstr[1] "%lu byte bakarrik irakurri daiteke %lu byte-tatik"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Eduki ezberdintasunak"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Esperogabeko Fitxategi amaiaera paketean"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Fixtategi mota ezberdinak"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modu ezberdinak"
msgid "Mod time differs"
msgstr "Eraldaketa data ezberdinak"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Tamaina ezberdinak"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ez dago %s-ra loturik"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Lotura sinboliko ezberdinak"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Gailu zenbaki ezberdinak"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Egiaztatu "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: `%c' fitxategi mota ezezaguna, fitxategi arrunt batez ezberdina"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Egiaztapenak huts egin dezake jatorrizko fitxategiak kokatzerakoan."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "EGIAZTAPEN AKATSA: buru baliogabe %d aurkitu da"
msgstr[1] "EGIAZTAPEN AKATSA: %d buru baliogabe aurkitu dira"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, fuzzy, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "%s eremua %s eremutik %s..%s kanpo: %s aldatzen"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "%s balioa %s eremutik %s..%s kanpo dago"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Zortzitar buru negatiboak sortzen"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: fitxategi izena luzeegia da (gehi. %d); ez da irauliko"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: fitxategi izena luzeegia da (ezin da moztu); ez da irauliko"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: lotura izena luzeegia da; ez da irauliko"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] ""
msgstr[1] ""
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Fitxategi mota ezezaguna; fitxategia alde batetara utziko da"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "%s-ra lotura falta da.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: fitxategia ez da aldatu, ez da irauliko"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: fitxategia paketea da, ez da irauliko"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
#, fuzzy
msgid "directory not dumped"
msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: fitxategia aldatu egin da irakurtzen ari zenean"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket-a alde batetara utzi da"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: atea alde batetara utzia"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Hurrengoa burura salto egiten"
msgid "Deleting non-header from archive"
msgstr "paketetik burugabea ezabatzen"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: Sinesgarri izateko zaharregia den denbora marka %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: %s denbora marka %s etorkizunean da"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Esperogabeko inkonsistentziak direktorioa sortzerakoan"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Direktorioa bere egoera atera aurretik berrizendatua izan da"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Alboko fitxategiak fitxategi erregularrak bezala ateratzen"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Buru izen luzera esperogabea"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Unekoa %s berriagoa edo data berdinekoa da"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Ezin da %s %s-ra berrizendatu"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Direktorioa %s-tik berrizendatua izan da"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Direktorioa berrizendatua izan da"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Direktorioa berria da"
msgid "%s: Cannot remove"
msgstr "%s: Ezin da ezabatu"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Alde batetara uzten"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr ""
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "%s blokea: ** Fitxategi Amaiera **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "%s blokea: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"direla pentsatuko da"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Paketeak zaharkituriko base-64 buruak ditu"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " %s-ra lotu\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " %s fitxategi mota ezezaguna\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Lotura Luzea--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Izen Luzea--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Bolumen Burua--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--%s byte-an jarraitzen du--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Direktorioa sortzen:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Ezin da lan direktorioa aldatu"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s %s-ra berrizendatzen\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Ezin da %s-ra berrizendatu"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s %s-ra atzera berrizendatzen\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Ezin da lan direktorioa gorde"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Ezin da lan direktorioa aldatu"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fitxategia irakurri baino lehen ezabaturik"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Fitxategia irakurri baino lehen ezabaturik"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "ume prozesua"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "prozesu arteko kanala"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Ez da paketean aurkitu"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr ""
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr ""
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"`%s' markatze estilo ezezaguna. Saiatu `%s --quoting-style=help' zerrenda "
"eskuratzeko."
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"erabili\n"
" never, simple beti babeskopia sinpleak egin\n"
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
"erabili\n"
" never, simple beti babeskopia sinpleak egin\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Ekintza nagusi modua:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "pakete baten edukiak zerrendatu"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "pakete batetako fitxategiak atera"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "pakete berri bat sortu"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "paketea eta fitxategi sistema arteko ezberdintasunak bilatu"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "fitxategiak paketearen amaieran gehitu"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
"paketean dauden kopiak baino berriagoak diren fitxategiak bakarrik gehitu"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "gehitu tar fitxategiak pakete batetara"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "paketetik ezabatu (ez mag zintetan!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "pakete bolumen etiketa egiaztatu eta irten"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Ekintza aldagaiak:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "sakabanatutako fitxategiak egoki kudeatu"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "GNU basbeskopia inkremenetal formatu zaharra kudeatu"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "GNU basbeskopia inkremenetal formatu berria kudeatu"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "paketeak `seek' onartzen du"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "paketeak `seek' onartzen du"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
#, fuzzy
msgid "Overwrite control:"
msgstr "Gainidazketa kontrola:\n"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "ezabatu fitxategiak paketera gehitu aurretik"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "gainidatzi dauden fitxategiak ateratzerakoan"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "dauden direktorioen metadata mantendu"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "dauden direktorioen metadata gainidatzi ateratzerakoan (lehenetsia)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Irteera korrontea hautatu:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "fitxategiak irteera estandarrera atera"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "KOMANDOA"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "bideratu ateratako fitxategiak beste programa batetara"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "alde batetara utzi semeen irteera kodeak"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "zero ez diren semeen irteera kodeekin errore bat bezala jokatu"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Fitxategi atributu kudeaketa:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "indartu IZENA jabe bezala gehituriko fitxategientzat"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "indartu IZENA talde bezala gehituriko fitxategientzat"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATA-EDO-FITXATEGIA"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ALDAKETAK"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "indartu (sinbolikoa) modu ALDAKETAK gehituriko lerroentzat"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODOA"
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "ez atera fitxategi eraldaketa data"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "jabe berdinaren fitxategiak ateratzen saiatu"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "atera fitxategiak zure kabuz"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "beti erabili zenbakiak erabiltzaile/talde izenen ordez"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"fitxategi baimenei buruzko argibideak atera (lehenetsia root "
"erabiltzailearentzat)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"erabiltzailearen umask-a erabili paketetik baimenak ateratzerakoan "
"(lehenetsia erabiltzaile arruntentzat)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "-p eta -s bikotearen berdina"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "--delay-directory-restore aukeraren eragina ezeztatu"
-#: src/tar.c:529
+#: src/tar.c:530
#, fuzzy
msgid "Device selection and switching:"
msgstr "Gailu hautapen eta aldaketa:\n"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "PAKETEA"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "pakete fitxategia edo gailu PAKETEA erabili"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "pakete fitxategi lokala da nahiz bi puntu izan"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "Emandako rmt KOMANDOA erabili rmt ordez"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "Urruneko KOMANDOA erabili rsh ordez"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "Gailu eta dentsitatea ezarri"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "sortu/zerrendatu/atera bolumen-anitzeko paketea"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "zinta aldatu ZENBAKIA x 1024 byte idatzi ondoren"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "scipt-a abiarazi zinta bakoitzaren amaieran (-M behar du)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "erabili/eguneratu FITXATEGI bolumen zenbakia"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Gailu blokeak:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKE"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOKE x 512 byte grabazio bakoitzeko"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "grabazio bakoitzeko byte ZENBAKIA, 512-ren multiploa"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "paketean zeroz betetako blokeak alde batetara utzi"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Pakete formatu hautapena:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMATUA"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "emandako formatuko pakete bat sortu"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMATUA hauetako bat da:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "V7 tar formatu zaharra"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU formatua tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x formatua"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) formatua"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) formatua"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "pax-en berdina"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "--format=v7-ren berdina"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "--format=posix-ren berdina"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "gakoa[[:]=balioavalue][,gakoa[[:]=balioa]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TESTUA"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Elkarjotzen duten konpresio aukerak"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "PROG bidez iragazi (-d onartu behar du)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Fixtategi lokal hautapena:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "DIR direktoriora aldatu"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATROIA"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "fixtategiak utzi, PATROIA bezala emandakoak"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi"
-#: src/tar.c:657
+#: src/tar.c:658
#, 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:660
+#: src/tar.c:661
#, fuzzy
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "katxe marka duten direktorioak alde batetara utzi"
-#: src/tar.c:663
+#: src/tar.c:664
#, fuzzy
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "katxe marka duten direktorioak alde batetara utzi"
-#: src/tar.c:665
+#: src/tar.c:666
#, fuzzy
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "katxe marka duten direktorioak alde batetara utzi"
-#: src/tar.c:668
+#: src/tar.c:669
#, fuzzy
msgid "exclude everything under directories containing FILE"
msgstr "katxe marka duten direktorioak alde batetara utzi"
-#: src/tar.c:670
+#: src/tar.c:671
#, fuzzy
msgid "exclude directories containing FILE"
msgstr "katxe marka duten direktorioak alde batetara utzi"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "sahiestu automatikoki direktorioetan zehar jeistea"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "fitxategi sistema lokalean egon paketea sortzerakoan"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "direktorioetan barrena (lehenetsia)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "Ez kendu hasierako `/' fitxategi izenetatik"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
#, 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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "PARTAIDE IZEN"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "data eta ordua parekatu data bakarrik aldatzen denean"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "KONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "KATEA"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Fitxategi izen eraldaketak:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "ESPRESIOA"
-#: src/tar.c:707
+#: src/tar.c:708
#, fuzzy
msgid "use sed replace EXPRESSION to transform file names"
msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "kasua alde batetara utzi"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "verbatim kate parekatzea"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr ""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "irteera informatiboa:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "Gainidazketa kontrola:\n"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
"Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 "
"da)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SEINALEA"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "eraldaketa datak UTC orduan bistarazi"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "irteera luzea FITXATEGIRA bidali"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "berrespena eskatu ekintza bakoitzean"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "tar lehenespenak bistarazi"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "ESTILOA"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "Gako karaktere gehigarriak KATE-tik"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "gakoak kendu karaktereentzat KATE-tik"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Bateragarritasun aukerak:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Beste aukerak:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Ezin duzu `-Acdtrux' aukera bat baino gehiago ezarri"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Elkarjotzen duten konpresio aukerak"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Seinale izen ezezaguna: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Data adibide fitxategia ez da aurkitu"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "%s %s data formatu ezezagunagatik aldatzen"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: fitxategi zerrenda irakurria dagoeneko"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "fitxategia gzip bidez iragazi"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "--quoting-style-entzat balio erabilgarriak:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Blokeo faktore baliogabea"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Zinta luzera baliogabea"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Fitxategi inkremental formatu okerra"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Atari data bat baino gehiago"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' ez da onartzen plataforma honetan"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint balioa ez da zenbaki oso bat"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Talde baliogabea"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Modu baliogabea eman da aukeran"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Zenbaki baliogabea"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Jabe baliogabea"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Grabazio tamaina baliogabea"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Elementu kopuru baliogabea"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "--to-command aukera bat bakarrik onartzen da"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Gaizki eratutako dentsitate argumentua: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Dentsitate Ezezaguna: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FITXATEGIA]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "`%c' zaharkituriko aukerak argumentu bat behar du"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Ezin dira --listed-incremental eta --newer batera erabili"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Ezin dira konprimituriko fitxategiak egiaztatu"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Ezin dira konprimituriko paketeak kateatu"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr ""
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] ""
msgstr[1] ""
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "%s gakoa ezezaguna da edo ez dago inplementaturik oraindik"
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Denbora marka eremuz kanpo dago"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "%s patroia ezin da erabili"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "%s gakoa ezin da gainidatzi"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Gaizki eratutako buru luzapena: luzera falta da"
-#: src/xheader.c:549
+#: src/xheader.c:550
#, fuzzy
msgid "Extended header length is out of allowed range"
msgstr " %*s buru luzapen luzera eremuz kanpo dago"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr " %*s buru luzapen luzera eremuz kanpo dago"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Gaizki eratutako buru luzapena: luzera ondoren hutsunea falta da"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Gaizki eratutako buru luzapena: berdin ikurra falta da"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Gaizki eratutako buru luzapena: lerro berria falta da"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia"
msgid "Read checkpoint %u"
msgstr "Irakurketa %u egiaztapen puntua"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr ""
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Pakete sortze aukerak:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "TAMAINA"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Emandako TAMAINAko paketea sortu"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Fitxategi IZENEAN idatzi irteera estandarren ordez"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Fitxategi izenak PAKETEtik irakurri"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Bloke tamaina fitxategi sakabanatuentzat"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Fitxategi sakabanatuak sortu. Komanod lerroaren besteak fitxategi mapa dakar."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Fixtategi estatistika aukerak:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Eduki eta egitura estatusa inprimatu emandako fitxategi bakoiztarentzat. "
"Lehenetsiriko FORMATUA: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Sinkronizatutako exekuzio aukerak:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [AUKERA...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"Emandako KOMANDOA exekutatu. Erabilgarri --checkpoint eta hauetako batekin; "
"--cut, --append, --touch"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Ezarri data hurrengo --touch aukerarentzat"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "FITXATEGIAREN irakurketa eta eraldaketa denborak aldatu"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "KOMANDOA exekutatu"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Tamaina baliogabea: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Inodo zenbakia eremuz kanpo dago"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, fuzzy, c-format
msgid "Negative size: %s"
msgstr "Tamaina baliogabea: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) -ek huts egin du"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Data formatu ezezaguna"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARG...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "Ezin da `%s' ireki"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "%s: Ezin da %s-ra seek egin"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "fitxategia izenak karaktere baliogabea du"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "maskara baliogabea (`%s'-etik gertu)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "`%s' eremu ezezaguna"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "ezin da `%s'-ren denbora ezarri"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Ezin da `%s' ireki"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Komandoa behar bezala irten da\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Komandoa %d egoerarekin huts egin du\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Komandoa %d seinalearekin amaitu da\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Komandoa %d seinalearekin geratu da\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Komando iraulketa nagusia\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Komandoa amaitua\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat -ek fitxategi izenak behar ditu"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Ezin da lan direktorioa gorde"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Ezin da %s %s-ra berrizendatu"
+
+#~ msgid "suppress this warning."
+#~ msgstr "ohar hau kendu."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: -- %c legezkanpoko aukera\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "%s irakurtzen\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "Erroreen berri <%s>-ra eman.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "%s irakurtzen\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Errorea berreskura ezina da: irteten"
-
-#~ msgid "suppress this warning."
-#~ msgstr "ohar hau kendu."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "fitxategia bzip2 bidez iragazi"
#~ msgid "Premature end of file"
#~ msgstr "Fitxategi amaiera azkarregia"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Errorea berreskura ezina da: irteten"
+
#~ msgid "block size"
#~ msgstr "bloke tamaina"
# Copyright © 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
# Lauri Nurmi <lanurmi@iki.fi>, 2002-2006.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.16.1\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\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"
+"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Tuntematon järjestelmävirhe"
msgid "give a short usage message"
msgstr "näytä lyhyt käyttöohje"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NIMI"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: valitsin ”%s” on moniselitteinen\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: valitsin ”--%s” ei salli argumenttia\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: valitsin ”%s” vaatii argumentin\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tunnistamaton valitsin ”--%s”\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tunnistamaton valitsin ”%c%s”\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: virheellinen valitsin -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: valitsin ”-W %s” on moniselitteinen\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: valitsin ”%s” vaatii argumentin\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "muisti lopussa"
msgid "Cannot execute remote shell"
msgstr "Etäkuorta ei voi käynnistää"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Siirtymän suunta sallitun välin ulkopuolella"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Valitsimelle annettiin virheellinen tila"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Virheellinen koko: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Siirtymä sallitun välin ulkopuolella"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Virheellinen nauhan pituus"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Siirtymä sallitun välin ulkopuolella"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Ennenaikainen tiedoston loppu\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Päätoimintatila:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Odottamaton tiedoston loppu arkistossa"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "MÄÄRÄ"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "TIED"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "liian monta argumenttia"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Roskakomento"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Tämä ei näytä tar-arkistolta"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Kirjoitettuja tavuja yhteensä"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Poistettuja tavuja yhteensä: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(putki)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Virheellinen arvo kentälle record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arkiston nimeä ei ole annettu"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Arkisto on tiivistetty. Käytä valitsinta %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Pakattuja arkistoja ei voi päivittää"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Nauhan alussa, lopetetaan"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Liian monta virhettä, lopetetaan"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Arkisto-osan järjestysnumeron ylivuoto"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Valmistele osa #%d arkistolle %s ja paina return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "VAROITUS: Arkisto on epätäydellinen"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Keskeytä tar\n"
" y tai rivinv. Jatka suoritusta\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Käynnistä alikuori\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Näytä tämä lista\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Ei uutta arkiston osaa, poistutaan.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Komento %s epäonnistui"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s ei jatku tällä arkiston osalla"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s on väärän kokoinen (%s ≠ %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, 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:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Arkiston osa %s ei täsmää nimiöön %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston "
"otsakkeeseen; nimi typistetty"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
msgstr[0] "Voitiin lukea vain %lu tavua %lu tavusta"
msgstr[1] "Voitiin lukea vain %lu tavua %lu tavusta"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Sisällöt eroavat"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Odottamaton tiedoston loppu arkistossa"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Tiedoston tyyppi eroaa"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Tila eroaa"
msgid "Mod time differs"
msgstr "Muutosaika eroaa"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Koko eroaa"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ei ole linkitetty tiedostoon %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symlinkki eroaa"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Laitenumero eroaa"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Tarkasta "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Tuntematon tiedostotyyppi ”%c”, vertailtu normaalina tiedostona"
# Mitäh?
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arkisto sisältää tiedostonimiä, joiden etuliitteet on poistettu."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Tarkastus ei ehkä löydä alkuperäisiä tiedostoja."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "TARKASTUSVIRHE: havaittu %d virheellinen otsake"
msgstr[1] "TARKASTUSVIRHE: havaittu %d virheellistä otsaketta"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Yksinäinen nollalohko kohdassa %s"
-#: src/create.c:68
+#: src/create.c:72
#, fuzzy, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: näyttää välimuistihakemistolta, ei lisätä"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella, korvataan arvolla %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "arvo %s on sallitun %s-välin %s..%s ulkopuolella"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Luodaan otsakkeet negatiivisilla oktaaleilla"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: tiedostonimi on liian pitkä (maksimi %d), ei lisätä"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: tiedostonimi on liian pitkä (ei voida jakaa), ei lisätä"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: linkin nimi on liian pitkä, ei lisätä"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla"
msgstr[1] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: tiedosto ei ole samalla tiedostojärjestelmällä, ei lisätä"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tuntematon tiedostotyyppi, tiedostoa ei huomioida"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Puuttuvat linkit tiedostoon %s.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: tiedosto on muuttumaton, ei lisätä"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: tiedosto on arkistossa, ei lisätä"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
#, fuzzy
msgid "directory not dumped"
msgstr "%s: näyttää välimuistihakemistolta, ei lisätä"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: tiedosto muuttui lukemisen aikana"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: pistoketta ei huomioida"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: ovea ei huomioida"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Siirrytään seuraavaan otsakkeeseen"
msgid "Deleting non-header from archive"
msgstr "Poistetaan epäotsake arkistosta"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: epätodennäköisen vanha aikaleima %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: aikaleima %s on %s sekuntia tulevaisuudessa"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Odottamaton ristiriita luotaessa hakemistoa"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Hakemisto nimettiin uudelleen ennen kuin sen tilaa voitiin purkaa"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Puretaan jatkuvat tiedostot normaaleiksi tiedostoiksi"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Odottamaton tiedoston loppu sovitetuissa nimissä"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Tuntematon tiedostotyyppi ”%c”, purettiin normaaliksi tiedostoksi"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Nykyinen %s on uudempi tai yhtä vanha"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Hakemisto %s on nimetty uudelleen"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Hakemisto on nimetty uudelleen"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Hakemisto on uusi"
msgid "%s: Cannot remove"
msgstr "%s: Ei voi poistaa"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Jätetään pois"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "lohko %s: ** NUL-lohko **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "lohko %s: ** Tiedoston loppu **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "lohko %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"kahden komplementiksi"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " linkki tiedostoon %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tuntematon tiedostotyyppi %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Pitkä linkki--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Pitkä nimi--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Arkiston osan otsake--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Jatkuu tavusta %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Luodaan hakemisto:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Työhakemistoa ei voi vaihtaa"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Nimetään uudelleen %s -> %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Nimetään %s takaisin nimelle %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Työhakemistoa ei voi tallentaa"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Työhakemistoa ei voi vaihtaa"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Tiedosto oli poistettu ennen sen lukemista"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Tiedosto oli poistettu ennen sen lukemista"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "lapsiprosessi"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "prosessienvälinen kanava"
# ... ja sen pitää päätyä kääntäjien ongelmaksi?
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "Tiedostonimissä on käytetty jokerimerkkejä. Käytä"
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Ei löytynyt arkistosta"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" %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:356
+#: src/tar.c:357
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 "
" muuten yksinkertaisia\n"
" never, simple tee aina yksinkertaisia varmuuskopioita\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Päätoimintatila:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "listaa arkiston sisältö"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "pura tiedostoja arkistosta"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "luo uusi arkisto"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "etsi arkiston ja tiedostojärjestelmän väliset erot"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "lisää tiedostoja arkiston loppuun"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "lisää vain arkistokopiota uudemmat tiedostot"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "lisää tar-tiedostoja arkistoon"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "poista tiedostoja arkistosta (ei toimi magneettinauhoilla!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Toimintovalinnat:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "käsittele harvat tiedostot tehokkaasti"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "käsittele vanha GNU-muotoinen lisääntyvä varmuuskopio"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "käsittele uusi GNU-muotoinen lisääntyvä varmuuskopio"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "jatka lukukelvottomista tiedostoista huolimatta"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"annettu komentirivillä tai -T-valitsimella; oletusMÄÄRÄ on 1"
# Muualla seek on siirtymistä...
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "arkisto on selattava"
# Muualla seek on siirtymistä...
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "arkisto on selattava"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "poista tiedostot arkistoon lisäämisen jälkeen"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "älä korvaa olemassaolevia tiedostoja purettaessa"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "ylikirjoita olemassaolevat tiedostot purettaessa"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "poista jokainen tiedosto ennen sen päälle purkamista"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "tyhjennä rakenne ennen hakemiston purkamista"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "säilytä olemassaolevien hakemistojen metatiedot"
-#: src/tar.c:466
+#: src/tar.c:467
#, fuzzy
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "ylikirjoita olemassaolevat tiedostot purettaessa"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Valitse tulostusvirta:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "pura tiedostot vakiotulosteeseen"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "KOMENTO"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "putkita puretut tiedostot toiselle ohjelmalle"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "jätä lapsiprosessien paluuarvot huomiotta"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "käsittele lapsiprosessien nollasta poikkeavat paluuarvot virheinä"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Tiedostojen ominaisuuksien käsittely:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "pakota NIMI lisättyjen tiedostojen omistajaksi"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "pakota NIMI lisättyjen tiedostojen ryhmäksi"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "PÄIVÄYS-TAI-TIED"
-#: src/tar.c:493
+#: src/tar.c:494
#, fuzzy
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "MUUTOS"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "pakota (symbolinen) tila MUUTOS lisätyille"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "älä pura tiedoston muutosaikaa"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "yritä purkaa tiedostot samalla omistajuudella"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "pura tiedostot itsenäsi"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "käytä aina numeroita käyttäjän/ryhmän nimissä"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "lajittele purettavat tiedostonimet täsmäämään arkistoon"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "sama kuin -p ja -s yhdessä"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
#, fuzzy
msgid "Device selection and switching:"
msgstr "Laitteen valinta ja vaihtaminen:\n"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARKISTO"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "käytä arkistotiedostoa tai -laitetta ARKISTO"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "arkisto on paikallinen vaikka nimessä olisi kaksoispiste"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "käytä rmt-KOMENTOA rmt:n sijaan"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "käytä etäKOMENTOa rsh:n sijaan"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "anna asema ja tiheys"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "luo/listaa/pura moniosainen arkisto"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "vaihda nauhaa MÄÄRÄ × 1024 kirjoitetun tavun jälkeen"
-#: src/tar.c:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "käytä/päivitä arkiston osan numero TIEDostossa"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Laitteen lohkot:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "LOHKOT"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "LOHKOT × 512 tavua tietuetta kohti"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "MÄÄRÄ tavua tietuetta kohti, 512:n monikerta"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "älä huomioi nollattuja lohkoja arkistossa (merkitsee tiedoston loppua)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Arkistomuodon valinta:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "MUOTO"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "luo annetun muotoinen arkisto"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "MUOTO on yksi seuraavista:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "vanha V7-tar-muoto"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU-muoto tar-versioilla ≤ 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x -muoto"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) -muoto"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) -muoto"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "sama kuin pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "sama kuin --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "sama kuin --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "avainsana[[:]=arvo][,avainsana[[:]=arvo]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "määrittele pax-avainsanoja"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEKSTI"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"luo arkisto nimiöllä TEKSTI. Listattaessa/purettaessa käytä TEKSTIä "
"nimiönhakulausekkeena"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Ristiriitaiset pakkausvalitsimet"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "OHJ"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Paikallisten tiedostojen valinta:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "HAK"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "siirry hakemistoon HAK"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "hae purettavat/luotavat nimet TIEDOSTOsta"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "HAHMO"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "jätä pois HAHMOn mukaiset tiedostot"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "jätä pois TIEDOSTOssa listatut hahmot"
-#: src/tar.c:657
+#: src/tar.c:658
#, fuzzy
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr "jätä pois välimuistihakemistot"
-#: src/tar.c:660
+#: src/tar.c:661
#, fuzzy
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
-#: src/tar.c:663
+#: src/tar.c:664
#, fuzzy
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
-#: src/tar.c:665
+#: src/tar.c:666
#, 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:668
+#: src/tar.c:669
#, fuzzy
msgid "exclude everything under directories containing FILE"
msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "estä automaattinen eteneminen alihakemistoihin"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "etene alihakemistoihin (oletus)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "älä poista ”/”-merkkiä tiedostonimien alusta"
-#: src/tar.c:684
+#: src/tar.c:685
#, fuzzy
msgid "follow symlinks; archive and dump the files they point to"
msgstr "seuraa symlinkkejä; "
-#: src/tar.c:686
+#: src/tar.c:687
#, fuzzy
msgid "follow hard links; archive and dump the files they refer to"
msgstr "seuraa symlinkkejä; "
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "TIED-NIMI"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "aloita arkiston tiedostosta TIED-NIMI"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "PÄIVÄYS"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "vertaa vain tiedoston muutosaikaa"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "HALLINTA"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "MERKKIJONO"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka "
"on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
#, fuzzy
msgid "strip NUMBER leading components from file names on extraction"
msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
#, fuzzy
msgid "ignore case"
msgstr "poisjättäminen ei huomioi kirjainkokoa"
-#: src/tar.c:718
+#: src/tar.c:719
#, fuzzy
msgid "patterns match file name start"
msgstr "poisjättöhahmoja verrataan nimen alkuun"
-#: src/tar.c:720
+#: src/tar.c:721
#, fuzzy
msgid "patterns match after any `/' (default for exclusion)"
msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen"
-#: src/tar.c:722
+#: src/tar.c:723
#, fuzzy
msgid "case sensitive matching (default)"
msgstr "poisjättäminen huomioi kirjainkoon (oletus)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "poisjättöhahmon jokerimerkit eivät täsmää ”/”-merkkiin"
-#: src/tar.c:730
+#: src/tar.c:731
#, fuzzy
msgid "wildcards match `/' (default for exclusion)"
msgstr "poisjättöhahmon jokerimerkit vastaavat merkkiä ”/”"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Tietoja antava tuloste:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "listaa käsiteltävät tiedostot"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
#, fuzzy
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "näytä edistymisviesti 10 sekunnin välein"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "näytä viesti, ellei kaikkia linkkejä lisätty"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "näytä tiedostojen muutosajat UTC-aikoina"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "ohjaa monisanainen tuloste TIEDostoon"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "näytä lohkonumero arkistossa viestien yhteydessä"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "kysy varmistusta jokaiselle toiminnolle"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "näytä tarin oletukset"
-#: src/tar.c:766
+#: src/tar.c:769
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:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Yhteensopivuusvalitsimet:"
-#: src/tar.c:784
+#: src/tar.c:787
#, fuzzy
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
msgstr ""
"luotaessa sama kuin --old-archive purettaessa sama kuin --no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Muut valitsimet:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Vain yhtä valitsimista ”-Acdtrux” voi käyttää kerrallaan"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Ristiriitaiset pakkausvalitsimet"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Tuntematon signaalin nimi: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Päiväystiedostoa ei löytynyt"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Valitsin %s: Käsittellään päiväys %s arvona %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: tiedosto on arkistossa, ei lisätä"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: tiedostonimi sisältää nul-merkin"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "ohjaa arkisto gzip-ohjelman läpi"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Kelvolliset argumentit --quoting-style -valitsimille ovat:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Tämä* tar käyttää oletuksena:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Virheellinen lohkomiskerroin"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Virheellinen nauhan pituus"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Annettu useampi kuin yksi kynnyspäiväys"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Virheellinen ryhmä"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Valitsimelle annettiin virheellinen tila"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Virheellinen määrä"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Virheellinen omistaja"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Virheellinen tietueen koko"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Tietueen koon on oltava %d:n monikerta."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Virheellinen osien määrä"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Kelvoton tiheysargumentti: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Tuntematon tiheys: ”%c”"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[TIEDOSTO]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Vanha valitsin ”%c” vaatii argumentin."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "valitsinta --occurence ei voi käyttää pyydetyssä toimintatilassa"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Valitsimia --listed-incremental ja --newer ei voi käyttää yhdessä"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Moniosaisia arkistoja ei voi tarkastaa"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Pakattuja arkistoja ei voi varmistaa"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Pakattuja arkistoja ei voi liittää toisiinsa"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsinten ”-f -” kanssa"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Vähintään yhtä valitsimista ”-Acdtrux” on käytettävä"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Tiedosto kutistui %s tavun verran"
msgstr[1] "%s: Tiedosto kutistui %s tavun verran"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Aikaleima ei ole sallitulla välillä"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Hahmoa %s ei voi käyttää"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Avainsanaa %s ei voi ohittaa"
-#: src/xheader.c:541
+#: src/xheader.c:542
#, fuzzy
msgid "Malformed extended header: missing length"
msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
-#: src/xheader.c:549
+#: src/xheader.c:550
#, fuzzy
msgid "Extended header length is out of allowed range"
msgstr ""
"Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin "
"ulkopuolella"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
#, fuzzy
msgid "Malformed extended header: missing blank after length"
msgstr "Väärän muotoinen laajennettu otsake: tyhje puuttuu pituuden jälkeen"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
-#: src/xheader.c:582
+#: src/xheader.c:583
#, fuzzy
msgid "Malformed extended header: missing newline"
msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Väärän muotoinen laajennettu otsake: virheellinen %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, fuzzy, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
msgid "Read checkpoint %u"
msgstr "Lukemisen tarkistuspiste %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Luo datatiedostot GNU tar:in testausta varten.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Muut valitsimet:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
#, fuzzy
msgid "Create file of the given SIZE"
msgstr "luo annetun muotoinen arkisto."
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "pura tiedostot vakiotulosteeseen"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
#, fuzzy
msgid "Read file names from FILE"
msgstr "Luettiin %s tavua arkistosta %s"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T lukee nollatavuun päättyviä nimiä"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [VALITSIN...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Suorita KOMENTO"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Virheellinen koko: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "I-solmun numero ei ole sallitulla välillä"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, fuzzy, c-format
msgid "Negative size: %s"
msgstr "Virheellinen koko: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) epäonnistui"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Tuntematon järjestelmävirhe"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARG...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "tiedostonimi sisältää nollatavun"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " tuntematon tiedostotyyppi %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Komennon suoritus päättyi onnistuneesti\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Lapsiprosessi kuoli signaalilla %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Komento keskeytyi signaaliin %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Komento pysähtyi signaaliin %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Komento keskeytyi\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Sovitetut tiedostonimet--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Työhakemistoa ei voi tallentaa"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
+
+#~ msgid "suppress this warning."
+#~ msgstr "--no-wildcards tämän varoituksen vaientamiseksi."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: virheellinen valitsin -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Luetaan %s\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "Ohjelmistovioista voi ilmoittaa (englanniksi) osoitteeseen\n"
#~ "<%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Luetaan %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Virhe ei ole korjattavissa, poistutaan nyt"
-
-#~ msgid "suppress this warning."
-#~ msgstr "--no-wildcards tämän varoituksen vaientamiseksi."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "ohjaa arkisto bzip2-ohjelman läpi"
#~ msgid "Premature end of file"
#~ msgstr "Ennenaikainen tiedoston loppu"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Virhe ei ole korjattavissa, poistutaan nyt"
+
#~ msgid "block size"
#~ msgstr "lohkokoko"
# Messages français pour GNU concernant tar.
-# Copyright © 2007 Free Software Foundation, Inc.
+# Copyright © 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, jusqu'en 2004
-# Christophe Combelles <ccomb@free.fr>, 2007, 2008, 2009
+# Christophe Combelles <ccomb@free.fr>, 2007, 2008, 2009, 2010
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar-1.22\n"
+"Project-Id-Version: tar-1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-12-06 17:08+0100\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-23 01:11+0100\n"
"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Rapportez toute anomalie à %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Erreur système inconnue"
msgid "give a short usage message"
msgstr "Afficher un court mode d'emploi"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NOM"
msgid "write error"
msgstr "erreur d'écriture"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s : l'option « %s » est ambiguë\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s : l'option « --%s » n'a pas d'argument\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s : l'option « %c%s » n'a pas d'argument\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s : l'option « %s » doit avoir un argument\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s : l'option « --%s » doit avoir un argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s : l'option « --%s » est inconnue\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s : l'option « %c%s » est inconnue\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s : l'option « -- %c » n'est pas valable\n"
+msgstr "%s : l'option -- '%c' n'est pas valable\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s : l'option « -- %c » a besoin d'un argument\n"
+msgstr "%s : l'option -- '%c' a besoin d'un argument\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s : l'option « -W %s » est ambiguë\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s : l'option « -W %s » ne prend pas d'argument\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s : l'option « -W %s » doit avoir un argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "mémoire épuisée"
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Packagé par %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Packagé par %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Rapportez toute anomalie à %s.\n"
+msgstr ""
+"\n"
+"Signalez toute anomalie à : %s\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr "Rapportez toute anomalie à %s.\n"
+msgstr "Signalez les anomalies de %s à : %s\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Page d'accueil de %s : <%s>\n"
#: gnu/version-etc.c:255
-#, fuzzy, c-format
+#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Page d'accueil de %s : <http://www.gnu.org/software/%s/>.\n"
+msgstr "Page d'accueil de %s : <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
-#, fuzzy
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
-"Aide générale sur l'utilisation de programmes GNU : <http://www.gnu.org/"
-"gethelp/>.\n"
+"Aide générale sur l'utilisation des programmes GNU : <http://www.gnu.org/"
+"gethelp/>\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/paxerror.c:58 lib/paxerror.c:71
#, c-format
msgid "%s: Cannot %s"
-msgstr "%s : la fonction %s a échoué"
+msgstr "%s : %s impossible"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/paxerror.c:84
#, c-format
msgid "%s: Warning: Cannot %s"
-msgstr "%s : AVERTISSEMENT : la fonction %s a échoué"
+msgstr "%s : AVERTISSEMENT : %s impossible"
#: lib/paxerror.c:93
#, c-format
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Impossible de se connecter à %s : échec de résolution"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Impossible de lancer un interpréteur de commandes distant"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Direction de positionnement hors plage"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Mode non valable donné en option"
+msgstr "Direction de recherche non valable"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Taille non valable : %s"
+msgstr "Décalage de recherche non valable"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Positionnement relatif hors plage"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Longueur de cartouche non valable"
+msgstr "Nombre d'octets non valable"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Positionnement relatif hors plage"
+msgstr "Nombre d'octets hors plage"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd : fin de fichier prématurée\n"
+msgstr "Fin de fichier prématurée"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Mode d'opération principal :"
+msgstr "Code d'opération non valable"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Opération non prise en charge"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Fin prématurée rencontrée dans l'archive."
+msgstr "Arguments inattendus"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
+"Manipule un lecteur de cartouches en acceptant des commandes d'un processus "
+"distant"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NOMBRE"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "définit le niveau de débogage"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FICHIER"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "définit le nom de fichier de sortie de débogage"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "Impossible d'ouvrir « %s »"
+msgstr "impossible d'ouvrir %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "trop d'arguments"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Commande rejetée"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Ceci ne ressemble pas à une archive de type « tar »"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Nombre total d'octets écrits"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Nombre total d'octets lus"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Nombre total d'octets effacés : %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(tube)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valeur incorrecte pour « record_size »"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Aucun nom d'archive donné"
-#: src/buffer.c:555
+#: src/buffer.c:618
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:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "L'archive est compressée. Utilisez l'option %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Une archive compressée ne peut pas être mise à jour"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Début de la cartouche atteinte ; arrêt du programme."
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Trop d'erreurs, arrêt du programme."
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s : contient un numéro de volume non valable"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Débordement du numéro de volume"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
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:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "AVERTISSEMENT : l'archive est incomplète"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Arrêter tar\n"
" y ou newline Continuer le traitement\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Générer un sous-shell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Afficher cette liste\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Pas de nouveau volume ; fin du traitement.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Nom de fichier non spécifié. Essaye encore :).\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, 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:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Échec de la commande %s"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "La suite de %s n'est pas sur ce volume."
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s a une taille incorrecte (%s != %s + %s)."
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Ce volume est hors séquence (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Archive non étiquetée pour correspondre à %s."
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Le volume %s ne correspond pas à %s."
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s : nom de fichier tronqué, car trop long pour être stocké dans un en-tête "
"GNU multi-volumes"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "l'écriture ne s'est pas arrêté sur une limite de bloc"
msgstr[0] "Seulement %lu octet sur %lu a pu être lu"
msgstr[1] "Seulement %lu octets sur %lu ont pu être lus"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Les contenus sont différents."
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Fin prématurée rencontrée dans l'archive."
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Le type de fichier est différent."
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Le mode est différent."
msgid "Mod time differs"
msgstr "La date de modification est différente."
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "La taille est différente."
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "N'est pas lié à %s."
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Le lien symbolique est différent."
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Le numéro de périphérique est différent."
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Vérification "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s : type de fichier inconnu « %c », recherche de différence comme pour un "
"fichier normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "L'archive contient des noms de fichiers dont le préfixe a été enlevé"
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
"La vérification peut échouer lors de la localisation des fichier originaux."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "ÉCHEC DE VÉRIFICATION : %d en-tête non valable détecté."
msgstr[1] "ÉCHEC DE VÉRIFICATION : %d en-têtes non valables détectés."
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Bloc zéro solitaire repéré à %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s : contient une étiquette de répertoire cache %s ; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "Valeur %s en dehors de la plage de %s : %s..%s ; remplacement par %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "Valeur %s en dehors de la plage de %s : %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Génération d'en-têtes octaux négatifs"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s : le nom de fichier est trop long (%d max) ; fichier non archivé"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s : le nom de fichier est trop long (ne peut être scindé) ; fichier non "
"archivé"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s : le nom du lien est trop long ; fichier non archivé"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s : fichier réduit de %s octet ; remplissage avec des zéros"
msgstr[1] "%s : fichier réduit de %s octets ; remplissage avec des zéros"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr ""
"%s : le fichier est sur un système de fichiers différent ; fichier non "
"archivé"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "contenu non archivé"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s : type de fichier inconnu ; fichier ignoré"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "Liens manquants vers %s.\n"
+msgstr "Liens manquants vers %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s : le fichier n'est pas modifié ; fichier non archivé"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s : le fichier est l'archive elle-même ; fichier non archivé"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "répertoire non archivé"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s : fichier modifié pendant sa lecture"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s : socket ignorée"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s : porte ignorée"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "On saute à l'en-tête suivant"
msgid "Deleting non-header from archive"
msgstr "Suppression d'un « non en-tête » de l'archive"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s : l'horodatage %s est trop vieux pour être plausible"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s : l'horodatage %s est situé %s secondes dans le futur."
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s : incohérence inattendue lors de la création du répertoire"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s : répertoire renommé avant l'extraction de son état"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extraction des fichiers contigus comme des fichiers réguliers"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Tentative d'extraction des liens symboliques comme des liens physiques"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "En-tête à nom long inattendu"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Le %s actuel est au moins aussi récent"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s : impossible d'archiver ce fichier."
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Impossible de renommer %s en %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s : le répertoire a été renommé depuis %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s : le répertoire a été renommé."
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s : le répertoire est nouveau."
msgid "%s: Cannot remove"
msgstr "%s : suppression impossible"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s : omis"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloc %s : ** Bloc de NULs **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloc %s : ** Fin de fichier **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloc %s : "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"complément à 2 supposé"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "L'archive contient des en-têtes obsolètes en base 64."
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, c-format
msgid "Archive contains %.*s where numeric %s value expected"
msgstr ""
"attendue."
#. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " lien vers %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " type de fichier inconnu %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Lien long--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Nom long--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--En-tête de volume--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Suite à l'octet %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Création du répertoire :"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Impossible de changer le répertoire de travail"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s renommé en %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s : impossible de renommer en %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s finalement renommé en %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Le répertoire de travail ne peut pas être sauvegardé"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Impossible de changer le répertoire de travail"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s : fichier supprimé avant d'avoir été lu"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s : fichier supprimé avant d'avoir été lu"
+msgstr "%s : Répertoire supprimé avant d'avoir été lu"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "processus enfant"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "canal inter-processus"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-"Caractères de correspondance de motif utilisé dans le nom de fichier. "
-"Veuillez "
+"Caractères de correspondance de motif utilisé dans les noms de fichiers."
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"utiliser « --wildcards » pour activer la correspondance de motif ou « --no-"
-"wildcards » pour"
+"Utilisez « --wildcards » pour activer la correspondance de motif ou « --no-"
+"wildcards » pour supprimer cet avertissement"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s : non trouvé dans l'archive"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s : occurence requise non trouvée dans l'archive"
-#: src/names.c:894
-#, fuzzy
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Mauvaise correspondance d'étiquette d'archive"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr "--preserve-order n'est pas compatible avec --listed-incremental"
+msgstr ""
+"L'utilisation de l'option -C à l'intérieur de la liste de fichiers n'est pas "
+"permise avec --listed-incremental"
-#: src/names.c:900
-#, fuzzy
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "--preserve-order n'est pas compatible avec --listed-incremental"
+msgstr "Une seule option -C est autorisée avec --listed-incremental"
#: src/tar.c:81
#, c-format
"Type de protection de caractères inconnu « %s ». Essayez « %s --quoting-"
"style=help » pour avoir une liste."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"manière détaillée.\n"
" tar -xf archive.tar # Extrait tous les fichiers de archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
msgstr ""
"Le suffixe de sauvegarde est « ~ », à moins qu'il ne soit défini avec « --"
"suffix » ou SIMPLE_BACKUP_SUFFIX.\n"
-"Le contrôle de version peut être défini avec « --backup » ou VERSION_CONTROL, "
-"les valeurs sont :\n"
+"Le contrôle de version peut être défini avec « --backup » ou "
+"VERSION_CONTROL, les valeurs sont :\n"
"\n"
" none, off Ne jamais faire de sauvegarde.\n"
" t, numbered Faire des sauvegardes numérotées.\n"
" 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:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Mode d'opération principal :"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "Afficher le contenu de l'archive"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "Extraire les fichiers de l'archive"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "Créer une nouvelle archive"
-#: src/tar.c:396
+#: src/tar.c:397
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:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "Ajouter des fichiers à la fin de l'archive"
-#: src/tar.c:401
+#: src/tar.c:402
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:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "Ajouter des fichiers tar à une archive"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "Effacer de l'archive (pas sur les bandes magnétiques !)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "Tester l'étiquette du volume d'archive et terminer"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modificateurs d'opération :"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
"Économiser efficacement l'espace dans les fichiers dispersés (fichiers à "
"trous)"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJEUR[.MINEUR]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "Prendre en charge les sauvegardes incrémentales à l'ancien format GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "Prendre en charge les sauvegardes incrémentales au nouveau format GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "niveau de vidage d'archive incrémentale au nouveau format GNU"
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
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, --"
"fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T "
"». NOMBRE vaut 1 par défaut."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "L'archive peut être parcourue"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "L'archive peut être parcourue"
+msgstr "L'archive ne peut pas être parcourue"
-#: src/tar.c:438
+#: src/tar.c:439
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:441
+#: src/tar.c:442
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:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Contrôle de l'écrasement :"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "Tenter de vérifier l'archive après écriture"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "Supprimer les fichiers après les avoir ajoutés à l'archive"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "Écraser les fichiers préexistants lors de l'extraction"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "Effacer chaque fichier préexistant avant l'extraction"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "Vider les hiérarchies avant d'extraire les répertoires"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "Préserver les métadonnées des répertoires préexistants"
-#: src/tar.c:466
+#: src/tar.c:467
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:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Choix du flux de sortie :"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "Extraire les fichiers vers la sortie standard"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "COMMANDE"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "Renvoyer par tube les fichiers extraits vers un autre programme"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "Ignorer les codes de retour des processus enfants"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Traitement des attributs de fichiers :"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "Utiliser NOM comme propriétaire des fichiers ajoutés"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "Utiliser NOM comme groupe des fichiers ajoutés"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATE-OU-FICHIER"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "CHANGEMENTS"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
"Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "MÉTHODE"
-#: src/tar.c:498
+#: src/tar.c:499
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 ""
"Préserve la date d'accès des fichiers archivés, soit en la restaurant après "
-"lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les dates "
-"initialement (MÉTHODE = « system »)"
+"lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les "
+"dates initialement (MÉTHODE = « system »)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "Ne pas extraire la date de modification du fichier"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
-msgstr "Essayer d'extraire les fichiers avec le même propriétaire"
+msgstr ""
+"essayer d'extraire les fichiers avec le même propriétaire que dans l'archive "
+"(par défaut pour le superutilisateur)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "Vous approprier les fichiers extraits"
+msgstr ""
+"S'approprier les fichiers lors de l'extraction (par défaut pour les "
+"utilisateurs ordinaires)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "Toujours utiliser les valeurs numériques des utilisateurs/groupes"
-#: src/tar.c:510
+#: src/tar.c:511
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:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par "
"défaut pour les utilisateurs normaux)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "Trier les noms à extraire dans le même ordre que l'archive"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "Équivalent à « -p -s » à la fois"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"Reporter à la fin de l'extraction le changement des dates de modification et "
"des permissions des répertoires extraits"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "Annule l'effet de l'option « --delay-directory-restore »"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Sélection et option de périphérique :"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVE"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "Utiliser le fichier ou le périphérique ARCHIVE"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "Utiliser la COMMANDE rmt fournie au lieu de rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "Utiliser la COMMANDE distante à la place de rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "Spécifier le lecteur et la densité"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "Créer/lister/extraire une archive multi-volumes"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "Changer de cartouche après avoir écrit NOMBRE x 1024 octets"
-#: src/tar.c:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "Utiliser/mettre à jour le numéro de volume dans le FICHIER"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blocs du périphérique :"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCS"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOCS x 512 octets par enregistrement"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "NOMBRE d'octets par enregistrement (multiple de 512)"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "Ignorer les blocs de zéros dans l'archive (càd EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
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:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Sélection du format d'archive :"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "Créer l'archive au format désiré."
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT peut prendre une des valeurs suivantes :"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "Vieux format tar V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "Format GNU issu de tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "Format GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "Format POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "Format POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "Identique à pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "Identique à « --format=v7 »"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "Identique à « --format=posix »"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "mot_clé[[:]=valeur][,mot_clé[[:]=valeur]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "Mots-clés de contrôle pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXTE"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom "
"de volume."
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Options de compression :"
-#: src/tar.c:615
+#: src/tar.c:616
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:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
"Ne pas utiliser l'extension du fichier d'archive pour déterminer le "
"programme de compression"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Sélection des fichiers locaux :"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "RÉP"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "Utiliser RÉP comme répertoire de travail"
-#: src/tar.c:643
+#: src/tar.c:644
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:645
+#: src/tar.c:646
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 "
-"»"
+"« -T » permet de lire les noms terminés par un NULL et désactive l'option « -"
+"C »"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "désactive l'effet de l'option --null précédente"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-"Enlever la protection de caractères des noms de fichiers lus avec « -T » (par "
-"défaut)"
+"Enlever la protection de caractères des noms de fichiers lus avec « -T "
+"» (par défaut)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-"Ne pas enlever la protection de caractères des noms de fichiers lus avec « -T "
-"»"
+"Ne pas enlever la protection de caractères des noms de fichiers lus avec « -"
+"T »"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MOTIF"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "Exclure les fichiers correspondant au MOTIF"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "Exclure les motifs listés dans le FICHIER"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier "
"de tag lui-même"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "Exclure les répertoires contenant CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "Tout exclure dans les répertoires contenant le FICHIER"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "Exclure les répertoires contenant le FICHIER"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "Exclure les répertoires de contrôle de version (CVS, .svn, etc.)"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "exclure les fichiers de sauvegarde et de verrou"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "Empêcher la descente automatique dans les sous-répertoires"
-#: src/tar.c:678
+#: src/tar.c:679
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:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "Ne pas enlever le « / » au début des noms de fichiers"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NOM-DE-MEMBRE"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "Débuter au NOM-DE-MEMBRE dans l'archive"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATE"
-#: src/tar.c:693
+#: src/tar.c:694
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:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTRÔLE"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
"Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de "
"version"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "CHAÎNE"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"habituel (« ~ » sauf s'il est définit par la variable d'environnement "
"SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Transformation des noms de fichiers :"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "EXPRESSION"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "Ignorer la casse (majuscules/minuscules)"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "Les motifs doivent correspondre au début des noms de fichiers"
-#: src/tar.c:720
+#: src/tar.c:721
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:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "Correspondance sensible à la casse (comportement par défaut)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
"Utiliser des caractères de correspondance (par défaut pour l'exclusion)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "Correspondance exacte de chaîne"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "« / » ne correspond à aucun caractère de correspondance"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
"« / » peut correspondre à un caractère de correspondance (par défaut pour "
"l'exclusion)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Options d'affichage :"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "Afficher de manière détaillée les fichiers traités"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "MOTCLÉ"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Contrôle de l'écrasement :"
+msgstr "Contrôle d'avertissement"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ACTION"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "exécuter l'ACTION à chaque point de contrôle"
-#: src/tar.c:748
+#: src/tar.c:749
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:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « "
"SIG » sont aussi acceptés"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "Afficher les dates de modification de fichier en UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "afficher l'heure du fichier en pleine résolution"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "Envoyer la sortie détaillée vers le FICHIER"
-#: src/tar.c:759
+#: src/tar.c:762
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:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "Demander confirmation pour chaque action"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "Afficher les paramètres par défaut de tar"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"Lors du listage ou de l'extraction, lister chaque répertoire qui ne concorde "
"pas avec le critère de recherche"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "Afficher les noms des fichiers ou des archives après transformation"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STYLE"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Options de compatibilité :"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"Lors de la création, identique à « --old-archive ». Lors de l'extraction, "
"identique à « --no-same-owner »"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Autres options :"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "Désactiver certaines options potentiellement néfastes"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux »"
+msgstr ""
+"Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux » ou « --"
+"test-label »"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Options de compression non compatibles entre elles"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Type de signal inconnu : %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Fichier d'échantillon de date non trouvé"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Remplacement par %s du format de date inconnu %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Option %s : date « %s » traitée comme %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s : la liste de fichiers est déjà lue"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s : le nom de fichier lu contient un caractère nul"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "Filtrer l'archive à travers « xz »"
+msgstr "Filtrer l'archive à travers %s"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Les arguments valables pour les options « --quoting-style » sont :"
+msgstr "Les arguments valables pour l'option « --quoting-style » sont :"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Les valeurs par défaut de *ce* tar sont :\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Facteur de bloc non valable"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Longueur de cartouche non valable"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "Mauvais format de fichier incrémental"
+msgstr "Mauvaise valeur pour le niveau incrémental"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Plus d'une date seuil"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Version de la dispersion non valable"
-#: src/tar.c:1700
+#: src/tar.c:1718
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:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "la valeur de « --checkpoint » n'est pas un entier"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s : groupe non valable"
+msgstr "Groupe non valable"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Mode non valable donné en option"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Nombre non valable"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Propriétaire non valable"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"L'option --preserve est obsolète, utilisez --preserve-permissions --preserve-"
"order à la place"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Taille d'enregistrement non valable"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Nombre d'éléments incorrect"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Une seule option « --to-command » est permise"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Argument de densité incorrect : %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Densité inconnue : « %c »"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FICHIER]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "L'ancienne option « %c » a besoin d'un argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence n'a pas de sens sans une liste de fichiers"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
-msgstr "« --occurrence » ne peut être utilisée dans le mode d'opération demandé"
+msgstr ""
+"« --occurrence » ne peut être utilisée dans le mode d'opération demandé"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Impossible de combiner « --listed-incremental » avec « --newer »"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--preserve-order n'est pas compatible avec --listed-incremental"
+msgstr "--level n'a aucun sens sans --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] ""
"%s: l'étiquette du volume est trop longue (la limite est %lu octets)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Impossible de vérifier des archives multi-volumes"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Impossible de vérifier des archives compressées"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Impossible d'utiliser des archives multi-volumes compressées"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Impossible de concaténer des archives compressées"
-#: src/tar.c:2443
+#: src/tar.c:2462
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:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
"La longueur du volume ne peut pas être inférieure à la taille de "
"l'enregistrement"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order n'est pas compatible avec --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
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:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Les options « -Aru » sont incompatibles avec « -f - »"
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Vous devez choisir une des options « -Acdtrux » "
+msgstr "Vous devez choisir une option parmi « -Acdtrux » ou « --test-label »"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Arrêt avec code d'échec à cause des erreurs précédentes"
msgstr[0] "%s : fichier réduit de %s octet"
msgstr[1] "%s: fichier réduit de %s octets"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Nombre en dehors de la plage permise : %s"
+msgstr "L'horodatage est en dehors de la plage permise"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Le motif %s ne peut être utilisé"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Le mot clé %s ne peut pas être surdéfini"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "En-tête étendu incorrect : longueur manquante"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "La longueur de l'en-tête étendu est hors plage"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "En-tête étendu incorrect : espace blanche manquante après la longueur"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "En-tête étendu incorrect : signe d'égalité manquant"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "En-tête étendu incorrect : retour à la ligne manquant"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, 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:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "En-tête étendu incorrect : %s=%s non valable"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "En-tête étendu incorrect : %s=%s en trop"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, 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"
msgid "Read checkpoint %u"
msgstr "Point de contrôle de lecture %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"GNU paxutils.\n"
"Les options sont :\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Options de création de fichier :"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "TAILLE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Créer le fichier à la TAILLE donnée"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Écrire dans le fichier NOM, plutôt que sur la sortie standard"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Lire les noms de fichier depuis le FICHIER"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T permet de lire les noms terminés par un NULL"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Remplir le fichier avec le MOTIF donné. MOTIF est « default » ou « zeros »"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Taille d'un bloc pour le fichier dispersé"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Générer un fichier dispersé (avec des trous). Le reste de la ligne de "
"commande définit la carte du fichier."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "DÉCALAGE"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Se déplacer du DÉCALAGE donné avant d'écrire des données"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Options des statistiques de fichiers :"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Afficher le contenu des structures « stat » pour chaque fichier donné. Le "
"FORMAT par défaut est :"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Options d'exécution synchrone :"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [OPTION...]"
+msgstr "OPTION"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-"Exécuter la COMMANDE donnée. Utile avec « --checkpoint » et l'une des options "
-"« --cut », « --append » ou « --touch »"
+"Exécuter les ARGS. Utile avec « --checkpoint » et l'une des options « --cut "
+"», « --append », « --touch » ou « --unlink »"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Exécuter l'action donnée (voir plus bas) dès qu'un point de contrôle NOMBRE "
"est atteint"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Définir la date pour la prochaine option « --touch »"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
"Afficher les points de contrôle exécutés et les codes de sortie de la "
"COMMANDE"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Actions d'exécution synchrone. Celles-ci sont exécutées lorsque le numéro du "
"point de contrôle donné par « --checkpoint » est atteint."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Tronquer le FICHIER à la taille donnée par la précédente option « --length "
"» (ou 0 si elle n'est pas fournie)."
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Ajouter TAILLE octets au FICHIER. La TAILLE est fournie par la précédente "
"option « --length »"
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Mettre à jour les dates d'accès et de modification du FICHIER"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Exécuter la COMMANDE"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "Supprimer FICHIER"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Taille non valable : %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Nombre en dehors de la plage permise : %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Taille négative : %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "La fonction stat(%s) a échoué"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "taille de fichier demandée : %lu, taille réelle : %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "le fichier créé n'est pas dispersé"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Erreur à la lecture du nombre près de « %s »"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Format de date inconnu"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGS...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "Impossible d'ouvrir « %s »"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "Impossible à parcourir"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "Le nom de fichier contient un caractère nul"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "Masque incorrect (près de « %s »)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Champ inconnu « %s »"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "Impossible de définir la date de « %s »"
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "Impossible d'ouvrir « %s »"
+msgstr "Impossible de supprimer « %s »"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "La commande s'est terminée correctement\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "La commande a échoué avec le code %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "La commande s'est terminée sur le signal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "La commande s'est interrompue sur le signal %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "La commande a généré un core dump\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "La commande s'est terminée\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat nécessite un nom de fichier"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Le répertoire de travail ne peut pas être sauvegardé"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s : l'option « -- %c » n'est pas permise\n"
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
# Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2006, 2007, 2008, 2009.
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.22\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2009-03-25 20:27-0600\n"
"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Earráid anaithnid chórais"
msgid "give a short usage message"
msgstr "taispeáin beagán eolais faoin úsáid"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "AINM"
msgid "write error"
msgstr "earráid sa scríobh"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: Tá an rogha `%s' débhríoch\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: rogha anaithnid `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: rogha anaithnid `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: rogha neamhbhailí -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "cuimhne ídithe"
msgid "Cannot execute remote shell"
msgstr "Ní féidir cianbhlaosc a rith"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Treo 'seek' as raon"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Mód neamhbhailí ar rogha"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Méid neamhbhailí: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Fritháireamh 'seek' as raon"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Fad téipe neamhbhailí"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Fritháireamh 'seek' as raon"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Comhadchríoch gan choinne\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Príomh-mhód oibre:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Comhadchríoch gan choinne"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "UIMHIR"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "COMHAD"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "ní féidir `%s' a oscailt"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "an iomarca argóintí"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Ordú dramhaíola"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Ní cosúil le cartlann `tar' é seo"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Bearta scríofa go hiomlán"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Bearta léite go hiomlán"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Bearta scriosta go hiomlán: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(píopa)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Luach neamhbhailí do record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Ní thugtar ainm na cartlainne"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Ní féidir cartlann stdin/stdout a fhíorú"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Is cartlann chomhbhrúite í seo. Úsáid an rogha %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Tosach na téipe, ag scor anois"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "An iomarca earráidí, ag scor"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[3] "Méid taifid = %lu mbloc"
msgstr[4] "Méid taifid = %lu bloc"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[3] "Bloc neamhailínithe (%lu mbeart) sa chartlann"
msgstr[4] "Bloc neamhailínithe (%lu beart) sa chartlann"
-#: src/buffer.c:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "Níor stopadh rmtlseek ag teorainn taifid"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: tá uimhir imleabhair neamhbhailí ann"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Uimhir imleabhair thar maoil"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "RABHADH: Tá an chartlann neamhiomlán"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Tobscoir tar\n"
" y nó líne nua Lean ar aghaidh\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Sceith fobhlaosc\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Priontáil an liosta seo\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Níl aon imleabhar nua; ag scor.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Ionchur neamhbhailí. Iontráil ? chun cabhair a fháil.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Theip ar ordú %s"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "Ní leanann %s ar an imleabhar seo"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, 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:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Tá an t-imleabhar seo as ord (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: ní féidir an comhadainm seo a stóráil i gceanntásc il-imleabhar GNU; "
"teasctha"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "níor stop an scríobh ag teorainn bhloic"
msgstr[3] "Níorbh fhéidir ach %lu de %lu mbeart a léamh"
msgstr[4] "Níorbh fhéidir ach %lu de %lu beart a léamh"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Tá difríocht idir na hábhair"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Comhadchríoch gan choinne i gcartlann"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Tá difríocht idir na cineálacha comhaid"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Tá difríocht idir na móid"
msgid "Mod time differs"
msgstr "Tá difríocht idir na hamanna modhnaithe"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Tá difríocht idir na méideanna"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ní ceangailte le %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Tá difríocht idir na naisc shiombalacha"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Tá difríocht idir na huimhreacha gléis"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Fíoraigh "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Cineál anaithnid comhaid `%c', déan diff mar ghnáthchomhad"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Tá comhaid sa chartlann agus a réimíreanna scriosta."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Nach féidir i gcónaí na bunchomhaid a aimsiú agus le linn fíoraithe."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[3] "THEIP AR DHEIMHNIÚ: aimsíodh %d gceanntásc neamhbhailí"
msgstr[4] "THEIP AR DHEIMHNIÚ: aimsíodh %d ceanntásc neamhbhailí"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Bloc nialasach scoite ag %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: tá clib chomhadlainne taisce %s ann; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "tá an luach %s as raon %s: %s..%s; ag cur %s ina ionad"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "tá an luach %s as raon %s: %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Ceanntásca ochtnártha diúltacha á gcruthú"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: ainm comhaid rófhada (uasmhéid %d); gan dumpáil"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: ainm comhaid rófhada (ní féidir é a scoilt); gan dumpáil"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: ainm naisc rófhada; gan dumpáil"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[3] "%s: %s mbeart níos lú sa chomhad; ag stuáil le nialais"
msgstr[4] "%s: %s beart níos lú sa chomhad; ag stuáil le nialais"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: is ar chóras comhad eile é an comhad; gan dumpáil"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "ábhar gan dumpáil"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Cineál anaithnid comhaid; ag déanamh neamhshuim air"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Naisc le %s ar iarraidh.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: comhad gan athrú; gan dumpáil"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: is ionann é agus an chartlann féin; gan dumpáil"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "níor dumpáladh an chomhadlann"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: athraíodh an comhad agus á léamh"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: rinneadh neamhshuim ar an soicéad"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: rinneadh neamhshuim ar an doras"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Ag bogadh go dtí an chéad cheanntásc eile"
msgid "Deleting non-header from archive"
msgstr "Comhad nach ceanntásc á scriosadh ón chartlann"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: ní dócha go bhfuil an stampa ama ársa %s ceart"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: tá an stampa ama %s %s soicind amach anseo"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Bunoscionntacht gan choinne agus comhadlann á cruthú"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
"%s: Athainmníodh an chomhadlann sularbh fhéidir a stádas a bhaint amach"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Comhaid theorantacha á mbaint amach mar ghnáthchomhaid"
-#: src/extract.c:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Ceanntásc ainm fada gan choinne"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Tá an %s reatha níos nuaí nó ar comhaois"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Ní féidir %s a athainmniú go %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Athainmníodh an chomhadlann ó %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Athainmníodh an chomhadlann"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Comhadlann nua"
msgid "%s: Cannot remove"
msgstr "%s: Ní féidir scriosadh a dhéanamh"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: ag fágáil ar lár"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloc %s: ** bloc de NULanna **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloc %s: ** Deireadh comhaid **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloc %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"ag glacadh le comhlánú dénártha"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " nasc le %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " cineál anaithnid comhaid %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Nasc Fada--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Ainm Fada--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Ceanntásc Imleabhair--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Ar lean ag beart %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Comhadlann á cruthú:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Ní féidir an chomhadlann reatha a athrú"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s á athainmniú go %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Ní féidir athainmniú go %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s á athainmniú go %s arís\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Ní féidir an chomhadlann reatha a shábháil"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Ní féidir an chomhadlann reatha a athrú"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Scriosadh an comhad sular léadh é"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Scriosadh an comhad sular léadh é"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "macphróiseas"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "bealach idir próisis"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "Aimsíodh saoróga in ainmneacha comhaid."
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "Úsáid --wildcards chun comhoiriúnú patrún a chumasú, nó --no-wildcards"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Ní sa chartlann é"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Níl rud riachtanach sa chartlann"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s"
+
+#: src/names.c:953
#, fuzzy
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
-#: src/names.c:900
+#: src/names.c:959
#, fuzzy
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
"Stíl anaithnid athfhriotail `%s'. Bain triail as `%s --quoting-style=help' "
"chun liosta a fheiceáil."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"(foclach).\n"
" tar -xf cartlann.tar # Bain gach comhad amach as cartlann.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
"bhfuil\n"
" never, simple déan cúltacaí simplí i gcónaí\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Príomh-mhód oibre:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "taispeáin an t-ábhar i gcartlann"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "bain comhaid as cartlann"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "cruthaigh cartlann nua"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "taispeáin difríochtaí idir cartlann agus córas comhaid"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "iarcheangail le deireadh cartlainne"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "ná hiarcheangail ach comhaid mhionathraithe leis an gcartlann"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "iarcheangail comhaid tar le cartlann"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "scrios as an gcartlann (nach ar théipeanna maighnéadacha!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "tástáil lipéad imleabhair na cartlainne agus scoir"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Mionathraitheoirí oibríochta:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "caith le gannchomhaid go héifeachtach"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "PRÍOMH[.MION]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "déan cúltaca incriminteach de shean-nós GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "déan cúltaca incriminteach nua-aoise GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
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, --"
"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:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "tá an chartlann inchuardaithe"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "tá an chartlann inchuardaithe"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
"ná seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú "
"(réamhshocrú)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Rialú forscríofa:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "fíoraigh an chartlann i ndiaidh ag scríobh"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "scrios comhaid i ndiaidh iad a chur leis an gcartlann"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "ná forscríobh comhaid atá ann le linn baint amach"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "forscríobh comhaid atá ann le linn baint amach"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "scrios gach comhaid sula scríobhtar air"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "folmhaigh géagchóras sula mbaintear comhadlann amach"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "ná forscríobh meiteashonraí comhadlainne"
-#: src/tar.c:466
+#: src/tar.c:467
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:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Roghnaigh sruth aschurtha:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "ORDÚ"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "píopaigh comhaid bhainte go ríomhchlár eile"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "ná bac le cóid scortha na macphróiseas"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Tréithe comhaid á láimhseáil:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "éiligh AINM mar úinéir de chomhaid bhreise"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "éiligh AINM mar ghrúpa de chomhaid bhreise"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DÁTA-NÓ-COMHAD"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ATHRUITHE"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "déan ATHRUITHE ar mhód de chomhaid bhreise"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "MODH"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "ná bain am mionathraithe an chomhaid"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "bain triail as úinéireacht a choinneáil"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "bain comhaid amach mar thusa féin"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "bain úsáid as uimhreacha d'ainmneacha úsáideora/grúpa"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "bain eolas faoi cheadanna (réamhshocrú don fhorúsáideoir)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"cuir umask an úsáideora i bhfeidhm agus ceadanna á mbaint ón chartlann "
"(réamhshocrú do ghnáthúsáideoirí)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "sórtáil ainmneacha le cur in oiriúint"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "ar comhbhrí le -p agus -s araon"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"ná socraigh amanna mionathraithe ná ceadanna de na comhadlanna go dtí go "
"bhfuil an bhaint curtha i gcrích"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "cealaigh an éifeacht de rogha --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Roghnú gléis agus malartú:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "CARTLANN"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "bain úsáid as cartlann chomhaid nó gléas CARTLANN"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "bain úsáid as ORDÚ in ionad rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "bain úsáid as ORDÚ cian in ionad rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "sonraigh tiomántán agus a dhlús"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "cruthaigh/liostaigh/bain amach cartlann le hiliomad imleabhair"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "athraigh téip i ndiaidh UIMHIR × 1024 beart"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "rith script i ndiaidh gach téip (-M intuigthe)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "úsáid/nuashonraigh an uimhir imleabhair i gCOMHAD"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blocáil ghléis:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOIC"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOIC × 512 beart sa taifead"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "UIMHIR beart sa taifead, iolraí de 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "déan neamhshuim ar bhloic nialasacha sa chartlann (is ionann le EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Roghnú formáide:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMÁID"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "cruthaigh cartlann san fhormáid seo"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "Is FORMÁID ceann de na rudaí seo:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "seanfhormáid V7 tar"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "formáid de réir GNU tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "formáid de réir GNU tar 1.13"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "formáid POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "formáid POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "ar comhbhrí le pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "is ionann le --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "is ionann le --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "lorgfhocal[[:]=luach][,lorgfhocal[[:]=luach]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "rialaigh lorgfhocail pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TÉACS"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"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:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Roghanna comhbhrúite:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "úsáid iarmhír na cartlainne chun an modh comhbhrúite a dhéanamh amach"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
"ná húsáid iarmhír na cartlainne chun an clár comhbhrúite a dhéanamh amach"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "CLÁR"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "scag le CLÁR (ní foláir -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Roghnú comhaid logánta:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "COMHADLANN"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "athraigh go dtí COMHADLANN"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "díchumasaigh an rogha --null roimhe seo"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
"bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATRÚN"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "fág as an áireamh aon phatrún atá i gCOMHAD"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad "
"clibe féin"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "ná fág an córas comhaid seo agus cartlann á cruthú"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "téigh isteach i gcomhadlanna (réamhshocrú)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "ná struipeáil `/' tosaigh ó ainmneacha comhaid"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
"lean naisc chrua; cartlannaigh agus dumpáil na comhaid a nascann na naisc leo"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "AINM-BAILL"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "tosaigh ag ball AINM-BAILL sa chartlann"
-#: src/tar.c:690
+#: src/tar.c:691
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:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DÁTA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "déan comparáid le dáta/am modhnaithe"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "MODH"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "TEAGHRÁN"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Trasfhoirmiú ainmneacha comhaid:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "SLONN"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Roghanna maidir le comhoiriúnú ainmneacha comhaid (cuirfear iad seo i "
"bhfeidhm do phatrúin eisiata agus do phatrúin iniata araon):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "ná bí cásíogair"
# subject is "exclude patterns"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "comhoiriúnaíonn patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "comhoiriúnú teaghráin carachtar ar charachtar"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "ní ghlacann saoróga le `/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Aschur faisnéiseach:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "taispeáin gach comhad atá próiseáilte, go foclach"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "Rialú forscríofa:"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "GNÍOMH"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "déan GNÍOMH ag gach seicphointe"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "COMHARTHA"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"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:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "taispeáin dátaí mionathraithe de réir UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "scríobh aschur foclach i gCOMHAD"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "taispeáin bloc sa chartlann le gach teachtaireacht"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "iarr deimhniú ar gach gníomh"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "taispeáin réamhshocruithe tar"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil "
"comhoiriúnaithe don chuardach"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STÍL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Roghanna Comhoiriúnachta:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner "
"le linn baint"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Roghanna eile:"
-#: src/tar.c:792
+#: src/tar.c:795
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:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Ná tabhair ach ceann de na roghanna `-Acdtrux'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Roghanna contrártha comhbhrúite"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Comhartha anaithnid: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Comhad samplach dáta gan aimsiú"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Rogha %s: Ag caitheamh le dáta `%s' mar %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: léadh an liosta comhad cheana"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "scag an chartlann le xz"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Argóintí bailí do roghanna --quoting-style:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Luachanna réamhshocraithe don tar *seo*:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Fachtóir bacainneach neamhbhailí"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Fad téipe neamhbhailí"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Drochfhormáid incriminteach"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Níos mó ná spriocdháta amháin"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad"
-#: src/tar.c:1700
+#: src/tar.c:1718
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:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Grúpa neamhbhailí"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Mód neamhbhailí ar rogha"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Uimhir neamhbhailí"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Úinéir neamhbhailí"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"tá an rogha --preserve dulta i léig, bain úsáid as --preserve-permissions --"
"preserve-order ina háit"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Méid taifid neamhbhailí"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Tá líon na mball neamhbhailí"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Ní cheadaítear ach aon rogha --to-command amháin"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Tá an argóint dlúis míchumtha: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Dlús anaithnid: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[COMHAD]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Tá gá le hargóint ar an seanrogha `%c'."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad"
-#: src/tar.c:2361
+#: src/tar.c:2380
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:2379
+#: src/tar.c:2398
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:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Ní féidir --listed-incremental a úsáid le --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Ní féidir cartlanna comhbhrúite a fhíorú"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal"
-#: src/tar.c:2443
+#: src/tar.c:2462
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:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Ní cheadaítear fad an imleabhair a bheith níos lú ná an mhéid taifid"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "Níl --preserve-order comhoiriúnach do --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Ní chruthófar cartlann fholamh (go cladhartha)"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Níl na roghanna `-Aru' ar fáil in éineacht le `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Ní foláir rogha amháin de `-Acdtrux' ar a laghad"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Scor le stádas teipthe de bharr earráidí roimhe seo"
msgstr[3] "%s: Chrap an comhad %s mbeart"
msgstr[4] "%s: Chrap an comhad %s beart"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Stampa ama as raon"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Ní féidir an patrún %s a úsáid"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Ní féidir an lorgfhocal %s a shárú"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Ceanntásc míchumtha breisithe: fad ar iarraidh"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Fad an cheanntáisc breisithe as raon"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Fad %*s as raon sa cheanntásc breisithe"
-#: src/xheader.c:568
+#: src/xheader.c:569
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:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Ceanntásc míchumtha breisithe: sín chothroime ar iarraidh"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Ceanntásc míchumtha breisithe: líne nua ar iarraidh"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
"Lorgfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim air"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna"
msgid "Read checkpoint %u"
msgstr "Seicphointe léimh %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"paxutils.\n"
"Is iad na ROGHANNA:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Roghanna - cruthú comhad:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "MÉID"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Cruthaigh comhad leis an MÉID seo"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Scríobh i gcomhad AINM, in ionad an ghnáth-aschuir"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Léigh ainmneacha comhaid ó COMHAD"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "Léann -T ainmneacha, foirceanta le NULanna"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Líon an comhad leis an PATRÚN sonraithe. Is é PATRÚN 'default' nó 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Méid bhloic sa gannchomhad"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Cruthaigh gannchomhad. Tugtar an mapa comhaid ar an chuid eile de líne na n-"
"orduithe."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "FRITHÁIREAMH"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Léim go dtí an FRITHÁIREAMH roimh scríobh na sonraí"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Roghanna - staitisticí comhaid"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Taispeáin inneachar an struct stat le haghaidh gach comhad sonraithe. "
"FORMÁID réamhshocraithe: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Roghanna - feidhmiú sioncrónach:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [ROGHA...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"Rith an tORDÚ sonraithe. Is áisiúil an rogha seo le --checkpoint agus ceann "
"de --cut, --append, nó --touch"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Déan an gníomh sonraithe (féach thíos) nuair a shroichtear seicphointe UIMHIR"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Socraigh an dáta le haghaidh an chéad rogha --touch eile"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Taispeáin na seicphointí a ritheadh agus stádas scortha den ORDÚ"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Gníomhartha rite sioncrónaigh. Ritear iad seo nuair a shroichtear an uimhir "
"sheicphointe a sonraíodh leis an rogha --checkpoint"
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Teasc COMHAD go dtí an mhéid a sonraíodh leis an rogha --length roimhe seo "
"(nó teasc go dtí 0, mura sonraítear an rogha seo)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Iarcheangail MÉID beart le COMHAD. Tógtar MÉID ón rogha --length roimhe seo."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Nuashonraigh na hamanna rochtana/mionathraithe de CHOMHAD"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Rith ORDÚ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Méid neamhbhailí: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Uimhir as raon: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Méid diúltach: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "theip ar stat(%s)"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "fad iarrtha %lu, fíorfhad %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "ní gannchomhad é an comhad cruthaithe"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Earráid agus uimhir á parsáil i ngar do `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Formáid anaithnid ar an dáta"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGÓINTÍ...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "ní féidir `%s' a oscailt"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "ní féidir 'seek' a dhéanamh"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "tá carachtar nialasach sa chomhadainm"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"ní féidir gannchomhaid a chruthú ar an ngnáth-aschur; úsáid rogha --file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "masc mícheart (i ngar do `%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Réimse anaithnid `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "ní féidir an t-am a shocrú ar `%s'"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "ní féidir `%s' a oscailt"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "D'éirigh leis an ordú\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Theip ar an ordú le stádas %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Stopadh an t-ordú le comhartha %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Stopadh an t-ordú ar chomhartha %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Rinne an t-ordú córdhumpa\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Ordú críochnaithe\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Ní féidir an chomhadlann reatha a shábháil"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Ní féidir %s a athainmniú go %s"
+
+#~ msgid "suppress this warning."
+#~ msgstr "chun an rabhadh seo a mhúchadh."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: rogha neamhcheadaithe -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "%s á léamh\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "Seol tuairiscí fabhtanna chuig <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "%s á léamh\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Ní féidir biseach a dhéanamh i ndiaidh earráid: ag scor"
-
-#~ msgid "suppress this warning."
-#~ msgstr "chun an rabhadh seo a mhúchadh."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "scag an chartlann le bzip2"
#~ msgid "Premature end of file"
#~ msgstr "Comhadchríoch gan choinne"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Ní féidir biseach a dhéanamh i ndiaidh earráid: ag scor"
+
#~ 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?"
# Copyright (C) 2002 Free Software Foundation, Inc.
# Jacobo Tarrío Barreiro <jtarrio@iname.com>, 2002.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.13.25\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2002-03-26 19:17+0100\n"
"Last-Translator: Jacobo Tarrío Barreiro <jtarrio@iname.com>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
+"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Informe dos erros no programa a <bug-tar@gnu.org>.\n"
"Informe dos erros na traducción a <proxecto@trasno.net>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Erro do sistema descoñecido"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: a opción \"%s\" é ambigua\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a opción \"--%s\" non admite un argumento\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a opción \"%c%s\" non admite un argumento\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: a opción \"%s\" precisa dun argumento\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción \"--%s\" non recoñecida\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción \"%c%s\" non recoñecida\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción non válida -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: a opción precisa dun argumento -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a opción \"-W %s\" é ambigua\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opción \"-W %s\" non admite un argumento\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: a opción \"%s\" precisa dun argumento\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memoria esgotada"
msgid "Cannot execute remote shell"
msgstr "Non se pode executar un intérprete de comandos remoto"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Dirección de desprazamento fóra de rango"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Proporcionouse na opción un modo non válido"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Marca de tempo non válida"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Desprazamento fóra de rango"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Lonxitude da fita non válida"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Desprazamento fóra de rango"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Fin de ficheiro prematura\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: opción non válida -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Fin de ficheiro inesperado nos nomes alterados"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Non se puido abrir %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Comando lixo"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Isto non semella un arquivo tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(canalización)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valor non válido para record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Non se proporcionou o nome do arquivo"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Non se poden verifica-los arquivos da entrada/saída estándar"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Non se poden actualiza-los arquivos comprimidos"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "No comezo da cinta, saíndo agora"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Demasiados erros, saíndo"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: contén un número de volume non válido"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Desbordamento no número de volume"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Prepare o volume #%d para %s e prema enter: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Chegouse á fin de ficheiro onde se esperaba unha resposta do usuario"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "AVISO: O arquivo está incompleto"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Executar outro intérprete de comandos\n"
" ? Amosar esta lista\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Non hai novos volumes; saíndo.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "O comando \"%s\" fallou"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s non continúa neste volume"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s ten un tamaño incorrecto (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Este volume está fora da secuencia"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "O arquivo non está etiquetado para coincidir con %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "O volume %s non coincide con %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, 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"
msgstr[0] "So se puido ler %lu de %lu bytes"
msgstr[1] "So se puido ler %lu de %lu bytes"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "O contido é diferente"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Fin de ficheiro inesperado no arquivo"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "O tipo de ficheiro é diferente"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "O modo é diferente"
msgid "Mod time differs"
msgstr "A data de modificación é diferente"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "O tamaño é diferente"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Non ligado a %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "A ligazón simbólica é diferente"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "O número de dispositivo é diferente"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificar "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: Tipo de ficheiro \"%c\" descoñecido; trátase coma un ficheiro normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas"
msgstr[1] "FALLO NA VERIFICACION: detectáronse %d cabeceiras non válidas"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "valor %s fóra do rango de %s %s..%s; substituíndo %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "valor %s fóra do rango de %s %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Xerando cabeceiras octais negativas"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: ficheiro sen cambios; non se envorca"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: ficheiro sen cambios; non se envorca"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: ficheiro sen cambios; non se envorca"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: O ficheiro encolleu %s bytes; enchendo con ceros"
msgstr[1] "%s: O ficheiro encolleu %s bytes; enchendo con ceros"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: o ficheiro está nun sistema de ficheiros diferente; non se envorca"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
#, fuzzy
msgid "contents not dumped"
msgstr " (memoria volcada)"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tipo de ficheiro descoñecido; ignórase este ficheiro"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " ligazón a %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: ficheiro sen cambios; non se envorca"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: o ficheiro é o arquivo; non se envorca"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: o ficheiro cambiou mentres se lía"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: ignórase o socket"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: ignórase a porta"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Pasando á seguinte cabeceira"
msgid "Deleting non-header from archive"
msgstr "Borrando o que non sexan cabeceiras do arquivo"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: a marca de tempo %s está %lu segundos no futuro"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Inconsistencia inesperada ao crea-lo directorio"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Renomeouse o directorio antes de poder estrae-lo seu estado"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extraendo os ficheiros contiguos coma ficheiros normais"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Tentando extrae-las ligazóns simbólicas coma ligazóns duras"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Non se puido copiar este ficheiro"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Non se pode renomear a %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Renomeouse o directorio"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Renomeouse o directorio"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: O directorio é novo"
msgid "%s: Cannot remove"
msgstr "%s: Non se pode eliminar"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Omitíndoo"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloque %s: ** Bloque de nulos **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloque %s: ** Fin de Ficheiro **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloque %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"a 2"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "O arquivo contén cabeceiras base-64 obsoletas"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " ligazón a %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " Tipo de ficheiro %s descoñecido\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Cabeceira de Volume--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continúa no byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Creando o directorio:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Non se pode cambia-lo directorio de traballo"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Renomeando %s a %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Non se pode renomear a %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Renomeando %s a %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Non se pode armacena-lo directorio de traballo"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Non se pode cambia-lo directorio de traballo"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Ficheiro eliminado antes da súa lectura"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Ficheiro eliminado antes da súa lectura"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proceso fillo"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "canle interproceso"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Non atopado no arquivo"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Non atopado no arquivo"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "O arquivo non está etiquetado para coincidir con %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
" # dando moitos datos\n"
" %s -xf arquivo.tar # Extraer tódolos ficheiros de arquivo.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" nil, existing numera se existen copias de seguridade numeradas\n"
" never, simple sempre fai copias de seguridade sinxelas\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Fin de ficheiro inesperado no arquivo"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
#, fuzzy
msgid "remove files after adding them to the archive"
msgstr "Borrando a especificación de unidade dos nomes do arquivo"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Erro ao gravar na saída estándar"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Non se pode verifica-los arquivos multi-volume"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Arquivar da entrada estándar"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Opcións de compresión conflictivas"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "Non se puido escribir no programa de compresión"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "Non se puido escribir no programa de compresión"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Non se pode cambia-lo directorio de traballo"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "O volume %s non coincide con %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Proporcionouse na opción un modo non válido"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
#, fuzzy
msgid "ask for confirmation for every action"
msgstr "Non se puido le-la confirmación do usuario"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Non pode especificar máis dunha das opcións \"-Acdtrux\""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Opcións de compresión conflictivas"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " Tipo de ficheiro %s descoñecido\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Non se atopou o ficheiro de data"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: o ficheiro é o arquivo; non se envorca"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: o ficheiro é o arquivo; non se envorca"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Factor de bloqueo non válido"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Lonxitude da fita non válida"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Máis dunha data de umbral"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Grupo non válido"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Proporcionouse na opción un modo non válido"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Número de inode non válido"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Propietario non válido"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Tamaño de rexistro non válido"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "Lonxitude da fita non válida"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "Patrón descoñecido `%s'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "A antiga opción \"%c\" precisa dun argumento."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Varios ficheiros de arquivo requiren a opción \"-M\""
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Non se pode combinar --listed-incremental con --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Non se pode verifica-los arquivos multi-volume"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Non se poden verifica-los arquivos comprimidos"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Non se poden empregar arquivos comprimidos multi-volume"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Non se poden actualiza-los arquivos comprimidos"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "De xeito cobarde rexéitase crear un ficheiro baleiro"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "As opcións \"-Aru\" son incompatibles con \"-f -\""
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Debe especificar unha das opcións \"-Acdtrux\""
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: O ficheiro encolleu %s bytes"
msgstr[1] "%s: O ficheiro encolleu %s bytes"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Marca de tempo fóra de rango"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Punto de control de lectura %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Xera-los ficheiros de datos para a suite de probas de GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Opcións de compresión conflictivas"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Erro ao gravar na saída estándar"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Emprego: %s [OPCIÓN]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "%s: Non se puido cambia-la hora de acceso e modificación"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Marca de tempo non válida"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Número de inode fóra de rango"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Erro do sistema descoñecido"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "Non se puido abrir %s"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Non se pode pechar"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr "Patrón descoñecido `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "Non se puido evalua-lo ficheiro %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Non se puido abrir %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "O fillo morreu co sinal %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Nomes de ficheiro alterados--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Non se pode armacena-lo directorio de traballo"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Non se pode renomear a %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opción non admitida -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Lendo %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "Informe dos erros no programa a <bug-tar@gnu.org>.\n"
#~ "Informe dos erros na traducción a <proxecto@trasno.net>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Lendo %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "O erro non é recuperable: sáese agora"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: o ficheiro é o arquivo; non se envorca"
#~ msgid "Premature end of file"
#~ msgstr "Fin de ficheiro prematura"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "O erro non é recuperable: sáese agora"
+
#~ msgid "block size"
#~ msgstr "tamaño de bloque"
# ... wishes to thank everybody who helped in good faith.
#
# Well, in 03:12 hrs (for 1st pass)!! who beats me I owe him a pizza ;-) -- TM
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.13.25\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\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"
+"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
"\n"
"Prijavi gre¹ke i bugove na <bug-tar@gnu.org>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Nepoznata pogre¹ka u sistemu"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: opcija `%s' nije jednoznaèna\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opcija `--%s' ne dozvoljava argument\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opcija `%c%s' ne dozvoljava argument\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: za opciju `%s' neophodan je argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ne prepoznajem opciju `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ne prepoznajem opciju `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: pogre¹na opcija -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcija zahtijeva neophodan argument -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opcija `-W %s' nije jednoznaèna\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcija `-W %s' ne dozvoljava argument\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: za opciju `%s' neophodan je argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "iscrpljena memorija"
msgid "Cannot execute remote shell"
msgstr "Ne mogu pokrenuti udaljenu (remote) ljusku"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Seek smjer izvan opsega"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Pogre¹an mod dan opcijom"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Pogre¹na oznaka vremena"
# FIXME -- find xlation for 'seek offset' -- TM
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Seek ofset izvan opsega"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Pogre¹na duljina trake"
# FIXME -- find xlation for 'seek offset' -- TM
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Seek ofset izvan opsega"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Prerani eof\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: pogre¹na opcija -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Neoèekivani EOF u arhivi"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Neuspjeli seek na %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Neispravna naredba"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
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:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
# FIXME -- ovo neæe raditi ako je prevedeno -- Denis?
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(cjevovod - pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Pogre¹na vrijednost za record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Nije dano ime arhive"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Ne mogu verificirati stdin/stdout arhive"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Ne mogu a¾urirati komprimirane arhive"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Poèetak trake, zavr¹avam"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Previ¹e pogre¹aka, zavr¹avam"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: sadr¾i pogre¹an broj dijela arhive"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Prekoraèenje u broju dijela arhive"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Pripremite dio arhive #%d za %s i pritisni <RETURN>:"
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Naðen EOF gdje sam oèekivao odgovor korisnika"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "UPOZORENJE: Arhiva nije kompletirana"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Pokreni podljusku operativnog sistema\n"
" ? Ispi¹i ovu listu\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nema novog dijela arhive; zavr¹avam.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "Neuspjela `%s' naredba"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nije nastavljen za ovom dijelu arhive"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s je pogre¹ne velièine (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, 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:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arhiva nije oznaèena labelom da odgovara %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Dio arhive %s ne odgovara %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "Uspio proèitati samo %lu od %lu bajtova"
msgstr[1] "Uspio proèitati samo %lu od %lu bajtova"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Sadr¾aji se razlikuju"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Neoèekivani EOF u arhivi"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Tipovi datoteka se razlikuju"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Mod se razlikuje"
msgid "Mod time differs"
msgstr "Mod time (vrijeme modifikacije) se razlikuje"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Velièina se razlikuje"
# FIXME -- language purists might lynch me for this "polinkan" -- TM
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nije polinkan na %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Simbolièki link se razlikuje"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Broj ureðaja (device number) se razlikuje"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificiraj "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Nepoznat tip datoteke '%c', diff-iran kao normalna datoteka"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "NEUSPJELA VERIFIKACIJA: detektirano %d pogre¹nih zaglavlja"
msgstr[1] "NEUSPJELA VERIFIKACIJA: detektirano %d pogre¹nih zaglavlja"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "vrijednost %s izvan %s raspona %s..%s; substituiram %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "vrijednost %s izvan %s raspona %s..%s"
# FIXME -- find `pade¾' here from source
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generiram negativna oktalna zaglavlja"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: datoteka nepromijenjena; ne arhiviram ju"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: datoteka nepromijenjena; ne arhiviram ju"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: datoteka nepromijenjena; ne arhiviram ju"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Datoteka se skratila za %s bajtova; nadopunjujemo nulama"
msgstr[1] "%s: Datoteka se skratila za %s bajtova; nadopunjujemo nulama"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
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:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Nepoznat tip datoteke; datoteka ignorirana"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " link do %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: datoteka nepromijenjena; ne arhiviram ju"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: datoteka je arhiva; ne arhiviram ju"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: datoteka se promijenila dok smo ju èitali"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket ignoriran"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door ignoriran"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Preskaèem do slijedeæeg zaglavlja"
msgid "Deleting non-header from archive"
msgstr "Bri¹em neispravno zaglavlje iz arhive"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: oznaka vremena %s je %lu sekundi u buduænost"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Neoèekivana nekonzistentnost kod otvaranja direktorija"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Direktoriju promijenjeno ime prije nego ¹to mu je dobavljen status"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Ekstrahiram neprekinute datoteke kao regularne datoteke"
# FIXME -- 'hard links' -- TM
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Poku¹avam ekstrakciju simbolièkih linkova kao hard linkova"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Neoèekivan EOF u mangliranim imenima"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Nisam uspio napraviti backup ove datoteke"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Ne mogu preimenovati u %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Direktoriju promijenjeno ime"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Direktoriju promijenjeno ime"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Novi direktorij"
msgid "%s: Cannot remove"
msgstr "%s: Ne mogu obrisati"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Izostavljam"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok ispunjen NULama **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Kraj datoteke **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"komplement"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arhiva sadr¾i base-64 zaglavlja zastarjelog formata"
# FIXME??
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link do %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " nepoznat tip datoteke %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Zaglavlje dijela arhive--\n"
# FIXME -- clarify against source -- TM
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Nastavljeno s bajtom %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Kreiram direktorij:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Ne mogu promijeniti radni direktorij"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Preimenujem %s u %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Ne mogu preimenovati u %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Preimenujem %s natrag u %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Ne mogu pohraniti radni direktorij"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Ne mogu promijeniti radni direktorij"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Datoteka uklonjena (removed) prije nego ¹to smo ju proèitali"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Datoteka uklonjena (removed) prije nego ¹to smo ju proèitali"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "podproces"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "meðuprocesni kanal"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Nije naðeno u arhivi"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Nije naðeno u arhivi"
-#: src/names.c:894
+# FIXME -- clean against source! (TM)
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arhiva nije oznaèena labelom da odgovara %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"op¹irno.\n"
" %s -xf arhiva.tar # Ekstrahiraj sve datoteke iz arhiva.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" nil, existing pobrojani ako pobrojani veæ postoje, inaèe jednostavni\n"
" never, simple uvijek radi jednostavne backupe\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Neoèekivani EOF u arhivi"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Pogre¹ka u pisanju na standardni izlaz"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
# FIXME -- volume -- find more suitable (ask others) -- TM
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Ne mogu verificirati vi¹edjelne arhive"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Konfliktne opcije formata arhive"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Konfliktne opcije za kompresiju"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Ne mogu promijeniti radni direktorij"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "Dio arhive %s ne odgovara %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Pogre¹an mod dan opcijom"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Ne mo¾ete navesti vi¹e od jedne od `-Acdtrux' opcija"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Konfliktne opcije za kompresiju"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " nepoznat tip datoteke %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Datoteka s datumom nije pronaðena"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Substituiram %s za nepoznat format datuma %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: datoteka je arhiva; ne arhiviram ju"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: datoteka je arhiva; ne arhiviram ju"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
# FIXME -- clarify this against source and man -- TM
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Pogre¹an faktor pakiranja u blokove"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Pogre¹na duljina trake"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Vi¹e od jednog datuma s pragom (threshold)"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Pogre¹na grupa"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Pogre¹an mod dan opcijom"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Pogre¹an inode broj"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Pogre¹an vlasnik"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Pogre¹na velièina sloga (record)"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Velièina sloga (record) mora biti vi¹ekratnik %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "Pogre¹na duljina trake"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Opcije `-[0-7][lmh]' nisu podr¾ane od strane *ovog* tar-a"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Stara opcija `%c' zahtijeva obavezan argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Vi¹edjelne arhive zahtijevaju `-M' opciju"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Ne mogu kombinirati --listed-incremental s --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] "%s: Oznaka dijela arhive je predugaèka (limit je %lu bajtova)"
# FIXME -- volume -- find more suitable (ask others) -- TM
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Ne mogu verificirati vi¹edjelne arhive"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Ne mogu verificirati komprimirane arhive"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Ne mogu koristiti vi¹edjelne komprimirane arhive"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Ne mogu a¾urirati komprimirane arhive"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
# LOL -- TM
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Kukavièki odbijam kreirati praznu arhivu!"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Opcije `-Aru' nisu kompatibilne s `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Morate specificirati jednu od `-Acdtrux' opcija"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Datoteka se skratila za %s bajtova"
msgstr[1] "%s: Datoteka se skratila za %s bajtova"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Oznaka vremena izvan opsega"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
# FIXME??
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Toèka provjere èitanja %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Generiraj podatkovne datoteke za GNU tar skup test programa.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Konfliktne opcije za kompresiju"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Pogre¹ka u pisanju na standardni izlaz"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Kori¹tenje: %s [OPCIJA]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Pogre¹na oznaka vremena"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Inode broj izvan opsega"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Nepoznata pogre¹ka u sistemu"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Ne mogu zatvoriti"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " nepoznat tip datoteke %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Neuspjeli seek na %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Neuspjeli seek na %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Potproces zavr¹io uz signal %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
# FIXME -- 'mangled filenames'???
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Manglirana imena datoteka--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Ne mogu pohraniti radni direktorij"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Ne mogu preimenovati u %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: ilegalna opcija -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Èitam %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Prijavi gre¹ke i bugove na <bug-tar@gnu.org>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Èitam %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Gre¹ka iz koje se ne mogu oporaviti: zavr¹avam s radom"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: datoteka je arhiva; ne arhiviram ju"
#~ msgid "Premature end of file"
#~ msgstr "Prerani kraj datoteke"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Gre¹ka iz koje se ne mogu oporaviti: zavr¹avam s radom"
+
#~ msgid "block size"
#~ msgstr "velièina bloka"
#
# Gábor István <stive@mezobereny.hu>, 2002.
# Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010.
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-23 20:01+0100\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-03-10 16:57+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "A hibák a(z) %s címen jelenthetők.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Ismeretlen rendszerhiba"
msgid "give a short usage message"
msgstr "rövid használati utasítás megjelenítése"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NÉV"
msgid "write error"
msgstr "íráshiba"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, c-format
-msgid "%s: option '%s' requires an argument\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, fuzzy, c-format
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: a(z) „%s” kapcsolóhoz argumentum szükséges\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: érvénytelen kapcsoló -- „%c”\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: a kapcsoló egy argumentumot igényel -- „%c”\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: a(z) „%s” kapcsolóhoz argumentum szükséges\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "elfogyott a memória"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Nem lehet csatlakozni ehhez: %s: a feloldás meghiúsult"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Nem futtatható távoli parancssor"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "A keresési irány kívül esik a tartományon"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Érvénytelen pozicionálási irány"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Érvénytelen pozicionálási eltolás"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "A keresési eltolás kívül esik a tartományon"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Érvénytelen bájtszám"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "A bájtszám kívül esik a tartományon"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "Idő előtti fájlvége"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Érvénytelen működési kód"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "A művelet nem támogatott"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Váratlan paraméterek"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
"Szalagos meghajtó manipulálása, parancsok elfogadása távoli folyamattól"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "SZÁM"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "hibakeresési szint beállítása"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FÁJL"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "hibakeresés kimeneti fájlnevének beállítása"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "a(z) %s nem nyitható meg"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "túl sok argumentum"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Értelmetlen parancs"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Ez nem úgy néz ki, mint egy tar archívum"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Kiírt bájtok teljes száma"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Olvasott bájtok teljes száma"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Törölt bájtok teljes száma: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(cső)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "A record_size értéke érvénytelen"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Nem adott meg archívumnevet"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Nem ellenőrizhető az archívum, ha a szabványos be/kimenetet használja"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, 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:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Tömörített archívumok nem frissíthetők"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "A szalag eleje, most kilépek"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Túl sok hiba, kilépek"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "az rmtlseek nem állt meg egy rekord határán"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: érvénytelen kötetszámot tartalmaz"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Kötetszám-túlcsordulás"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Fájlvége a várt felhasználói válasz helyett"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "FIGYELMEZTETÉS: Az archívum befejezetlen"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q A Tar megszakítása\n"
" y vagy újsor A művelet folytatása\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Új parancsértelmező hívása\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Ezen lista kiírása\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nincs új kötet, kilépés.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Nincs megadva fájlnév, próbálkozzon újra.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, 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:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "A(z) „%s” parancs meghiúsult"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nem folytatódik ezen a köteten"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s mérete hibás (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Ez a kötet kívül esik a sorozaton (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, 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:1434
+#: src/buffer.c:1509
#, 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:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%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:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "az írás nem egy rekord határán fejeződött be"
msgstr[0] "Csak %lu bájt olvasható %lu bájtból"
msgstr[1] "Csak %lu bájt olvasható %lu bájtból"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "A tartalom eltér"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Váratlan fájlvége jel az archívumban"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "A fájltípus eltér"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "A mód eltér"
msgid "Mod time differs"
msgstr "A módosítási idő eltér"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "A méret eltér"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nincs a következőre linkelve: %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "A szimbolikus link eltér"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Az eszközszám eltér"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Ellenőrzés "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: A(z) „%c” fájltípus ismeretlen, a diffelés normális fájlként történt"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Az archívum eltávolított előtagokkal rendelkező fájlneveket tartalmaz."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
"Lehetséges, hogy az ellenőrzés nem fogja megtalálni az eredeti fájlokat."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található"
msgstr[1] "AZ ELLENŐRZÉS SIKERTELEN: %d érvénytelen fejléc található"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Egy magányos nulla blokk %s helyen"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: fájl gyorsítótár-könyvtár címkét tartalmaz (%s); %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
"a(z) %s érték a(z) %s %s...%s tartományán kívül esik, helyettesítve a "
"következővel: %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "a(z) %s érték a(z) %s %s...%s tartományán kívül esik"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Negatív oktális fejlécek előállítása"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: a fájlnév túl hosszú (maximum: %d), nem kerül kiírásra"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: a fájlnév túl hosszú (nem darabolható), nem kerül kiírásra"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: a fájlnév túl hosszú, nem kerül kiírásra"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre"
msgstr[1] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: a fájl eltérő fájlrendszeren van, nem kerül kiírásra"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "a tartalom nem került kiírásra"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Ismeretlen fájltípus, fájl a figyelmen kívül hagyva"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Hiányzó linkek a következőre: „%s”."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: a fájl változatlan, nem kerül kiírásra"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: a fájl az archívumban van, nem kerül kiírásra"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "a könyvtár nem került kiírásra"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: a fájl módosult olvasás közben"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: a foglalat figyelmen kívül hagyva"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: ajtó figyelmen kívül hagyva"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Ugrás a következő fejlécre"
msgid "Deleting non-header from archive"
msgstr "A nem fejlécek törlése az archívumból"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: valószínűtlenül régi időbélyeg: %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: a(z) %s időbélyeg %s másodperccel a jövőbe mutat"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Váratlan inkonzisztencia a könyvtár létrehozása során"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: a könyvtár átnevezésre került az állapotának kinyerése előtt"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "A folytonos fájlok kibontása normál fájlként"
-#: src/extract.c:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Váratlan hosszú névfejléc"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Ismeretlen fájltípus: „%c”, normál fájlként lesz kibontva"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "A jelenlegi „%s” újabb vagy egyező korú"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, 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:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Nem nevezhető át a következőre: %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, 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:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: a könyvtár át lett nevezve"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: a könyvtár új"
msgid "%s: Cannot remove"
msgstr "%s: nem távolítható el"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: kihagyás"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blokk %s: ** A blokk üres **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blokk %s: ** Fájlvége **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blokk %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"feltételezi, hogy kettes komplemens"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link a következőre: %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " ismeretlen fájltípus: %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Hosszú link--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Hosszú név--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Kötetfejléc--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Folytatva %s bájttól--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Könyvtár létrehozása:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "A munkakönyvtár nem módosítható"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s átnevezése a következőre: %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Nem nevezhető át a következőre: %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s helyreállítása a következő névre: %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "A munkakönyvtár nem menthető"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "A munkakönyvtár nem módosítható"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: a fájl el lett távolítva a beolvasás előtt"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: a könyvtár el lett távolítva a beolvasás előtt"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "gyermekfolyamat"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "folyamatközi csatorna"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Mintaillesztő karaktereket használt a fájlnevekben. "
+msgstr "Mintaillesztő karaktereket használt a fájlnevekben"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez vagy a --"
-"no-wildcards kapcsolót "
+"Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez, vagy a "
+"--no-wildcards kapcsolót ezen figyelmeztetés letiltásához"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Nem található az archívumban"
-#: src/names.c:622
+#: 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"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Az archívum nincs úgy címkézve, hogy megfeleljen a következőhöz: %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"A -C használata fájllistán belül nem engedélyezett a --listed-incremental "
"kapcsolóval"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Csak egy -C engedélyezett a --listed-incremental kapcsolóval"
"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:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archívum.tar # Kibontja az összes fájlt az archívum.tar\n"
" fájlból.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" egyébként egyszerű\n"
" never, simple mindig egyszerű mentés létrehozása\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Fő működési mód:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "felsorolja egy archívum tartalmát"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "fájlok kibontása egy archívumból"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "új archívum létrehozása"
-#: src/tar.c:396
+#: src/tar.c:397
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:399
+#: src/tar.c:400
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:401
+#: src/tar.c:402
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:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "tar fájlok hozzáfűzése egy archívumhoz"
-#: src/tar.c:406
+#: src/tar.c:407
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:408
+#: src/tar.c:409
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:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Műveletmódosítók:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "ritka fájlok hatékony kezelése"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAGAS[.ALACSONY]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "régi GNU formátumú növekményes mentés kezelése"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "új GNU formátumú növekményes mentés kezelése"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "kiíratási szint a létrehozott listázott növekményes archívumhoz"
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
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, --"
"átadásra a parancssoron vagy a -T kapcsolón keresztül. A SZÁM "
"alapértelmezett értéke az 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "az archívum kereshető"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "az archívumban nem lehet pozicionálni"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "ne ellenőrizze az eszközszámokat növekményes archívumok létrehozásakor"
-#: src/tar.c:441
+#: src/tar.c:442
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:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Felülírás felügyelete:"
-#: src/tar.c:450
+#: src/tar.c:451
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:452
+#: src/tar.c:453
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:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "ne cserélje a meglévő fájlokat kibontáskor"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "meglévő fájlok felülírása kibontáskor"
-#: src/tar.c:460
+#: src/tar.c:461
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:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "hierarchiák kiürítése könyvtár kibontása előtt"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "meglévő könyvtárak metaadatainak megőrzése"
-#: src/tar.c:466
+#: src/tar.c:467
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:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Kimeneti adatfolyam kiválasztása:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "fájlok kibontása a szabványos kimenetre"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "PARANCS"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "kibontott fájlok továbbítása másik program számára"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "utódok kilépési kódjainak figyelmen kívül hagyása"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Fájlattribútumok kezelése:"
-#: src/tar.c:489
+#: src/tar.c:490
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:491
+#: src/tar.c:492
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:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DÁTUM-VAGY-FÁJL"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "MÓDOSÍTÁSOK"
-#: src/tar.c:495
+#: src/tar.c:496
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:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "MÓDSZER"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"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:502
+#: src/tar.c:503
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:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"próbálja az archívumban létezővel azonos tulajdonossal kibontani a fájlokat "
"(alapértelmezett a rendszergazdának)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
"fájlok kibontása a saját nevében (alapértelmezett normál felhasználóknak)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "mindig számok használata a felhasználó- vagy csoportnevekhez"
-#: src/tar.c:510
+#: src/tar.c:511
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:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"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:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "kibontandó nevek rendezése, az archívumnak való megfelelés érdekében"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "azonos, mint a -p és -s egyszerre"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"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:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Eszköz kiválasztása és váltása:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHÍVUM"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "az ARCHÍVUM archívumfájl vagy -eszköz használata"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "az adott rmt PARANCS használata az rmt helyett"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "a távoli PARANCS használata az rsh helyett"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "meghajtó és sűrűség megadása"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "többkötetes archívum létrehozása/listázása/kibontása"
-#: src/tar.c:558
+#: src/tar.c:559
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:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
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:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Eszközblokkolás:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKK"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "rekordonként BLOKK x 512 bájt"
-#: src/tar.c:573
+#: src/tar.c:574
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:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "nullázott blokkok (EOF) mellőzése az archívumban"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Archívumformátum kiválasztása:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMÁTUM"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "az adott formátumú archívum létrehozása"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "A FORMÁTUM a következők egyike:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "régi V7 tar formátum"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "A tar <= 1.12 által használt GNU formátum"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x formátum"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) formátum"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) formátum"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "azonos a pax formátummal"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "azonos a --format=v7 formátummal"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "azonos a --format=posix formátummal"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "kulcsszó[[:]=érték][,kulcsszó[[:]=érték]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "a pax kulcsszavak irányítása"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "SZÖVEG"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"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:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Tömörítési kapcsolók:"
-#: src/tar.c:615
+#: src/tar.c:616
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:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
"ne használja az archívum kiterjesztését a tömörítőprogram meghatározására"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
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:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Helyi fájlválasztás:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "KÖNYVTÁR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "váltás a KÖNYVTÁR könyvtárba"
-#: src/tar.c:643
+#: src/tar.c:644
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:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "a -T nullal lezárt neveket olvas, letiltja a -C kapcsolót"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "a korábbi --null kapcsoló hatásának letiltása"
-#: src/tar.c:649
+#: src/tar.c:650
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:651
+#: src/tar.c:652
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:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MINTA"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "a MINTAKÉNT megadott fájlok kihagyása"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "a FÁJLBAN megadott minták kihagyása"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl "
"kivételével"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "a FÁJLT tartalmazó könyvtárak kihagyása"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "verziókezelő-könyvtárak kihagyása"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "mentési és zárolási fájlok kihagyása"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "ne lépjen be automatikusan a könyvtárakba"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "TAGNÉV"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "kezdés a TAGNÉV tagnál az archívumban"
-#: src/tar.c:690
+#: src/tar.c:691
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:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DÁTUM"
-#: src/tar.c:693
+#: src/tar.c:694
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:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "FELÜGYELET"
-#: src/tar.c:695
+#: src/tar.c:696
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:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "KARAKTERLÁNC"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Fájlnév-átalakítások:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "KIFEJEZÉS"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "kis- és nagybetűk figyelmen kívül hagyása"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "a minták illesztése a fájlnevek elejére"
-#: src/tar.c:720
+#: src/tar.c:721
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:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "szó szerinti karakterlánc-illesztés"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "a helyettesítő karakterek nem illeszkednek a perjelre"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
"a helyettesítőkarakterek illeszkednek a „/” jelre (alapértelmezett "
"kihagyáskor)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informatív kimenet:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "feldolgozott fájlok bőbeszédű listázása"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "KULCSSZÓ"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "figyelmeztetés felügyelete"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "MŰVELET"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "a MŰVELET végrehajtása minden ellenőrzőponton"
-#: src/tar.c:748
+#: src/tar.c:749
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:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SZIGNÁL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"Az engedélyezett szignálok: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 és SIGUSR2; a "
"SIG előtag nélküli nevek is elfogadottak"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "a fájlmódosítási dátumok kiírása UTC szerint"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "bőbeszédű kimenet küldése a FÁJLBA"
-#: src/tar.c:759
+#: src/tar.c:762
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:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "megerősítés kérése minden egyes művelethez"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "a tar alapértelmezéseinek megjelenítése"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"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:768
+#: src/tar.c:771
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:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STÍLUS"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Kompatibilitási kapcsolók:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-"
"same-owner kapcsolóval"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Egyéb kapcsolók:"
-#: src/tar.c:792
+#: src/tar.c:795
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:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux” vagy „--"
"test-label”"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "A tömörítési kapcsolók ütköznek"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Ismeretlen szignálnév: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "A dátummintafájl nem található"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "%s cseréje az ismeretlen %s dátumformátumhoz"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "„%s” kapcsoló: A(z) „%s” dátum kezelése mint %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: a fájllista már be van olvasva"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "az archívum tömörítése a(z) %s használatával"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "A --quoting-style kapcsoló érvényes paraméterei:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Ezen* tar alapértelmezései:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Érvénytelen blokkolási tényező"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Érvénytelen szalagméret"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Hibás növekményszintérték"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Egynél több küszöbdátum"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Érvénytelen ritka verzió érték"
-#: src/tar.c:1700
+#: src/tar.c:1718
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:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "A --checkpoint értéke nem egy egész"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Érvénytelen csoport"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Érvénytelen mód került megadásra a kapcsolóban"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Érvénytelen szám"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Érvénytelen tulajdonos"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"A --preserve kapcsoló elavult, használja a --preserve-permissions --preserve-"
"order kapcsolókat helyette"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Érvénytelen rekordméret"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Érvénytelen elemszám"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Csak egy --to-command kapcsoló engedélyezett"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Rosszul formázott sűrűségargumentum: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Ismeretlen sűrűség: „%c”"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "A „-[0-7][lmh]” kapcsolókat *ez* a tar NEM támogatja"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FÁJL]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "A régi „%c” kapcsoló paramétert igényel."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "a --occurrence értelmetlen fájllista nélkül"
-#: src/tar.c:2361
+#: src/tar.c:2380
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:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr ""
"A --listed-incremental és a --newer kapcsolók nem használhatók egyszerre"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "a --level értelmetlen a --listed-incremental nélkül"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "A többkötetes archívumok nem ellenőrizhetők"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "A tömörített archívumok nem ellenőrizhetők"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Nem használhatók többkötetes tömörített archívumok"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Tömörített archívumok nem fűzhetők össze"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "a --pax kapcsoló csak POSIX archívumokon használható"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "A kötet hossza nem lehet kisebb a rekord méreténél"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "a --preserve-order nem kompatibilis a --listed-incremental kapcsolóval"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Üres archívum létrehozása visszautasítva"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f” kapcsolóval"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr ""
"Meg kell adnia a következő kapcsolók egyikét: „-Acdtrux” vagy „--test-label”"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Kilépés hibaállapottal a korábbi hibák miatt"
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:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Az időbélyeg kívül esik az engedélyezett tartományon"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "A(z) %s minta nem használható"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "A(z) %s minta nem bírálható felül"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Rosszul formázott kiterjesztett fejléc: a hossz hiányzik"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "A kiterjesztett fejléc hossza kívül esik a tartományon"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
"Rosszul formázott kiterjesztett fejléc: a hossz után hiányzik egy üres hely "
"karakter"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "A kiterjesztett fejléc hibás: egy egyenlőségjel hiányzik"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Rosszul formázott kiterjesztett fejléc: az újsor hiányzik"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
"A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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)"
+"Rosszul formázott kiterjesztett fejléc: érvénytelen %s: váratlan határoló "
+"(%c)"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "%u. olvasási ellenőrzőpont"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"a genfiles adatfájlokat kezel a GNU paxutils tesztcsomag számára.\n"
"A KAPCSOLÓK:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Fájllétrehozási kapcsolók:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "MÉRET"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Az adott MÉRETŰ fájl létrehozása"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Írás a NÉV nevű fájlba a szabványos kimenet helyett"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Fájlnevek beolvasása a FÁJLBÓL"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "a -T nullal lezárt neveket olvas"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"A fájl feltöltése az adott MINTÁVAL. A MINTA a 'default' (alapértelmezett) "
"vagy 'zeros' (nullák) egyike"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Egy blokk mérete ritka fájlhoz"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Ritka fájl előállítása. A parancssor többi része megadja a fájlleképezést."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "ELTOLÁS"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Az adott eltolásra pozicionálás az adatok kiírása előtt"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Fájlstatisztika kapcsolói:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"A stat struktúra tartalmának kiírása minden egyes megadott fájlhoz. Az "
"alapértelmezett FORMÁTUM: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Szinkron végrehajtási kapcsolók:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "KAPCSOLÓ"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Az adott ARGS végrehajtása. Hasznos a --checkpoint és a --cut, --append, --"
"touch vagy --unlink egyikével"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Az adott művelet (lásd alább) végrehajtása a SZÁM-adik ellenőrzőpont elérése "
"után"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Dátum beállítása a következő --touch kapcsoló számára"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
"Végrehajtott ellenőrzőpontok és a PARANCS kilépési állapotának megjelenítése"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Szinkron végrehajtási tevékenységek. Ezek a --checkpoint kapcsoló által "
"megadott számú ellenőrzőpont elérésekor kerülnek végrehajtásra."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"A FÁJL csonkolása az előző --length kapcsoló által megadott méretre (vagy "
"nullára, ha nincs megadva)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"MÉRET bájt hozzáfűzése a FÁJLHOZ. A MÉRETET az előző --length kapcsoló adja "
"meg."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "A FÁJL hozzáférési és módosítási idejének frissítése"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "A PARANCS végrehajtása"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "A FÁJL törlése"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Érvénytelen méret: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "A szám kívül esik az engedélyezett tartományon: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negatív méret: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "a stat(%s) meghiúsult"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "a kért fájlhossz %lu, a tényleges %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "a létrehozott fájl nem ritka"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Hiba a(z) „%s” közelében található szám elemzésekor"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Ismeretlen dátumformátum"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENTUMOK...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "a(z) „%s” nem nyitható meg"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "Nem lehet pozicionálni"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "a fájlnév null karaktert tartalmaz"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "helytelen maszk (a(z) „%s” közelében)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Ismeretlen mező: „%s”"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "nem állítható be az idő a következőn: „%s”"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "a(z) „%s” nem törölhető"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "A parancs sikeresen befejeződött\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "A parancs meghiúsult a következő állapottal: %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, 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:834
+#: tests/genfile.c:833
#, 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:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "A parancs hibakeresési kimenetet adott vissza\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "A parancs befejeződött\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "a --stat fájlneveket igényel"
-#~ msgid "Cannot resolve hostname %s"
-#~ msgstr "Nem oldható fel a gépnév (%s)"
-
-#~ msgid "suppress this warning."
-#~ msgstr "ezen figyelmeztetés elnyomásához."
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "A munkakönyvtár nem menthető"
# Tedi Heriyanto <tedi_h@gmx.net>, 1999, 2002.
# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-14 07:00+0700\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-14 10:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Laporkan bug ke %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Kesalahan sistem tidak dikenal"
msgid "give a short usage message"
msgstr "berikan sebuah pesan penggunaan singkat"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAMA"
msgid "write error"
msgstr "error menulis"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: pilihan '%s' ambigu\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: pilihan '--%s' tidak mengijinkan sebuah argumen\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: pilihan '%c%s' tidak mengijinkan sebuah argumen\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: pilihan '--%s' membutuhkan sebuah argumen\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: pilihan tidak dikenal '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: pilihan tidak dikenal '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: pilihan -- '%c' tidak valid\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: pilihan '-W %s' ambigu\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: pilihan '-W %s' tidak mengijinkan sebuah argumen\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: pilihan '-W %s' membutuhkan sebuah argumen\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "kehabisan memori"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Tidak dapat menghubungi ke %s: penelusuran gagal"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Tidak dapat menjalankan remote shell"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Arah pencarian di luar jangkauan"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Arah pencarian tidak valid"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Ofset pencarian tidak valid"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Offset pencarian di luar jangkauan"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Jumlah byte tidak valid"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Jumlah byte di luar jangkauan"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "EOF prematur"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Kode operasi tidak valid"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Operasi tidak didukung"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Unexpected tidak terduga"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "Manipulasi sebuah tape drive, menerima perintah dari proses remote"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NOMOR"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "tentukan tingkat penelusuran"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "BERKAS"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "tentukan keluaran nama berkas penelusuran"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "tidak dapat membuka %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "terlalu banyak argumen"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Perintah sampah"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Ini sepertinya bukan sebuah tar archive"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Total byte ditulis"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Total byte dibaca"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Total byte dihapus: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Nilai record_size tidak valid"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Tidak diberikan nama archive"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Tidak dapat memverifikasi stdin/stdout archive"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Archive terkompres. Gunakan %s pilihan"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Tidak dapat update compressed archives"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Berada pada awal tape, berhenti sekarang"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Terlalu banyak errors, berhenti"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: berisi nomor volum yang tidak valid"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Nomor volum overflow"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF pada saat user reply diharapkan"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "PERINGATAN: Archive tidak lengkap"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Batalkan tar\n"
" y or newline Lanjutkan operasi\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Spawn sebuah subshell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Tampilkan daftar ini\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Tidak ada new volume; keluar.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Perintah %s gagal"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s tidak dilanjutkan di volume ini"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s adalah ukuran yang salah (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Volume ini di luar urutan (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Label archive tidak cocok dengan %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Volume %s tidak sesuai dengan %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume "
"header, dipotong"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "tulis tidak berhenti di batas blok"
msgstr[0] "Hanya dapat membaca %lu dari %lu byte"
msgstr[1] "Hanya dapat membaca %lu dari %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Isi berbeda"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Unexpected EOF dalam archive"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Tipe berkas berbeda"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Mode berbeda"
msgid "Mod time differs"
msgstr "Mod time berbeda"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Ukuran berbeda"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Tidak dilink ke %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symlink berbeda"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Nomor perangkat berbeda"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verifikasi "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Tipe berkas '%c' tidak dikenal, lakukan diff sebagai berkas normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Archive berisi nama berkas dengan awalan dihapus."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
msgstr[1] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Sebuah lone blok nol di %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: berisi sebuah cache direktori tag %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "nilai %s dari %s di luar jangkauan %s..%s; menggantikan %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "nilai %s dari %s di luar dari jangkauan %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Membuat header oktal negatif"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: nama berkas terlalu panjang (maksimal %d); tidak di-dump"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: nama berkas terlalu panjang (tidak dapat memisahkan); tidak di-dump"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: nama link terlalu panjang; tidak di-dump"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Berkas diperkecil %s byte; dipadding dengan nol"
msgstr[1] "%s: Berkas diperkecil %s byte; dipadding dengan nol"
-#: src/create.c:1175
+#: src/create.c:1158
#, 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:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "isi tidak didump"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tipe file tidak dikenal; file diabaikan"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Hilang hubungan ke %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: berkas tidak berubah; tidak di-dump"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: berkas adalah archive; tidak di-dump"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "direktori tidak didump"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: berkas berubah saat kita membacanya"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: soket diabaikan"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door diabaikan"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Skip ke header berikutnya"
msgid "Deleting non-header from archive"
msgstr "Menghapus non-header dari archive"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: implausibly penanda waktu lama %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: penanda %s adalah %s dalam masa datang"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Inkonsistensi tidak diharapkan ketika membuat direktori"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Direktori diganti nama sebelum statusnya dapat diperoleh"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Sedang extract contiguous file sebagai regular file"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Mencoba extract symbolic link sebagai hard link"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr ""
"%s: Tidak dapat mengekstrak -- berkas adalah kelanjutan dari volume lain"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Tidak terduga nama header panjang"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Tipe berkas tidak dikenal '%c', diekstraksi sebagai berkas normal"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Saat ini %s adalah lebih baru atau berumuran sama"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Tidak dapat melakukan backup berkas ini"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Tidak dapat mengubah nama %s ke %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Direktori telah diubah nama dari %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Direktori telah diganti nama"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Direktori adalah baru"
msgid "%s: Cannot remove"
msgstr "%s: Tidak dapat menghapus"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Mengabaikan"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok dari KOSONG **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Akhir dari Berkas **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, c-format
msgid "Blanks in header where numeric %s value expected"
msgstr "Kosong dalam header saat diharapkan nilai %s numerik"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Nilai oktal arsip %.*s di luar batasan %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arsip berisikan header base-64 yang kadaluarsas"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link ke %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tipe file tidak dikenal %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Link Panjang--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Nama Panjang--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Volume Header--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Diteruskan pada byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Membuat direktori:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Tidak bisa pindah direktori kerja"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Mengganti nama %s ke %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s:Tidak dapat mengganti nama ke %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Mengganti nama %s kembali ke %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Tidak dapat menyimpan direktori kerja"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Tidak bisa pindah direktori kerja"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Berkas dihapus sebelum kita membacanya"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Direktori dihapus sebelum kita membacanya"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proses anak"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "saluran interproses"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Pola pencocokan karakter digunakan dalam nama berkas. Mohon,"
+msgstr "Pola pencocokan karakter digunakan dalam nama berkas."
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards "
-"untuk"
+"Gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards "
+"untuk menekan peringatan ini"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Tidak ditemukan dalam archive"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Label archive tidak cocok"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"Menggunakan pilihan -C didalam daftar berkas tidak diijinkan dengan --listed-"
"incremental"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Hanya satu pilihan -C yang diijinkan dengan --listed-incremental"
"Gaya quoting `%s' tidak diketahui. Coba `%s --quoting-style=help' untuk "
"memperoleh daftar."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"secara rinci.\n"
" tar -xf archive.tar # Bongkar semua berkas dari archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" 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"
+" never, simple selalu buat cadangan sederhana\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Mode operasi utama:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "daftar isi dari sebuah archive"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "ekstrak berkas dari sebuah archive"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "buat sebuah archive baru"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "cari perbedaan diantara archive dan sistem berkas"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "tambahkan berkas ke akhir dari sebuah archive"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "hanya tambahkan berkas yang lebih bari dari salinan dalam archive"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "tambahkan berkas tar ke sebuah archive"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "hapus dari archive (bukan dalam pita mag!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "test label volume archive dan keluar"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Pemodifikasi operasi:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "tangani berkas sparse secara efisien"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
"set versi dari format sparse untuk digunakan (mengimplikasikan --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "tangani format GNU lama incremental backup"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "tangani format GNU barus incremental backup"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "tingkat `dump' untuk pembuatan `listed-incremental archive'"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "jangan keluar dengan bukan nol dalam berkas tidak dapat dibaca"
-#: src/tar.c:428
+#: src/tar.c:429
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 atau --list dan ketika sebuah daftar dari berkas diberikan "
"baik dalam baris perintah atau melalui pilihan -T; JUMLAH baku ke 1"
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "pencarian tidak dapat dilakukan dalam archive"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "pencarian tidak dapat dilakukan dalam archive"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
"tidak dapat memeriksa nomor perangkat ketika membuat archive incremental"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "periksa nomor perangkat ketika membuat incremental archive (baku)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Overwrite kontrol:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "mencoba untuk memverifikasi archive setelah menulisnya"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "hapus berkas setelah menambahkannya ke archive"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "overwrite berkas yang sudah ada ketika mengekstrak"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "hapus setiap berkas sebelum mengekstrak diatasnya"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "kosongkan susunan sebelum mengekstrak ke direktori"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "jaga metadata dari direktori yang sudah ada"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"overwrite metadata dari direktori yang sudah ada ketika mengekstrak (baku)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Pilih stream keluaran:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "ekstrak berkas ke standar keluaran"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "PERINTAH"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "pipe berkas terekstrak ke aplikasi lain"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "abaikan kode keluaran dari anak"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "perlakukan kode keluaran bukan nol dari anak sebagai error"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Penanganan dari atribut berkas:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "paksa NAMA sebagai pemilik untuk berkas yang ditambahkan"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "paksa NAMA sebagai grup untuk berkas yang ditambahkan"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATE-ATAU-BERKAS"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "set mtime untuk berkas yang ditambahkan dari DATE-OR-FILE"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "PERUBAHAN"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "paksa PERUBAHAN (simbolik) mode untuk berkas yang ditambahkan"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODE"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"setelah membaca (METODE='replace'; baku) atau dengan tidak menset waktu di "
"tempat pertama (METODE='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "jangan ekstrak waktu modifikasi berkas"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"mencoba mengekstrak berkas dengan kepemilikan yang sama yang ada dalam "
"archive (baku untuk pengguna super)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr "ekstrak berkas seperti dirimu (baku untuk pengguna biasa)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "selalu gunakan nomor untuk nama pengguna/grup"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "ekstrak informasi mengenai ijin berkas (baku untuk superuser)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"aplikasikan umask pengguna ketika mengekstrak ijin dari archive (baku untuk "
"pengguna biasa)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "sama seperti baik -p dan -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"tunda konfigurasi waktu modifikasi dan ijin untuk direktori terekstrak "
"sampai akhir dari ekstrasi"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "batalkan efek dari pilihan --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Pemilihan dan pengubahan perangkat:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVE"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "gunakan berkas archive atau perangkat ARCHIVE"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "berkas archive adalah lokal walaupun ini memiliki sebuah kolon"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "gunakan PERINTAH rmt yang diberikan daripad rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "gunakan PERINTAH remote daripada rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "spesifikasikan drive dan kepadatan"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "buat/daftar/ekstrak multi-volume archive"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "ubah pita setelah menulis ANGKA x 1024 bytes"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "jalankan script di akhir dari setiap pite (mengimplikasikan -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "gunakan/update jumlah volume dalam BERKAS"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Bloking perangkat:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOK"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOK x 512 byte per detik"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "JUMLAH dari byte per rekaman, kelipatan dari 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "abaikan blok yang dinolkan dalam archive (berarti EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "reblok saat kita baca (untuk 4.2BSD pipes)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Pemilihan format archive:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "buat archive dari format yang diberikan"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT adalah satu dari berikut:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "format tar lama V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "format gnu tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "format GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "format POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "format POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "sama seperti pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "sama seperti --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "sama seperti --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "kata kunci[[:]=nilai][,kata kunci[[:]=nilai]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "kontrol kata kunci pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEKS"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"buat archive dengan nama volume TEKS; di waktu daftar/ekstrak, gunakan TEKS "
"sebagai sebuah pola globbing untuk nama volume"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Pilihan kompresi:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "jangan gunakan nama akhiran archive untuk menentukan aplikasi kompresi"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "saring melalui PROG (harus menerima -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Pemilihan berkas lokal:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "pindah ke direktori DIR"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T baca nama berakhiran kosong, non-aktifkan -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "non-aktifkan efek dari pilihan --null sebelumnya"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "unquote nama berkas baca dengan -T (baku)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "jangan unquote nama berkas baca dengan -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "POLA"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "jangan masukan berkas, berikan sebagai sebuah POLA"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "jangan masukan pola yang terdaftar dalam BERKAS"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"jangan masukan isi dari direktori berisi CACHEDIR.TAG, kecuali untuk berkas "
"tag itu sendiri"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "jangan masukan direktori berisi CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "jangan masukan apapun dibawah direktori berisi BERKAS"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "jangan masukan direktori berisi BERKAS"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "jangan masukan direktori sistem pengontrol direktori"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "abaikan berkas cadangan dan berkas kunci"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "hindari penurunan secara otomatis dalam direktori"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "tetap dalam sistem berkas lokal ketika membuat archive"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "rekursif kedalam direktori (baku)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "jangan hilangkan awalan `/' dari nama berkas"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "ikuti symlinks; berkas archive dan dump yang mereka tunjuk ke"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "ikuti hard links; berkas archive dan dump yang mereka refer ke"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NAMA-ANGGOTA"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "berawal di anggota NAMA-ANGGOTA dalam archive"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "TANGGAL"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "bandingkan tanggal dan waktu hanya ketika data berubah"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "KONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "backup sebelum penghapusan, pilih PENGONTROL versi"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRING"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override "
"oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Transformasi nama berkas:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "EKSPRESI"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Pilihan nama berkas cocok (mempengaruhi baik pola exclude dan include):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "abaikan perbedaan huruf besar dan huruf kecil"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "pencocokan pola nama berkas mulai"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "pencocokan polah setelah `/' apapun (baku untuk exclusion)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "gunakan wildcards (baku untuk exclusion)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "pencocok verbatim string"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "wildcards tidak cocok `/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "wildcards cocok `/' (baku untuk exclusion)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Keluaran informative:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "proses daftar berkas secara verbose"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "KATA KUNCI"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "pengendali peringatan"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "AKSI"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "jalankan AKSI disetiap titik pemeriksaan"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "tampilkan sebuah pesan jika tidak seluruh link didump"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SINYAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG "
"juga diterima"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "tampilkan waktu modifikasi berkas dalam UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "tampilkan waktu berkas sampai ke resolusi penuh"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "kirim keluaran verbose ke BERKAS"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "minta konfirmasi untuk setiap aksi"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "tampilkan tar baku"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok "
"dengan kriteria pencarian"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "tampilkan berkas atau nama berkas setelah transformasi"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "GAYA"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "set nama quoting gaya; lihat dibawah untuk nilai GAYA yang valid"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "sebagai tambahan karakter quote dari STRING"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "non-aktifkan quoting untuk karakter dari STRING"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Pilihan yang kompatibel:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti "
"--no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Pilihan lain:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "non-aktifkan penggunaan dari pilihan berbahaya yang berpotensial"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"Anda tidak bisa menspesifikasikan lebih dari satu pilihan `-Acdtrux' atau `--"
"test-label'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Pilihan kompresi konflik"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Nama sinyal: %s tidak dikenal"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Tanggal contoh berkas tidak ditemukan"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Pilihan %s: memperlakukan tanggal `%s' sebagai %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: daftar berkas telah dibaca"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: nama berkas yang dibaca berisi karakter nul"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "saring archive melalui %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Argumen yang valid untuk pilihan --quoting-style adalah:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Ini* tar baku ke:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Faktor bloking tidak valid"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Panjang tape tidak valid"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Nilai tingkat peningkatan tidak valid"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Lebih dari satu treshold date"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Nilai versi sparse tidak valid"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "pilihan --atime-preserve='system' tidak didukung di platform ini"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "nilai --checkpoint bukan sebuah integer"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Grup tidak valid"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Mode tidak tepat diberikan pada pilihan"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Nomor tidak valid"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Pemilik tidak valid"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Pilihan --preserve sudah ditinggalkan, lebih baik gunakan --preserve-"
"permissions --preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Ukuran record tidak valid"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Jumlah record harus kelipatan dari %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Jumlah dari elemen tidak valid"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Hanya satu pilihan --to-command yang diijinkan"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Salah bentuk kepadatan argumen: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Kepadatan tidak diketahui: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Pilihan `-[0-7][lmh]' tidak didukung oleh tar *ini*"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[BERKAS]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Pilihan 'lama' `%c' membutuhkan argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Berkas multiple archive membutuhkan pilihan '-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "--level tidak berarti tanpa --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Tidak dapat verifikasi multi-volume archives"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Tidak dapat verify compressed archives"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Tidak dapat menggunakan multi-volume compressed archives"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Tidak dapat update compressed archives"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Panjang volume tidak dapat lebih kecil dari ukuran rekaman"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order tidak kompatibel dengan --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Secara takut menolak untuk membuat sebuah archive kosong"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Pilihan '-Aru' tidak kompatibel dengan `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr ""
"Anda harus menspesifikasikan salah satu dari pilihan `-Acdtrux' atau `--test-"
"label'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Keluar dengan status gagal karena error error sebelumnya"
msgstr[0] "%s: Berkas mengecil sebanyak %s byte"
msgstr[1] "%s: Berkas mengecil sebanyak %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Kata kunci %s tidak diketahui atau belum diimplementasikan"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Penanda waktu di luar dari jangkauan yang diijinkan"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Pola %s tidak dapat digunakan"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Kata kunci %s tidak dapat dioverride"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Salah bentuk ekstensi header: hilang panjang"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Ekstensi panjang header %*s diluar dari jangkauan"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Salah bentuk ekstensi header: hilang blank setelah panjang"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Salah bentuk ekstensi header: hilang tanda sama dengan"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Salah bentuk ekstensi header: hilang baris baru"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Mengabaikan kata kunci ekstensi `%s' yang tidak diketahui"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "Ekstensi header %s=%s diluar dari jangkauan %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Salah bentuk ekstensi header: tidak valid %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Salah bentuk ekstensi header: kelebihan %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Salah bentuk ekstensi header: tidak valid %s: tidak diduga pembatas %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil"
msgid "Read checkpoint %u"
msgstr "Membaca titik pemeriksaan %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile memanipulasi berkas data untuk suite pemeriksaan GNU paxutils.\n"
"PILIHAN adalah:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Pilihan pembuatan berkas:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "UKURAN"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Buat berkas dari UKURAN yang diberikan"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Tulis ke berkas NAMA, daripada ke standar keluaran"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Baca nama berkas dari BERKAS"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T baca nama berakhiran null"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "Isi berkas dengan POLA yang diberikan. POLA adalah 'baku' atau 'nol'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Ukuran dari sebuah blok untuk berkas sparse"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Buat berkas sparse. Sisa dari baris perintah memberikan peta berkas."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "OFSET"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Cari ke ofset yang diberikan sebelum menulis data"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Pilihan statistik berkas:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
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:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "pilihan eksekusi synchronous:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "PILIHAN"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Jalankan ARG. Berguna dengan --checkpoint dan satu dari --cut, --append, --"
"touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
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:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Set tanggal untuk pilihan --touch selanjutnya"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
"Tampilkan titik pemeriksaan yang dijalankan dan status keluar dari PERINTAH"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Aksi eksekusi synchronous. Ini dijalankan ketika titik pemeriksaan nomor "
"yang diberikan oleh pilihan --checkpoint dicapai."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Potong BERKAS ke ukuran yang dispesifikasikan oleh pilihan --length "
"sebelumnya (atau 0, jika ini tidak diberikan)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Tambahkan UKURAN bytes ke BERKAS. UKURAN yang diberikan oleh pilihan --"
"length sebelumnya."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Update waktu akses dan modifikasi dari BERKAS"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Jalankan PERINTAH"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Putus BERKAS"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Ukuran: %s tidak valid"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Ukuran negatif: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) gagal"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "panjang berkas yang diminta %lu, sebenernya %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "pembuatan berkas tidak sparse"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Error parsing nomor didekat `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Format tanggal tidak diketahui"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARG...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "tidak dapat membuka `%s'"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "Tidak dapat mencari"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "nama berkas berisi karakter null"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"tidak dapat menghasilkan berkas sparse di standar keluaran, gunakan pilihan "
"--file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "mask tidak benar (didekat `%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Field `%s' tidak diketahui"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "tidak dapat menset waktu di `%s'"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "tidak dapat memutus `%s'"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Perintah keluar secara sukses\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Perintah gagal dengan status %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Perintah berakhir di sinyal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Perintah berhenti di sinyal %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Perintah memberika core dump\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Perintah berakhir\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat membutuhkan nama berkas"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Tidak dapat menyimpan direktori kerja"
+
#~ msgid "Cannot resolve hostname %s"
#~ msgstr "Tidak dapat menemukan alamat dari nama host %s"
# Italian translation of GNU tar.
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010 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.name>, 2008-2009
#
+# Milo Casagrande <milo@casagrande.name>, 2008-2009, 2010.
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22\n"
+"Project-Id-Version: tar-1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-04-05 21:45+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-12 10:25+0200\n"
"Last-Translator: Milo Casagrande <milo@casagrande.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: gnu/argmatch.c:135
msgid "Report bugs to %s.\n"
msgstr "Segnalare i bug a %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Errore di sistema sconosciuto"
msgid "give a short usage message"
msgstr "Mostra un breve messaggio sull'uso"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NOME"
msgid "write error"
msgstr "Errore di scrittura"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: l'opzione \"%s\" è ambigua\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: l'opzione \"--%s\" richiede un argomento\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opzione \"--%s\" non riconosciuta\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opzione non valida -- %c\n"
+msgstr "%s: opzione non valida -- \"%c\"\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
+msgstr "%s: l'opzione richiede un argomento -- \"%c\"\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: l'opzione \"-W %s\" richiede un argomento\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memoria esaurita"
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Pacchetto creato da %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Pacchetto creato da %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Segnalare i bug a %s.\n"
+msgstr ""
+"\n"
+"Segnalare i bug a: %s\n"
+"Segnalare i bug di traduzione a: <tp@lists.linux.it>\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr ""
-"\n"
-"Segnalare i bug a <%s>.\n"
+msgstr "Segnalare i bug di %s a: %s\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Sito web di %s: <%s>\n"
#: gnu/version-etc.c:255
-#, fuzzy, c-format
+#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>.\n"
+msgstr "Sito web di %s: <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
-#, fuzzy
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Aiuto per l'utilizzo di software GNU: <http://www.gnu.org/gethelp/>.\n"
+msgstr "Aiuto per l'utilizzo di software GNU: <http://www.gnu.org/gethelp/>\n"
# (ndt) metto tra virgolette visto che è
# il nome di una funzione non traducibile
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Impossibile connettersi a %s: \"resolve\" non riuscita"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Impossibile eseguire la shell remota"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Direzione di seek fuori dell'intervallo"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Modo fornito sull'opzione non valido"
+msgstr "Direzione di seek non valida"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Dimensione non valida: %s"
+msgstr "Offset di seek non valido"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Offset di seek fuori dell'intervallo"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Lunghezza del nastro non valida"
+msgstr "Conteggio byte non valido"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Offset di seek fuori dell'intervallo"
+msgstr "Conteggio byte fuori dell'intervallo"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: EOF prematuro\n"
+msgstr "EOF prematuro"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Modi operativi principali:"
+msgstr "Codice d'operazione non valido"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Operazione non supportata"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "EOF inatteso nell'archivio"
+msgstr "Argomenti non attesi"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
+"Manipola un dispositivo a nastro, accettando comandi da un processo remoto"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NUMERO"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "Imposta il livello di debug"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FILE"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "Imposta il nome del file di output per il debug"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "impossibile aprire \"%s\""
+msgstr "impossibile aprire %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "troppi argomenti"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Comando spazzatura"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Questo non sembra un archivio tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Byte totali scritti"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Byte totali letti"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Byte totali eliminati: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valore di record_size non valido"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Non è stato indicato il nome di un archivio"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Impossibile verificare archivi su stdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "L'archivio è compresso. Usare l'opzione %s."
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Impossibile aggiornare archivi compressi"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "All'inizio del nastro, uscita immediata"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Troppi errori, uscita"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"Impossibile muoversi all'indietro nel file dell'archivio; potrebbe non "
"essere\n"
"leggibile senza l'opzione -i"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek non si è fermata al limite di un record"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: contiene un numero di volume non valido"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Overflow del numero di volume"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Preparare il volume #%d per %s e premere Invio: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Ricevuto EOF quando era attesa la risposta dell'utente"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "Attenzione: l'archivio non è completo"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Termina tar\n"
" y o Invio Continua l'operazione\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Esegue una subshell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Stampa questo elenco\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nessun nuovo volume; uscita.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Nome file non specificato. Riprovare.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Input non valido. Premere ? per l'aiuto.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "comando \"%s\" non riuscito"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
"%s potrebbe continuare su questo volume: l'intestazione contiene un nome "
"troncato"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s non continua su questo volume"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s è la dimensione sbagliata (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Questo volume è fuori sequenza (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "L'archivio non ha un'etichetta corrispondente a %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Il volume %s non corrisponde a %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: il nome del file è troppo lungo per essere scritto in un'intestazione "
"GNU multi-volume, troncato"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "write non si è fermata al limite di un record"
msgstr[0] "È stato possibile leggere solo %lu byte di %lu"
msgstr[1] "È stato possibile leggere solo %lu byte di %lu"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "I contenuti sono differenti"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "EOF inatteso nell'archivio"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "I tipi dei file sono diversi"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "I modi sono diversi"
msgid "Mod time differs"
msgstr "Gli orari di modifica sono diversi"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Le dimensioni sono diverse"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Non è collegato a %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "I collegamenti simbolici sono diversi"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "I numeri dei device sono diversi"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verifica "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: tipo di file \"%c\" sconosciuto, confrontato come un file normale"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "L'archivio contiene nomi di file con i prefissi iniziali rimossi."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "La verifica potrebbe non riuscire a trovare i file originali."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "Errore di verifica: trovata %d intestazione non valida"
msgstr[1] "Errore di verifica: trovate %d intestazioni non valide"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Un singolo blocco di zeri a %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: contiene un'etichetta di directory cache %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituzione con %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "valore %s fuori dall'intervallo (%s) %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generazione delle intestazioni ottali negative"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: il nome del file è troppo lungo (max %d); non archiviato"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: il nome del file è troppo lungo (impossibile dividerlo); non archiviato"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: il nome del collegamento è troppo lungo; non archiviato"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: file ristretto di %s byte; riempito con zeri"
msgstr[1] "%s: file ristretto di %s byte; riempito con zeri"
-#: src/create.c:1175
+#: src/create.c:1158
#, 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:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "contenuti non archiviati"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: tipo di file sconosciuto; file ignorato"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "Collegamenti mancanti a %s.\n"
+msgstr "Collegamenti mancanti a %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: il file non è modificato; non archiviato"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: il file è l'archivio; non archiviato"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "directory non archiviata"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: file modificato mentre era in lettura"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket ignorato"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door ignorata"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Passaggio alla prossima intestazione"
msgid "Deleting non-header from archive"
msgstr "Eliminazione non-intestazione dall'archivio"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: orario %s inverosimilmente vecchio"
# (ndt) problema del plurale...
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: l'orario %s è %s secondi nel futuro"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: incoerenza inaspettata nel creare la directory"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: directory rinominata prima di poterne estrarre lo stato"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Estrazione file contigui come file normali"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr ""
"Tentativo di estrazione dei collegamenti simbolici come collegamenti fisici"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: impossibile estrarre -- il file continua da un altro volume"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Intestazione di nome lungo inattesa"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale"
# quote (file_name)));
# return 0;
# }
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Il file %s corrente è più recente o ha la stessa data"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: impossibile eseguire il backup di questo file"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Impossibile rinominare %s in %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: directory rinominata da %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: directory rinominata"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
-msgstr "%s: la directory è nuova"
+msgstr "%s: directory nuova"
#: src/incremen.c:956 src/incremen.c:973
msgid "Invalid time stamp"
msgid "%s: Cannot remove"
msgstr "%s: impossibile rimuoverlo"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: omesso"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blocco %s: ** Blocco di NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blocco %s: ** Fine del file **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blocco %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, c-format
msgid "Blanks in header where numeric %s value expected"
msgstr "Trovati spazi nell'intestazione dove era atteso il valore numerico %s"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"che sia in complemento a due"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "L'archivio contiene intestazioni base-64 obsolete"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
"La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s"
-#: src/list.c:821
+#: src/list.c:836
#, c-format
msgid "Archive base-256 value is out of %s range"
msgstr "Il valore base-256 dell'archivio è fuori dall'intervallo %s"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Il valore %s dell'archivio è fuori dall'intervallo (%s) %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " collegamento a %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tipo di file sconosciuto %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Collegamento lungo--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Nome lungo--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Intestazione del volume--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continua al byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Creazione directory:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Impossibile cambiare la directory di lavoro"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Rinomina di %s in %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: impossibile rinominarlo in %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Rinomina di %s nuovamente in %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Impossibile salvare la directory di lavoro"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Impossibile cambiare la directory di lavoro"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: file rimosso prima di poterlo leggere"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: file rimosso prima di poterlo leggere"
+msgstr "%s: directory rimossa prima di poterla leggere"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "il processo figlio"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "il canale tra processi"
-# (ndt) pattern matching... trovare di meglio...
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Usati caratteri di corrispondenza nei nomi dei file. Usare "
+msgstr "Usati caratteri di corrispondenza nei nomi dei file."
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "--wildcards per abilitare la corrispondenza o --no-wildcards "
+msgstr ""
+"Usare --wildcards per abilitare la corrispondenza o --no-wildcards per "
+"disabilitare l'avviso"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: non trovato nell'archivio"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: occorrenza richiesta non trovata nell'archivio"
-#: src/names.c:894
-#, fuzzy
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Etichetta dell'archivio non corrispondente"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr "--preserve-order non è compatibile con --listed-incremental"
+msgstr ""
+"L'utilizzo dell'opzione -C all'interno dell'elenco dei file non è consentita "
+"con --listed-incremental"
-#: src/names.c:900
-#, fuzzy
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "--preserve-order non è compatibile con --listed-incremental"
+msgstr "Solo un'opzione -C è consentita con --listed-incremental"
#: src/tar.c:81
#, c-format
"Stile di citazione \"%s\" non conosciuto. Provare \"%s --quoting-style=help"
"\" per visualizzarne un elenco."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"dall'archivio.\n"
"\n"
"Esempi:\n"
-" tar -cf archivio.tar foo bar # Crea archivio.tar dai file foo e bar.\n"
+" 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"
-" tar -xf archivio.tar # Estrae tutti i file da archivio.tar.\n"
+"tar\n"
+" tar -xf archivio.tar # Estrae tutti i file da archivio.tar\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" nil, existing Numerati se esistono backup numerati, altrimenti semplici\n"
" never, simple Esegue sempre backup semplici\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Modi operativi principali:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "Elenca i contenuti dell'archivio"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "Estrae file da un archivio"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "Crea un nuovo archivio"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "Trova differenze tra l'archivio e il file system"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "Accoda i file alla fine di un archivio"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "Accoda solo i file più recenti della copia nell'archivio"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "Aggiunge il contenuto di un altro archivio"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "Elimina dall'archivio (non su nastri magnetici)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "Verifica l'etichetta di volume dell'archivio ed esce"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modificatori delle operazioni:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "Gestisce efficientemente i file sparsi"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
# (ndt) hmmm... formato sparso...
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "Imposta la versione da usare per il formato sparso (implica --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "gestisce i vecchi backup incrementali GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "Gestisce il nuovo formato di backup incrementali GNU"
-#: src/tar.c:424
+# (ndt) suggerimenti?
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "Livello di dump per l'archivio a lista incrementale creato"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "Non esce con non-zero quando ci sono file non leggibili"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"sulla riga di comando o attraverso l'opzione -T; il valore predefinito di "
"NUMERO è 1"
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "L'archivio è posizionabile"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "L'archivio è posizionabile"
+msgstr "L'archivio non è posizionabile"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "Non controlla i numeri del device quando crea archivi incrementali"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"Controlla i numeri del device quando crea archivi incrementali (predefinito)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Controlli di sovrascrittura:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "Tenta di verificare l'archivio dopo averlo scritto"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "Rimuove i file dopo averli aggiunti all'archivio"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "Durante l'estrazione non sovrascrive i file esistenti"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "Non sostituisce i file esistenti più recenti delle copie nell'archivio"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "Sovrascrive i file esistenti durante l'estrazione"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "Rimuove ogni file prima di estrarre su di esso"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "Svuota le directory prima di estrarle"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "Preserva i metadati delle directory esistenti"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"Sovrascrive i metadati delle directory esistenti durante l'estrazione "
"(predefinito)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Selezione stream di output:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "Estrae i file sullo standard output"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "COMANDO"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "Invia in pipe i file estratti a un altro programma"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "Ignora il codice di uscita dei figli"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "Considera i codici di uscita non-zero come un errore"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Gestione degli attributi dei file:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "Forza NOME come proprietario per i file aggiunti"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "Forza NOME come gruppo per i file aggiunti"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATA-O-FILE"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "Imposta mtime per i file aggiunti da DATA-O-FILE"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "CAMBI"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "Forza il modo CAMBI (simbolico) per i file aggiunti"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODO"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"dopo la lettura (METODO=\"replace\"; predefinito) o impostando l'orario "
"all'inizio (METODO=\"system\")"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "Non estrae l'orario di ultima modifica del file"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
-msgstr "Cerca di estrarre i file con lo stesso proprietario"
+msgstr ""
+"Cerca di estrarre i file con lo stesso proprietario come presente "
+"nell'archivio (predefinito per il super utente)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "Estrae i file come l'utente attuale"
+msgstr ""
+"Estrae i file come l'utente attuale (predefinito per gli utenti normali)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "Usa sempre i numeri per i nomi di utente/gruppo"
-#: src/tar.c:510
+#: src/tar.c:511
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:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"Applica la umask dell'utente nell'estrarre i permessi dall'archivio "
"(predefinito per gli utenti normali)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "Ordina i nomi da estrarre come nell'archivio"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "Come -p e -s assieme"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"Ritarda l'impostazione dei tempi di modifica e dei permessi delle directory "
"estratte al termine dell'estrazione"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "Annulla l'effetto dell'opzione --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Selezione e cambio del device:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVIO"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "Usa come archivio il file o il dispositivo ARCHIVIO"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "L'archivio è locale anche se contiene \":\""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "Usa il COMANDO rmt indicato invece di rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "Usa il COMANDO remoto invece di rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "Indica drive e densità"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "Crea, elenca, estrae archivi multi-volume"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "Cambia il nastro dopo avere scritto NUMERO × 1024 byte"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "Esegue lo script alla fine di ogni nastro (implica -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "Usa/aggiorna il numero del volume nel FILE"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blocchi del device:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCCHI"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "Usa record di BLOCCHI × 512 byte"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "NUMERO di byte per record, multiplo di 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "Ignora i blocchi a zero nell'archivio (significa EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "Rifà i blocchi durante la lettura (per le pipe di 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Selezione formato di archiviazione:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMATO"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "Crea archivi nel formato indicato"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMATO è uno dei seguenti:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "Vecchio formato di tar V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "Formato GNU di tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "Formato GNU di tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "Formato POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "Formato POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "Come pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "Come --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "Come --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "PAROLA_CHIAVE[[:]=VALORE][,PAROLA_CHIAVE[[:]=VALORE], ...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "Controlla le parole chiavi di pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TESTO"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"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:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Opzioni di compressione:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
"Usa il suffisso dell'archivio per determinare il programma di compressione"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
"Non usa il suffisso dell'archivio per determinare il programma di "
"compressione"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "Filtra attraverso PROG (deve accettare -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Selezione dei file locali:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "Passa alla directory DIR"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "Prende i nomi da estrarre o creare dal file FILE"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T legge nomi terminati da NULL, disabilita -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "Disabilita l'effetto dell'opzione --null precedente"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
"Toglie i caratteri di citazione dai nomi dei file letti con -T (predefinito)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "Non toglie i caratteri di citazione dai nomi dei file letti con -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MODELLO"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "Esclude i file i cui nomi corrispondono a MODELLO"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "Esclude i modelli elencati in FILE"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il "
"file .TAG stesso"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "Esclude le directory contenenti CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
"Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso "
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "Esclude tutto quanto all'interno di directory contenenti FILE"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "Esclude le directory contenenti FILE"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "Esclude le directory dei sistemi di controllo della versione"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "Esclude i file di backup e di blocco"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "Non entra automaticamente nelle directory"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "Resta nel file system locale durante la creazione dell'archivio"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "Entra ricorsivamente nelle directory (predefinito)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "Non rimuove le \"/\" iniziali dai nomi dei file"
# (ndt) hmmm... non molto chiara...
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NOME"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "Inizia dal membro NOME nell'archivio"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "Archivia solo i file più recenti di DATA-O-FILE"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "Confronta data e ora solo quando il contenuto è cambiato"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROLLO"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRINGA"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable 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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Trasformazioni dei nomi di file:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
"Toglie NUMERO componenti iniziali dai nomi dei file durante l'estrazione"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "ESPRESSIONE"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "Non fa differenza tra maiuscole e minuscole"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "I modelli corrispondono all'inizio del nome del file"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
"I modelli corrispondono dopo ogni \"/\" (predefinito per le esclusioni)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "Considera diverse le maiuscole e le minuscole (predefinito)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "Corrispondenza letterale della stringa"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "I metacaratteri non corrispondono \"/\""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Output informativo:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "Elenca prolissamente i file elaborati"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "PAROLACHIAVE"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Controlli di sovrascrittura:"
+msgstr "Controllo di avviso"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
"Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito "
"10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "AZIONE"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "Esegue l'azione a ogni punto di controllo"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SEGNALE"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i "
"nomi senza il prefisso SIG"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr "Stampa le date di modifica dei file in formato UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "Stampa le date di modifica del file in formato UTC"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "Stampa la data del file in tutti i suoi dettagli"
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "Invia l'output prolisso al FILE"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "Chiede conferma per ogni azione"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "Mostra le impostazioni predefinite di tar"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"All'elencazione o all'estrazione, elenca ogni directory che non corrisponde "
"al criterio di ricerca"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STILE"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "Caratteri di citazione aggiuntivi da STRINGA"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "Disabilita la citazione per i caratteri dalla STRINGA"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Opzioni di compatibilità:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-"
"owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Altre opzioni:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Non è possibile indicare più di un'opzione \"-Acdtrux\""
+msgstr ""
+"Non è possibile indicare più di un'opzione \"-Acdtrux\" o \"--test-label\""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Conflitto tra le opzioni di compressione"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Nome del segnale sconosciuto: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "File campione della data non trovato"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Sostituzione di %s al posto del formato di data sconosciuto %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Opzione %s: la data \"%s\" viene considerata come %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: elenco file già letto"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: il nome di file letto contiene un carattere NULL"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "Filtra l'archivio attraverso xz"
+msgstr "Filtra l'archivio attraverso %s"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Argomenti validi per le opzioni --quoting-style sono:"
+msgstr "Argomenti validi per l'opzione --quoting-style sono:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
"\n"
-"Questo tar ha le seguenti impostazioni predefinite:\n"
+"Questa versione di tar ha le seguenti impostazioni predefinite:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Fattore del blocco non valido"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Lunghezza del nastro non valida"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "Formato file incrementale errato"
+msgstr "Valore del livello incrementale non valido"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Più di una data di soglia"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Valore versione sparsa non valido"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "Il valore --checkpoint non è un intero"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: gruppo non valido"
+msgstr "Gruppo non valido"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Modo fornito sull'opzione non valido"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Numero non valido"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Proprietario non valido"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"L'opzione --preserve è deprecata, usare --preserve-permissions --preserve-"
"order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Dimensione del record non valida"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Numero di elementi non valido"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Consentita solo un'opzione --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Argomento densità non corretto: \"%s\""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Densità sconosciuta: \"%c\""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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 questa versione di tar"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FILE]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "La vecchia opzione \"%c\" richiede un argomento."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence non ha senso senza un elenco di file"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence non può essere usata nel modo di operazioni richiesto"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Archivi multipli richiedono l'opzione \"-M\""
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Impossibile combinare --listed-incremental e --newer"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--preserve-order non è compatibile con --listed-incremental"
+msgstr "L'opzione --level non è utilizzabile senza --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, c-format
msgid "%s: Volume label is too long (limit is %lu byte)"
msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
msgstr[0] "%s: l'etichetta di volume è troppo lunga (il limite è %lu byte)"
msgstr[1] "%s: l'etichetta di volume è troppo lunga (il limite sono %lu byte)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Impossibile verificare archivi multi-volume"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Impossibile verificare archivi compressi"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Impossibile usare archivi multi-volume compressi"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Impossibile concatenare archivi compressi"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option può essere usata solo su archivi POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
"La lunghezza del volume non può essere minore della dimensione del record"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order non è compatibile con --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Rifiuto totale di creare un archivio vuoto"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\""
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "È necessario specificare una delle opzioni \"-Acdtrux\""
+msgstr ""
+"È necessario specificare una delle opzioni \"-Acdtrux\" o \"--test-label\""
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Uscita con stato di fallimento in base agli errori precedenti"
msgstr[0] "%s: il file si è ridotto di %s byte"
msgstr[1] "%s: il file si è ridotto di %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "La parola chiave %s è sconosciuta o non ancora implementata"
-#: src/xheader.c:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Numero fuori dall'intervallo consentito: %s"
+msgstr "Orario fuori dall'intervallo consentito"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Il modello %s non può essere usato"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "La parola chiave %s non può essere sostituita"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Intestazione estesa malformata: manca la lunghezza"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "La lunghezza intestazione estesa è fuori dall'intervallo consentito"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "La lunghezza dell'intestazione estesa %*s è fuori dall'intervallo"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Intestazione estesa malformata: manca lo spazio dopo la lunghezza"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Intestazione estesa malformata: manca il segno di uguale"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Intestazione estesa malformata: manca un newline"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "L'intestazione estesa %s=%s è fuori dall'intervallo %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Intestazione estesa malformata: %s=%s non valido"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Intestazione estesa malformata: %s=%s in eccesso"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Intestazione estesa malformata: %s non valido: delimitatore %c non atteso"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Punto di controllo di lettura %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile manipola i file per la suite di test GNU paxutils.\n"
"Le opzioni sono:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Opzioni di creazione file:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "DIMENSIONE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Crea file della DIMENSIONE indicata"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Scrive sul file NOME invece dello standard output"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Legge i nomi dei file da FILE"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T legge nomi terminati da NULL"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Riempie il file con il MODELLO fornito. MODELLO è \"default\" o \"zeros\""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Dimensione del blocco per il file sparso"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
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:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "OFFSET"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Si posiziona all'OFFSET indicato prima di scrivere i dati"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Opzioni per le statistiche:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
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:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Opzioni di esecuzione sincrona:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [OPZIONE...]"
+msgstr "OPZIONE"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-"Esegue il COMANDO dato. Utile con --checkpoint e uno tra --cut, --append, --"
-"touch"
+"Esegue ARGOMENTI. Utile con --checkpoint e uno tra --cut, --append, --touch, "
+"--unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
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:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Imposta la data per l'opzione --touch successiva"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
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:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Azioni di esecuzione sincrona. Queste sono eseguite quando viene raggiunto "
"il punto di controllo fornito dall'opzione --checkpoint."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Tronca il FILE alla dimensione specificata dall'opzione --length precedente "
"(0 se non viene fornita)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
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:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Aggiorna l'orario di accesso e modifica del FILE"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Esegue il COMANDO"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "Esegue l'unlink di FILE"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Dimensione non valida: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Numero fuori dall'intervallo consentito: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Dimensione negativa: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) non riuscita"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "lunghezza file richiesta %lu, effettiva %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "il file creato non è sparso"
# (ndt) ?
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Errore nell'analizzare il numero vicino a \"%s\""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Formato data non conosciuto"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGOMENTI...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "impossibile aprire \"%s\""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "impossibile eseguire seek"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "il nome del file contiene caratteri NULL"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"file"
# (ndt) ?
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "maschera non corretta (vicino a \"%s\")"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Campo \"%s\" sconosciuto"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "impossibile impostare l'orario su \"%s\""
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "impossibile aprire \"%s\""
+msgstr "impossibile eseguire l'unlink di %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Comando eseguito con successo\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Comando non riuscito con lo stato %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Comando terminato al segnale %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Comando fermato al segnale %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Il comando ha fatto un dump del core\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Comando terminato\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat richiede i nomi dei file"
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opzione non lecita -- %c\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Segnalare i bug a <%s>.\n"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Lettura di %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Errore irrimediabile: uscita immediata"
-
-#~ msgid "suppress this warning."
-#~ msgstr "per disattivare questo avviso."
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "Filtra l'archivio attraverso bzip2"
-
-#~ msgid "filter the archive through gzip"
-#~ msgstr "Filtra l'archivio attraverso gzip"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "Filtra l'archivio attraverso compress"
-
-#~ msgid "filter the archive through lzma"
-#~ msgstr "Filtra l'archivio attraverso lzma"
-
-#~ msgid "filter the archive through lzop"
-#~ msgstr "Filtra l'archivio attraverso lzop"
-
-#~ msgid "Input string too long"
-#~ msgstr "Stringa di input troppo lunga"
-
-#~ msgid "Number syntax error"
-#~ msgstr "Errore nella sintassi del numero"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: impossibile allocare spazio per il buffer\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Impossibile allocare spazio per il buffer"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "Usare \"%s --help\" per ulteriori informazioni.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ " --version Output version info.\n"
-#~ " --help Output this help.\n"
-#~ msgstr ""
-#~ "Uso: %s [OPZIONE]\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"
-
-#~ msgid "Seek offset error"
-#~ msgstr "Errore offset di seek"
-
-#~ msgid "Premature end of file"
-#~ msgstr "Prematura fine del file"
-
-#~ msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
-#~ msgstr ""
-#~ "Attenzione: l'opzione -I non è supportata; forse si intendeva usare -j o -"
-#~ "T?"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Impossibile salvare la directory di lavoro"
-# Japanese messages for GNU tar 1.22.91
+# Japanese messages for GNU tar 1.23.90
# Copyright (C) 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
# Masahito Yamaga <ma@yama-ga.com>, 2010.
# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 1999-2001.
# Masahito Yamaga <yamaga@ipc.chiba-u.ac.jp>, 2007.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: GNU tar 1.22.91\n"
+"Project-Id-Version: GNU tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-13 10:46+0900\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-12 18:03+0900\n"
"Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=EUC-JP\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Þ¤Ç.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼"
msgid "give a short usage message"
msgstr "û¤¤»ÈÍÑË¡¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAME"
msgid "write error"
msgstr "½ñ¤¹þ¤ß¥¨¥é¡¼"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '%c%s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó '%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó '--%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ̤ÃΤΥª¥×¥·¥ç¥ó '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: ¥ª¥×¥·¥ç¥ó '-W %s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "¥á¥â¥ê¤ò»È¤¤ÀÚ¤ê¤Þ¤·¤¿"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "%s ¤ËÀܳ¤Ç¤¤Þ¤»¤ó: ̾Á°²ò·è¼ºÇÔ"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "±ó³Ö¥·¥§¥ë¤¬¼Â¹Ô¤Ç¤¤Þ¤»¤ó"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "¸¡º÷Êý¸þ¤¬Èϰϳ°"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "̵¸ú¤Ê¸¡º÷Êý¸þ"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "̵¸ú¤Ê¸¡º÷¥ª¥Õ¥»¥Ã¥È"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "¸¡º÷¥ª¥Õ¥»¥Ã¥È¤¬Èϰϳ°"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "̵¸ú¤Ê¥Ð¥¤¥È¿ô"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "¥Ð¥¤¥È¿ô¤¬Èϰϳ°"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "¥Õ¥¡¥¤¥ë¤ÎÅÓÃæ½ªÎ»"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "̵¸ú¤ÊÁàºî¥³¡¼¥É"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤Áàºî"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "ͽ´ü¤»¤Ì°ú¿ô"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "±ó³Ö¥×¥í¥»¥¹¤«¤é¤ÎÌ¿Îá¤ò¼õ¤±ÉÕ¤±¤Æ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÁàºî"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NUMBER"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë¤òÀßÄê"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FILE"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "¥Ç¥Ð¥Ã¥°½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤òÀßÄê"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "%s ¤ò³«¤±¤Þ¤»¤ó"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "ÉÔÍפʥ³¥Þ¥ó¥É"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "¤³¤ì¤Ï tar ¥¢¡¼¥«¥¤¥Ö¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Áí½ñ¤½Ð¤·¥Ð¥¤¥È¿ô"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "ÁíÆÉ¤ß¹þ¤ß¥Ð¥¤¥È¿ô"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Áíºï½ü¥Ð¥¤¥È¿ô: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(¥Ñ¥¤¥×)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "record_size ¤¬Ìµ¸ú¤ÊÃͤǤ¹"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "¥¢¡¼¥«¥¤¥Ö̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "ɸ½àÆþ½ÐÎϤΥ¢¡¼¥«¥¤¥Ö¤Ï¸¡¾Ú¤Ç¤¤Þ¤»¤ó"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹. %s ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤¤Þ¤»¤ó"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "¥Æ¡¼¥×¤ÎÀèÆ¬¤Ç¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "¥¨¥é¡¼¤¬Â¿¤¹¤®¤Þ¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "µÏ¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
msgstr[1] "µÏ¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò¸å¤íÊý¸þ¤ËÌ᤻¤Þ¤»¤ó. -i ¤Ê¤·¤Ç¤ÏÆÉ¤á¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó."
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek ¤òµÏ¿¤Î¶³¦¤Ç»ß¤á¤Þ¤»¤ó"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: ̵¸ú¤Ê¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "¥Ü¥ê¥å¡¼¥àÈֹ椬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "¥Ü¥ê¥å¡¼¥à #%d (%s) ¤ò½àÈ÷¤·¤Þ¤¹. ¥ê¥¿¡¼¥ó¥¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "¥æ¡¼¥¶¤¬±þÅú¤¹¤ë EOF ¤¬É¬ÍפȤʤê¤Þ¤¹"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "·Ù¹ð: ¥¢¡¼¥«¥¤¥Ö¤¬ÉÔ´°Á´¤Ç¤¹"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q tar ¤ò½ªÎ»\n"
" y ¤Þ¤¿¤Ï²þ¹Ô Áàºî¤ò·Ñ³\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! ¥µ¥Ö¥·¥§¥ë¤òµ¯Æ°\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? ¤³¤Î¥ê¥¹¥È¤òɽ¼¨\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "¿·¤·¤¤¥Ü¥ê¥å¡¼¥à¤¬¤¢¤ê¤Þ¤»¤ó. ½ªÎ»¤·¤Þ¤¹.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤¦°ìÅÙ.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "ÉÔÀµ¤ÊÆþÎÏ. ? ¤Ç¥Ø¥ë¥×¤òɽ¼¨\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
"%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤Ç¤ª¤½¤é¤¯Ï¢Â³¤·¤Æ¤¤¤Þ¤¹: ¥Ø¥Ã¥À¤Ï¾Êά¤µ¤ì¤¿Ì¾Á°¤ò´Þ¤ó¤Ç"
"¤¤¤Þ¤¹"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s ¤ÏÉÔÀµ¤Ê¥µ¥¤¥º¤Ç¤¹ (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "¤³¤Î¥Ü¥ê¥å¡¼¥à¤ÏϢ³¤·¤Æ¤¤¤Þ¤»¤ó (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï %s ¤Ë°ìÃפ¹¤ë¥é¥Ù¥ë¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "¥Ü¥ê¥å¡¼¥à %s ¤Ï %s ¤Ë°ìÃפ·¤Þ¤»¤ó"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤Æ GNU ¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À¤ËÊݸ¤Ç¤¤Ê¤¤¤Î¤ÇÀÚ¤ê¼Î¤Æ"
"¤Þ¤¹"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "½ñ¤¹þ¤ß¤¬¥Ö¥í¥Ã¥¯¶³¦¤Ç½ª¤ï¤Ã¤Æ¤¤¤Þ¤»¤ó"
msgstr[0] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤·¤¿"
msgstr[1] "%lu ¥Ð¥¤¥È¤À¤±¤ò %lu ¥Ð¥¤¥È¤«¤éÆÉ¤ß¹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤·¤¿"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "ÆâÍÆ¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Ëͽ´ü¤»¤Ì EOF ¤¬¤¢¤ê¤Þ¤¹"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "¥â¡¼¥É¤¬°Û¤Ê¤ê¤Þ¤¹"
msgid "Mod time differs"
msgstr "ºÇ½ª½¤Àµ»þ¹ï¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "¥µ¥¤¥º¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "%s ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤Þ¤»¤ó"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬°Û¤Ê¤ê¤Þ¤¹"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "¥Ç¥Ð¥¤¥¹Èֹ椬°ã¤¤¤Þ¤¹"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "¸¡¾Ú"
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× `%c', Ä̾ï¥Õ¥¡¥¤¥ë¤Èº¹Ê¬¤ò¼è¤ê¤Þ¤¹"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤ËÀÜÆ¬¼¤¬ºï½ü¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤¹."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "¸µ¤Î¥Õ¥¡¥¤¥ë¤Î½êºß³Îǧ¤Ë¼ºÇÔ¤·¤¿²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
msgstr[1] "³Îǧ¼ºÇÔ: %d ¸Ä¤Î̵¸ú¤Ê¥Ø¥Ã¥À¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
-msgstr "%s ¤ËŤ¤¥¼¥í¥Ö¥í¥Ã¥¯"
+msgstr "%s ¤Ë¸ÉΩ¤·¤¿¥¼¥í¥Ö¥í¥Ã¥¯"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: ¥¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê ¥¿¥° %s ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó -- %s ¤òÂåÍÑ"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "ÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Éé¤Î 8 ¿Ê¥Ø¥Ã¥À¤òÀ¸À®¤·¤Þ¤¹"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ºÇÂç %d) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤ë (ʬ³äÉÔǽ) ¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: ¥ê¥ó¥¯Ì¾¤¬Ä¹²á¤®¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹"
msgstr[1] "%s: %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥¼¥í¤ÇËä¤á¤Þ¤¹"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "ÆâÍÆ¤ò¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: ̤ÃΤΥե¡¥¤¥ë·Á¼°; ¥Õ¥¡¥¤¥ë¤Ï̵»ë¤µ¤ì¤Þ¤¹"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "%s ¤Ø¤Î¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: Êѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: ¤Ï¥¢¡¼¥«¥¤¥Ö¤Ê¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥ó¥×¤·¤Þ¤»¤ó"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: ÆÉ¤ß¹þ¤ó¤À¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: ¥½¥±¥Ã¥È¤Ï̵»ë¤·¤Þ¤¹"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door ¤Ï̵»ë¤·¤Þ¤¹"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "¼¡¤Î¥Ø¥Ã¥À¤ò¥¹¥¥Ã¥×¤·¤Þ¤¹"
msgid "Deleting non-header from archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Ø¥Ã¥À¤Ç¤Ê¤¤¤â¤Î¤òºï½ü¤·¤Þ¤¹"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: ¶²¤é¤¯¸Å¤¤¥¿¥¤¥à¥¹¥¿¥ó¥× %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥× %s ¤Ï %s ÉÃÀè¤ò¼¨¤·¤Æ¤¤¤Þ¤¹"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥êºîÀ®»þ¤ËÉÔ¬¤ÎÌ·½â¤¬µ¯¤³¤ê¤Þ¤·¤¿"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾õÂÖ¤òŸ³«¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ëÁ°¤Ë̾Á°¤òÊѹ¹¤µ¤ì¤Þ¤·¤¿"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Ϣ³¤·¤¿¥Õ¥¡¥¤¥ë¤òÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¤ß¤Þ¤¹"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: ¼è¤ê½Ð¤»¤Þ¤»¤ó -- ¥Õ¥¡¥¤¥ë¤ÏÊ̤Υܥê¥å¡¼¥à¤«¤é³¤¤¤Æ¤¤¤Þ¤¹"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "ͽ´ü¤»¤ÌŤ¤Ì¾Á°¥Ø¥Ã¥À"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: ̤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤È¤·¤ÆÃê½Ð"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "¸½ºß¤Î %s ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s ¤Î̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤¤Þ¤»¤ó"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬ %s ¤«¤éÊѹ¹¤µ¤ì¤Þ¤·¤¿"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¿·¤·¤¯ºî¤é¤ì¤Þ¤·¤¿"
msgid "%s: Cannot remove"
msgstr "%s: ºï½ü¤Ç¤¤Þ¤»¤ó"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: ¾Êά¤·¤Þ¤¹"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "¥Ö¥í¥Ã¥¯ %s: ** NUL ¤Î¥Ö¥í¥Ã¥¯ **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "¥Ö¥í¥Ã¥¯ %s: ** ¥Õ¥¡¥¤¥ë¤Î½ªÃ¼ **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "¥Ö¥í¥Ã¥¯ %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "É乿ÉÕ¤ base-64 ʸ»úÎó %s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s Æâ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " %s ¤Ø¤Î¥ê¥ó¥¯\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¥¿¥¤¥× %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Ť¤¥ê¥ó¥¯--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Ť¤Ì¾Á°--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--¥Ð¥¤¥È %s ¤ÇϢ³--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤Ç¤¤Þ¤»¤ó"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÊѹ¹¤·¤Þ¤¹\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: ̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤¤Þ¤»¤ó"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "̾Á°¤ò %s ¤«¤é %s ¤ËÌᤷ¤Þ¤¹\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òÊݸ¤Ç¤¤Þ¤»¤ó"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤Ç¤¤Þ¤»¤ó"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: ÆÉ¤ß¹þ¤ß°ÊÁ°¤Ëºï½ü¤µ¤ì¤Þ¤·¤¿"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: ÆÉ¤ß¹þ¤ßÁ°¤Ëºï½ü¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "»Ò¥×¥í¥»¥¹"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "¥×¥í¥»¥¹´Ö¥Á¥ã¥Í¥ë"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹."
+msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "--wildcards ¤Ç¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò͸ú¤Ë, ¤Þ¤¿ --no-wildcards ¤Ç"
+msgstr ""
+"¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò͸ú¤Ë¤¹¤ë¤Ê¤é --wildcards, ¤³¤Î·Ù¹ð¤òÍ޻ߤ¹¤ë¤Ê¤é --no-"
+"wildcards ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "¥¢¡¼¥«¥¤¥Ö¥é¥Ù¥ë¤¬°ìÃפ·¤Þ¤»¤ó"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"¥Õ¥¡¥¤¥ë¥ê¥¹¥ÈÆâ¤Ç -C ¥ª¥×¥·¥ç¥ó¤Ï --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤»¤ó"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "-C ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±¤Ê¤é --listed-incremental ¤È°ì½ï¤Ë»È¤¨¤Þ¤¹"
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr "ÉÔÌÀ¤Ê°úÍÑ·Á¼° `%s', `%s --quoting-style=help' ¤Ç°ìÍ÷ɽ¼¨."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -tvf archive.tar # archive.tar Æâ¤ÎÁ´¥Õ¥¡¥¤¥ë¤ò¾Ü¤·¤¯°ìÍ÷ɽ¼¨\n"
" tar -xf archive.tar # archive.tar ¤«¤éÁ´¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" ¤½¤¦¤Ç¤Ê¤±¤ì¤Ðñ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
" never, simple ¾ï¤Ëñ½ã¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "¼çÁàºî¥â¡¼¥É:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍÆ¤ò°ìÍ÷ɽ¼¨"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Î°ã¤¤¤ò¸«ÉÕ¤±¤ë"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎËöÈø¤Ë¥Õ¥¡¥¤¥ë¤òÄɲÃ"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤òÄɲÃ"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë tar ¥Õ¥¡¥¤¥ë¤òÄɲÃ"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤éºï½ü (¼§µ¤¥Æ¡¼¥×¾å¤Ç¤Ï¥À¥á!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Î¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤ò¥Æ¥¹¥È¤·¤Æ½ªÎ»"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Áàºî¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÉղõ¡Ç½:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "¤Þ¤Ð¤é¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¸ú²ÌŪ¤Ë½èÍý"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "¤Þ¤Ð¤é (sparse) ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄê (--sparse ¤Î°ÕÌ£¤ò´Þ¤à)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "¸Å¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "¿·¤·¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "ºî¤é¤ì¤¿ listed-incremental ¥¢¡¼¥«¥¤¥Ö¤ËÂФ¹¤ë¥À¥ó¥×¥ì¥Ù¥ë"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "ÆÉ¤ß¹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¾å¤ËÈó¥¼¥í¤Î¾õÂ֤Ǹºß¤·¤Þ¤»¤ó"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤« -T ¥ª¥×¥·¥ç¥ó·Ðͳ¤Î¤É¤Á¤é¤«¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Î"
"¤ß͸ú. NUMBER ¤Ïɸ½à¤Ç 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò¥Á¥§¥Ã¥¯¤¹¤ë (ɸ½à)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "À©¸æ¤ò¾å½ñ¤:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤½Ð¤·¤¿¸å¤Ë¸¡¾Ú"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤Ë²Ã¤¨¤¿¸å¤Çºï½ü"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤´¹¤¨¤Ê¤¤"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "¥¢¡¼¥«¥¤¥Ö¥³¥Ô¡¼¤è¤ê¿·¤·¤¤´û¸¥Õ¥¡¥¤¥ë¤òÃÖ¤´¹¤¨¤Ê¤¤"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "³Æ¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¾å½ñ¤¤¹¤ëÁ°¤Ëºï½ü"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼è¤ê½Ð¤¹Á°¤Ë³¬Áؤò¶õ¤Ë"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤òÊݸ"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤ò¾å½ñ¤ (ɸ½à)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÁªÂò"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÉ¸½à½ÐÎϤ˽ÐÎÏ"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "COMMAND"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÊÌ¤Î¥×¥í¥°¥é¥à¤Ë½ÐÎÏ"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "»Ò¥×¥í¥»¥¹¤Î½ªÎ»¥³¡¼¥É¤ò̵»ë"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "»Ò¥×¥í¥»¥¹¤ÎÈó¥¼¥í½ªÎ»¥³¡¼¥É¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "¥Õ¥¡¥¤¥ë°À¤Î½èÍý"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î½êͼԤò NAME ¤ËÊѹ¹"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤ò NAME ¤ËÊѹ¹"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATE-OR-FILE"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "DATE-OR-FILE ¤«¤éÄɲåե¡¥¤¥ë¤Î mtime ¤òÀßÄê"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "CHANGES"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î (¥·¥ó¥Ü¥ê¥Ã¥¯) ¥â¡¼¥É¤ò CHANGES ¤ËÊѹ¹"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METHOD"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ò, ÆÉ¤ß¹þ¤ß¸å¤ËÉü¸µ¤¹¤ë (METHOD='replace'; ɸ½à) ¤«ºÇ½é¤ËÀß"
"Äꤷ¤Ê¤¤ (METHOD='system') ¤«¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¥À¥ó¥×¥Õ¥¡¥¤¥ë¾å¤Ç°Ý»ý"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò¼è¤ê½Ð¤µ¤Ê¤¤"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"¥¢¡¼¥«¥¤¥ÖÆâ¤ÈƱ¤¸½êͼԤΤޤޤǥե¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¤ß¤ë (¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ç¤Ï"
"¥Ç¥Õ¥©¥ë¥È)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr "¤¢¤Ê¤¿¼«¿È¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤¹ (°ìÈ̥桼¥¶¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "¥æ¡¼¥¶Ì¾/¥°¥ë¡¼¥×̾¤È¤·¤Æ¾ï¤Ë¿ô»ú¤ò»È¤¦"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "¥Õ¥¡¥¤¥ë°À¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃê½Ð (superuser ¤Ç¤Ïɸ½à)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
"¥¢¡¼¥«¥¤¥Ö¤«¤é°À¤òÃê½Ð¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤Î umask ¤òŬÍÑ (°ìÈ̥桼¥¶¤Ç¤Ïɸ½à)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Þ¥Ã¥Á¤µ¤»¤ë¤¿¤á¤Ë¼è¤ê½Ð¤¹Ì¾Á°¤òʤÓÂØ¤¨"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
"Ãê½Ð¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÃê½Ð¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤È°À¤ÎÀßÄê¤òÃ٤餻¤ë"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "¥Ç¥Ð¥¤¥¹¤ÎÁªÂò¤ÈÀÚÂØ:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVE"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹ ARCHIVE ¤ò»ÈÍÑ"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ï¥³¥í¥ó¤ò´Þ¤ó¤Ç¤¤¤Æ¤â¥í¡¼¥«¥ë"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "»ØÄꤵ¤ì¤¿ rmt COMMAND ¤ò rmt ¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "rsh ¤ÎÂå¤ï¤ê¤Ë COMMAND ¤ò»ÈÍÑ"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "¥É¥é¥¤¥Ö¤ÈÌ©ÅÙ¤ò»ØÄê"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®/°ìÍ÷/Ãê½Ð"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "NUMBER x 1024 ¥Ð¥¤¥È¤ò½ñ¤½Ð¤·¤¿¸å¤Ç¥Æ¡¼¥×¤òÊѹ¹"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "³Æ¡¹¤Î¥Æ¡¼¥×¤ÎºÇ¸å¤Ç¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô (-M ɬ¿Ü)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "FILE Ãæ¤Î¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò»ÈÍÑ/¹¹¿·"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥¥ó¥°:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCKS"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê BLOCKS x 512 ¥Ð¥¤¥È"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê NUMBER ¥Ð¥¤¥È. 512 ¤ÎÇÜ¿ô"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥¼¥í¥Ö¥í¥Ã¥¯ (¤Ä¤Þ¤ê EOF) ¤ò̵»ë"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "ÆÉ¤ß½Ð¤·¤¿¤è¤¦¤ËºÆ¥Ö¥í¥Ã¥¯ (4.2BSD ¥Ñ¥¤¥×ÍÑ)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "¥¢¡¼¥«¥¤¥Ö·Á¼°¤ÎÁªÂò"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "»ØÄꤵ¤ì¤¿·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT ¤Ï¼¡¤Î¤¦¤Á¤Î 1¤Ä:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "¸Å¤¤ V7 tar ·Á¼°"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU tar 1.12 °ÊÁ°¤Î·Á¼°"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x ·Á¼°"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) ·Á¼°"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) ·Á¼°"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "pax ¤ÈƱ¤¸"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "--format=v7 ¤ÈƱ¤¸"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "--format=posix ¤ÈƱ¤¸"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "keyword[[:]=value][,keyword[[:]=value]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "pax ¥¡¼¥ï¡¼¥É¤òÀ©¸æ"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXT"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"¥Ü¥ê¥å¡¼¥à̾ TEXT ¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®. °ìÍ÷/Ãê½Ð»þ¤Ë TEXT ¤ò¥Ü¥ê¥å¡¼¥à̾¤ËÂФ¹"
"¤ëÃê½Ð¥Ñ¥¿¡¼¥ó¤Ë»ÈÍÑ"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼¤ò»ÈÍѤ¹¤ë"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼¤ò»ÈÍѤ·¤Ê¤¤"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "PROG ·Ðͳ¤Ç¥Õ¥£¥ë¥¿ (-d ¤ò¼õ¤±ÉÕ¤±¤ëɬÍפ¢¤ê)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ëÁªÂò:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
"»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà (¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ"
"Íø)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°Üư"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆÉ¤ß¹þ¤ß, -C ¤ò̵¸ú²½"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "Á°¤Î --null ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò̵¸ú²½"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "-T ¤ÇÆÉ¤ß¹þ¤ó¤À¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "-T ¤ÇÆÉ¤ß¹þ¤ó¤¿¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤·¤Ê¤¤"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATTERN"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ¤ò½ü³°"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ¤ò½ü³°"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ü³°¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÂÄê"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "¥Õ¥¡¥¤¥ë̾¤«¤éÀèÆ¬¤Î `/' ¤ò¼è¤ê½ü¤«¤Ê¤¤"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "MEMBER-NAME"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥á¥ó¥Ð¡¼ MEMBER-NAME ¤Ç³«»Ï"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "DATE-OR-FILE ¤è¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤ò³ÊǼ"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATE"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿»þ¤À¤±ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤òÈæ³Ó"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "ºï½üÁ°¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò CONTROL ¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRING"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"ºï½üÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×, Ä̾ï¤ÎÀÜÈø¼ (´Ä¶ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬Ì¤ÀßÄê¤Ê"
"¤é '~') ¤ò¾å½ñ¤"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "¥Õ¥¡¥¤¥ë̾ÊÑ´¹:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèÆ¬¤Î NUMER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "EXPRESSION"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊÑ´¹¤Ë sed ¤ÎÃÖ´¹ EXPRESSION ¤ò»ÈÍÑ"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèÆ¬¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "Ǥ°Õ¤Î `/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃפ·¤Ê¤¤"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "¾ðÊó:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "½èÍý¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾éŤËɽ¼¨"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "KEYWORD"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "·Ù²ü´ÉÀ©"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "NUMBER (ɸ½à 10) ÈÖÌܤεϿ¤´¤È¤Ë¿ÊĽ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ACTION"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "³Æ¸¡Ìä¤Ç ACTION ¤ò¼Â¹Ô"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "Á´¤Æ¤Î¥ê¥ó¥¯¤¬¥À¥ó¥×¤µ¤ì¤Ê¤¤¾ì¹ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"»þ¤ËÁí¥Ð¥¤¥È¿ô¤òɽ¼¨. µö²Ä¤µ¤ì¤¿ SIGNAL ¤Ï: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
"¤ª¤è¤Ó SIGUSR2. SIG ÀÜÆ¬¼¤¬¤Ê¤¤Ì¾Á°¤Ç¤â²Ä"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·ÆüÉÕ¤ò UTC ¤Çɽ¼¨"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò UTC ¤Çɽ¼¨"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "¥Õ¥¡¥¤¥ë¤Î»þ¹ï¾ðÊó¤ò´°Á´·Á¼°¤Çɽ¼¨"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "¾éĹ½ÐÎϤò FILE ¤ËÁ÷¿®"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Ö¥í¥Ã¥¯¿ô¤ò³Æ¡¹¥á¥Ã¥»¡¼¥¸ÉÕ¤¤Çɽ¼¨"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "Á´¤Æ¤Îưºî¤ò³Îǧ"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "tar ¤Îµ¬ÄêÃͤòɽ¼¨"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr "°ìÍ÷¤äÃê½Ð»þ¤Ë, ¸¡º÷´ð½à¤Ë°ìÃפ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò³Æ¡¹°ìÍ÷ɽ¼¨"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "ÊÖ´Ô¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STYLE"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "̾Á°°úÍÑ·Á¼°¤òÀßÄê. ͸ú¤Ê STYLE Ãͤϲ¼µ»²¾È."
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "¹¹¤Ë STRING ¤«¤éʸ»ú¤ò°úÍÑ"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "STRING ¤«¤é¤Îʸ»ú°úÍѤò̵¸ú¤Ë"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "¸ß´¹¥ª¥×¥·¥ç¥ó:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr "ºîÀ®»þ¤Ï --old-archive ¤ÈƱ¤¸. Ãê½Ð»þ¤Ï --no-same-owner ¤ÈƱ¤¸"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "¤½¤Î¾¥ª¥×¥·¥ç¥ó:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "ÀøºßŪ¤Ë³²¤Ë¤Ê¤ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò̵¸ú¤Ë"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"`-Acdtrux' ¤Þ¤¿¤Ï `--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á 2¤Ä°Ê¾å»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ"
"¤»¤ó"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó¤¬¿©¤¤°ã¤Ã¤Æ¤¤¤Þ¤¹"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "̤ÃΤΥ·¥°¥Ê¥ë̾: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "ÆüÉÕ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "̤ÃÎ¤ÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î %2$s Âå¤ï¤ê¤Ë %1$s ¤È¤·¤Þ¤¹"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "¥ª¥×¥·¥ç¥ó %s: `%s' ¤ò %s ¤È¤·¤Æ°·¤¦"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: ¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤ËÆÉ¤ß¹þ¤ßºÑ¤ß"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: ÆÉ¤ß¹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "%s ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "--quoting-style ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë͸ú¤Ê°ú¿ô:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"¡Ö¤³¤Î¡×tar ¤Îµ¬ÄêÃÍ:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "̵¸ú¤Ê¥Ö¥í¥Ã¥¥ó¥°°ø»Ò"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "̵¸ú¤Ê¥Æ¡¼¥×¤ÎŤµ"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "̵¸ú¤ÊÁýʬ¥ì¥Ù¥ëÃÍ"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "1¤Ä°Ê¾å¤ÎÉßµï¤È¤Ê¤ëÆüÉÕ"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "̵¸ú¤Ê¤Þ¤Ð¤é (sparse) ¥Ð¡¼¥¸¥ç¥óÃÍ"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint ÃͤÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "̵¸ú¤Ê¥°¥ë¡¼¥×"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ï̵¸ú¤Ç¤¹"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "̵¸ú¤Ê¿ô"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "̵¸ú¤Ê½êͼÔ"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"--preserve ¥ª¥×¥·¥ç¥ó¤ÏÇÑ»ßͽÄê¤Ê¤Î¤Ç, Âå¤ï¤ê¤Ë --preserve-permissions --"
"preserve-order ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "̵¸ú¤ÊµÏ¿¥µ¥¤¥º"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "µÏ¿¥µ¥¤¥º¤Ï %d ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "̵¸ú¤Ê¥¨¥ì¥á¥ó¥È¿ô"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "--to-command ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±µö²Ä"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "ÉÔÀµ·Á¼°¤ÎÌ©ÅÙ°ú¿ô: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "̤ÃΤÎÌ©ÅÙ: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "¥ª¥×¥·¥ç¥ó `-[0-7][lmh]' ¤Ï¡Ö¤³¤Î¡×tar ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[¥Õ¥¡¥¤¥ë]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "¸Å¤¤¥ª¥×¥·¥ç¥ó `%c' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence ¤Ï¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¤Ê¤±¤ì¤Ð̵°ÕÌ£"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence ¤ÏÍ׵ᤵ¤ì¤¿Áàºî¥â¡¼¥É¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "ʬ³ä·¿¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë¤Ï `-M' ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental ¤È --newer ¤È¤ò·ë¹ç¤Ç¤¤Þ¤»¤ó"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "--listed-incremental ¤Ê¤·¤Î --level ¤Ï̵°ÕÌ£¤Ç¤¹"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò³Îǧ¤Ç¤¤Þ¤»¤ó"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï³Îǧ¤Ç¤¤Þ¤»¤ó"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Ë°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï»È¤¨¤Þ¤»¤ó"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÏ¢·ë¤Ç¤¤Þ¤»¤ó"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "¥Ü¥ê¥å¡¼¥àĹ¤Ï¥ì¥³¡¼¥É¥µ¥¤¥º¤è¤ê¾®¤µ¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order ¤Ï --listed-incremental ¤ÈξΩ¤·¤Þ¤»¤ó"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "¶õ¤Î¥¢¡¼¥«¥¤¥ÖºîÀ®¤Ï¤´ÍƼϴꤤ¤Þ¤¹"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "¥ª¥×¥·¥ç¥ó `-Aru' ¤È `-f -' ¤È¤ÏÁêÍÆ¤ì¤Þ¤»¤ó"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr ""
"`-Acdtrux' ¤Þ¤¿¤Ï `--test-label' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¡¢¤¤¤º¤ì¤« 1¤Ä¤ò»ØÄꤷ¤Ê¤±¤ì"
"¤Ð¤Ê¤ê¤Þ¤»¤ó"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Á°¤Î¥¨¥é¡¼¤Ë¤è¤ê¼ºÇÔ¥¹¥Æ¡¼¥¿¥¹¤Ç½ªÎ»¤·¤Þ¤¹"
msgstr[0] "%s: ¥Õ¥¡¥¤¥ë¤¬ %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
msgstr[1] "%s: ¥Õ¥¡¥¤¥ë¤¬ %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "¥¡¼¥ï¡¼¥É %s ¤Ï̤ÃΤޤ¿¤Ï̤¼ÂÁõ"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬µö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "¥Ñ¥¿¡¼¥ó %s ¤Ï»È¤¨¤Þ¤»¤ó"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "¥¡¼¥ï¡¼¥É %s ¤Ïʤ¤»¤Þ¤»¤ó"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ťµ¤Î»ØÄ꤬¤¢¤ê¤Þ¤»¤ó"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ¤Ïµö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ %*s ¤ÏÈϰϳ°¤Ç¤¹"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ťµ¤Î¸å¤Ë¥Ö¥é¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: = (¥¤¥³¡¼¥ë) µ¹æ¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: ²þ¹Ô¤¬¤¢¤ê¤Þ¤»¤ó"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "̤ÃΤγÈÄ¥¥Ø¥Ã¥À¥¡¼¥ï¡¼¥É `%s' ¤ò̵»ë"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "³ÈÄ¥¥Ø¥Ã¥À %s=%s ¤Ï %s..%s ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ê¤Þ¤»¤ó"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤ÏÉÔÀµ"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤Ï;ʬ"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ͽ´ü¤»¤Ì¶èÀÚ¤êʸ»ú %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ´ñ¿ôÃÍ"
msgid "Read checkpoint %u"
msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È %u ¤òÆÉ¤ß¹þ¤ß¤Þ¤¹"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile ¤Ï GNU paxutils ¥Æ¥¹¥È¥»¥Ã¥È¤ËÂФ·¤Æ¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹.\n"
"¥ª¥×¥·¥ç¥ó¤Ï:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "¥Õ¥¡¥¤¥ëºîÀ®¥ª¥×¥·¥ç¥ó:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "SIZE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "»ØÄꤵ¤ì¤¿ SIZE ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "ɸ½à½ÐÎϤÎÂå¤ï¤ê¤Ë¥Õ¥¡¥¤¥ë NAME ¤Ë½ÐÎÏ"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "FILE ¤«¤é¥Õ¥¡¥¤¥ë̾¤òÆÉ¤ß¹þ¤ß"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T ¤Ï null ¤Ç½ª¤ï¤ë̾Á°¤òÆÉ¤ß¹þ¤ß¤Þ¤¹"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"»ØÄꤵ¤ì¤¿ PATTERN ¤Ç¥Õ¥¡¥¤¥ë¤òËä¤á¤Þ¤¹. PATTERN ¤Ï 'default' ¤Þ¤¿¤Ï 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òÀ¸À®. »Ä¤ê¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¥Õ¥¡¥¤¥ë¥Þ¥Ã¥×¤ò»ØÄê."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "¥ª¥Õ¥»¥Ã¥È"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "¥Ç¡¼¥¿¤ò½ñ¤½Ð¤¹Á°¤Ë»ØÄꤵ¤ì¤¿¥ª¥Õ¥»¥Ã¥È¤Þ¤Ç¸¡º÷"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "¥Õ¥¡¥¤¥ëÅý·×¥ª¥×¥·¥ç¥ó:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "³Æ¡¹¤Î»ØÄê¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ struct stat ¤ÎÆâÍÆ¤òɽ¼¨. ɸ½à FORMAT ¤Ï: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Ʊ»þ¼Â¹Ô¥ª¥×¥·¥ç¥ó:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "OPTION"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"ARGS ¤ò¼Â¹Ô. --checkpoint ¤ª¤è¤Ó --cut, --append, --touch, --unlink ¤ÎÃæ¤Î 1"
"¤Ä¤È¤È¤â¤Ë»ÈÍѤ¹¤ë¤È¤è¤¤"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È NUMBER Åþã»þ¤Ë»ØÄꤵ¤ì¤¿¥¢¥¯¥·¥ç¥ó (²¼µ»²¾È) ¤ò¼Â¹Ô"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "¼¡¤Î --touch ¥ª¥×¥·¥ç¥ó¤ÇÆüÉÕ¤òÀßÄê"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "¼Â¹Ô¤µ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È¤È COMMAND ¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤òɽ¼¨"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Ʊ»þ¼Â¹Ô¥¢¥¯¥·¥ç¥ó. ¤³¤ì¤é¤Ï --checkpoint option ¤Ç»ØÄꤵ¤ì¤¿¥Á¥§¥Ã¥¯¥Ý¥¤¥ó¥È"
"ÈÖ¹æ¤ËÅþ㤷¤¿¤È¤¤Ë¼Â¹Ô¤µ¤ì¤ë."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"FILE ¤ò --length ¥ª¥×¥·¥ç¥ó (¤Þ¤¿¤Ï»ØÄ꤬¤Ê¤±¤ì¤Ð 0) ¤Ç»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤ËÀÚ¤ê"
"¼Î¤Æ"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "FILE ¤Ë SIZE ¥Ð¥¤¥ÈÄɵ. SIZE ¤ÏÁ°¤Î --length ¥ª¥×¥·¥ç¥ó¤Ç»ØÄê."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "FILE ¤ÎºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ÈºÇ½ª¹¹¿·»þ¹ï¤ò¹¹¿·"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "COMMAND ¤ò¼Â¹Ô"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "FILE ¤ò unlink"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "̵¸ú¤Ê¥µ¥¤¥º: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Èֹ椬µö²Ä¤µ¤ì¤¿Èϰϳ°: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Éé¤Î¥µ¥¤¥º: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) ¼ºÇÔ"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "Í׵ᤵ¤ì¤¿¥Õ¥¡¥¤¥ëĹ %lu, ¼ÂºÝ¤ÎÃÍ %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¥¹¥Ñ¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "`%s' ¤Î¶á¤¯¤Ç¿ô»ú¤ò¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "̤ÃÎ¤ÎÆüÉÕ·Á¼°"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGS...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "`%s' ¤ò³«¤±¤Þ¤»¤ó"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "Áܤ·½Ð¤»¤Þ¤»¤ó"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "¥Õ¥¡¥¤¥ë̾¤¬¥Ì¥ëʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òɸ½à½ÐÎϤ˽ñ¤½Ð¤»¤Þ¤»¤ó. --file ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "ÉÔÀµ¤Ê¥Þ¥¹¥¯ (`%s' ¤Ë¶á¤¤)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "̤ÃΤΥե£¡¼¥ë¥É `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤¤Þ¤»¤ó"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "`%s' ¤ò unlink ¤Ç¤¤Þ¤»¤ó"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "¥³¥Þ¥ó¥É¤¬Àµ¾ï½ªÎ»\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "¥³¥Þ¥ó¥É¤¬¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç¼ºÇÔ\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤Ç½ªÎ»\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤ÇÄä»ß\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "¥³¥Þ¥ó¥É¤¬¥³¥¢¤ò¥À¥ó¥×\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "¥³¥Þ¥ó¥É¤¬½ªÎ»\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat ¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤¬É¬Í×"
-#~ msgid "Cannot resolve hostname %s"
-#~ msgstr "¥Û¥¹¥È̾ %s ¤ò²ò·è¤Ç¤¤Þ¤»¤ó"
-
-#~ msgid "suppress this warning."
-#~ msgstr "¤³¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤."
+#~ msgid "Cannot save working directory"
+#~ msgstr "¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òÊݸ¤Ç¤¤Þ¤»¤ó"
# Copyright (C) 1996 Free Software Foundation, Inc.
# Bang Jun-Young <bangjy@nownuri.net>, 1996-1997.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: GNU tar 1.12\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 1997-05-30 22:55+0900\n"
"Last-Translator: Bang Jun-Young <bangjy@nownuri.net>\n"
"Language-Team: Korean <ko@li.org>\n"
+"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=EUC-KR\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr ""
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
#, fuzzy
msgid "memory exhausted"
msgid "Cannot execute remote shell"
msgstr "¿ø°Ý ¼ÐÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr ""
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr ""
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr ""
#
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: À߸øµÈ eof\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
#
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
#
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s¸¦ ¿ ¼ö ¾ø½À´Ï´Ù"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
#
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "¾µ¸ð¾ø´Â ¸í·É"
#
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "À̰ÍÀº tar ¾ÆÄ«À̺êó·³ º¸ÀÌÁö ¾Ê½À´Ï´Ù"
#
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
#
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
#, fuzzy
msgid "Total bytes read"
msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
#
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr ""
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
#
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "¾ÆÄ«À̺ê À̸§ÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
#
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Ç¥ÁØÀÔ/Ãâ·Â ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
#
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
#
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Å×ÀÌÇÁÀÇ ½ÃÀÛ ºÎºÐ¿¡¼ Áö±Ý Á¾·áÇÔ"
#
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼ Á¾·áÇÕ´Ï´Ù"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, fuzzy, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "·¹ÄÚµå Å©±â = %d ºí·°"
msgstr[1] "·¹ÄÚµå Å©±â = %d ºí·°"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] ""
msgstr[1] ""
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr ""
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr ""
#
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, fuzzy, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "º¼·ý #%d(%s¸¦ À§ÇÑ)¸¦ ÁغñÇÏ°í ¸®ÅÏÀ» Ä¡¼¼¿ä: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "»ç¿ëÀÚÀÇ ÀÀ´äÀÌ ÇÊ¿äÇÑ °÷¿¡ EOF°¡ ÀÖÀ½"
#
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "°æ°í: ¾ÆÄ«À̺갡 ºÒ¿ÏÀüÇÕ´Ï´Ù"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! ¼ºê¼ÐÀ» ½ÇÇàÇÕ´Ï´Ù\n"
" ? ÀÌ ¸ñ·ÏÀ» ÀμâÇÕ´Ï´Ù\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
#
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "»õ º¼·ýÀÌ ¾Æ´Ô; Á¾·á.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr ""
#
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, fuzzy, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
#
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
#
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, fuzzy, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s´Â À߸øµÈ Å©±âÀÔ´Ï´Ù (%ld != %ld + %ld)"
#
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "ÀÌ º¼·ýÀº ¼ø¼¸¦ ¹þ¾î³µ½À´Ï´Ù"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, fuzzy, c-format
msgid "Archive not labeled to match %s"
msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, fuzzy, c-format
msgid "Volume %s does not match %s"
msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
#
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ"
msgstr[0] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù"
msgstr[1] "%d ¹ÙÀÌÆ®(%ld ¹ÙÀÌÆ® Áß)¸¸ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
#, fuzzy
msgid "Contents differ"
msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù"
#
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
#
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
#, fuzzy
msgid "File type differs"
msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù"
msgstr "º¯°æ ½Ã°¢ÀÌ ´Ù¸¨´Ï´Ù"
#
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Å©±â°¡ ´Ù¸¨´Ï´Ù"
#
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "%s¿¡ ¿¬°áµÇÁö ¾ÊÀ½"
#
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "±âÈ£¸µÅ©°¡ ´Ù¸¨´Ï´Ù"
#
-#: src/compare.c:321
+#: src/compare.c:316
#, fuzzy
msgid "Device number differs"
msgstr "ÀåÄ¡ ¹øÈ£°¡ ¹Ù²î¾úÀ½"
#
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "°ËÁõ "
#
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
#
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ"
msgstr[1] "°ËÁõ ½ÇÆÐ: %d°³ÀÇ ºÎÀûÀýÇÑ Çì´õ°¡ °ËÃâµÊ"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr ""
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr ""
#
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
#
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
#
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
#
-#: src/create.c:1175
+#: src/create.c:1158
#, fuzzy, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½"
#
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
#, fuzzy
msgid "contents not dumped"
msgstr " (ÄÚ¾î Ãâ·ÂµÊ)"
#
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
#
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " %s·Î ¸µÅ©\n"
#
-#: src/create.c:1543
+#: src/create.c:1688
#, fuzzy, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
#
-#: src/create.c:1552
+#: src/create.c:1697
#, fuzzy, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s´Â ¾ÆÄ«À̺êÀÔ´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr ""
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr ""
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr ""
#
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "´ÙÀ½ Çì´õ·Î °Ç³Ê ¶Ü"
msgid "Deleting non-header from archive"
msgstr "¾ÆÄ«À̺꿡¼ ºñÇì´õ ºÎºÐÀ» Á¦°ÅÇÔ"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr ""
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr ""
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "¿¬¼ÓµÇ¾î ÀÖ´Â ÆÄÀÏÀ» ÀÏ¹Ý ÆÄÀÏ·Î ÃßÃâÇÔ"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "±âÈ£ ¸µÅ©¸¦ ÇÏµå ¸µÅ©·Î ÃßÃâÇϰí ÀÖ½À´Ï´Ù"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, fuzzy, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "`%s'¸¦ ÃßÃâÇÒ ¼ö ¾ø½À´Ï´Ù -- ÀÌ ÆÄÀÏÀº ´Ù¸¥ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖ½À´Ï´Ù"
#
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "¾ÆÄ«ÀÌºê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
#
-#: src/extract.c:1197
+#: src/extract.c:1353
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: ÀÌ ÆÄÀÏÀ» ¹é¾÷ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù"
#
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
#
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù"
#
-#: src/incremen.c:494
+#: src/incremen.c:486
#, fuzzy, c-format
msgid "%s: Directory has been renamed"
msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù"
#
-#: src/incremen.c:539
+#: src/incremen.c:531
#, fuzzy, c-format
msgid "%s: Directory is new"
msgstr "%s´Â »õ µð·ºÅ丮ÀÔ´Ï´Ù"
msgstr "%s¸¦ Áö¿ï ¼ö ¾ø½À´Ï´Ù"
#
-#: src/list.c:115
+#: src/list.c:130
#, fuzzy, c-format
msgid "%s: Omitting"
msgstr "%s¸¦ »ý·«"
-#: src/list.c:133
+#: src/list.c:146
#, fuzzy, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "ºí·° %10ld: ** NUL·Î µÈ ºí·° **\n"
-#: src/list.c:159
+#: src/list.c:172
#, fuzzy, c-format
msgid "block %s: ** End of File **\n"
msgstr "ºí·° %10ld: ** ÆÄÀÏÀÇ ³¡ **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, fuzzy, c-format
msgid "block %s: "
msgstr "ºí·° %10ld: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr ""
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr ""
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
#
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr ""
#
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " %s·Î ¸µÅ©\n"
#
-#: src/list.c:1253
+#: src/list.c:1261
#, fuzzy, c-format
msgid " unknown file type %s\n"
msgstr " ¾Ë ¼ö ¾ø´Â ÆÄÀÏ Å¸ÀÔ `%c'\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
#
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--º¼·ý Çì´õ--\n"
#
-#: src/list.c:1287
+#: src/list.c:1295
#, fuzzy, c-format
msgid "--Continued at byte %s--\n"
msgstr "--%ld ¹ÙÀÌÆ® °¿¡ °è¼ÓµÊ--\n"
#
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "µð·ºÅ丮¸¦ ¸¸µå´Â Áß:"
#
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+
+#
+#: src/misc.c:571
#, fuzzy, c-format
msgid "Renaming %s to %s\n"
msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ"
#
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, fuzzy, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
#
-#: src/misc.c:534
+#: src/misc.c:604
#, fuzzy, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s¸¦ %s·Î À̸§ ¹Ù²Þ"
-#
-#: src/misc.c:669
-#, fuzzy
-msgid "Cannot save working directory"
-msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
-
-#
-#: src/misc.c:675
-#, fuzzy
-msgid "Cannot change working directory"
-msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr ""
#
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr ""
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr ""
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
#
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
#
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" never, simple always make simple backups\n"
msgstr ""
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
#
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
#
-#: src/tar.c:452
+#: src/tar.c:453
#, fuzzy
msgid "remove files after adding them to the archive"
msgstr "¾ÆÄ«À̺꿡 ÀÖ´Â À̸§µé¿¡¼ µå¶óÀ̺ê ÁöÁ¤¹®À» Á¦°ÅÇÔ"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr ""
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
#
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
#
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
#
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
#
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Àý´ë ¸µÅ©µé¿¡¼ ¾Õ¿¡ ºÙÀº `/'¸¦ Á¦°ÅÇÔ"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
#
-#: src/tar.c:761
+#: src/tar.c:764
#, fuzzy
msgid "ask for confirmation for every action"
msgstr "»ç¿ëÀÚÀÇ È®ÀÎÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "`-Acdtrux' ¿É¼Ç Áß Çϳª ÀÌ»óÀ» ÁöÁ¤ÇÏ¸é ¾È µË´Ï´Ù"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr ""
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr ""
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr ""
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr ""
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr ""
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr ""
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr ""
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr ""
-#: src/tar.c:1916
+#: src/tar.c:1934
#, fuzzy
msgid "Invalid owner"
msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
#, fuzzy
msgid "Invalid record size"
msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "·¹ÄÚµå Å©±â´Â %dÀÇ ¹è¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr ""
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "`-[0-7][lmh]' ¿É¼ÇÀº ÀÌ tar¿¡¼± Áö¿øµÇÁö ¾Ê½À´Ï´Ù"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "´ÙÁß ¾ÆÄ«ÀÌºê ÆÄÀÏÀº `-M' ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr ""
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] ""
#
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
#
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
#
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "¾ÐÃàµÈ ´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
#
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr ""
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "`-Aru' ¿É¼ÇÀº `-f -'°ú µ¿½Ã¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "`-Acdtrux' ¿É¼Çµé Áß Çϳª¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr ""
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr ""
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr ""
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "°Ë»çÁöÁ¡ %d¸¦ ÀÐÀ½"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "GNU tar ½ÃÇè µµ±¸¿ë µ¥ÀÌÅÍ ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Çò°¥¸®´Â ¾ÐÃà ¿É¼Ç"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr ""
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"»ç¿ë¹ý: %s [¿É¼Ç]...\n"
"\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "%s: Á¢±Ù ½Ã°¢°ú ¼öÁ¤ ½Ã°¢À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "ºÎÀûÀýÇÑ ³¯Â¥ Çü½Ä `%s'"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr ""
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
#
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "%s¸¦ ¿ ¼ö ¾ø½À´Ï´Ù"
#
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "%s¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
#
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù"
#
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s¸¦ ¿ ¼ö ¾ø½À´Ï´Ù"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr ""
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr ""
+#
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+
+#
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+
#
#~ msgid "Reading %s\n"
#~ msgstr "%s¸¦ Àд Áß\n"
# This file is distributed under the same license as the PACKAGE package.
# Azilet Beishenaliev <aziletb@gmail.com>, 2007.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.18\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2007-09-01 01:06+0100\n"
"Last-Translator: Azilet Beishenaliev <aziletb@gmail.com>\n"
"Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
+"Language: ky\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Каталарды бул жерге билдиргиле %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Белгисиз система катасы"
msgid "give a short usage message"
msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "АТЫ"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: `%s' опциясы так эмес\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' опциясы менен аргумент колдонулбайт\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' опциясы менен аргумент колдонулбайт\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: `%s' опциясы менен аргумент болуш керек\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: бул опция түшүнүксүз `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: бул опция түшүнүксүз `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: жараксыз опция -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: бул опциянын аргументи болуш керек -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' опциясы так эмес\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' опциясы менен аргумент колдонулбайт\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: `%s' опциясы менен аргумент болуш керек\n"
+
# Памятты эмне дейбиз яя? ;)
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgid "Cannot execute remote shell"
msgstr "Алыстагы команда процессору иштетилген жок"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Издөө жолу диапазондун тышында"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Опцияда жарабаган укук абалы берилди"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Жараксыз көлөм: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Издөө даражасы диапазондун тышында"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Лентанын узундугу жараксыз"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Издөө даражасы диапазондун тышында"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Файлдын соңу эрте келди\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Негизги иштөө абалы:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "N"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "ФАЙЛ"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "`%s' ачылбай жатат"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "аргументтердин саны көп"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Туура эмес команда"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Бул tar-архиви эмес окшойт"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Жазылган жалпы байт"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Алынган жалпы байт"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Өчүрүлгөн жалпы байт: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(канал)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "record_size мааниси жарабайт"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Архивдин аты берилген жок"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Архивдин stdin/stdout текшерүүсү болбой жатат"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Кысыштырылган архивдерди жаңырталбай калды"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Лентанын башына келди, иш бүттү"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Өтө көп ката бар, иш бүттү"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "Маалыматтын көлөмү = %lu блок"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek маалыматтын чегинде токтогон жок"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: жараксыз том номери бар"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Томдун номери батпай калды"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ЭСКЕРТҮҮ: Архив толук эмес"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q\t\ttar программасынын ишин бүтүр\n"
"y же Ввод\t\tИшти улант\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Команда строкасын ач\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Бул тизмени жаз\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Жаңы том жок; иш бүттү.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s командасы аткарылбай калды"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s мунун бул томдо уландысы жок"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s көлөмү туура эмес (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Бул том иретте эмес"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Архивдин тамгасы %s менен келишпей жатат"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "%s тому %s менен келишпей жатат"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
"%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "rmtlseek маалыматтын чегинде токтогон жок"
msgid_plural "Could only read %lu of %lu bytes"
msgstr[0] "%2$lu байттан %1$lu гана окулду"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Мазмундары окшобойт"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Файл түрү окшошпойт"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Укук абалдары окшошпойт"
msgid "Mod time differs"
msgstr "Алмаштыруу убактылары окшошпойт"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Көлөмү окшошпойт"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "%s жака шилтенген эмес"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Символикалык шилтеме окшошпойт"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Аспап номери окшошпойт"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Текшерүү "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары салыштырды"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Архивдин ичинде префикстери алынган файл аттары бар."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Текшерүү учурунда алгачкы файлдар табылбай калышы мүмкүн."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "ТЕКШЕРҮҮ КАТАСЫ: %d жараксыз башкы маалымат табылды"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "%s болгон жерде нөлдүк блок бар"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: мунун ичинде %s деген кэш-папка белгиси бар; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "%s мааниси %s диапазонунун тышында %s..%s; ордуна %s коюлат"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "%s мааниси %s диапазонунун тышында %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Терс сегиздик системасында башкы маалыматтар даярдалууда"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: файлдын аты өтө узун (эң көп %d болот); кошулбайт"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: файлдын аты өтө узун (бөлүнбөйт); кошулбайт"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: шилтеменин аты өтө узун; кошулбайт"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Файл %s байтка азайды; нөлдөр менен толтурулат"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: файл башка файл-системасында; кошулбайт"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "астындагылар кошулган жок"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Файлдын түрү белгисиз; файл каралбайт"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "%s жака шилтемелер жок.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: файл алмашкан жок; кошулбайт"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: файл архив экен; кошулбайт"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "папка кошулган жок"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: файлды окуу учурунда файл алмашты"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: сокет каралбайт"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door каралбайт"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Эмики башкы-маалыматка өттү"
msgid "Deleting non-header from archive"
msgstr "Архивде башкы-маалымат болбогондор өчүрүлөт"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: %s убакыт тамгасы өтө эски"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: %s убакыт тамгасы %s сек. келечекте"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Папка ачыбатканда күтүлбөгөн нерселер болду"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Папканын статусу билинелектен мурун аты алмашып кетти"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Удаа болгон файлдар жөнөкөй файл катары чыгарылып жатат"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Символикалык шилтемелерди түз шилтеме катары чыгарууга аракет кылынат"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Башкы-маалымат узун"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары чыгарылды"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Азыркы %s жаңыраак же бирдей"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Бул файлдын резерв копиясы алыналбай калды"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s файлы %s деп алмаштыралбай калды"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Папканын эски аты %s эле"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Папка алмаштырылды"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Папка жаңы"
msgid "%s: Cannot remove"
msgstr "%s: Өчүрүлбөй жатат"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Муну аттады"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "блок %s: ** нөлдөр болгон блок **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "блок %s: ** Файлдын соңу **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "блок %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr ""
"Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " %s жака шилтеме\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " белгисиз файл түрү %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Узун шилтеме--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Узун ат--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Томдун башкы-маалыматы--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--%s-байттан баштап уланды--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Жаңы папка ачылыбатат:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Учурдагы папка алмаштырылбайтат"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s'тин атын %s деп алмаштырды\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Аты %s деп алмаштыралбай калды"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s'тин атын кайра %s деп алмаштырды\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Учурдагы папка сакталбайтат"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Учурдагы папка алмаштырылбайтат"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Файл окулганча өчүрүлүп кетти"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Файл окулганча өчүрүлүп кетти"
# орусчада дочерный процесс, бир процесс өз ичинен жаңы бир
# процесс жаратканда ошол чайлд процесс болот. Биз эмне дейбиз?
# Мен туулган процесс дейм.
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "туулган процесс"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "процесс-аралык канал"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар."
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
msgstr ""
"Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Архивде табылган жок"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Керектүү нерселер архивде табылган жок"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Архивдин тамгасы %s менен келишпей жатат"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Ковычкалардын түрү белгисиз - `%s'. Тизмени көрүүгө `%s --quoting-"
"style=help' жазгыла."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archive.tar # Аты archive.tar болгон архивдин ичиндеги "
"баардык файлдарды чыгарат.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
"жөнөкөй вариант\n"
" never, simple ар дайым жөнөкөй резерв копиялар сакталат\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Негизги иштөө абалы:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "архивдин ичиндеги файлдарды тизмелейт"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "архивден файлдарды чыгарат"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "жаңы архив жаратат"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "архив менен файл система айырмаларын табат"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "файлдарды архивдин аягына кошот"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "архивдин ичиндегилерден жаңы болгон файлдарды гана кошот"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "tar файлын архивге кошот"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "архивден өчүрөт (магниттик ленталарда жарабайт!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "архивдик томдун атын текшерет анан бүтүрөт"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Иштөөнүн модификаторлору:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "кеңири жайлашкан файлдарды эфектүү түрдө колго ал"
# major, minor
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "БАШКЫ[.КИЙИНКИ]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
"кеңири жайлаштыруу форматынын версиясын тандайт (--sparce опциясы кошулган "
"болот)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "эски GNU форматындагы резервдөө методун колго ал"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "жаңы GNU форматындагы резервдөө методун колго ал"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "окулбаган файлдар келгенде нөл болбогон статус менен ишти бүтүрбө"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"файлдардын аттары команда строкасында же -T опциясы менен берилгенде гана "
"жарактуу болот. N-дин мааниси алдынала 1ге барабар."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "Архивдин ичиндегилерди издесе болот"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "Архивдин ичиндегилерди издесе болот"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "үстүнө көчүрүү контролу:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "архивди сактагандан кийин текшерүүгө аракет кылат"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "файлдарды архивге кошулгандан кийин өчүрөт"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "мурун бар болгон файл архивдеги копиясындан жаңы болсо аны алмаштырба"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "бар болгон файлдын ордуна көчүрүүдөн мурун ал файлды өчүрөт"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "папканы чыгарардан мурун баардык иерархияларды өчүрөт"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "мурун бар болгон папкалардын мета-касиеттерин корго"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"чыгаруу учурунда бар болгон папкалардын мета-даталардын үстүнө жазылат "
"(алдынала тандалат)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Чыгаруу() жолун танда:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "файлдарды стандарт чыгарууга (output) жөнөт"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "КОМАНДА"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
"архивден чыккан файлдарды канал(pipe) жолу менен башка программага жөнөтөт"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "туулган процесстердин бүтүрүү кодторуна караба"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "туулган процесстердин нөл болбогон бүтүрүү кодторун ката деп ишке ал"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Файлдын өзгөчөлүктөрүн колго алууда:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "кошулган файлдардын ээсин АТЫ деп кой"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "кошулган файлдардын группасын АТЫ деп кой"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "ДАТА-ЖЕ-ФАЙЛ"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "кошулган файлдардын алмашуу убактысын ДАТА-ЖЕ-ФАЙЛ дан ал"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "УКУК"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "кошулган файлдардын укук абалын УКУК деп кой"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "МЕТОД"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"сакта (МЕТОД='replace'; алдынала тандалат) же колдонуу убакыттарын "
"алмашырбай туруп сактап кал (МЕТОД='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "файлдын алмаштыруу убактын чыгарбайт"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "ээсин ошол бойдон калтырып файлдарды чыгарууга аракет кылат"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "файлдарды өзүңдүкү катары чыгарат"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "ээси/группа аттарын ардайым номерлер менен көрсөтөт"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"файлдын уруксат маалыматын да чыгар (суперколдонуучуга алдынала тандалат)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"архивден уруксат маалыматын чыгарыбатканда колдонуучунун umask'ын колдон "
"(жөн колдонуучуларга алдынала тандлат)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "чыгатурган файлдарды архивдегидей кылып сортто"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "-p жана -s менен бирдей"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"чыгарылган папкалардын колдонуу убакыттарын жана уруксаттарын чыгаруу иши "
"бүткөндөн кийин коёт"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "--delay-directory-restore опциясынын эффектин токтотот"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Аспапты тандоо жана ага өтүү:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "АРХИВ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "АРХИВ деген архивдик файлды же аспапты колдонот"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "архивдик файлда эки точка болушуна карабастан ал локалдуу"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "rmt'нин ордуна КОМАНДА колдонулат"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "rsh'тын ордуна КОМАНДА колдонулат"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "драйв жана анын тыгыздыгын белгиле"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "көп томдуу архивди жарат/тизмеле/чыгар"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "N x 1024 байт жазгандан кийин лентаны алмаштыр"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "ар лентанын аягында скриптти иштет (-M опциясы колдонулат)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "ФАЙЛ файлынын ичиндеги том номерин колдон/жаңырт"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Аспаптын блоктолушу:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "БЛОК"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "ар маалыматка БЛОК x 512 байт түшөт"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "Ар маалыматка N байт түшөт, 512 көбөйтүндүсү"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "архивдеги нөлдүү блокторду өтүп кетет (EOF жөнүндө)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "окубатканда кайрадан блокторго бөлүп чык (4.2BSD каналдары үчүн)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Архивдин форматын тандоо:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "ФОРМАТ"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "тандалган форматта архив жаратат"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "ФОРМАТ булардан бирөө болот:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "эски V7 tar форматы"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "tar <= 1.12 версиясында болгондой GNU форматы"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x форматы"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) форматы"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) форматы"
# pax деген gid,atime сияктуу нерселер
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "pax менен бирдей"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "--format=v7 менен бирдей"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "--format=posix менен бирдей"
# keyword эмне болот?
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "ачкыч-сөз[[:]=мааниси][,ачкыч-сөз[[:]=мааниси]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "контролдоо үчүн pax ачкыч сөздөрү"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "ТЕКСТ"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"том аты ТЕКСТ болгон архив жарат; тизмелөө/чыгаруу учурунда, ТЕКСТ дегенди "
"том атынын глоб шаблону катары колдон"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "ПРОГ"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Локалдуу файлдарды тандоо:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "ПАПКА"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "ПАПКА папкасына өт"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
"-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
"тандалат)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "ШАБЛОН"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы "
"кошулбайт"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
"ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы "
"кошулбайт"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "ФАЙЛ файлы болгон папкалар кошулбайт"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "папкалардын тереңине кирип кетүүнү токтот"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "архивди жасабатканда локалдуу файл системасында кал"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "папкалардын тереңине кирет (алдынала тандалган)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "файл аттарынын башындагы '/'терди өчүрбө"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
"символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
-#: src/tar.c:686
+#: src/tar.c:687
#, fuzzy
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
"символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "МҮЧӨНҮН-АТЫ"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "ДАТА"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "датасы алмашканда гана дата жана убактысын салыштыр"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRING"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул "
"суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Файлдын атынын алмашуулары:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат"
# выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "СҮЙЛӨМ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула"
# inclusion, exclusion - Kyrgyz equiv?
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "тамгалардын чоң-кичинесине каралбайт"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
"шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала "
"тандалган)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "кандай жазылса ошондой колдонулат"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "шаблондор `/' символун издебейт"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "шаблондор `/' символун издейт (алдынала тандалган)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Маалыматтандыруу:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "үстүнө көчүрүү контролу:"
# Ушу 'record' сөзүнө жакшы котормо табалбай койдум
# 'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "СИГНАЛ"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган "
"аттарын да колдонсо болот."
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "ар ишти аткарууга макулдук сурап тур"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "tar'да алдынала коюлган опцияларды көрсөтөт"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да "
"тизмелейт"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "СТИЛЬ"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
"аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө "
"көрсөтүлөт."
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Келишүү опциялары:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-"
"owner менен бирдей"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Башка опциялар:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Сигналдын аты белгисиз: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Датанын шаблон файлы табылган жок"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "%s опциясы: `%s' датасын %s деп алды"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: файл тизмеси окулган"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: алынган файлдын атында бош тамгалар бар"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "архивди gzip менен ишке ал"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Бул* tar алдынала мындай иштетилет:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Блок көлөмү жараксыз"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Лентанын узундугу жараксыз"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Файлдын форматы туура эмес"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Бирден көп ченемдөөчү дата бар"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint опциясына жазылган аргумент сан эмес"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Жараксыз группа"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Опцияда жарабаган укук абалы берилди"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Жарабаган номер"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Ээси жарабайт"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Маалымат көлөмү жарабайт"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Элементтердин саны жарабайт"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "--to-command опциясы бир эле жолу жазылыш керек"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Тыгыздык аргументи туура эмес: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Түшүнүксүз тыгыздык: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[ФАЙЛ]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Эски болгон `%c' опциясына параметр керек."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental менен --newer чогу колдонулбайт"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Көп-томдуу архивдерди текшералбай калды"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Кысыштырылган архивдерди текшералбай калды"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Кысыштырылган архивдер кошулалбайт"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Бош архив жаратуудан уялып баш тартып жатат"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "`-Aru' опциялары `-f -' менен келишпейт"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgid_plural "%s: File shrank by %s bytes"
msgstr[0] "%s: Файл %s байтка азайды"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "%s сөзү белигсиз же азырынча киргизилген эмес"
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Сан жарактуу маанилердин тышында: %s"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "%s шаблону колдонулбайт"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "%s ачкыч сөзү алмаштырылбайт"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Кеңейтилген башкы-маалымат бузук: узундук жок"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Кеңейтилген башкы-маалыматтын узундугу жарактуу маанилердин тышында"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Кеңейтилген башкы-маалыматтын узундугу - %*s - диапазондун тышында"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
"Кеңейтилген башкы-маалымат бузук: узундуктан кийин бош жер (пробел) жок"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Кеңейтилген башкы-маалымат бузук: барабар символу жок"
# newline эмне болот?
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Кеңейтилген башкы-маалымат бузук: жаңы сап жок"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - "
"бөлүүчү символ бар"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар"
msgid "Read checkpoint %u"
msgstr "Окуунун текшерүү жери: %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile, GNU paxutils пакетинин дата файлдарын ишке алат.\n"
"ОПЦИЯЛАР мындай:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Жаңы файл ачуу опциялары:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "КӨЛӨМ"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Көсөтүлгөн КӨЛӨМдө жаңы файл ач"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Стандарт чыгарууга жазбай, АТЫ деген файлга жаз"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Файлдын аттарын ФАЙЛдан ал"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T опциясы бош/нөл (null) менен бүткөн аттарды окуйт"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Файлды тандалган ШАБЛОН менен толтурат. ШАБЛОН 'default' же 'zeros' болот"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Кеңири жайлашкан файлдын блок көлөмү"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Файлды кеңири жайлаштыр. Кийинки команда строкаларында файлдын картасы бар."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
#, fuzzy
msgid "OFFSET"
msgstr "ОРУН"
# seek the given offset - orunga jyl
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "данный(data) жазаардан мурун айтылган орунга жыл"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Файлдын статистикасынын опциялары:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Алынган ар бир файл үчүн struct stat курамын көрсөтөт. Алдынала тандалган "
"ФОРМАТ мындай: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Синхрондуу иштетүүнүн опциялары:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [ОПЦИЯ...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"Жазылган КОМАНДАны иштет. Бул --checkpoint жана --cut, --append, --touch "
"бирөөсү менен колдонулганда пайдалуу"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "N текшерүү жерине жеткенде буларды (төмөндү карагыла) аткар"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Эмики --touch опциясы үчүн дата жазгыла"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Өтүлгөн текшерүү жердерди жана КОМАНДАнын бүтүрүү статусун көрсөтөт"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Синхрондуу аткаруу иштери. Булар --checkpoint опциясы менен берилгенн "
"текшерүү жерине жеткенде аткарылат."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"ФАЙЛды --length опциясы менен берилген көлөмгө кыскартат (берилбеген болсо 0 "
"болот)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "ФАЙЛга КӨЛӨМ байт кошот. КӨЛӨМ --length опциясы менен берилет."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "ФАЙЛдын колдонуу жана алмашуу убакыттарын жаңылайт."
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Бул команданы иштеткиле - КОМАНДА"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Жараксыз көлөм: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Сан жарактуу маанилердин тышында: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Көлөмү терс сан: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) аткарылбай калды"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "`%s' жанындагы санды окубатканда ката чыкты"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Датанын форматы түшүнүксүз"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[АРГУМЕНТТЕР...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "`%s' ачылбай жатат"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "издөө болбой калды"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "файлдын атында бош тамга бар"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын "
"колдонуңуз"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "туура эмес маска (`%s' жанында)"
# фиелд деген кандай болот?
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Белгисиз поле `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "`%s'ке убакыт аталган жок"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "`%s' ачылбай жатат"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Команда толук аткарылды\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Команда %d статусу менен аткарылбай калды\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Команда %d сигналы менен жабылды\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Команда %d сигналы менен токтотулду\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Команда core dump менен бүттү\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Команда жабылды\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat опциясы менен файл аттары жазылыш керек"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Учурдагы папка сакталбайтат"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s файлы %s деп алмаштыралбай калды"
+
+#~ msgid "suppress this warning."
+#~ msgstr "опциясы менен бул эскертүүнү көрсөтпөс кыл."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: мындай опция колдонулбайт -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "%s жактан окуп жатат\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "Каталарды бул жерге билдиргиле <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "%s жактан окуп жатат\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Оңолбогон ката: иш бүттү "
-
-#~ msgid "suppress this warning."
-#~ msgstr "опциясы менен бул эскертүүнү көрсөтпөс кыл."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "архивди bzip2 менен ишке ал"
#~ msgid "Premature end of file"
#~ msgstr "Файлдын соңу эрте келди"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Оңолбогон ката: иш бүттү "
+
#~ msgid "block size"
#~ msgstr "бир блоктун көлөмү"
# Copyright (C) 2002 Free Software Foundation, Inc.
# Hasbullah Bin Pit <sebol@ikhlas.com>, 2002.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.13.25\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2002-11-23 02:38+0800\n"
"Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"\n"
"Lapor pepijat ke <bug-tar@gnu.org>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Ralat sistem tidak diketahui"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: opsyen `%s' adalah kabur\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opsyen %c%s' tidak mengizinkan hujah\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opsyen `%s' memerlukan hujah\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opsyen tidak dikenali `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opsyen tidak dikenali '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opsyen tidak sah -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opsyen memerlukan hujah -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opsyen `-W %s' adalah kabur\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opsyen `-W %s' tidak mengizinkan hujah\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: opsyen `%s' memerlukan hujah\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memori keletihan"
msgid "Cannot execute remote shell"
msgstr "Tak boleh laksanakan shell jauh"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Hala rayauan diluar julat"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Mod tidak sah diberi pada opsyen"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Setem masa tidak sah"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Offset rayauan diluar julat"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "panjang pita tidak sah"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Offset rayauan diluar julat"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: eof tak matang\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: opsyen tidak sah -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "EOF tanpa diduga pada arkib"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Tak dapat rayau ke %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Arahan sampah"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Ia nampaknya bukan seperti arkib tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(paip)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Nilai tidak sah bagi record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Tiada nama arkib diberi"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Tak dapat menentusahkan arkib stdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Tak dapat mengemaskini arkib termampat"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Pada permulaan pita, keluar sekarang"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Terlalu banyak ralat, keluar"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: mengandungi nombor volum yg tidak sah"
-#: src/buffer.c:963
+#: src/buffer.c:1037
#, fuzzy
msgid "Volume number overflow"
msgstr "Nombor volum melimpah"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF dimana maklumbalas pengguna dijangka"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "AMARAN: Arkib tidak lengkap"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Spawn subshell\n"
" ? Cetak senarai ini\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Tiada volum baru; keluar.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "Arahan '%s' gagal"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s tidak bersambung pada volum ini"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s adalah salah saiz (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Volum ini tidak dalam turutan"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arkib tidak dilabelkan supaya memadan %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Volum %s tidak sepadan %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "Hanya boleh membaca %lu drpd %lu byte"
msgstr[1] "Hanya boleh membaca %lu drpd %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Kandungan berlainan"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "EOF tanpa diduga pada arkib"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Jenis fail berbeza"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Mod berbeza"
msgid "Mod time differs"
msgstr "Masa mod berbeza"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Saiz berbeza"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Tidak dipautkan ke %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symlink berbeza"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Nombor beranti berbeza"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Tentusah"
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Jenis fail tak dikenali '%c', berlainan dengan fail normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "GAGAL TENTUSAH: %d pengepala tak sah dikesan"
msgstr[1] "GAGAL TENTUSAH: %d pengepala tak sah dikesan"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "nilai %s diluar julat %s %s..%s; menggantikan %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "nilai %s diluar julat %s %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Menjana pengepala oktal negatif"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: fail tidak berubah; tidak dilonggokkan"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: fail tidak berubah; tidak dilonggokkan"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: fail tidak berubah; tidak dilonggokkan"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar"
msgstr[1] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Jenis fail tak dikenali; fail diabaikan"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Pautan ke %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: fail tidak berubah; tidak dilonggokkan"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: fail adalah arkib; tidak dilonggokkan"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: fail berubah bila kami membacanya"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: soket diabaikan"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: pintu diabaikan"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Melangkah ke pengepala berikut"
msgid "Deleting non-header from archive"
msgstr "Memadam bukan-pengepala drpd arkib"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: setem masa %s adalah %lu pada masa akan datang"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Ketidakkonsistenan luar dugaan bila membuat direktori"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Direktori ditukarnama sebelum statusnya boleh diekstrak"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Mengekstrak fail bersambung sebagai fail biasa"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Penghujungan tanpa diduga data imej PNM"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Tak dapat backup fail ini"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Tak dapat menukarnama ke %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Direktori telah ditukarnama"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Direktori telah ditukarnama"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Direktori adalah baru"
msgid "%s: Cannot remove"
msgstr "%s: tak dapat buang"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr ""
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok TIADA **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Akhir Fail **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Nilai oktal arkib %.*s diluar julat %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr ""
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr "Pautan ke %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr "jenis fail tak diketahui %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Pengepala Volum--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Bersambung pada byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Mencipta direktori:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Tak dapat tukar direktori kerja"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Menukarnama %s ke %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Tak dapat menukarnama ke %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Menukarnama %s kembali ke %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Tak dapat simpan direktori kerja"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Tak dapat tukar direktori kerja"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fail dibuang sebelum kami membacanya"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Fail dibuang sebelum kami membacanya"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proses anak"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "saluran antaraproses"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Tak dijumpai pada arkib"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Tak dijumpai pada arkib"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arkib tidak dilabelkan supaya memadan %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"verbose.\n"
" %s -xf arkib.tar # Ekstrak semua fail drpd arkib.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" never, simple always make simple backups\n"
msgstr ""
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "EOF tanpa diduga pada arkib"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Ralat ketika menulis ke output piawai"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Tak dapat menentusah arkib multi-volume"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "opsyen format arkib konflik"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Opsyen mampatan konflik"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Tak dapat tukar direktori kerja"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Membuang awalan `%.*s' drpd nama ahli"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "Volum %s tidak sepadan %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Mod tidak sah diberi pada opsyen"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Anda tak boleh nyatakan lebih drpd satu opsyen `-Acdtrux'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Opsyen mampatan konflik"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr "jenis fail tak diketahui %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Fail tarikh tidak dijumpai"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Mengganti %s bagi format tarikh tak diketahui %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: fail adalah arkib; tidak dilonggokkan"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: fail adalah arkib; tidak dilonggokkan"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Faktor pemblokan tidak sah"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "panjang pita tidak sah"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr ""
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Kumpulan tidak sah"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Mod tidak sah diberi pada opsyen"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Nombot inod tidak sah"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Pemilik tidak sah"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Saiz rekod tidak sah"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Saiz rekod mesti dalam gandaan %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "panjang pita tidak sah"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "OPsyen lama `%c' memerlukan hujah."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Fail akrib beraneka memerlukan opsyen `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Tak boleh gabung --listed-incremental dengan --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Tak dapat menentusah arkib multi-volume"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Tak dapat menentusahkan arkib termampat"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Tak dapat menggunakan arkib multi-volume termampat"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Tak dapat mengemaskini arkib termampat"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Secara dayus enggan mencipta arkib kosong"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Opsyen `-Aru' tak serasi dengan `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Fail mengecil sebanyak %s byte"
msgstr[1] "%s: Fail mengecil sebanyak %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Setem masa diluar julat"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Membaca titiksemak %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Menjana fail data untuk suit ujian GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Opsyen mampatan konflik"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Ralat ketika menulis ke output piawai"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Pengunaan : %s [OPSYEN]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Setem masa tidak sah"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Nombor inod diluar julat"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Ralat sistem tidak diketahui"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Tak dapat tutup"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr "jenis fail tak diketahui %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Tak dapat rayau ke %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Tak dapat rayau ke %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Anak mati dengan isyarat %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "Nama fail modul"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Tak dapat simpan direktori kerja"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Tak dapat menukarnama ke %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opsyen salah -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Membaca %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Lapor pepijat ke <bug-tar@gnu.org>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Membaca %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Ralat adalah tidak boleh dipulihkan: keluar sekarang"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: fail adalah arkib; tidak dilonggokkan"
#~ msgid "Premature end of file"
#~ msgstr "Akhir fail tak matang"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Ralat adalah tidak boleh dipulihkan: keluar sekarang"
+
#~ msgid "block size"
#~ msgstr "saiz blok"
# Copyright (C) 1996 Free Software Foundation, Inc.
# Karl Anders Øygard <Karl.Oygard@fou.telenor.no>, 1996.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: GNU tar 1.12\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 1997-06-05 19:39 MET DST\n"
"Last-Translator: Espen Skjelnes Johnsen <espejohn@sn.no>\n"
"Language-Team: Norwegian-bokmål <no@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr ""
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Unkjent systemfeil"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "Ugyldig verdi for record_size"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "Gammelt flagg «%c» behøver et argument."
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "Gammelt flagg «%c» behøver et argument."
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "Gammelt flagg «%c» behøver et argument."
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
#, fuzzy
msgid "memory exhausted"
msgid "Cannot execute remote shell"
msgstr "Kan ikke eksekvere \"remote shell\""
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr ""
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Ugyldig modus gitt i flagg"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Ugyldig datoformat «%s»"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr ""
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Ugyldig eier gitt i flagg"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr ""
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: For tidlig filslutt\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Ugyldig verdi for record_size"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Uventet filslutt i ødelagte navn"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Kan ikke åpne %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Ugyldig kommando"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Dette ser ikke ut som et tar-arkiv"
#
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Totalt antall bytes skrevet: "
#
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
#, fuzzy
msgid "Total bytes read"
msgstr "Totalt antall bytes skrevet: "
#
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Totalt antall bytes skrevet: "
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr ""
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Ugyldig verdi for record_size"
#
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arkivnavn er ikke oppgitt"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Kan ikke verifisere stdin/stdout-arkiv"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
#
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Kan ikke oppdatere komprimerte arkiver"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "På begynnelsen av båndet, avslutter nå"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "For mange feil, avslutter"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] ""
msgstr[1] ""
-#: src/buffer.c:842
+#: src/buffer.c:919
#, 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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr ""
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr ""
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF der svar fra bruker var forventet"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ADVARSEL: Arkivet er ufullstendig"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Start et shell\n"
" ? Skriv denne listen\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Ikke nytt volum; avslutter.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr ""
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s fortsetter ikke i dette volumet"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, fuzzy, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s har feil størrelse (%ld != %ld + %ld)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Dette volumet kommer ute av rekkefølge"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, fuzzy, c-format
msgid "Archive not labeled to match %s"
msgstr "Arkivet er ikke navngitt for å passe med «%s»"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, fuzzy, c-format
msgid "Volume %s does not match %s"
msgstr "Volumet «%s» stemmer ikke overens med «%s»"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "Arkiv %s sluttet ikke ved en blokkgrense"
msgstr[0] "Kunne bare lese %d av %ld bytes"
msgstr[1] "Kunne bare lese %d av %ld bytes"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
#, fuzzy
msgid "Contents differ"
msgstr "Modus er ulik"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Uventet filslutt i arkivet"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
#, fuzzy
msgid "File type differs"
msgstr "Størrelse er ulik"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modus er ulik"
msgid "Mod time differs"
msgstr "Modifiseringstid er ulik"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Størrelse er ulik"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ikke linket til %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolsk link er ulik"
-#: src/compare.c:321
+#: src/compare.c:316
#, fuzzy
msgid "Device number differs"
msgstr "Enhetsnummer er endret"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verifisering "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "Ukjent filtype «%c» for %s, diffet som en vanlig fil"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet"
msgstr[1] "VERIFIKASJONSFEIL: %d ukjente arkivhoder funnet"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr ""
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr ""
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: er uendret; ikke lagret"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: er uendret; ikke lagret"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "Filen %s krympet med %d bytes, fyller ut med nuller"
msgstr[1] "Filen %s krympet med %d bytes, fyller ut med nuller"
-#: src/create.c:1175
+#: src/create.c:1158
#, fuzzy, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: På et annet filesystem. Ikke lagret"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
#, fuzzy
msgid "contents not dumped"
msgstr " (minnet lagret)"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Ukjent filtype; filen ble ignorert"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " link til %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, fuzzy, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: er uendret; ikke lagret"
-#: src/create.c:1552
+#: src/create.c:1697
#, fuzzy, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s er arkivet; ikke lagret"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr ""
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr ""
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr ""
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Hopper til neste startseksjon"
msgid "Deleting non-header from archive"
msgstr "Tar bort ikke-hodedata fra arkivet"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr ""
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr ""
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Ekstraherer sammenhengende filer som vanlige filer"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Forsøker å ekstrahere symbolske linker som harde linker"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Uventet filslutt i arkivfilen"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Kunne ikke lage sikkerhetskopi av denne filen"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Kan ikke endre navn på %s til %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "Filkatalogen %s har endret navn"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, fuzzy, c-format
msgid "%s: Directory has been renamed"
msgstr "Filkatalogen %s har endret navn"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, fuzzy, c-format
msgid "%s: Directory is new"
msgstr "Filkatalogen %s er ny"
msgid "%s: Cannot remove"
msgstr "Kan ikke slette %s"
-#: src/list.c:115
+#: src/list.c:130
#, fuzzy, c-format
msgid "%s: Omitting"
msgstr "Utelater %s"
-#: src/list.c:133
+#: src/list.c:146
#, fuzzy, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blokk %10ld: ** Blokk med NUL-er **\n"
-#: src/list.c:159
+#: src/list.c:172
#, fuzzy, c-format
msgid "block %s: ** End of File **\n"
msgstr "blokk %10ld: ** Slutt på fil **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, fuzzy, c-format
msgid "block %s: "
msgstr "blokk %10ld: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr ""
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr ""
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr ""
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link til %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, fuzzy, c-format
msgid " unknown file type %s\n"
msgstr " ukjent filtype «%c»\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Volumhode--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, fuzzy, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Fortsetter ved byte %ld--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Lager filkatalog:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Kan ikke gå til filkatalogen %s"
+
+#: src/misc.c:571
#, fuzzy, c-format
msgid "Renaming %s to %s\n"
msgstr "Endret navn på %s til %s"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, fuzzy, c-format
msgid "%s: Cannot rename to %s"
msgstr "Kan ikke endre navn på %s til %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, fuzzy, c-format
msgid "Renaming %s back to %s\n"
msgstr "Endret navn på %s til %s"
-#: src/misc.c:669
-#, fuzzy
-msgid "Cannot save working directory"
-msgstr "Kan ikke gå til filkatalogen %s"
-
-#: src/misc.c:675
-#, fuzzy
-msgid "Cannot change working directory"
-msgstr "Kan ikke gå til filkatalogen %s"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr ""
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "Filkatalogen %s har endret navn"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr ""
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr ""
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Finnes ikke i arkivet"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Finnes ikke i arkivet"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arkivet er ikke navngitt for å passe med «%s»"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" ellers enkle\n"
" never, simple lag enkle sikkerhetskopier\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Uventet filslutt i arkivet"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
#, fuzzy
msgid "remove files after adding them to the archive"
msgstr "Tar bort enhetsnavn fra navn i arkivet"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr ""
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Kan ikke verifisere arkiv som går over flere volum"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Arkivér til stdin"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Konflikt i kompresjonsflagg"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "Kan ikke skrive til komprimeringsprogrammet"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "Kan ikke skrive til komprimeringsprogrammet"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Kan ikke gå til filkatalogen %s"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
#
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Tar bort ledende «/» fra absolutte linker"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "Volumet «%s» stemmer ikke overens med «%s»"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Ugyldig modus gitt i flagg"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
#, fuzzy
msgid "ask for confirmation for every action"
msgstr "Kan ikke lese bekreftelse fra brukeren"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Du kan ikke angi mer enn ett av «-Acdtrux»-flaggene"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Konflikt i kompresjonsflagg"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr "Ukjent mønster «%s»"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr ""
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr ""
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr ""
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr ""
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr ""
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr ""
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mer enn én grense-dato"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "Ugyldig eier gitt i flagg"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Ugyldig modus gitt i flagg"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr ""
-#: src/tar.c:1916
+#: src/tar.c:1934
#, fuzzy
msgid "Invalid owner"
msgstr "Ugyldig eier gitt i flagg"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
#, fuzzy
msgid "Invalid record size"
msgstr "Ugyldig verdi for record_size"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Blokkstørrelse må være delbart på %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr ""
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "Ukjent mønster «%s»"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Gammelt flagg «%c» behøver et argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Ved flere arkivfiler behøves «-M»-flagget"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr ""
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Kan ikke verifisere arkiv som går over flere volum"
#
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Kan ikke verifisere komprimerte arkiver"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Kan ikke bruke komprimerte arkiv som går over flere volum"
#
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Kan ikke oppdatere komprimerte arkiver"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "For feig til å lage et tomt arkiv"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Flaggene «-Aru» er inkompatible med «-f -»"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Du må angi ett av «-Acdtrux»-flaggene"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Filen krympet med %d bytes, (øh!)"
msgstr[1] "%s: Filen krympet med %d bytes, (øh!)"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr ""
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr ""
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr ""
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Leser kontrollpunkt %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Genrerer datafiler for GNU tar testpakke.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Konflikt i kompresjonsflagg"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr ""
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Bruk: %s [FLAGG]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "%s: Kunne ikke endre aksess- og modifiseringstider"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Ugyldig datoformat «%s»"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr ""
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Unkjent systemfeil"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "Kan ikke åpne %s"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Kan ikke eksekvere %s"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr "Ukjent mønster «%s»"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "Kan ikke gjøre «stat» på %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Kan ikke åpne %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr ""
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Ødelagte filnavn--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Kan ikke gå til filkatalogen %s"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Kan ikke endre navn på %s til %s"
+
#~ msgid "Reading %s\n"
#~ msgstr "Leser %s\n"
# Dutch translations for tar.
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
#
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008.
+# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010.
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar-1.22\n"
+"Project-Id-Version: tar-1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-03-25 21:42+0100\n"
-"Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-12 10:28+0200\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.0\n"
#: gnu/argmatch.c:135
#, c-format
"Rapporteer gebreken in het programma aan %s;\n"
"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Onbekende systeemfout"
msgid "give a short usage message"
msgstr "een korte gebruikssamenvatting tonen"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAAM"
msgid "write error"
msgstr "schrijffout"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: optie '%s' is niet eenduidig\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
-#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: optie '%s' vereist een argument\n"
+#: gnu/getopt.c:639 gnu/getopt.c:658
+#, c-format
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: optie '--%s' vereist een argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: ongeldige optie -- %c\n"
+msgstr "%s: ongeldige optie -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: optie vereist een argument -- %c\n"
+msgstr "%s: optie vereist een argument -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: optie '-W %s' vereist een argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "onvoldoende geheugen beschikbaar"
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "In pakketvorm gebracht door %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "In pakketvorm gebracht door %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
"\n"
msgstr ""
"\n"
-"Licentie GPLv3+: GNU GPL versie 3 of nieuwer <http://gnu.org/licenses/gpl."
-"html>.\n"
"Dit is vrije software: u mag het vrijelijk wijzigen en verder verspreiden.\n"
-"Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
+"De precieze licentie is GPL-3+: GNU General Public License versie 3 of "
+"later.\n"
+"Zie http://gnu.org/licenses/gpl.html voor de volledige (Engelse) tekst.\n"
+"Deze software kent GEEN GARANTIE, voor zover de wet dit toestaat.\n"
"\n"
#. TRANSLATORS: %s denotes an author name.
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
msgstr ""
-"Rapporteer gebreken in het programma aan %s;\n"
+"\n"
+"Rapporteer gebreken in het programma aan <%s>;\n"
"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
msgstr ""
-"\n"
-"Rapporteer gebreken in het programma aan <%s>;\n"
+"Rapporteer gebreken in het programma '%s' aan <%s>;\n"
"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Webpagina van %s: <%s>\n"
#: gnu/version-etc.c:255
-#, fuzzy, c-format
+#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "%s-beginpagina: <http://www.gnu.org/software/%s/>.\n"
+msgstr "Webpagina van %s: <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
-#, fuzzy
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
-"Algemene hulp bij het gebruik van GNU software: <http://www.gnu.org/gethelp/"
-">.\n"
+"Algemene hulp bij gebruik van GNU-software: <http://www.gnu.org/gethelp/>\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Kan geen verbinding maken met %s: herleiding is mislukt"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Kan gindse shell niet uitvoeren"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Sprongrichting valt buiten bereik"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Ongeldige modus gegeven bij optie"
+msgstr "Ongeldige sprongrichting"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Ongeldige grootte: %s"
+msgstr "Ongeldige sprongpositie"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Sprongpositie valt buiten bereik"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Ongeldige bandlengte"
+msgstr "Ongeldig byte-aantal"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "Sprongpositie valt buiten bereik"
+msgstr "Byte-aantal valt buiten bereik"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: Voortijdig einde van bestand\n"
+msgstr "Voortijdig einde van bestand"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Hoofdbewerkingen:"
+msgstr "Ongeldige bewerkingscode"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Bewerking wordt niet ondersteund"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Onverwacht einde-van-bestand in archief"
+msgstr "Onverwachte argumenten"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
+"Een magneetband manipuleren, en opdrachten accepteren van een ander proces."
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "AANTAL"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "debug-niveau instellen"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "BESTAND"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "naam van debug-uitvoerbestand instellen"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "Kan '%s' niet openen"
+msgstr "kan %s niet openen"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "te veel argumenten"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Ongeldige opdracht"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Dit ziet er niet uit als een tar-archief"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Totaal aantal geschreven bytes"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Totaal aantal gelezen bytes"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Totaal aantal verwijderde bytes: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pijp)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Ongeldige waarde voor recordgrootte"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Geen archiefnaam opgegeven"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Archief is gecomprimeerd. Gebruik optie '%s'."
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Kan ingepakte archieven niet bijwerken"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Aan het begin van de band -- tar sluit nu af."
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Te veel fouten -- tar sluit nu af."
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek() is niet gestopt op een recordgrens"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: bevat een ongeldig deelnummer"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Deelnummer-overloop"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "WAARSCHUWING: Archief is onvolledig"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q tar afbreken\n"
" y of Enter doorgaan\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! een subshell starten\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? dit lijstje tonen\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Geen nieuw deel -- tar sluit af.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Geen bestandsnaam opgegeven. Probeer het nog eens.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Ongeldige invoer. Typ ? voor hulp.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Opdracht %s is mislukt"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s gaat niet verder in dit deel"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s heeft een verkeerde grootte (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Dit deel valt buiten de reeks (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
-msgstr "Archief is niet gemerkt als overeenkomend met %s"
+msgstr "Archief bevat geen label, kan niet overeenkomen met %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Deel %s komt niet overeen met %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; "
"afgekapt"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
-msgstr "write is niet gestopt op een blokgrens"
+msgstr "schrijven is niet gestopt op een recordgrens"
#: src/compare.c:95
#, c-format
msgstr[0] "Kon slechts %lu van %lu byte lezen"
msgstr[1] "Kon slechts %lu van %lu bytes lezen"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Inhouden verschillen"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Onverwacht einde-van-bestand in archief"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Bestandssoort verschilt"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modus verschilt"
msgid "Mod time differs"
msgstr "Wijzigingstijd verschilt"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Grootte verschilt"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Niet gekoppeld aan %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolische koppeling verschilt"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Apparaatnummer verschilt"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verifiëren "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Onbekende bestandssoort '%c'; gedifft als gewoon bestand"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Archief bevat bestandsnamen waarvan de prefixen verwijderd zijn."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Een verificatie kan mogelijk de originele bestanden niet vinden."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "Verificatie is MISLUKT: %d ongeldige kop gevonden"
msgstr[1] "Verificatie is MISLUKT: %d ongeldige koppen gevonden"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Een los blok met nullen op %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: map bevat cache-markering %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "waarde %s valt buiten bereik voor %s (%s..%s); wordt vervangen door %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "waarde %s valt buiten bereik voor %s (%s..%s)"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Er worden negatieve octale koppen gemaakt"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: bestandsnaam is te lang (max %d); niet gearchiveerd"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: bestandsnaam is te lang (kan niet worden gesplitst); niet gearchiveerd"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: koppelingsnaam is te lang; niet gearchiveerd"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Bestand is gekrompen met %s byte; aangevuld met nullen"
msgstr[1] "%s: Bestand is gekrompen met %s bytes; aangevuld met nullen"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "inhoud niet gearchiveerd"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Onbekende bestandssoort; bestand genegeerd"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "Ontbrekende koppelingen naar %s.\n"
+msgstr "Ontbrekende koppelingen naar %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: bestand is ongewijzigd; niet gearchiveerd"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: bestand is het archief zelf; niet gearchiveerd"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "map is niet gearchiveerd"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: bestand is gewijzigd tijdens het lezen"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket genegeerd"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: deur genegeerd"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Alles tot aan volgende kop wordt overgeslagen"
msgid "Deleting non-header from archive"
msgstr "Niet-kop wordt uit archief verwijderd"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: onwaarschijnlijk oude tijdsstempel %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: tijdsstempel %s ligt %s seconden in de toekomst"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Onverwachte inconsistentie tijdens aanmaken van map"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Map werd hernoemd voordat de status ervan kon worden bepaald"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Aaneengesloten bestanden worden uitgepakt als gewone bestanden"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr ""
"Poging om symbolische koppelingen als harde koppelingen uit te pakken..."
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "%s: Kan niet uitpakken -- bestand gaat door in een ander deel"
+msgstr "%s: Kan niet uitpakken -- bestand gaat door vanuit een ander deel"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
-msgstr "Onverwachte lange-naamkop"
+msgstr "Onverwachte langenaamkop"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Onbekende bestandssoort '%c'; uitgepakt als gewoon bestand"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Huidige %s is nieuwer of even oud"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Kan geen reservekopie van dit bestand maken"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Kan %s niet tot %s hernoemen"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Map is hernoemd van %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Map is hernoemd"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Map is nieuw"
msgid "%s: Cannot remove"
msgstr "%s: Kan niet verwijderen"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Overgeslagen"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok van NUL-tekens **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
-msgstr "blok %s: ** Einde-bestand **\n"
+msgstr "blok %s: ** Einde-van-bestand **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"aangenomen"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Archief bevat ouderwetse grondtal-64 koppen"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " koppeling naar %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " onbekende bestandssoort %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Lange koppeling--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Lange naam--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Deelkop--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Verder bij byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Aanmaken van map:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Kan werkmap niet wijzigen"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Hernoemen van %s tot %s...\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Kan niet tot %s hernoemen"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Hernoemen van %s terug tot %s...\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Kan werkmap niet opslaan"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Kan werkmap niet wijzigen"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden"
+msgstr "%s: Map werd verwijderd voordat deze gelezen kon worden"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "dochterproces"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "interproces-kanaal"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Bestandsnamen bevatten jokertekens. Gebruik '--wildcards'"
+msgstr "Bestandsnamen bevatten jokertekens."
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "om patroonovereenkomsten in te schakelen,"
+msgstr ""
+"Gebruik '--wildcards' om patroonovereenkomsten in te schakelen,\n"
+"of '--no-wildcards' om deze waarschuwing te onderdrukken."
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Komt niet voor in archief"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Is vereist maar komt niet voor in archief"
-#: src/names.c:894
-#, fuzzy
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Archieflabel komt niet overeen"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr "--preserve-order en --listed-incremental gaan niet samen"
+msgstr ""
+"Met '--listed-incremental' is '-C' niet toegestaan binnen een bestandenlijst"
-#: src/names.c:900
-#, fuzzy
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "--preserve-order en --listed-incremental gaan niet samen"
+msgstr "Met '--listed-incremental' is slechts één '-C' toegestaan"
#: src/tar.c:81
#, c-format
"Onbekende aanhalingsstijl '%s'. Probeer '%s --quoting-style=help' voor een "
"overzicht."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" 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:356
+#: src/tar.c:357
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 "
" nil, existing genummerd als ze al bestaan, anders simpel\n"
" never, simple altijd simpele reservekopieën maken\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Hoofdbewerkingen:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "de inhoud van een archief opsommen"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "bestanden uit een archief uitpakken"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "een nieuw archief aanmaken"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "verschillen tussen archief en bestandssyteem vinden"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "bestanden aan het eind van een archief toevoegen"
-#: src/tar.c:401
+#: src/tar.c:402
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:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "tar-bestanden aan een archief toevoegen"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "uit het archief verwijderen (niet gebruiken bij magneetbanden!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "label van archiefdeel controleren en stoppen"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Werkingsaanpassers:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "luchtige bestanden efficiënt verwerken"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "HOOFD[.SUB]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
-msgstr "versie van te gebruiken luchtige indeling (impliceert '--sparse')"
+msgstr "versie van te gebruiken luchtige indeling (impliceert --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "oude GNU-indeling van incrementeel archief verwerken"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "nieuwe GNU-indeling van incrementeel archief verwerken"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "dump-niveau voor aan te maken incrementeel archief"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "niet afsluiten met een foutcode bij onleesbare bestanden"
-#: src/tar.c:428
+#: src/tar.c:429
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 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:434
+#: src/tar.c:435
msgid "archive is seekable"
-msgstr "archief is doorzoekbaar"
+msgstr "in archief kan worden gesprongen"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "archief is doorzoekbaar"
+msgstr "in archief kan niet worden gesprongen"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
"geen apparaatnummers controleren tijdens aanmaken van incrementele archieven"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"apparaatnummers controleren tijdens aanmaken van incrementele archieven "
"(standaard)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Overschrijvingsopties:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "het archief na het schrijven proberen te verifiëren"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "bestanden na hun toevoeging aan het archief verwijderen"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "bij het uitpakken bestaande bestanden niet vervangen"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "bestaande bestanden bij het uitpakken overschrijven"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "elk bestand verwijderen alvorens eroverheen uit te pakken"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "bestaande mappen leegmaken alvorens eroverheen uit te pakken"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "metagegevens van bestaande mappen behouden"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"de metagegevens van bestaande mappen bij het uitpakken overschrijven "
"(standaard)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Selecteren van uitvoerkanaal:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "bestanden uitpakken naar standaarduitvoer"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "OPDRACHT"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "uitgepakte bestanden via pijp naar gegeven programma sluizen"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "afsluitwaardes van dochterprocessen negeren"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
"afsluitwaardes van dochterprocessen die niet nul zijn als fout behandelen"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Behandeling van bestandskenmerken:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "toegevoegde bestanden krijgen NAAM als eigenaar"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "toegevoegde bestanden krijgen NAAM als groep"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATUM-OF-BESTAND"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-"wijzigingstijd zetten van bestanden die wegens DATUM-OF-BESTAND toegevoegd "
-"zijn"
+"wijzigingstijd zetten van bestanden die wegens DATUM-OF-BESTAND zijn "
+"toegevoegd"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "WIJZIGINGEN"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "toegevoegde bestanden krijgen (symbolische) WIJZIGINGEN in hun modus"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "MANIER"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"herstellen van de tijdsstempels na het lezen (MANIER='replace'; standaard), "
"of door de tijdsstempels met rust te laten (MANIER='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "bestandswijzigingstijden niet uitpakken"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
-msgstr "bestanden proberen uit te pakken met gelijkblijvende eigenaar"
+msgstr ""
+"bestanden proberen uit te pakken met dezelfde eigenaar als in het archief "
+"(standaard voor root)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "bestanden uitpakken als uzelf"
+msgstr "bestanden uitpakken als uzelf (standaard voor gewone gebruikers)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "altijd getallen gebruiken voor gebruikers- en groepsnamen"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "bestandspermissies ook uitpakken (standaard voor root)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"de umask van de gebruiker toepassen bij het uitpakken van bestandspermissies "
"(standaard voor gewone gebruikers)"
-#: src/tar.c:516
+#: src/tar.c:517
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:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "hetzelfde als -p en -s samen"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-"het zetten van permissies en tijdsstempels van mappen uitstellen tot het "
-"einde van het uitpakken"
+"het zetten van permissies en tijdsstempels van mappen uitstellen tot na het "
+"uitpakken"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "het effect van de optie --delay-directory-restore ongedaan maken"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Apparaatselectie en -wisseling:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIEF"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "archiefbestand of apparaat ARCHIEF gebruiken"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
-msgstr "deze OPDRACHT gebruiken in plaats van rmt"
+msgstr "deze OPDRACHT gebruiken in plaats van 'rmt'"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
-msgstr "deze OPDRACHT gebruiken in plaats van rsh"
+msgstr "deze OPDRACHT gebruiken in plaats van 'rsh'"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "schijf en dichtheid opgeven"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "meerdelig archief aanmaken/opsommen/uitpakken"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "band wisselen na schrijven van AANTAL x 1024 bytes"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "script uitvoeren aan einde van elke band (impliceert -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "het deelnummer in BESTAND gebruiken/bijwerken"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blokverwerking:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKKEN"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOKKEN x 512 bytes per record"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "AANTAL bytes per record (een veelvoud van 512)"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "blokken met nullen in archief negeren (betekenen einde-van-bestand)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Archiefindelingskeuze:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "INDELING"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "een archief maken in de gekozen indeling"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "INDELING is een van de volgende:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "oude V7 tar-indeling"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU-indeling van tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU-indeling van tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar-indeling)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax-indeling)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "hetzelfde als pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "hetzelfde als --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "hetzelfde als --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "sleutelwoord[[:]=waarde][,sleutelwoord[[:]=waarde]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "het aangeven van pax-sleutelwoorden"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEKST"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"een archief met deelnaam TEKST maken; bij opsommen/uitpakken TEKST als "
"zoekpatroon voor de deelnaam gebruiken"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Compressie-opties:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "compressieprogramma afleiden uit bestandsachtervoegsel"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "compressieprogramma niet afleiden uit bestandsachtervoegsel"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROGRAMMA"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
-msgstr "het archief door dit programma filteren (moet -d accepteren)"
+msgstr "het archief door dit programma filteren (moet '-d' accepteren)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Lokale bestandskeuze:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "MAP"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "naar MAP gaan"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "namen van in of uit te pakken bestanden uit BESTAND halen"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
-msgstr "-T leest met NUL afgesloten namen, -C uitzetten"
+msgstr "'-T' leest met NUL afgesloten namen, schakelt '-C' uit"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
-msgstr "het resultaat van de vorige --null-optie ongedaan maken"
+msgstr "het resultaat van de vorige '--null'-optie ongedaan maken"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-"aanhalingstekens verwijderen rond bestandsnamen gelezen met -T (standaard)"
+"aanhalingstekens verwijderen rond bestandsnamen gelezen met '-T' (standaard)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
-msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met -T"
+msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met '-T'"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATROON"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "bestanden uitsluiten, gegeven als een PATROON"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "uitsluitingspatronen staan opgesomd in BESTAND"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG "
"zelf"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "alles onder mappen die BESTAND bevatten uitsluiten"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "mappen die BESTAND bevatten uitsluiten"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "systeemmappen van versiebeheer uitsluiten"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "reservekopieën en vergrendelingsbestanden uitsluiten"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "niet automatisch afdalen in mappen"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "in het lokale bestandssysteem blijven bij maken van archief"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "recursief in mappen afdalen (standaard)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "leidende '/' niet uit bestandsnamen verwijderen"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "LIDNAAM"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "beginnen bij lid LIDNAAM in het archief"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATUM"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "MANIER"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "TEKENREEKS"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"(in plaats van '~', die standaard is tenzij door omgevingsvariable "
"SIMPLE_BACKUP_SUFFIX veranderd)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Bestandsnaam-transformaties:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "EXPRESSIE"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
"deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te "
"transformeren"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
-msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen)"
+msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "verschil tussen hoofd- en kleine letters negeren"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "patronen komen overeen met begin van bestandsnaam"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
"patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "hoofdlettergevoelige vergelijking (standaard)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "jokertekens gebruiken (is standaard bij uitsluiting)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "exacte tekenreeksvergelijking"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "jokertekens komen niet overeen met '/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informatieve uitvoer:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "de verwerkte bestanden opsommen"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "SLEUTELWOORD"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Overschrijvingsopties:"
+msgstr "waarschuwingsbeleid"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ACTIE"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "bij elk controlepunt deze ACTIE uitvoeren"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "een bericht tonen als niet alle links gearchiveerd werden"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"ontvangen wordt; mogelijke signalen zijn: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
"en SIGUSR2; de namen zonder het voorvoegsel SIG worden ook geaccepteerd"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "bestandswijzigingstijden in UTC tonen"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "bestandstijden in volledige resolutie tonen"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
-msgstr "breedsprakige uitvoer naar BESTAND sturen"
+msgstr "gedetailleerde uitvoer naar BESTAND sturen"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "blokgetal binnen archief tonen bij elk bericht"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "bij elke actie om toestemming vragen"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "standaardinstellingen van tar tonen"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria "
"voldoet"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "bestands- of archiefnamen na transformatie tonen"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STIJL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "ook de tekens in TEKENREEKS aanhalen"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "de tekens in TEKENREEKS niet aanhalen"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Compatibiliteitsopties:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-"
"same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Andere opties:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
-msgstr "gebruik van mogelijk gevaarlijke opties of opdrachten uitschakelen"
+msgstr ""
+"het gebruik van potentieel gevaarlijke opties of opdrachten uitschakelen"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Slechts één van de opties 'Acdtrux' is mogelijk"
+msgstr "Slechts één van de opties '-Acdtrux' of '--test-label' is mogelijk"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Conflicterende compressie-opties"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Onbekende signaalnaam: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Optie %s: datum '%s' wordt begrepen als %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: bestandenlijst is al gelezen"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: gelezen bestandsnaam bevat een NUL-teken"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "het archief door 'xz' filteren"
+msgstr "het archief door '%s' filteren"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Geldige argumenten van --quoting-style zijn:"
+msgstr "Geldige argumenten van de optie '--quoting-style' zijn:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Deze* tar gebruikt de volgende standaardwaarden:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
-msgstr "Ongeldige blokindeling"
+msgstr "Ongeldige blokkenfactor"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Ongeldige bandlengte"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "Onjuiste incrementele bestandsindeling"
+msgstr "Onjuiste waarde van incrementeel niveau"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Meerdere drempeldata"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Ongeldig versienummer voor luchtige indeling"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' is op dit platform niet mogelijk"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
-msgstr "waarde van --checkpoint is geen geheel getal"
+msgstr "Waarde van '--checkpoint' is geen geheel getal"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: Ongeldige groep"
+msgstr "Ongeldige groep"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Ongeldige modus gegeven bij optie"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Ongeldig nummer"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Ongeldige eigenaar"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-"De optie --preserve is vervallen, gebruik nu --preserve-permissions --"
-"preserve-order"
+"De optie '--preserve' is vervallen; gebruik nu '--preserve-permissions --"
+"preserve-order'."
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Ongeldige recordgrootte"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Recordgrootte moet een veelvoud zijn van %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Ongeldig aantal elementen"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
-msgstr "Slechts één optie --to-command is toegestaan"
+msgstr "Slechts één optie '--to-command' is toegestaan"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Ongeldig dichtheidsargument: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Onbekende dichtheid: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[BESTAND]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Oude optie '%c' vereist een argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "'--occurrence' betekent niets zonder een bestandenlijst"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "'--occurrence' kan niet worden gebruikt in de gevraagde werkingsmodus"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
-msgstr "Kan '--listed-incremental' niet met '--newer' combineren"
+msgstr "Opties '--listed-incremental' en '--newer' gaan niet samen"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--preserve-order en --listed-incremental gaan niet samen"
+msgstr "Optie '--level' is betekenisloos zonder '--listed-incremental'"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Kan meerdelige archieven niet verifiëren"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Kan ingepakte archieven niet verifiëren"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
-msgstr "Kan geen meerdelige ingepakte archieven gebruiken"
+msgstr "Kan geen meerdelige ingepakte archieven verwerken"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Kan ingepakte archieven niet samenvoegen"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "optie '--pax' kan alleen worden gebruikt bij POSIX-archieven"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Deellengte kan niet kleiner zijn dan de recordgrootte"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
-msgstr "--preserve-order en --listed-incremental gaan niet samen"
+msgstr "Opties '--preserve-order' en '--listed-incremental' gaan niet samen"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Een geheel leeg archief wordt niet aangemaakt"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Opties '-Aru' gaan niet samen met '-f -'"
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "U dient een van de opties '-Acdtrux' op te geven"
+msgstr "U dient een van de opties '-Acdtrux' of '--test-label' op te geven"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
-msgstr "Stopt met foutstatus vanwege eerdere fouten"
+msgstr "Gestopt in fouttoestand vanwege eerdere fouten"
#: src/update.c:86
#, c-format
msgstr[0] "%s: Bestand is gekrompen met %s byte"
msgstr[1] "%s: Bestand is gekrompen met %s bytes"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Sleutelwoord %s is onbekend of nog niet geïmplementeerd"
-#: src/xheader.c:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "Getal valt buiten toegestaan bereik: %s"
+msgstr "Tijdsstempel valt buiten toegestaan bereik"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Patroon %s kan niet worden gebruikt"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Sleutelwoord %s kan niet worden overstegen"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Onjuiste uitgebreide kop: ontbrekende lengte"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Lengte van uitgebreide kop valt buiten bereik"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Lengte %*s van uitgebreide kop valt buiten bereik"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Onjuiste uitgebreide kop: ontbrekende witruimte na de lengte"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Onjuiste uitgebreide kop: ontbrekend isgelijkteken"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Onjuiste uitgebreide kop: overtollige %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden"
msgid "Read checkpoint %u"
msgstr "Leescontrolepunt %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile manipuleert gegevensbestanden voor de testreeksen van GNU paxutils.\n"
"OPTIES zijn:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Bestandsaanmaak-opties:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "GROOTTE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "een bestand van de gegeven GROOTTE aanmaken"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "naar het bestand NAAM schrijven i.p.v. naar standaarduitvoer"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "bestandsnamen uit BESTAND lezen"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T leest met NUL afgesloten namen"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"het bestand met het gegeven PATROON vullen; PATROON is 'default' (standaard) "
"of 'zeros' (nullen)"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "blokgrootte voor luchtig bestand"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"luchtig bestand genereren; de rest van de opdrachtregel specificeert de "
"indeling"
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "POSITIE"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "naar deze positie springen alvorens met schrijven te beginnen"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Bestandsstatistieken-opties:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-"voor elk gegeven bestand de inhoud van de 'struct stat' printen; de "
+"voor elk gegeven bestand de inhoud van de struct 'stat' printen; de "
"standaard INDELING is: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Synchrone-uitvoer-opties:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [OPTIE...]"
+msgstr "OPTIE"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-"gegeven OPDRACHT uitvoeren; dit is nuttig bij '--checkpoint' samen met één "
-"van '--cut', '--append' of '--touch'"
+"gegeven ARGUMENTEN uitvoeren; dit is nuttig bij '--checkpoint' samen met één "
+"van '--cut', '--append', '--touch', of '--unlink'"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"de gegeven actie uitvoeren (zie verderop) bij bereiken van het AANTALste "
"controlepunt"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "de datum voor de volgende '--touch'"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "de uitgevoerde controlepunten en de afsluitwaarde van OPDRACHT tonen"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Synchroon uit te voeren acties. Deze worden uitgevoerd bij het bereiken van "
"het controlepunt opgegeven met de optie '--checkpoint'."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"BESTAND afkappen tot de grootte opgegeven met een voorafgaande optie '--"
"length' (of 0 als niet gegeven)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"BESTAND met GROOTTE aantal bytes vergroten; deze GROOTTE is met een "
"voorafgaande optie '--length' opgegeven"
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "de toegangs- en wijzigingstijdsstempels van BESTAND bijwerken"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "OPDRACHT uitvoeren"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "BESTAND verwijderen"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Ongeldige grootte: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Getal valt buiten toegestaan bereik: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negatieve grootte: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "Kan status van %s niet bepalen"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
-msgstr "gevraagde bestandslengte %lu, werkelijk %lu"
+msgstr "gevraagde bestandslengte is %lu, werkelijke is %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "aangemaakt bestand is niet luchtig"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Fout tijdens getalsontleding, nabij '%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Onbekende datumopmaak"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENTEN]..."
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "Kan '%s' niet openen"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
-msgstr "kan niet springen"
+msgstr "Kan niet springen"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "Bestandsnaam bevat een NUL-teken"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "Onjuist masker (nabij '%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Onbekend veld '%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "Kan tijdsstempel van '%s' niet zetten"
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "Kan '%s' niet openen"
+msgstr "Kan '%s' niet verwijderen"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Opdracht is succesvol afgesloten\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Opdracht is mislukt met afsluitwaarde %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Opdracht is afgebroken door signaal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Opdracht is gestopt door signaal %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Opdracht resulteerde in een core-dump\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Opdracht is afgebroken\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
-msgstr "'--stat' vereist bestandsnamen"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: ongeldige optie -- %c\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Rapporteer gebreken in het programma aan <%s>;\n"
-#~ "meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
-
-#~ msgid "Reading %s\n"
-#~ msgstr "Lezen van %s...\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Fout is niet herstelbaar -- tar sluit nu af."
-
-#~ msgid "suppress this warning."
-#~ msgstr "of '-no-wildcards' om deze melding te onderdrukken."
-
-#~ msgid "filter the archive through bzip2"
-#~ msgstr "het archief door 'bzip2' filteren"
-
-#~ msgid "filter the archive through gzip"
-#~ msgstr "het archief door 'gzip' filteren"
-
-#~ msgid "filter the archive through compress"
-#~ msgstr "het archief door 'compress' filteren"
-
-#~ msgid "filter the archive through lzma"
-#~ msgstr "het archief door 'lzma' filteren"
-
-#~ msgid "filter the archive through lzop"
-#~ msgstr "het archief door 'lzop' filteren"
-
-#~ msgid "Input string too long"
-#~ msgstr "Invoertekenreeks is te lang"
-
-#~ msgid "Number syntax error"
-#~ msgstr "Syntaxfout in getal"
-
-#~ msgid "rmtd: Cannot allocate buffer space\n"
-#~ msgstr "rmtd: Kan geen bufferruimte reserveren\n"
-
-#~ msgid "Cannot allocate buffer space"
-#~ msgstr "Kan geen bufferruimte reserveren"
-
-#~ msgid "Try `%s --help' for more information.\n"
-#~ msgstr "Typ '%s --help' voor meer informatie.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]\n"
-#~ "Manipulate a tape drive, accepting commands from a remote process.\n"
-#~ "\n"
-#~ " --version Output version info.\n"
-#~ " --help Output this help.\n"
-#~ msgstr ""
-#~ "Gebruik: %s [OPTIE]\n"
-#~ "Een magneetband manipuleren, en opdrachten accepteren van een ander "
-#~ "proces.\n"
-#~ "\n"
-#~ " --version programmaversie tonen\n"
-#~ " --help deze hulptekst tonen\n"
-
-#~ msgid "Seek offset error"
-#~ msgstr "Sprongpositiefout"
-
-#~ msgid "Premature end of file"
-#~ msgstr "Voortijdig einde van bestand"
-
-#~ 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?"
+msgstr "Optie '--stat' vereist bestandsnamen"
-#~ msgid "Error exit delayed from previous errors"
-#~ msgstr "Uitgestelde afbreking na eerdere fouten"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Kan werkmap niet opslaan"
# Polish translation of GNU tar
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
-# Rafał Maszkowski <rzm@icm.edu.pl>, 1996, 1997, 2000, 2001, 2003, 2004, 2006-2010. „
+# Rafał Maszkowski <rzm@icm.edu.pl>, 1996, 1997, 2000, 2001, 2003, 2004, 2006-2010. „”
# Thanks to Jakub Bogusz for remarks and corrections, 2003, 2004, 2007, 2008
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-15 16:05+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-13 14:50+0200\n"
"Last-Translator: Rafał Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr "Raporty o błędach należy wysyłać do %s .\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Nieznany błąd systemu"
msgid "give a short usage message"
msgstr "krótka informacja o opcjach"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAZWA"
msgid "write error"
msgstr "błąd zapisu"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: opcja '%s' jest niejednoznaczna\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opcja '--%s' nie może mieć argumentu\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opcja '%c%s' nie może mieć argumentu\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: opcja '%s' wymaga argumentu\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: opcja '--%s' wymaga argumentu\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: nierozpoznana opcja '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: nierozpoznana opcja '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: błędna opcja -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcja wymaga argumentu -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcja '-W %s' nie może mieć argumentu\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: opcja '-W %s' wymaga argumentu\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "brak pamięci"
#, c-format
msgid "Cannot connect to %s: resolve failed"
msgstr ""
+"Nie można połączyć się z %s: nie udało się przetłumaczyć nazwy na adres"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Nie można uruchomić zdalnego shella"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Sposób ustawiania pozycji w pliku spoza zakresu"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Błędne kierunek przesuwania wskaźnika pozycji"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Błędne przesunięcie wskaźnika pozycji"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Pozycja w pliku poza zakresem"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Błędna liczba bajtów"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Liczba bajtów poza zakresem"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "Przedwczesny EOF"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Błędny kod operacji"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Operacja nie przewidziana"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Nieoczekiwany argumenty"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
"Posługiwanie się napędem taśmowym, przyjmowanie poleceń od zdalnego procesu"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "LICZBA"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "ustawienie poziomu wypisywania informacji diagnostycznych"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "PLIK"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "plik do zapisywania informacji diagnostycznych"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "nie można otworzyć %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "za dużo argumentów"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Bezsensowna komenda"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "To nie wygląda jak archiwum tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Licza zapisanych bajtów"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Liczba przeczytanych bajtów"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Liczba skasowanych bajtów: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Błędna wartość record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Nie podana nazwa archiwum"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Nie można zweryfikować archiwum z/do stdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Archiwum jest skompresowane. Należy użyć opcji %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Nie można uaktualnić archiwum skompresowanego"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Na początku taśmy, teraz kończę"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Za dużo błędów, kończę"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[1] "Rozmiar rekordu = %lu bloki"
msgstr[2] "Rozmiar rekordu = %lu bloków"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[1] "Nierówny blok (%lu bajty) w archiwum"
msgstr[2] "Nierówny blok (%lu bajtów) w archiwum"
-#: src/buffer.c:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek nie zatrzymał się na granicy rekordów"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: zawiera błędny numer części"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Przepełnienie numeru części"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF kiedy była oczekiwana odpowiedź użytkownika"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
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:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Zakończenie programu tar\n"
" y albo Enter Kontynuacja\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Uruchomienie powłoki\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Wypisanie tej listy\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Brak nowej części; zakończenie pracy.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, 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:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s polecenie zwróciło błąd"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nie jest kontynuowany w tej części"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s to zły rozmiar (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Ta część nie jest w kolejności (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Etykieta archiwum nie pasuje do %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Część %s nie pasuje do %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: nazwa pliku jest za długa do zapisania w nagłówku wieloczęściowego "
"archiwum GNU, zostanie skrócona"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "zapis nie zakończył się na granicy bloków"
msgstr[1] "Można było przeczytać tylko %lu z %lu bajtów"
msgstr[2] "Można było przeczytać tylko %lu z %lu bajtów"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Zawartości się różnią"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Nieoczekiwany EOF w archiwum"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Różne typy plików"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Uprawnienia się różnią"
msgid "Mod time differs"
msgstr "Czas modyfikacji się różni"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Rozmiar się różni"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nie dołączony do %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Łącze symboliczne się różni"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Różnią się numery urządzeń"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Sprawdzanie "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Nieznany typ pliku `%c' porównywany jako zwykły plik"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Archiwum zawiera nazwy plików bez początkowych elementów ścieżek."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Podczas weryfikacji mogą nie być znalezione pliki lokalne"
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[1] "BŁĄD WERYFIKACJI: wykryto %d błędne nagłówki"
msgstr[2] "BŁĄD WERYFIKACJI: wykryto %d błędnych nagłówków"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Samotny blok zerowy przy %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: zawiera znacznik katalogu pamięci podręcznej %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "wartość %s z %s poza zakresem %s..%s; podstawione %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "wartość %s z %s poza zakresem %s..%s"
# hm? - rzm
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Tworzenie ujemnych nagłówków ósemkowych"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: nazwa pliku jest za długa (powyżej %d); nie została zapisana"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
"%s: nazwa pliku jest za długa (nie może być podzielona); nie została zapisana"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: nazwa łącza jest za długa; nie została zapisana"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] "%s: Plik skurczył się o %s bajty; jest dopełniany zerami"
msgstr[2] "%s: Plik skurczył się o %s bajtów; jest dopełniany zerami"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: plik w innym systemie plików; nie został zapisany"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "zawartość nie została zapisana"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Nieznany typ pliku; plik zignorowany"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Brakujące łącza do %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: plik jest niezmieniony; nie został zapisany"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: plik jest w tym archiwum; nie został zapisany"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "katalog nie został zapisany"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: plik zmienił się w trakcie czytania"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: zignorowane gniazdo z nazwą"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: zignorowany plik door"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Przeskoczenie do następnego nagłówka"
msgid "Deleting non-header from archive"
msgstr "Kasowanie z archiwum nie-nagłówka"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: niemożliwie stara data %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: znacznik czasowy %s jest przesunięty o %s s w przyszłość"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Nieoczekiwana niespójność przy zakładaniu katalogu"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Katalog zmienił nazwę zanim można było odtworzyć jego status"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Odtwarzanie plików ciągłych (nie sparse) jako zwykłych"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Próba odtworzenia łącza symbolicznego jako zwykłego"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Niespodziewany nagłówek z długą nazwą"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Aktualny %s jest nowszy albo w tym samym wieku"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, 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:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Nie można przemianować %s na %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Nazwa katalogu została zmieniona z %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Nazwa katalogu została zmieniona"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Katalog jest nowy"
msgid "%s: Cannot remove"
msgstr "%s: Nie można usunąć"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Pominięty"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok zer **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok: %s: ** Koniec pliku **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"jak uzupełnienie dwójkowe"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Archiwum zawiera przestarzałe nagłówki base64"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " łącze do %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " nieznany typ pliku %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Długie łącze--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Długa nazwa--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Nagłówek części--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Kontynuacja od bajtu %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Tworzony jest katalog:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Nie można zmienić katalogu"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Nazwa %s zmieniona na %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Nie można przemianować na %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Nazwa zmieniona z %s z powrotem na %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Nie można zapisać bieżącego katalogu"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Nie można zmienić katalogu"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Plik usunięty zanim został przeczytany"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Katalog usunięty zanim został przeczytany"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proces potomny"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "kanał między procesami"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "W nazwach plików użyto znaków dopasowania wzorców. Proszę"
+msgstr "W nazwach plików użyto znaków dopasowania wzorców"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"użyć --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby"
+"Użyj --wildcards aby włączyć porównywanie wzorców albo --no-wildcards żeby "
+"wyłączyć to ostrzeżenie"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Nie znalazłem w archiwum"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Brak podanego wystąpienia pliku w archiwum"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Nie pasująca etykieta archiwum"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"Nie jest dozwolone używanie opcji -C wewnątrz listy plików razem z --listed-"
"incremental"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Z --listed-incremental można użyć tylko jednej opcji -C"
"Nieznany styl cytowania `%s'. Użyj `%s --quoting-style=help' żeby zobaczyć "
"listę."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"tar.\n"
" tar -xf archive.tar # rozpakowanie plików z archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
"proste\n"
" never, simple proste kopie zapasowe\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Podstawowe tryby działania:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "wypisanie zawartości archiwum"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "rozpakowanie plików z archiwum"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "utworzenie nowego archiwum"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "sprawdzenie różnic między archiwum i plikami na dysku"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "dołączenie plików na końcu archiwum"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "dołączenie tylko plików nowszych niż kopie w archiwum"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "dołączenie plików tar do archiwum"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "skasowanie plików z archiwum (nie na taśmie!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "przetestowanie etykiety archiwum i wyjście"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modyfikatory działania:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "efektywne przetwarzanie plików rzadkich"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "backup przyrostowy w starym formacie GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "backup przyrostowy w nowym formacie GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "numer poziomu tworzonej albo oglądanej przyrostowej kopii zapasowej"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "bez zakończenia błędem jeżeli niedostępne pliki"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"plików jest podana w linii poleceń albo przez opcję -T. LICZBA domyślnie "
"wynosi 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "archiwum o swobodnym dostępie"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "archiwum bez swobodnego dostępu"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "bez sprawdzania numerów urządzeń przy tworzeniu archiwów przyrostowych"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "ze sprawdzaniem numerów urządzeń przy tworzeniu archiwów przyrostowych"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Sterowanie zamazywaniem"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "próba weryfikacji archiwum po zapisaniu"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "usunięcie plików po dodaniu do archiwum"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "bez zamazania istniejących plików rozpakowanymi"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "nadpisywanie istniejących plików"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "usunięcie każdego pliku przed zamazaniem go rozpakowanym plikiem"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "opróżnianie starych katalogów przed rozpakowaniem kopii z archiwum"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "zachowanie metadanych istniejących katalogów"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"nadpisywanie metadanych istniejących katalogów przy rozpakowywaniu "
"(domyslnie)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Wybór strumienia wyjściowego"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "rozpakowanie plików na standardowe wyjście"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "POLECENIE"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "przekazanie rozpakowywanych plików do innego programu"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "zignorowanie kodów wyjścia procesów potomnych"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Przetwarzanie atrybutów plików:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "nadanie właściciela NAZWA dodanym plikom"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "nadanie grupy NAZWA dodanym plikom"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATA_ALBO_PLIK"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "ustawianie czasu modyfikacji dodanych plików z DATA_ALBO_PLIK"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ZMIANY"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "ZMIANA uprawnień dodanych plików (podanych symbolicznie)"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODA"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"czytaniu (METODA='replace'; domyślnie) albo przez nieustawianie czasu "
"(METODA='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "bez odtworzenia czasu modyfikacji rozpakowanego pliku"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"staranie się o odtworzenie właścicieli plików według zapisu w archiwum "
"(domyślnie dla superusera)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
"rozpakowanie plików jako własności rozpakowującego (domyślnie dla zwykłych "
"użytkowników)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "używanie numerów, nie nazw użytkowników/grup"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"odtworzenie informacji o uprawnieniach plików (domyślnie dla superusera)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"użycie umask użytkownika przy odtwarzaniu uprawnień z archiwum (domyślnie "
"dla zwykłych użytkowników)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "pliki do rozpakowania posortowane jak w archiwum"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "to samo co równocześnie -p i -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"ustawianie czasów zmian i uprawnień odtworzonych katalogów opóźnione do "
"końca rozpakowywania"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "wyłączenie efektu opcji --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Wybór i przełączanie urządzeń:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIWUM"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "użycie pliku lub urządzenia ARCHIWUM"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "plik archiwum lokalny, nawet jeżeli ma dwukropek"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "użyj POLECENIA zamiast /etc/rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "użyj POLECENIA zamiast rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "podanie napędu i gęstości"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "tworzenie/wypisanie/rozpakowanie archiwum wieloczęściowego"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "zmiana taśmy po zapisaniu LICZBA x 1024 bajtów"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "uruchomienie skryptu na końcu taśmy (włącza -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "użycie/uaktualnienie numeru części w PLIKU"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Parametry bloków:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKI"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOKI x 512 bajtów na rekord"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "LICZBA bajtów w rekordzie, wielokrotność 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Wybór formatu archiwum:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "utworzenie archiwum w danym formacie."
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT może być jednym z następujących:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "stary format tara z V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "format GNU dla tara <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "format tara GNU 1.13"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "format POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "format POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "to samo co pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "to samo co --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "to samo co --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "słowo_kluczowe[[:]=wartość][,słowo_kluczowe[[:]=wartość]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "ustawianie słów kluczowych formatu pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEKST"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"utworzenie archiwum z nazwą wolumenu TEKST. Przy wypisywaniu/rozpakowaniu "
"TEKST będzie użyty jako wzorzec dopasowania dla nazwy"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Opcje kompresji"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "użycie przyrostka nazwy archiwum do ustalenia programu kompresującego"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
"bez używania przyrostka nazwy archiwum do wyznaczenia programu kompresującego"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROGRAM"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtrowanie przez PROGRAM (akceptujący -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Wybór plików lokalnych:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "KATALOG"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "przejście do KATALOGU"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T czyta nazwy zakończone zerem, wyłącz -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "wyłączenie efektu użycia opcji --null"
-#: src/tar.c:649
+#: src/tar.c:650
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:651
+#: src/tar.c:652
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:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "WZORZEC"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "wykluczenie nazw pasujących do WZORCA"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "wykluczenie nazw pasujących do wzorców w PLIKU"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"wykluczenie katalogów zawierających znacznik pamięci podręcznej CACHEDIR."
"TAG, oprócz samych plików znacznika"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG i ich podkatalogów"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "wykluczenie katalogów zawierających CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "wykluczenie katalogów zawierających PLIK i ich podkatalogów"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "wykluczenie katalogów zawierających PLIK"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "wykluczenie katalogów systemu administrowania wersjami"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "wykluczenie plików kopii zapasowych i rezerwacji zasobów"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "bez automatycznego zagłębiania się w katalogi"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "pozostanie w jednym systemie plików"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "zagłębianie się w podkatalogi (domyślnie)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "bez usuwania początkowego `/' z nazw plików"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "archiwizacja plików, na które wskazują łącza symboliczne"
-#: src/tar.c:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NAZWA-PLIKU"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "zaczęcie od pliku NAZWA-PLIKU w archiwum"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "zapisanie tylko plików nowszych niż DATA albo data PLIKU"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "porównywanie daty i czasu tylko dla zmienionych danych"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "TRYB"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "kopia zapasowa przed usunięciem, wybranie TRYBU zarządzania wersjami"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "NAPIS"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"kopia zapasowa przed usunięciem, zmiana domyślnego przyrostka ('~', jeżeli "
"nie zmieniony przez zmienną środowiska SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Zmiany nazwy plików:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "WYRAŻENIE"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "traktowanie tak samo małych i wielkich liter"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "nazwy porównywane od początków nazw plików"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "wzorce odnoszą się do nazw po każdym / (domyślnie)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "odróżnianie małych i wielkich liter (domyślnie)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "używanie wildcards (domyślnie dla wykluczania)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "dosłowne porównywanie napisów"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "wildcards nie są porównywane z `/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "wildcards są porównywane z '/' (domyślnie dla wykluczania)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informacje:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "wypisywanie szczegółów o przetwarzanych plikach"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "SŁOWO KLUCZOWE"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "sterowanie ostrzeżeniami"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
"wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "AKCJA"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "wykonanie AKCJI przy każdym punkcie kontrolnym"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "wypisanie komunikatu jeżeli nie wszytkie łącza zostały zapisane"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SYGNAŁ"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"sygnały: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG "
"są też akceptowane"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr "wypisanie dat modyfikacji plików w UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "wypisanie czasów modyfikacji plików w UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "wypisanie czasu pliku z pełną dokładnością"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "zapisanie dokładnych informacji w PLIKU"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "pokazanie przy każdym komunikacie numeru bloku w archiwum"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "proszenie o potwierdzenie każdego działania"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "wypisanie domyślnych ustawień tar-a"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"wypisywanie każdego katalogu nie pasującego do kryteriów szukania przy "
"wypisywaniu albo rozpakowywaniu archiwum"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "pokazanie nazw plików albo archiwów po przeszktałceniu"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STYL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "dodatkowe ujmowanie w znaki cytowania znaków z ŁAŃCUCHA"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "wyłączenie ujmowania w znaki cytowania znaków z ŁAŃCUCHA"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Opcje kompatybilności:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-"
"owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Inne opcje:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "wyłączenie używania potencjalnie szkodliwych opcji"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"Nie można podać więcej niż jednej opcji z `-Acdtrux' albo `--test-label'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Niezgodne opcje kompresji"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Nieznana nazwa sygnału: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Nie znaleziono pliku z datą"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Postawienie %s w miejscu nieznanego formatu daty %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Opcja %s: Potraktowanie daty `%s' jako %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: lista plików już przeczytana"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: przeczytana nazwa pliku zawiera znak NUL"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "filtrowanie archiwum przez %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Prawidłowe argumenty dla opcji --quoting-style:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Ten* tar ma domyślne parametry:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Błędny współczynnik łączenia w bloki"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Błędna długość taśmy"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Błędny numer poziomu przyrostowej kopii zapasowej"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Więcej niż jedna data graniczna"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Błędna wartość wersji plików rzadkich"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "ten system nie pozwala na użycie --atime-preserve='system'"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "wartość --checkpoint nie jest liczbą całkowitą"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Błędna grupa"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Błędne uprawnienia podane w opcji"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Błędny numer"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Błędny właściciel"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Opcja --preserve jest przestarzała, zamiast niej użyj --preserve-permissions "
"--preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Błędna wielkość rekordu"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Rozmiar rekordu musi być wielokrotnością %d"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Błędna ilość elementów"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Wolno użyć tylko jednej opcji polecenia --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Błędna specyfikacja gęstości: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Nieznana gęstość: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[PLIK]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Stara opcja `%c' wymaga argumentu."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence nie ma znaczenia bez listy plików"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence nie może być użyte w tym trybie"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Archiwum składające się z wielu plików wymaga opcji `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Nie można połączyć --listed-incremental z --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "opcja --level nic nie znaczy bez użycia --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Nie można zweryfikować archiwum wieloczęściowego"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Nie można zweryfikować archiwum skompresowanego"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Nie można używać wieloczęściowego archiwum skompresowanego"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Nie można połączyć skompresowanych archiwów"
-#: src/tar.c:2443
+#: src/tar.c:2462
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:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Długość części nie może być mniejsza od wielkości rekordu"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "opcja --preserve-order nie może być używana z --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Opcje `-Aru' są niekompatybilne z `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Musisz podać jedną z opcji `-Acdtrux' albo `--test-label'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Zakończenie w stanie błędu z powodu uprzednich błędów"
msgstr[1] "%s: Plik skurczył się o %s bajty"
msgstr[2] "%s: Plik skurczył się o %s bajtów"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Czas spoza dozwolonego zakresu"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Nie może być użyty wzorzec %s"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Słowo kluczowe %s nie może być zastąpione"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Błędny nagłówek rozszerzony: brakuje długości"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Długość nagłówka rozszerzonego jest poza dozwolonym zakresem"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Błędny nagłówek rozszerzony: brakuje odstępu po długości"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Błędny nagłówek rozszerzony: brakuje znaku równości"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Błędny nagłówek rozszerzony: brakuje znaku mowej linii"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Zignorowane nieznane słowo kluczowe nagłówka rozszerzonego `%s'"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Błędny nagłówek rozszerzony: błędny %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Błędny nagłówek rozszerzony: nadmiarowe %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, 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"
msgid "Read checkpoint %u"
msgstr "Punkt kontrolny czytania %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile służy do operacji na plikach w ramach zestawu testów GNU paxutils.\n"
"OPCJE:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Opcje tworzenia plików:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "ROZMIAR"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Utworzenie pliku o podanym ROZMIARZE"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Pisanie na pliku NAZWA zamiast na standardowe wyjście"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Czytanie nazw plików z PLIKU"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T czyta nazwy zakończone zerem"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "Wypełnienie pliku podanym WZORCEM. WZORZEC to 'default' albo 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Rozmiar bloku pliku rzadkiego"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Utworzenie pliku rzadkiego. Reszta argumentów określa mapę pliku."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "POZYCJA"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Ustawienie pozycji zapisu przez zapisem danych"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Opcje statystyki plików"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Wypisanie zawartości struct stat dla każdego podanego pliku. Domyślny "
"FORMAT: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Opcje równoczesnego wykonywania:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "OPCJA"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Wykonanie ARGUMENTÓW. Przydatne z --checkpoint i jednym z --cut, --append, --"
"touch albo --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Wykonanie podanej akcji (zobacz niżej) po napotkaniu punktu kontrolnego NUMER"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Ustaw datę następnej opcji --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Wypisanie wykonanych punktów kontrolnych i kodu wyjścia POLECENIA"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Akcje równoczesnego wykonania. Są podejmowane po osiągnięciu punktu "
"kontrolnego o numerze podanym przez opcję --checkpoint"
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Obcięcie PLIKU do rozmiaru podanego przez poprzednia opcję --length (albo 0, "
"jeżeli nie został podany)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Dodanie ROZMIAR bajtów do PLIKU. ROZMIAR jak podany przez poprzednią opcję --"
"length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Uaktualnienie czasów dostepu i modyfikacji PLIKU"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Wykonanie POLECENIA"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Usunięcie PLIKU"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Błędny rozmiar: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Liczba spoza dozwolonego zakresu: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Ujemny rozmiar: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "błąd stat(%s)"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "żądana długość pliku %lu, faktyczna %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "utworzony plik nie jest rzadki"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Błąd przetwarzania liczby blisko `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Nieznany format daty"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENTY...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "nie można otworzyć `%s'"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "nie można ustawić pozycji"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "nazwa pliku zawiera znak NUL"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "nieprawidłowa maska (koło `%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr " Nieznane pole `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "nie można ustawić czasu na `%s'"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "nie można usunąć `%s'"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Polecenie zakończyło się poprawnie\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Polecenie zakończyło się niepoprawnie z kodem %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Polecenie zostało zakończone sygnałem %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Polecenie zostało zatrzymane sygnałem %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Został zapisany obraz pamięci (core dump) polecenia\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Polecenie zakończone\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat wymaga podania nazwy pliku"
-#~ msgid "Cannot resolve hostname %s"
-#~ msgstr "Nieznany adres nazwy %s"
-
-#~ msgid "suppress this warning."
-#~ msgstr "wyłączyć to ostrzeżenie"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Nie można zapisać bieżącego katalogu"
# Copyright (1995) Free Software Foundation, Inc.
# António José Coutinho <ajc@di.uminho.pt>
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.11.9\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 1996-04-20 21:50\n"
"Last-Translator: António José Coutinho <ajc@di.uminho.pt>\n"
"Language-Team: Portuguese <pt@li.org>\n"
+"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr ""
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Erro desconhecido, do sistema"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr "Escreve-se registo\n"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "Valor inválido para tamanho de registo (record_size)"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "A antiga opção `%c' exige um argumento."
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "A antiga opção `%c' exige um argumento."
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "A antiga opção `%c' exige um argumento."
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr ""
msgid "Cannot execute remote shell"
msgstr "Não se consegue executar uma \"shell\" remota"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr ""
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr ""
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Formato de data inválido \"%s\""
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr ""
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr ""
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr ""
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Fim de ficheiro prematuro\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Valor inválido para tamanho de registo (record_size)"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Fim de ficheiro inesperado nos nomes truncados"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Não se consegue abrir %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Comando desconhecido"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Isto não se parece a um arquivo \"tar\""
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Número total de de \"bytes\" escritos: %d\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
#, fuzzy
msgid "Total bytes read"
msgstr "Número total de de \"bytes\" escritos: %d\n"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Número total de de \"bytes\" escritos: %d\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr ""
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valor inválido para tamanho de registo (record_size)"
-#: src/buffer.c:511
+#: src/buffer.c:576
#, fuzzy
msgid "No archive name given"
msgstr "Não deram nome de arquivo, que fazer?"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Não se pode de verificar arquivos stdin ou stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
#, fuzzy
msgid "Cannot update compressed archives"
msgstr "Não se pode actualizar o verificar um arquivo comprimido"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "No princípio da fita, pára-se imediatamente"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Erros de mais: termina-se"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] ""
msgstr[1] ""
-#: src/buffer.c:842
+#: src/buffer.c:919
#, 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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr ""
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr ""
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr ""
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ATENÇÃO: O arquivo está incompleto"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Criar uma \"sub-shell\" (interpretador de comandos)\n"
" ? Escrever esta lista\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Não há novo volume; termina-se. \n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr ""
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s não tem continuidade neste volume"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, 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:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Este volume está fora da sequência"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, 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:1434
+#: src/buffer.c:1509
#, fuzzy, c-format
msgid "Volume %s does not match %s"
msgstr "O volume não condiz! %s!=%s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n"
msgstr[1] "%s: Só se pôde ler %d de um total de %ld \"bytes\"\n"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
#, fuzzy
msgid "Contents differ"
msgstr "Tempo de modificação"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Fim de ficheiro inesperado no arquivo"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
#, fuzzy
msgid "File type differs"
msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr ""
msgid "Mod time differs"
msgstr "Tempo de modificação"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
#, fuzzy
msgid "Size differs"
msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
-#: src/compare.c:269
+#: src/compare.c:263
#, fuzzy, c-format
msgid "Not linked to %s"
msgstr "%s: Não está ligado a %s\n"
-#: src/compare.c:292
+#: src/compare.c:287
#, fuzzy
msgid "Symlink differs"
msgstr "%s: Ligação (\"link\") simbólica é diferente\n"
-#: src/compare.c:321
+#: src/compare.c:316
#, fuzzy
msgid "Device number differs"
msgstr "%s: Os números do periférico mudaram\n"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificação"
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"Tipo de ficheiro \"%c\" desconhecido para %s; comparado como um ficheiro "
"normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos"
msgstr[1] "ERRO DE VERIFICAÇÃO: Encontraram-se %d cabeçalhos inválidos"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr ""
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr ""
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: não foi modificado; não será arquivado"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: não foi modificado; não será arquivado"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros"
msgstr[1] "O ficheiro %s diminuiu em %d \"bytes\", será completado com zeros"
-#: src/create.c:1175
+#: src/create.c:1158
#, fuzzy, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: Está num outro sistema de ficheiros; não será arquivado"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
#, fuzzy
msgid "contents not dumped"
msgstr " (imagem da memória despejada \"core dumped\")"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tipo de ficheiro desconhecido; ficheiro ignorado"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " ligação para %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, fuzzy, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: não foi modificado; não será arquivado"
-#: src/create.c:1552
+#: src/create.c:1697
#, fuzzy, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s é o arquivo; não será arquivado"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr ""
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr ""
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr ""
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Salta para próximo cabeçalho"
msgid "Deleting non-header from archive"
msgstr "Apaga-se do arquivo um não-cabeçalho"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr ""
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr ""
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Estão-se a extrair ficheiros contíguos como sendo ficheiros normais"
-#: src/extract.c:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr ""
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Não se consegue mudar o nome de %s para %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "Mudou-se o nome do directoria %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, fuzzy, c-format
msgid "%s: Directory has been renamed"
msgstr "Mudou-se o nome do directoria %s"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, fuzzy, c-format
msgid "%s: Directory is new"
msgstr "O directoria %s é novo"
msgid "%s: Cannot remove"
msgstr "Não se consegue apagar %s"
-#: src/list.c:115
+#: src/list.c:130
#, fuzzy, c-format
msgid "%s: Omitting"
msgstr "Omite-se %s"
-#: src/list.c:133
+#: src/list.c:146
#, fuzzy, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloco %10ld: ** Bloco de NULs **\n"
-#: src/list.c:159
+#: src/list.c:172
#, fuzzy, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloco %10ld: ** Fim-de-ficheiro **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, fuzzy, c-format
msgid "block %s: "
msgstr "bloco %10ld: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr ""
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr ""
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr ""
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " ligação para %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, fuzzy, c-format
msgid " unknown file type %s\n"
msgstr " tipo de ficheiro desconhecido \"%c\"\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Cabeçalho de volume--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, fuzzy, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continua no \"byte\" %ld--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Criação de directoria::"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Não se pode mudar para a directoria %s"
+
+#: src/misc.c:571
#, fuzzy, c-format
msgid "Renaming %s to %s\n"
msgstr "Mudou-se o nome %s para %s"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, fuzzy, c-format
msgid "%s: Cannot rename to %s"
msgstr "Não se consegue mudar o nome de %s para %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, fuzzy, c-format
msgid "Renaming %s back to %s\n"
msgstr "Mudou-se o nome %s para %s"
-#: src/misc.c:669
-#, fuzzy
-msgid "Cannot save working directory"
-msgstr "Não se pode mudar para a directoria %s"
-
-#: src/misc.c:675
-#, fuzzy
-msgid "Cannot change working directory"
-msgstr "Não se pode mudar para a directoria %s"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr ""
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "Mudou-se o nome do directoria %s"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr ""
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr ""
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Não foi encontrado no arquivo"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Não foi encontrado no arquivo"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "O arquivo não tem etiqueta e não condiz com %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" never, simple always make simple backups\n"
msgstr ""
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Fim de ficheiro inesperado no arquivo"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
#, 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:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr ""
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Não se pode verificar arquivos multi-volume"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Arquivo para stdin"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Há conflitos entre as opções de compressão"
-#: src/tar.c:615
+#: src/tar.c:616
#, 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:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "Não se consegue escrever para o programa de compressão"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Não se pode mudar para a directoria %s"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Retira-se \"/\" das ligações (\"links\") absolutas "
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr ""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
#, fuzzy
msgid "ask for confirmation for every action"
msgstr "Não se consegue obter confirmação, do utilizador"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Não se pode especificar mais do que uma das opções \"-Acdtrux\""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Há conflitos entre as opções de compressão"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr "Opção \"%c\" desconhecida"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr ""
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr ""
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr ""
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr ""
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr ""
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr ""
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr ""
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "Valor inválido para tamanho de registo (record_size)"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr ""
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr ""
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr ""
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
#, fuzzy
msgid "Invalid record size"
msgstr "Valor inválido para tamanho de registo (record_size)"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr ""
-#: src/tar.c:2020
+#: src/tar.c:2039
#, fuzzy
msgid "Only one --to-command option allowed"
msgstr "Só se permite uma opção de compressão"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "Opção \"%c\" desconhecida"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "A antiga opção `%c' exige um argumento."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Para usar vários arquivos é necessária a opção \"-M\""
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr ""
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Não se pode verificar arquivos multi-volume"
-#: src/tar.c:2419
+#: src/tar.c:2438
#, fuzzy
msgid "Cannot verify compressed archives"
msgstr "Não se pode actualizar o verificar um arquivo comprimido"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Não se pode de usar arquivos multi-volume comprimidos"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Não se pode actualizar o verificar um arquivo comprimido"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Recusa-se, covardemente, a criar um arquivo vazio"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "As opções \"-Aru\" são imcompatíveis com \"-f -\""
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Tem que se especificar uma das opções \"-Acdtrux\""
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
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:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr ""
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr ""
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr ""
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Leu-se o ponto de verificação %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr ""
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Há conflitos entre as opções de compressão"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr ""
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Forma de usar: %s [OPÇÃO]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "Não se conseguiu modificar os tempos de acesso e modificação de %s"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Formato de data inválido \"%s\""
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr ""
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Erro desconhecido, do sistema"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "Não se consegue abrir %s"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Não se consegue executar %s"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr "Opção \"%c\" desconhecida"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "Não se consegue executar \"stat\" para o ficheiro %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Não se consegue abrir %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr ""
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Nomes de ficheiros truncados--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Não se pode mudar para a directoria %s"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Não se consegue mudar o nome de %s para %s"
+
#~ msgid "Reading %s\n"
#~ msgstr "Leitura de %s\n"
# António José Coutinho <ajc@di.uminho.pt>, 1996.
# Marcus Moreira de Souza <marcusms@frb.br>
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.13.25\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\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"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
"Informar erros no programa para <bug-tar@gnu.org>.\n"
"Informar erros na tradução para <afmenez@terra.com.br>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Erro de sistema desconhecido"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: a opção `%s' é ambígua\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a opção `--%s' não admite um argumento\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a opção `%c%s' não admite um argumento\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: a opção `%s' exige um argumento\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opção `--%s' não reconhecida\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opção `%c%s' não reconhecida\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opção inválida -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: a opção exige um argumento -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a opção `-W %s' é ambígua\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opção `-W %s' não aceita um argumento\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: a opção `%s' exige um argumento\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memória esgotada"
msgid "Cannot execute remote shell"
msgstr "Impossível executar um shell remoto"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Direção de procura fora de faixa"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Modo inválido informado na opção"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Carimbo de horário inválido"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Deslocamento de procura fora de faixa"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Tamanho da fita inválido"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Deslocamento de procura fora de faixa"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Fim de arquivo prematuro\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: opção inválida -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Final-de-arquivo inesperado no arquivo-tar"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Impossível saltar para %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Comando sem sentido"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Este não parece ser um arquivo-tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valor inválido para \"record_size\""
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Nome de arquivo-tar não informado"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr ""
"Impossível verificar arquivos-tar de entrada/saída padrão (stdin/stdout)"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Impossível atualizar arquivos-tar compactados"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "No princípio da fita, encerrando agora"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Muitos erros, encerrando"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: contém um número de volume inválido"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Sobrecarga de número de volumes"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Prepare o volume #%d para %s e tecle Enter: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Fim-de-arquivo onde era esperado resposta do usuário"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "AVISO: O arquivo-tar está incompleto"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Criar um \"sub-shell\"\n"
" ? Mostra esta lista\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nenhum volume novo; encerrando.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "comando `%s' falhou"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s não continua neste volume"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s é o tamanho errado (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Este volume está fora de sequência"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "O arquivo-tar não rotulado para casar com %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "O volume %s não casa com %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "Só foi possível ler %lu de %lu bytes"
msgstr[1] "Só foi possível ler %lu de %lu bytes"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "O conteúdo é diferente"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Final-de-arquivo inesperado no arquivo-tar"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "O tipo de arquivo é diferente"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Os modos são diferentes"
msgid "Mod time differs"
msgstr "Os horários de modificação são diferentes"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Os tamanhos são diferentes"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Não está \"linkado\" a %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "O (\"Link\") simbólico é diferente"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "O número de dispositivo é diferente"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificar "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: Tipo de arquivo \"%c\" desconhecido, comparado como um arquivo normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos"
msgstr[1] "ERRO DE VERIFICAÇÃO: detectados %d cabeçalhos inválidos"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "valor %s fora da faixa %s: %s..%s; substituindo %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "valor %s fora da faixa %s: %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Gerando cabeçalhos octais negativos"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: arquivo sem alterações; não será arquivado"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: arquivo sem alterações; não será arquivado"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: arquivo sem alterações; não será arquivado"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: o arquivo diminuiu %s bytes; completando com zeros"
msgstr[1] "%s: o arquivo diminuiu %s bytes; completando com zeros"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tipo de arquivo desconhecido; arquivo ignorado"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " link para %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: arquivo sem alterações; não será arquivado"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: arquivo alterado enquanto estava sendo lido"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: \"socket\" ignorado"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: porta ignorada"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Pulando para o próximo cabeçalho"
msgid "Deleting non-header from archive"
msgstr "Removendo um não-cabeçalho do arquivo-tar"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: o carimbo de horário %s está %lu s no futuro"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Inconsistência inesperada ao criar diretório"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Diretório renomeado antes de se poder extrair seu estado"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extraindo arquivos contíguos como sendo arquivos normais"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Tentativa de extrair \"links\" simbólicos como \"links\" físicos"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Fim de arquivo inesperado nos nomes cifrados"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Impossível fazer backup deste arquivo"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Impossível renomear para %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Diretório foi renomeado"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Diretório foi renomeado"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: O diretório é novo"
msgid "%s: Cannot remove"
msgstr "%s: Impossível remover"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Omitindo"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloco %s: ** Bloco de NULs **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloco %s: ** Fim-de-arquivo **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloco %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"complemento de dois"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link para %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tipo de arquivo \"%s\" desconhecido\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Cabeçalho de volume--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continua no byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Criando de diretório:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Impossível mudar o diretório de trabalho"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Renomeando %s para %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Impossível renomear para %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Renomeando %s de volta para %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Impossível salvar diretório de trabalho"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Impossível mudar o diretório de trabalho"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: arquivo removido antes de ser lido"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: arquivo removido antes de ser lido"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "processo filho"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "canal interprocesso"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Não foi encontrado no arquivo-tar"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Não foi encontrado no arquivo-tar"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "O arquivo-tar não rotulado para casar com %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
" %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:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" nil, existing numera se existe backup numerado, se não faz simples\n"
" never, simple sempre faz backups simples\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Final-de-arquivo inesperado no arquivo-tar"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Erro ao escrever para saída padrão"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Impossível verificar arquivos-tar multi-volume"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Opções de formato do arquivo-tar conflitantes"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Opções de compressão conflitantes"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Impossível mudar o diretório de trabalho"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Removendo `%.*s' inicial dos nomes dos membros"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "O volume %s não casa com %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Modo inválido informado na opção"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Não é possível especificar mais do que uma das opções \"-Acdtrux\""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Opções de compressão conflitantes"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " tipo de arquivo \"%s\" desconhecido\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Arquivo de datas não encontrado"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Substituindo %s pelo formato de data desconhecido %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Fator de blocagem inválido"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Tamanho da fita inválido"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mais do que uma data limite"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Grupo inválido"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Modo inválido informado na opção"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Número de inode inválido"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Dono inválido"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Tamanho de registro inválido"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "Tamanho da fita inválido"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "A opção antiga `%c' exige um argumento."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Múltiplos arquivos-tar é exigem a opção \"-M\""
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Impossivel combinar --listed-incremental com --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Impossível verificar arquivos-tar multi-volume"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Impossível verificar arquivos-tar compactados"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Impossível usar arquivos-tar compactados multi-volume"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Impossível atualizar arquivos-tar compactados"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Recusando a criar um arquivo-tar vazio"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "As opções `-Aru' são incompatíveis com `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Deve ser especificada uma das opções \"-Acdtrux\""
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: O arquivo encolheu %s bytes"
msgstr[1] "%s: O arquivo encolheu %s bytes"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Carimbo de horário fora da faixa"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Ponto de verificação de leitura %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Gera arquivos de dados para pacote de testes GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Opções de compressão conflitantes"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Erro ao escrever para saída padrão"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Uso: %s [OPÇÃO]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Carimbo de horário inválido"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Número do inode fora de faixa"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Erro de sistema desconhecido"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Impossível fechar"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " tipo de arquivo \"%s\" desconhecido\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Impossível saltar para %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Impossível saltar para %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "O processo filho morreu com o sinal %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Nomes de arquivos truncados--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Impossível salvar diretório de trabalho"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Impossível renomear para %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opção ilegal -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Lendo %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "Informar erros no programa para <bug-tar@gnu.org>.\n"
#~ "Informar erros na tradução para <afmenez@terra.com.br>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Lendo %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Erro não é recuperável: saindo agora"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
#~ msgid "Premature end of file"
#~ msgstr "Fim de arquivo prematuro"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Erro não é recuperável: saindo agora"
+
#~ msgid "block size"
#~ msgstr "tamanho de bloco"
# Laurentiu Buzdugan <lbuz@rolix.org>>, 2005.
#
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.15.1\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2005-07-15 12:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Raportaþi bug-uri la %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Eroare sistem necunoscutã"
msgid "give a short usage message"
msgstr "Afiºeazã un scurt mesaj despre folosire"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NUME"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: opþiunea `%s' este ambiguã\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opþiunea `--%s' nu permite un argument\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opþiunea `%c%s' nu permite un argument\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opþiunea `%s' necesitã un argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opþiunea `--%s' nu este recunoscutã\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opþiunea `%c%s' bu este recunoscutã\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opþiune invalidã -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opþiunea necesitã un argument -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opþiunea `-W %s' este ambiguã\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opþiunea `-W %s' nu permite un argument\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: opþiunea `%s' necesitã un argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "memorie epuizatã"
msgid "Cannot execute remote shell"
msgstr "Nu pot executa shell remote"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Direcþie cãutare (seek direction) în afara domeniului"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Mod invalid furnizat ca opþiune"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Înregistrare timp invalidã"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Decalaj cãutare (seek offset) în afara domeniului"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Lungime de bandã invalidã"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Decalaj cãutare (seek offset) în afara domeniului"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: eof prematur\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Mod de operare principal:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "EOF neaºteptat în arhivã"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NUMÃR"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FIªIER"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Nu pot cãuta (seek) cãtre %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Comandã gunoi"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Aceasta nu pare a fi o arhivã tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, 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:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(pipe)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Valoare invalidã pentru record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Nume arhivã nu a fost furnizat"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Nu pot verifica arhive atdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Arhiva este compresatã. Folosiþi opþiunea %s."
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Nu pot actualiza arhive comprimate"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "La începutul benzii, ieºim acum"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Prea multe erori, ieºim"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: conþine numãr volum invalid"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Depãºire domeniu numãr volum"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Preparã volum #%d pentru %s ºi apasã tasta return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "EOF unde era aºteptat rãspunsul utilizatorului"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "AVERTISMENT: Arhiva este incompletã"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Lanseazã un subshell\n"
" ? Afiºeazã aceastã listã de opþiuni\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nici un volum nou; terminãm.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "`%s' comanda a eºuat"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nu este continuat pe acest volum"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s este de dimensiune greºitã (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Acest volum este în afara secvenþei"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Volumul %s nu se potriveºte cu %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, 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:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
msgstr[0] "Am putut citi doar %lu din %lu octet"
msgstr[1] "Am putut citi doar %lu din %lu octeþi"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Conþinuturile diferã"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "EOF neaºteptat în arhivã"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Tipul fiºierelor diferã"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Modurile diferã"
msgid "Mod time differs"
msgstr "Timp modificare diferã"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Dimensiunea diferã"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nu este link-at cãtre %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symlink diferã"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Numãr dispozitiv diferã"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verificã "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: Tip de fiºier necunoscut '%c', folosesc diff ca pentru un fiºier normal"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arhiva conþine nume de fiºiere cu prefixele îndepãrtate."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Verificare ar putea eºua sã gãseascã fiºierele originale."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "VERIFICÃ EªEC: detectat %d antet invalid"
msgstr[1] "VERIFICÃ EªEC: detectat %d antete invalide"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Un bloc zero singuratic la %s"
-#: src/create.c:68
+#: src/create.c:72
#, fuzzy, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: conþine o etichetã de director cache; nimic generat"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "valoarea %s în afara %s intervalului %s..%s; înlocuiesc %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "valoarea %s în afara %s intervalului %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generez antete octale negative"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: numele fiºierul este prea lung (maxim %d); nimic generat"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: numele fiºierul este prea lung (nu poate fi spart); nimic generat"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: numele link-ului este prea lung; nimic generat"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Fiºier scurtat cu %s octet; completat cu zerouri"
msgstr[1] "%s: Fiºier scurtat cu %s octeþi; completat cu zerouri"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: fiºierul este pe un sistem de fiºiere diferit; nimic generat"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Tip de fiºier necunoscut; fiºier ignorat"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Link lipsã cãtre '%s'.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: fiºierul este neschimbat; nimic generat"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: fiºierul este în arhivã; nimic generat"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
#, fuzzy
msgid "directory not dumped"
msgstr "%s: conþine o etichetã de director cache; nimic generat"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: fiºier schimbat în timp ce îl citeam"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket ignorat"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: uºã ignoratã"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Sãrim la urmãtorul antet"
msgid "Deleting non-header from archive"
msgstr "ªtergem non-antet din arhivã"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: înregistrare de timp neverosimilã %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: înregistrare timp %s este %lu sec în viitor"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Inconsistenþã neaºteptatã când cream directorul"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Director redenumit înainte de a fi putut extrage starea sa"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extragem fiºiere contigue ca fiºiere normale"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Încerc extragerea link-urilor simbolice ca link-uri hard"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "EOF neaºteptat în numele amestecate"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, fuzzy, c-format
msgid "Current %s is newer or same age"
msgstr "`%s' curent este mai nou"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Nu am putut arhiva (backup) acest fiºier"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: Nu pot redenumi ca %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Directorul a fost redenumit"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Directorul a fost redenumit"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Directorul este nou"
msgid "%s: Cannot remove"
msgstr "%s: Nu pot ºterge"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Omis"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "bloc %s: ** Bloc de NUL-uri **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "bloc %s: ** Sfârºit de fiºier **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "bloc %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"lui doi"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arhiva conþine antete în baza-64 depãºite"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " link cãtre %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " tip fiºier necunoscut %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Link Lung--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Nume Lung--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Antet Volum--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Continuat la octet %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Creez director:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Nu pot schimba directorul în care lucrez"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Redenumesc %s ca %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Nu pot redenumi ca %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Redenumesc %s înapoi ca %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Nu pot salva directorul în care lucrez"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Nu pot schimba directorul în care lucrez"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fiºier ºters înainte de a-l putea citi"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Fiºier ºters înainte de a-l putea citi"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proces copil"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "canal între-procese"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere"
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Nu a fost gãsit în arhivã"
-#: src/names.c:622
+#: 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ã"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
" nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n"
" never, simple întotdeauna creazã backup simplu\n"
-#: src/tar.c:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" nil, existing numeroteazã dacã existã backup numerotat, altfel simplu\n"
" never, simple întotdeauna creazã backup simplu\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Mod de operare principal:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "listeazã conþinutul unei arhive"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "extrage fiºiere dintr-o arhivã"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "creazã o nouã arhivã"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "gãseºte diferenþele dintre arhive ºi sistemul de fiºiere"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "adaugã fiºiere la sfârºitul unei arhive"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "adaugã numai fiºierele mai noi decât copia din arhivã"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "adaugã fiºiere tar la o arhivã"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "ºterge din arhivã (nu pe benzi magnetice!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modificatori operaþie:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "manipuleazã eficient fiºierele rerefiate (sparse)"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "foloseºte vechiul format GNU pentru backup incremental"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "foloseºte noul format GNU pentru backup incremental"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
#, fuzzy
msgid ""
"process only the NUMBERth occurrence of each file in the archive; this "
"--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:434
+#: src/tar.c:435
#, fuzzy
msgid "archive is seekable"
msgstr "Arhiva este cãutabilã"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "Arhiva este cãutabilã"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "încearcã sã verifici arhiva dupã scrierea sa"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "ºterge fiºierele dupã ce acestea sunt adãugate la arhivã"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "nu înlocui fiºierele existente la extragere"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "supra-scrie fiºierele existente la extragere"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "ºterge fiecare fiºier înainte de a extrage peste acesta"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "goleºte ierarhiile înainte de a extrage un director"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "pãstrazã metadata directoarelor existente"
-#: src/tar.c:466
+#: src/tar.c:467
#, fuzzy
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "supra-scrie fiºierele existente la extragere"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "extrage fiºierele la ieºirea standard"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "COMANDÃ"
-#: src/tar.c:477
+#: src/tar.c:478
#, fuzzy
msgid "pipe extracted files to another program"
msgstr "extrage fiºierele la ieºirea standard"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Manipulare atribute fiºiere:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "forþeazã NUME ca proprietar pentru fiºierele adãugate"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "forþeazã NUME ca grup pentru fiºierele adãugate"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATA-FIªIERULUI"
-#: src/tar.c:493
+#: src/tar.c:494
#, 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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "SCHIMBÃRI"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "forþeazã mod (simbolic) SCHIMBÃRI pentru fiºierele adãugate"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "nu extrage timpul de modificare al fiºierului"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "încearcã extragerea fiºierelor cu aceleaºi drepturi (ownership)"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "extrage fiºierele ca dvs. însuºi"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "foloseºte întotdeauna numere pentru numele utilizator/grup"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "sorteazã numele de extras sã se potriveascã cu arhiva"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "la fel ca -p ºi -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Selectare ºi schimbare unitate:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARHIVÃ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "foloseºte fiºier arhivã sau unitate ARHIVÃ"
-#: src/tar.c:534
+#: src/tar.c:535
#, 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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "foloseºte rmt COMANDÃ în loc de rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "foloseºte remote COMANDÃ în loc de rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "specificã unitate ºi densitate"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "creazã/listeazã/extrage arhiva pe volume multiple"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "schimbã banda dupã scriere a NUMÃR x 1024 octeþi"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "ruleazã script la terminarea fiecãrei benzi (implicã -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "foloseºte/actualizeazã numãrul de volum în FIªIER"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blocuri unitate:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCURI"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOCURI x 512 octeþi pe întregistrare"
-#: src/tar.c:573
+#: src/tar.c:574
#, fuzzy
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "DIMENSIUNE octeþi pe înregistrare, multiplu de 12"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ignorã blocuri zero-uate în arhivã (înseamnã EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "redimensioneazã bloc în timpul citirii (pentru pipe-uri BSD4.2"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Selecþie format arhivã:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
#, fuzzy
msgid "create archive of the given format"
msgstr "creazã arhiva de formatul dat."
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT este unul din urmãtoarele"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "vechiul format tar V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "oldgnu formatul GNU format ca pentru tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "formatul GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "formatul POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "formatul POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
#, fuzzy
msgid "same as pax"
msgstr "ca ºi pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "ca ºi --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "ca ºi --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
#, fuzzy
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "cuvânt_cheie[[:]=valoare][,cuvânt_cheie[[:]=valoare], ...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "controleazã cuvintele cheie pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXT"
-#: src/tar.c:608
+#: src/tar.c:609
#, fuzzy
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"creazã arhivã nu nume volum NUME. La listare/extragere, foloseºte TEXT ca "
"pattern de globbing"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Opþiunile de compresie sunt în conflict"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtreazã prin PROG (trebuie sã accepte -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Selecþie fiºier local:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "schimbã în directorul DIR"
-#: src/tar.c:643
+#: src/tar.c:644
#, 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:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATTERN"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "exclude fiºiere, date ca un PATTERN"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "pattern-urile de excludere sunt listate în FIªIER"
-#: src/tar.c:657
+#: src/tar.c:658
#, 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:660
+#: src/tar.c:661
#, fuzzy
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "exclude directoarele ce conþin o etichetã cache"
-#: src/tar.c:663
+#: src/tar.c:664
#, fuzzy
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "exclude directoarele ce conþin o etichetã cache"
-#: src/tar.c:665
+#: src/tar.c:666
#, fuzzy
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "exclude directoarele ce conþin o etichetã cache"
-#: src/tar.c:668
+#: src/tar.c:669
#, fuzzy
msgid "exclude everything under directories containing FILE"
msgstr "exclude directoarele ce conþin o etichetã cache"
-#: src/tar.c:670
+#: src/tar.c:671
#, fuzzy
msgid "exclude directories containing FILE"
msgstr "exclude directoarele ce conþin o etichetã cache"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "evitã coborârea automatã în directoare"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "stai în sistemul de fiºire local la creare arhivei"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "coboarã recursiv în directoare (implicit)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "nu elimina primul `/' din numele fiºierelor"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NUME-MEMBRU"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "începe la membrul NUME-MEMBRU în arhivã"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATA"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "comparã data ºi timpul numai când a fost schimbatã data"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "fã backup înainte de ºtergere, alege CONTROL pentru versiuni"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "ªIR"
-#: src/tar.c:697
+#: src/tar.c:698
#, fuzzy
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
#, 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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
#, fuzzy
msgid "ignore case"
msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)"
-#: src/tar.c:718
+#: src/tar.c:719
#, fuzzy
msgid "patterns match file name start"
msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere"
-#: src/tar.c:720
+#: src/tar.c:721
#, fuzzy
msgid "patterns match after any `/' (default for exclusion)"
msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)"
-#: src/tar.c:722
+#: src/tar.c:723
#, fuzzy
msgid "case sensitive matching (default)"
msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'"
-#: src/tar.c:730
+#: src/tar.c:731
#, fuzzy
msgid "wildcards match `/' (default for exclusion)"
msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Ieºire informativã:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "listeazã cu amãnunte fiºierele procesate"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
#, 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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
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:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "afiºeazã datele de modificare a fiºierelor în UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "trimite ieºire detaliatã în FIªIER"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "aratã numãrul blocului din arhivã pentru fiecare mesaj"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "cere confirmare pentru fiecare acþiune"
-#: src/tar.c:764
+#: src/tar.c:767
#, fuzzy
msgid "show tar defaults"
msgstr "Aratã valorire implicite folosite de tar"
-#: src/tar.c:766
+#: src/tar.c:769
#, fuzzy
msgid ""
"when listing or extracting, list each directory that does not match search "
"La listare sau extragere, listeazã fiecare director care nu se potriveºte cu "
"criteriile de cãutare"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Opþiuni compatibilitate:"
-#: src/tar.c:784
+#: src/tar.c:787
#, 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:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Alte opþiuni:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Nu puteþi specifica mai mult de una dintre opþiunile `-Acdtrux'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Opþiunile de compresie sunt în conflict"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " tip fiºier necunoscut %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Fiºier date nu a fost gãsit"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Înlocuim %s pentru format de datã necunoscut %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, fuzzy, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Tratez data `%s' ca %s + %ld nanosecundã"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: fiºierul este în arhivã; nimic generat"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "filtreazã arhiva prin gzip"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Acest* tar foloseºte implicit:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Factor blocuri invalid"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Lungime de bandã invalidã"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mai mult de o singurã datã limitã"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Grup invalid"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Mod invalid furnizat ca opþiune"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Numãr invalid"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Proprietar invalid"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Dimensiune înregistrare invalidã"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Dimensiune înregistrare trebuie sã fie un multiplu de %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Numãr invalid de elemente"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, fuzzy, c-format
msgid "Malformed density argument: %s"
msgstr "Argument densitate malformat: '%s'"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, fuzzy, c-format
msgid "Unknown density: `%c'"
msgstr "Densitate necunoscutã: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FIªIER]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Vechea opþiune `%c' necesitã un argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence n-are sens fãrã o listã de fiºiere"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence nu poate fi folosit în modul de operare cerut"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Fiºiere de arhivã multiple necesitã opþiunea `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Nu puteþi combina --listed-incremental cu --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "--occurrence n-are sens fãrã o listã de fiºiere"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Nu pot verifica arhive pe volume multiple"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Nu pot verifica arhive comprimate"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Nu pot folosi arhive comprimate pe volume multiple"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Nu pot actualiza arhive comprimate"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Refuz categoric sã creez o arhivã goalã"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Opþiunile `-Aru' sunt incompatibile cu `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Trebuie sã specificaþi una din opþiunile `-Acdtrux'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Fiºier scurtat cu %s octet"
msgstr[1] "%s: Fiºier scurtat cu %s octeþi"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, fuzzy, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Cuvânt_cheie %s necunoscut sau încã neimplementat"
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Înregistrare timp în afara domeniului"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Pattern-ul %s nu poate fi folosit"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Cuvânt_cheie %s nu poate fi înlocuit (overridden)"
-#: src/xheader.c:541
+#: src/xheader.c:542
#, fuzzy
msgid "Malformed extended header: missing length"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
#, fuzzy
msgid "Malformed extended header: missing blank after length"
msgstr "Antet extins malformat: lipseºte spaþiu liber dupã lungime"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:582
+#: src/xheader.c:583
#, fuzzy
msgid "Malformed extended header: missing newline"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, fuzzy, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Antet extins malformat: lipseºte semnul egal"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Antet extins malformat: lipseºte semnul egal"
msgid "Read checkpoint %u"
msgstr "Citeºte punct de verificare %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr ""
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Alte opþiuni:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
#, fuzzy
msgid "Create file of the given SIZE"
msgstr "creazã arhiva de formatul dat."
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "extrage fiºierele la ieºirea standard"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
#, fuzzy
msgid "Read file names from FILE"
msgstr "Am citit %s octeþi de la %s"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
#, fuzzy
msgid "-T reads null-terminated names"
msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "încearcã sã verifici arhiva dupã scrierea sa"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [OPÞIUNE...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
#, fuzzy
msgid "Execute COMMAND"
msgstr "COMANDÃ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Înregistrare timp invalidã"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Numãr inode în afara intervalului"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Eroare sistem necunoscutã"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "%s: Nu pot cãuta (seek) cãtre %s"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " tip fiºier necunoscut %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Nu pot cãuta (seek) cãtre %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Nu pot cãuta (seek) cãtre %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr ""
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Amestecat numele fiºierelor--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Nu pot salva directorul în care lucrez"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: Nu pot redenumi ca %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: opþiune ilegalã -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Citesc %s\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "Raportaþi bug-uri la <%s>.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Citesc %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Nu-mi pot reveni din eroare: termin acum"
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "filtrazã arhiva prin bzip2"
#~ msgid "Premature end of file"
#~ msgstr "Sfârºit de fiºier prematur"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Nu-mi pot reveni din eroare: termin acum"
+
#~ msgid "block size"
#~ msgstr "dimensiune bloc"
# Const Kaplinsky <const@ce.cctpu.edu.ru>, 1998, 1999.
# Pavel Maryanov <acid_jack@ukr.net>, 2004, 2006, 2008.
# Yuri Kozlov <yuray@komyakino.ru>, 2009.
+# Pavel Maryanov <acid@jack.kiev.ua>, 2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22\n"
+"Project-Id-Version: tar 1.23\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2009-10-11 16:43+0200\n"
-"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-05-08 19:30+0200\n"
+"Last-Translator: Pavel Maryanov <acid@jack.kiev.ua>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: gnu/argmatch.c:135
#, c-format
"Mandatory or optional arguments to long options are also mandatory or "
"optional for any corresponding short options."
msgstr ""
-"Обязательные или необязательные аргументы для длинный опций также являются "
-"обязательными или необязательными для соответствующих коротких опций."
+"Обязательные или необязательные аргументы для длинных параметров также "
+"являются обязательными или необязательными для соответствующих коротких "
+"параметров."
#: gnu/argp-help.c:1639
msgid "Usage:"
#: gnu/argp-help.c:1655
msgid " [OPTION...]"
-msgstr " [Ð\9eÐ\9fЦÐ\98Я...]"
+msgstr " [Ð\9fÐ\90Ð Ð\90Ð\9cÐ\95ТР...]"
#: gnu/argp-help.c:1682
#, c-format
msgid "Try `%s --help' or `%s --usage' for more information.\n"
msgstr ""
-"Попробуйте `%s --help' или `%s --usage' для получения дополнительной "
-"информации.\n"
+"Попробуйте `%s --help' или `%s --usage' для получения дополнительных "
+"сведений.\n"
#: gnu/argp-help.c:1710
#, c-format
msgid "Report bugs to %s.\n"
-msgstr "Отчеты об ошибках отправляйте на %s.\n"
+msgstr "Отчёты об ошибках отправляйте по адресу: %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Неизвестная системная ошибка"
msgid "give a short usage message"
msgstr "вывод короткого сообщения об использовании"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "ИМЯ"
#: gnu/argp-parse.c:756
msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(Ð\9eШÐ\98Ð\91Ð\9aÐ\90 Ð\9fÐ Ð\9eÐ\93Ð Ð\90Ð\9cÐ\9cЫ) Ð\9eпÑ\86иÑ\8f должна бÑ\8bла бÑ\8bÑ\82Ñ\8c Ñ\80аÑ\81познана?!"
+msgstr "(Ð\9eШÐ\98Ð\91Ð\9aÐ\90 Ð\9fÐ Ð\9eÐ\93Ð Ð\90Ð\9cÐ\9cЫ) Ð\9fаÑ\80амеÑ\82Ñ\80 должен бÑ\8bл бÑ\8bÑ\82Ñ\8c Ñ\80аÑ\81познан?!"
#: gnu/closeout.c:114
msgid "write error"
msgstr "ошибка записи"
-#: gnu/getopt.c:531 gnu/getopt.c:547
-#, fuzzy, c-format
+#: gnu/getopt.c:529 gnu/getopt.c:545
+#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: опÑ\86иÑ\8f `%s' не однознаÑ\87на\n"
+msgstr "%s: паÑ\80амеÑ\82Ñ\80 «%s» не однознаÑ\87ен\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
-#, fuzzy, c-format
+#: gnu/getopt.c:578 gnu/getopt.c:582
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: опция `--%s' не разрешает использовать аргумент\n"
+msgstr "%s: с параметром «--%s» нельзя использовать аргумент\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
-#, fuzzy, c-format
+#: gnu/getopt.c:591 gnu/getopt.c:596
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: опция `%c%s' не разрешает использовать аргумент\n"
+msgstr "%s: с параметром «%c%s» нельзя использовать аргумент\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: длÑ\8f опÑ\86ии `%s' требуется аргумент\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: длÑ\8f паÑ\80амеÑ\82Ñ\80а «%s» требуется аргумент\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
-#, fuzzy, c-format
+#: gnu/getopt.c:696 gnu/getopt.c:699
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: нераспознанная опция `--%s'\n"
+msgstr "%s: нераспознанный параметр «--%s»\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
-#, fuzzy, c-format
+#: gnu/getopt.c:707 gnu/getopt.c:710
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: нераспознанная опция `%c%s'\n"
+msgstr "%s: нераспознанный параметр «%c%s»\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
-#, fuzzy, c-format
+#: gnu/getopt.c:759 gnu/getopt.c:762
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: невеÑ\80наÑ\8f опÑ\86иÑ\8f -- %c\n"
+msgstr "%s: недопÑ\83Ñ\81Ñ\82имÑ\8bй паÑ\80амеÑ\82Ñ\80 -- «%c»\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
-#, fuzzy, c-format
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: длÑ\8f опÑ\86ии Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f аÑ\80гÑ\83менÑ\82 -- %c\n"
+msgstr "%s: длÑ\8f паÑ\80амеÑ\82Ñ\80а Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f аÑ\80гÑ\83менÑ\82 -- «%c»\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
-#, fuzzy, c-format
+#: gnu/getopt.c:885 gnu/getopt.c:901
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: опÑ\86иÑ\8f `-W %s' не однознаÑ\87на\n"
+msgstr "%s: паÑ\80амеÑ\82Ñ\80 «-W %s» неоднознаÑ\87ен\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
-#, fuzzy, c-format
+#: gnu/getopt.c:925 gnu/getopt.c:943
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: опция `-W %s' не разрешает использовать аргумент\n"
+msgstr "%s: с параметром «-W %s» нельзя использовать аргумент\n"
+
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: для параметра «%s» требуется аргумент\n"
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
-msgstr "памÑ\8fÑ\82Ñ\8c иÑ\81Ñ\87еÑ\80пана"
+msgstr "недоÑ\81Ñ\82аÑ\82оÑ\87но памÑ\8fÑ\82и"
#: gnu/openat-die.c:36
#, c-format
#. and use glyphs suitable for your language.
#: gnu/quotearg.c:274
msgid "`"
-msgstr "`"
+msgstr "«"
#: gnu/quotearg.c:275
msgid "'"
-msgstr "'"
+msgstr "»"
#. TRANSLATORS: A regular expression testing for an affirmative answer
#. (english: "yes"). Testing the first character may be sufficient.
#: gnu/version-etc.c:76
#, c-format
msgid "Packaged by %s (%s)\n"
-msgstr ""
+msgstr "Упакован %s (%s)\n"
#: gnu/version-etc.c:79
#, c-format
msgid "Packaged by %s\n"
-msgstr ""
+msgstr "Упакован %s\n"
#. TRANSLATORS: Translate "(C)" to the copyright symbol
#. (C-in-a-circle), if this symbol is available in the user's
#: gnu/version-etc.c:104
#, c-format
msgid "Written by %s.\n"
-msgstr "Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s.\n"
+msgstr "Ð\90вÑ\82оÑ\80: %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:108
#, c-format
msgid "Written by %s and %s.\n"
-msgstr "Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s и %s.\n"
+msgstr "Ð\90вÑ\82оÑ\80Ñ\8b: %s и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#: gnu/version-etc.c:112
#, c-format
msgid "Written by %s, %s, and %s.\n"
-msgstr "Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s и %s.\n"
+msgstr "Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
#. You can use line breaks, estimating that each author name occupies
"Written by %s, %s, %s,\n"
"and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s\n"
"и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
"Written by %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
"Written by %s, %s, %s,\n"
"%s, %s, and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s, %s и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
"Written by %s, %s, %s,\n"
"%s, %s, %s, and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s, %s, %s и %s.\n"
#. TRANSLATORS: Each %s denotes an author name.
"%s, %s, %s, %s,\n"
"and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s, %s, %s, %s\n"
"и %s.\n"
"%s, %s, %s, %s,\n"
"%s, and %s.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s, %s, %s, %s,\n"
"%s и %s.\n"
"%s, %s, %s, %s,\n"
"%s, %s, and others.\n"
msgstr ""
-"Ð\9fÑ\80огÑ\80амма Ñ\81оздана %s, %s, %s,\n"
+"Ð\90вÑ\82оÑ\80Ñ\8b: %s, %s, %s,\n"
"%s, %s, %s, %s,\n"
"%s, %s и другими.\n"
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: gnu/version-etc.c:247
-#, fuzzy, c-format
+#, c-format
msgid ""
"\n"
"Report bugs to: %s\n"
-msgstr "Отчеты об ошибках отправляйте на %s.\n"
+msgstr ""
+"\n"
+"Отчёты об ошибках отправляйте по адресу: %s\n"
#: gnu/version-etc.c:249
-#, fuzzy, c-format
+#, c-format
msgid "Report %s bugs to: %s\n"
-msgstr "Отчеты об ошибках отправляйте на %s.\n"
+msgstr "Отчёты об ошибках %s отправляйте по адресу <%s>\n"
#: gnu/version-etc.c:253
#, c-format
msgid "%s home page: <%s>\n"
-msgstr ""
+msgstr "Домашняя страница %s: %s\n"
#: gnu/version-etc.c:255
-#, fuzzy, c-format
+#, c-format
msgid "%s home page: <http://www.gnu.org/software/%s/>\n"
-msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>.\n"
+msgstr "Домашняя страница %s: <http://www.gnu.org/software/%s/>\n"
#: gnu/version-etc.c:258
-#, fuzzy
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr "Справка по работе с ПО GNU: <http://www.gnu.org/gethelp/>.\n"
+msgstr "Справка по работе с ПО GNU: <http://www.gnu.org/gethelp/>\n"
#. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
#. Directly translating this to another language will not work, first because
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Не удаётся подключиться к %s: ошибка разрешения"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
-msgstr "Невозможно запустить удалённый командный процессор"
+msgstr "Не удаётся запустить удалённый командный процессор"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Направление поиска за пределами диапазона"
-#: rmt/rmt.c:419
-#, fuzzy
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
-msgstr "Ð\92 опÑ\86ии Ñ\83казан невеÑ\80нÑ\8bй Ñ\80ежим доÑ\81Ñ\82Ñ\83па"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имое напÑ\80авление поиÑ\81ка"
-#: rmt/rmt.c:427
-#, fuzzy
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
-msgstr "Недопустимый размер: %s"
+msgstr "Недопустимое смещение поиска"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Смещение поиска за пределами диапазона"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
-#, fuzzy
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
-msgstr "Ð\9dевеÑ\80наÑ\8f длина ленÑ\82Ñ\8b"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имое Ñ\87иÑ\81ло байÑ\82"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
-#, fuzzy
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
-msgstr "СмеÑ\89ение поиÑ\81ка за пределами диапазона"
+msgstr "ЧиÑ\81ло байÑ\82 за пределами диапазона"
-#: rmt/rmt.c:539
-#, fuzzy
+#: rmt/rmt.c:558
msgid "Premature eof"
-msgstr "rmtd: Преждевременный конец файла\n"
+msgstr "Неожиданный конец файла"
-#: rmt/rmt.c:582
-#, fuzzy
+#: rmt/rmt.c:601
msgid "Invalid operation code"
-msgstr "Ð\9eÑ\81новной Ñ\80ежим Ñ\80абоÑ\82Ñ\8b:"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имÑ\8bй код опеÑ\80аÑ\86ии"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
-msgstr ""
+msgstr "Операция не поддерживается"
-#: rmt/rmt.c:645
-#, fuzzy
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
-msgstr "Ð\9dеожиданнÑ\8bй конеÑ\86 Ñ\84айла в аÑ\80Ñ\85иве"
+msgstr "Ð\9dеожиданнÑ\8bе аÑ\80гÑ\83менÑ\82Ñ\8b"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
+"Работа с накопителем на магнитной ленте с приёмом команд от удалённого "
+"процесса"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "N"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
-msgstr ""
+msgstr "задайте уровень отладки"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "ФАЙЛ"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
-msgstr ""
+msgstr "задайте имя выходного файла отладки"
-#: rmt/rmt.c:696 rmt/rmt.c:764
-#, fuzzy, c-format
+#: rmt/rmt.c:715 rmt/rmt.c:783
+#, c-format
msgid "cannot open %s"
-msgstr "невозможно открыть `%s'"
+msgstr "не удаётся открыть %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "слишком много аргументов"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Неверная команда"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Это не похоже на tar-архив"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Всего записано байт"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Всего прочитано байт"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Всего удалено байт: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(канал)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
-msgstr "Ð\9dевеÑ\80ное значение для record_size"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имое значение для record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Не указано имя архива"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
-msgstr "Невозможно проверить архив на stdin/stdout"
+msgstr "Не удаётся проверить архив на stdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
-msgstr "Ð\90Ñ\80Ñ\85ив Ñ\81жаÑ\82. Ð\98Ñ\81полÑ\8cзÑ\83йÑ\82е опÑ\86иÑ\8e %s"
+msgstr "Ð\90Ñ\80Ñ\85ив Ñ\81жаÑ\82. Ð\98Ñ\81полÑ\8cзÑ\83йÑ\82е паÑ\80амеÑ\82Ñ\80 %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
-msgstr "Невозможно обновить сжатые архивы"
+msgstr "Не удаётся обновить сжатые архивы"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Начало ленты, завершение работы"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Слишком много ошибок, завершение работы"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[1] "Размер записи = %lu блока"
msgstr[2] "Размер записи = %lu блоков"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[1] "Невыровненный блок (%lu байта) в архиве"
msgstr[2] "Невыровненный блок (%lu байт) в архиве"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"Невозможно вернуться назад на один архивный файл; он может быть нечитаемым "
"без -i"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek не остановился на границе записи"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: содержит неверный номер тома"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Переполнение номера тома"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Приготовьте том Номер %d для %s и нажмите Enter: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Конец файла вместо ожидаемого ответа пользователя"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Выход из tar\n"
" y или [нов.строка] Продолжение операции\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Порождение подпроцесса командного процессора\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Вывод этого списка\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Нет нового тома, завершение работы.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Неверные входные данные. Наберите ? для получения справки.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Сбой команды %s"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
"%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s не продолжается на этом томе"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s является неверным размером (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Этот том вне последовательности (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Метка архива не соответствует %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Том %s не соответствует %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; "
"обрезано"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "запись не остановилась на границе блока"
msgstr[1] "Можно было прочитать только %lu байта из %lu"
msgstr[2] "Можно было прочитать только %lu байт из %lu"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Содержимое различно"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Неожиданный конец файла в архиве"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Типы файлов отличаются"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Права доступа отличаются"
msgid "Mod time differs"
msgstr "Время изменения отличается"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Размеры отличаются"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Не ссылается на %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Символические ссылки отличаются"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Номера устройств отличаются"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Проверка "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Неизвестный тип файла `%c', сравнён как обычный файл "
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Архив содержит файлы с именами, из которых удалены префиксы."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "При проверке оригинальные файлы могут быть не найдены."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[1] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовка"
msgstr[2] "СБОЙ ПРОВЕРКИ: обнаружено %d неверных заголовков"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Нулевой блок в %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: содержит каталог с кэшем тегов %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "значение %s за пределами %s диапазона %s..%s; заменяется на %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "значение %s за пределами %s диапазона %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Создаются отрицательные восьмеричные заголовки"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: имя файла слишком длинное (максимум %d); не сброшено"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: имя файла слишком длинное (не может быть разделено); не сброшено"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: имя ссылки слишком длинное; не сброшено"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] "%s: Файл урезан на %s байта; дополнен нулями"
msgstr[2] "%s: Файл урезан на %s байт; дополнен нулями"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: файл находится на другой файловой системе; не сброшен"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "содержимое не сброшено"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Неизвестный тип файла; файл проигнорирован"
-#: src/create.c:1472
-#, fuzzy, c-format
+#: src/create.c:1527
+#, c-format
msgid "Missing links to %s."
-msgstr "Отсутствуют ссылки на %s.\n"
+msgstr "Отсутствуют ссылки на %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: файл не изменён; не сброшен"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: файл является архивом; не сброшен"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "каталог не сброшен"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: файл изменился во время чтения"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: сокет проигнорирован"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door проигнорирован"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Пропускается до следующего заголовка"
msgid "Deleting non-header from archive"
msgstr "Удаляется не-заголовок из архива"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: невероятно старая временная метка %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: временная метка %s - %s с в будущем "
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Неожиданная противоречивость при создании каталога"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Каталог переименован до того, как мог быть извлечен его статус"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Непрерывные файлы извлекаются как обычные"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Выполняется попытка извлечь символические ссылки как жесткие"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Непредвиденный длинный заголовок имени"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Неизвестный тип файла `%c', извлечён как обычный файл"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Текущий %s более новый или такого же возраста"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Невозможно было выполнить резервное копирование этот файла"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Невозможно переименовать %s в %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Каталог был переименован из %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Каталог был переименован"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Каталог новый"
msgid "%s: Cannot remove"
msgstr "%s: Невозможно удалить"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Пропускается"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "блок %s: ** Блок нулей **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "блок %s: ** Конец файла **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "блок %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Архив содержит устаревающие заголовки base-64"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Значение архива %s за пределами %s диапазона %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " ссылка на %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " неизвестный тип файла %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Длинная ссылка--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Длинное имя--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Заголовок тома--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Продолжение с позиции %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Создание каталога:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Невозможно изменить рабочий каталог"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s переименован в %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Невозможно переименовать в %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "%s переименовывается назад в %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Невозможно сохранить рабочий каталог"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Невозможно изменить рабочий каталог"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Файла удален до его считывания"
-#: src/misc.c:774
-#, fuzzy, c-format
+#: src/misc.c:866
+#, c-format
msgid "%s: Directory removed before we read it"
-msgstr "%s: Файла Ñ\83дален до его Ñ\81Ñ\87иÑ\82Ñ\8bвания"
+msgstr "%s: каÑ\82алог Ñ\83далÑ\91н до его Ñ\87Ñ\82ения"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "дочерний процесс"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "межпроцессорный канал"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "В именах файлов используются символы подстановки."
+msgstr "В именах файлов используются символы подстановки"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"Используйте --wildcards, чтобы задействовать эти символы, или --no-wildcards,"
+"Используйте --wildcards, чтобы задействовать эти символы, или --no-"
+"wildcards, чтобы убрать это предепреждение."
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Не найден в архиве"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Требуемое вхождение не найдено в архиве"
-#: src/names.c:894
-#, fuzzy
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Метка архива не соответствует %s"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
-msgstr "--preserve-order несовместим с --listed-incremental"
+msgstr ""
+"Параметра -C в списке файлов нельзя Использовать с параметром --listed-"
+"incremental"
-#: src/names.c:900
-#, fuzzy
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
-msgstr "--preserve-order несовместим с --listed-incremental"
+msgstr ""
+"С параметром --listed-incremental можно использовать только параметр -C"
#: src/tar.c:81
#, c-format
msgid "Options `-%s' and `-%s' both want standard input"
-msgstr "Ð\9eбе опÑ\86ии `-%s' и `-%s' иÑ\81полÑ\8cзÑ\83Ñ\8eÑ\82 стандартный ввод"
+msgstr "Ð\94лÑ\8f обоиÑ\85 паÑ\80амеÑ\82Ñ\80ов «-%s» и «-%s» иÑ\81полÑ\8cзÑ\83еÑ\82Ñ\81Ñ\8f стандартный ввод"
#: src/tar.c:158
#, c-format
msgid ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-"Неизвестный стиль цитирования `%s'. Воспользуйтесь `%s --quoting-style=help' "
-"для получения полного списка. "
+"Неизвестный стиль цитирования «%s». Воспользуйтесь параметром «%s --quoting-"
+"style=help» для получения полного списка. "
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -tvf archive.tar # List all files in archive.tar verbosely.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-"GNU `tar' предназначен для сохранения файлов на магнитную ленту или в архив "
-"на диÑ\81ке и длÑ\8f воÑ\81Ñ\81Ñ\82ановлениÑ\8f оÑ\82делÑ\8cнÑ\8bÑ\85 Ñ\84айлов из аÑ\80Ñ\85ива.\n"
+"GNU tar предназначен для сохранения файлов на магнитную ленту или в архив на "
+"диске и для восстановления отдельных файлов из архива.\n"
"\n"
"Примеры:\n"
" tar -cf archive.tar foo bar # Создание archive.tar из файлов foo и bar.\n"
"архиве archive.tar.\n"
" tar -xf archive.tar # Извлечение всех файлов из archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" nil, existing numbered if numbered backups exist, simple otherwise\n"
" never, simple always make simple backups\n"
msgstr ""
-"Суффикс для резервных копий - `~', если он не установлен через --suffix\n"
+"Суффикс для резервных копий - '~', если он не установлен через --suffix\n"
"или SIMPLE_BACKUP_SUFFIX. Управление версиями может быть установлено\n"
"через --backup или VERSION_CONTROL. Значениями могут быть:\n"
"\n"
"простые\n"
" never, simple всегда создавать простые резервные копии\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Основной режим работы:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "вывод списка содержимого архива"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "извлечение файлов из архива"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "создание нового архива"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "поиск различий между архивом и файловой системой"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "добавление файлов в конец архива"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "добавление в архив только более новых файлов"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "присоединение tar-файлов к архиву"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "удаление из архива (не на магнитных лентах!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "проверка метки тома архива и выход"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Модификаторы:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "эффективная обработка разрежённых файлов"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
"установить версию используемого формата разрежения (подразумевает --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "обработка добавочного резервирования старого формата GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "обработка добавочного резервирования нового формата GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
-msgstr ""
+msgstr "уровень копирования для созданного разностного архива со списком"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "не завершать работу при ненулевом статусе для нечитаемых файлов"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"list, и когда список файлов задан либо в командной строке, либо через опцию -"
"T. По умолчанию N равен 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "доступен поиск по архиву"
-#: src/tar.c:436
-#, fuzzy
+#: src/tar.c:437
msgid "archive is not seekable"
-msgstr "доÑ\81Ñ\82Ñ\83пен поиÑ\81к по аÑ\80Ñ\85ивÑ\83"
+msgstr "поиÑ\81к по аÑ\80Ñ\85ивÑ\83 недоÑ\81Ñ\82Ñ\83пен"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "не проверять номера устройств при создании инкрементных архивов"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"проверять номера устройств при создании инкрементных архивов (по умолчанию)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Управление перезаписью:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "попытка проверить архив после его записи"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "удаление файлов после их добавления в архив"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "не перезаписывать существующие файлы при извлечении"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
"не перезаписывать существующие файлы, которые более новые, чем их копии в "
"архиве"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "перезапись существующих файлов при извлечении"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "удаление каждого файла до извлечения поверх него"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "очистка всей иерархии до извлечения каталога"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "сохранение метаданных существующих каталогов"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "перезапись существующих файлов при извлечении (по умолчанию)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Выбор выходного потока:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "извлекать файлы на стандартный вывод"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "КОМАНДА"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "перенаправлять извлечённые файлы в другую программу"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "игнорировать коды завершения дочерних процессов"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "считать ненулевые коды завершения дочерних процессов как ошибку"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Обработка атрибутов файлов:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
"принудительно устанавливать ИМЯ в качестве владельца для добавленных файлов"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
"принудительно устанавливать ИМЯ в качестве группы для добавленных файлов"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "ДАТА-ИЛИ-ФАЙЛ"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "устанавливать для добавленных файлов mtime из ДАТЫ-ИЛИ-ФАЙЛА"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "РЕЖИМ"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
"принудительно устанавливать (символьный) РЕЖИМ доступа для добавляемых файлов"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "СПОСОБ"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"после чтения (СПОСОБ='replace'; используется по умолчанию) или не установки "
"времени в первую очередь (СПОСОБ='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "не извлекать время изменения файла"
-#: src/tar.c:504
-#, fuzzy
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
-msgstr "попытаться извлечь файлы с тем же владельцем"
+msgstr ""
+"попытаться извлечь файлы с тем же владельцем, что и в архиве (по умолчанию "
+"для супепользователя)"
-#: src/tar.c:506
-#, fuzzy
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
-msgstr "извлекать файлы как свои собственные"
+msgstr ""
+"извлекать файлы как свои собственные (по умолчанию для обычных пользователей)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "использовать числа вместо имён владельца/группы"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"извлекать информацию о правах доступа к файлу (по умолчанию для "
"суперпользователя)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"применять umask пользователя при извлечении прав доступа из архива (по "
"умолчанию для обычных пользователей)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "сортировать извлекаемые имена в том же порядке, что и в архиве"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "эквивалент -p и -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"не устанавливать время изменения и права доступа извлечённых каталогов до "
"завершения процесса извлечения"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
-msgstr "оÑ\82мениÑ\82Ñ\8c дейÑ\81Ñ\82вие опÑ\86ии --delay-directory-restore"
+msgstr "оÑ\82мениÑ\82Ñ\8c дейÑ\81Ñ\82вие паÑ\80амеÑ\82Ñ\80а --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Выбор и переключение устройств:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "АРХИВ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "использовать файл или устройство АРХИВ"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "файл архива является локальным, даже если содержит двоеточие"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "использовать указанную КОМАНДУ rmt вместо rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "использовать удалённую КОМАНДУ вместо rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "указать устройство и плотность"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "создание/листинг/извлечение многотомных архивов"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "сменить ленту после записи ЧИСЛО x 1024 байт"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
"запустить скрипт по окончании каждой ленты (подразумевается использование -М)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "использовать/обновлять номера тома в ФАЙЛЕ"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Разбиение на блоки:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "БЛОКИ"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "число БЛОКОВ x 512 байт на запись"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "ЧИСЛО байт на запись, кратное 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "игнорировать нулевые блоки в архиве (т.е. EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "заново разбивать на блоки при чтении (для каналов 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Формата архива:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "ФОРМАТ"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "создать архив в указанном формате"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "ФОРМАТОМ может быть:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "старый формат tar V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "формат GNU как в tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "формат GNU tar 1.13.х"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "формат POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "формат POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "эквивалент pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "эквивалент --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "эквивалент --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "keyword[[:]=значение][,keyword[[:]=значение]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "управляющие ключевые слова pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "ТЕКСТ"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"создать архив с именем тома ТЕКСТ; при листинге/извлечении использовать "
"ТЕКСТ в качестве шаблона подстановки"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Опции сжатия:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "использовать суффикс архива для определения программы сжатия"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "не использовать суффикс архива для определения программы сжатия"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "ПРОГ"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "пропустить архив через ПРОГ (должна поддерживать -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Выбор локальных файлов:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
"добавить указанный ФАЙЛ в архив (полезно, если имя начинается с дефиса)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "КАТАЛОГ"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "перейти в КАТАЛОГ"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "загрузить из ФАЙЛА имена для извлечения или создания"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T читает строки, оканчивающиеся нулём, отключает опцию -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "выключить воздействие предыдущей опции --null"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "убрать кавычки с имён файлов, прочитанных с опцией -T (по умолчанию)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "не убирать кавычки с имён файлов, прочитанных с опцией -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "ШАБЛОН"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "исключать файлы, определённые ШАБЛОНОМ"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого "
"файла с тегами"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "исключать каталоги с ФАЙЛОМ"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "исключать каталоги CVS"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
-msgstr ""
+msgstr "исключать резервные файлы и файлы блокировки"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "отключить автоматический спуск в каталоги"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "оставаться в локальной файловой системе при создании архива"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "рекурсивный спуск по каталогам (по умолчанию)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "не удалять начальные `/' из имен файлов"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
"следовать по символьным ссылкам и сохранять файлы, на которые они указывают"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
"следовать по жёстким ссылкам и сохранять файлы, на которые они указывают"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "ИМЯ-ЧЛЕНА"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "начинать с члена ИМЯ-ЧЛЕНА в архиве"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "ДАТА"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "сравнивать дату и время, только если изменены данные"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "УПРАВЛЕНИЕ"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "СТРОКА"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"делать копию перед удалением, переопределяет обычный суффикс ('~', если "
"только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Преобразование имён файлов:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
"удалять указанное ЧИСЛО начальных компонентов из имён файлов перед "
"извлечением"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "РАСШИРЕНИЕ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Опции шаблонов подстановки для имён файлов (влияют на шаблоны включения и "
"исключения):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "игнорировать регистр"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "шаблоны начала имени файла"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "шаблоны после любого '/' (по умолчанию для исключаемых)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "с учётом регистра (по умолчанию)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "использовать маски (по умолчанию для исключаемых)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "точное соответствие строке"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "маски не соответствуют '/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "маски соответствуют '/' (по умолчанию для исключаемых)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Вывод информации:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "подробный листинг обрабатываемых файлов"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
-msgstr ""
+msgstr "КЛЮЧЕВОЕ СЛОВО"
-#: src/tar.c:740
-#, fuzzy
+#: src/tar.c:741
msgid "warning control"
-msgstr "Управление перезаписью:"
+msgstr "управление предупреждением"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
"вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию "
"10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ДЕЙСТВИЕ"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "выполнять ДЕЙСТВИЕ на каждой контрольной точке"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "вывод сообщений, если сохранены не все ссылки"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "СИГНАЛ"
-#: src/tar.c:750
+#: src/tar.c:751
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 и SIGUSR2. Также разрешается использовать имена без "
"префикса SIG"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "вывод даты изменения файла в формате UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "отправить подробный вывод данных в FILE"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "выводить номера блоков архива в каждом сообщении"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "запрашивать подтверждение для каждого действия"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "показать значения tar по умолчанию"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"при выводе листинга или извлечении показывать все каталоги, не "
"соответствующем условию поиска"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "показывать имена файлов или архивов после преобразования"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "СТИЛЬ"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "дополнительно цитировать символы из СТРОКИ"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "отключить цитирование символов из СТРОКИ"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Опции совместимости:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-"
"owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Другие опции:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "отключить использование некоторых потенциально опасных опций"
-#: src/tar.c:927
-#, fuzzy
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
-msgstr "Указать можно не более одной опции `-Acdtrux'"
+msgstr "Указать можно только один из параметров «-Acdtrux» или «--test-label»"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Конфликт опций сжатия"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Неизвестное название сигнала: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Файл с образцом даты не найден"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "%s заменяется на неизвестный формат даты %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Опция `%s': дата '%s' рассматривается как %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: список файлов уже прочитан"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: в прочитанном имени файла присутствует пустой символ"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
-#, fuzzy, c-format
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
+#, c-format
msgid "filter the archive through %s"
-msgstr "пропустить архив через xz"
+msgstr "пропустить архив через %s"
-#: src/tar.c:1290
-#, fuzzy
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
-msgstr "Ð\94опÑ\83Ñ\81Ñ\82имÑ\8bе аÑ\80гÑ\83менÑ\82Ñ\8b длÑ\8f опÑ\86ий --quoting-style:"
+msgstr "Ð\94опÑ\83Ñ\81Ñ\82имÑ\8bе аÑ\80гÑ\83менÑ\82Ñ\8b длÑ\8f паÑ\80амеÑ\82Ñ\80а --quoting-style:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Значения по умолчанию *этого* tar:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Неверный размер ёмкости блока"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Неверная длина ленты"
-#: src/tar.c:1511
-#, fuzzy
+#: src/tar.c:1529
msgid "Invalid incremental level value"
-msgstr "Ð\9dевеÑ\80нÑ\8bй Ñ\84оÑ\80маÑ\82 инкÑ\80еменÑ\82ного Ñ\84айла"
+msgstr "Ð\9dедопÑ\83Ñ\81Ñ\82имое знаÑ\87ение добавоÑ\87ного Ñ\83Ñ\80овнÑ\8f"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Больше одной пороговой даты"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Неверное значение версии разрежения"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' не поддерживается на этой платформе"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "значение --checkpoint не является целым числом"
-#: src/tar.c:1830
-#, fuzzy
+#: src/tar.c:1848
msgid "Invalid group"
-msgstr "%s: Неверная группа"
+msgstr "Недопустимая группа"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "В опции указан неверный режим доступа"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Неверное число"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Неверный владелец"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Опция --preserve устарела, используйте --preserve-permissions --preserve-"
"order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Неверный размер записи"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Размер записи должен быть кратен %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Неверное число элементов"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Разрешается использовать только одну опцию --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Неверно сформирован аргумент плотности: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Неизвестная плотность: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Опции `-[0-7][lmh]' не поддерживаются *этим* tar'ом"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[ФАЙЛ]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Для старой опции `%c' нужно указать аргумент."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence бесполезна без списка файлов"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence не может быть использована запрошенном режиме работы"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Для нескольких файлов архивов требуется опция `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Нельзя комбинировать --listed-incremental с --newer"
-#: src/tar.c:2387
-#, fuzzy
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "--preserve-order несовместим с --listed-incremental"
+msgstr "параметр --level не имеет смыла без --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] "%s: Метка тома слишком длинная (максимум %lu байта)"
msgstr[2] "%s: Метка тома слишком длинная (максимум %lu байт)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Невозможно проверить многотомные архивы"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Невозможно проверить сжатые архивы"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Невозможно использовать многотомные сжатые архивы"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Невозможно объединить сжатые архивы"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option может быть использована только с архивами POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Размер тома не может быть меньше размера записи"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order несовместим с --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Робкий отказ от создания пустого архива"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
-msgstr "Ð\9eпÑ\86ии `-Aru' не Ñ\81овмеÑ\81Ñ\82имÑ\8b Ñ\81 `-f -'"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80Ñ\8b «-Aru» не Ñ\81овмеÑ\81Ñ\82имÑ\8b Ñ\81 «-f -»"
-#: src/tar.c:2592
-#, fuzzy
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Ð\92Ñ\8b должнÑ\8b Ñ\83казаÑ\82Ñ\8c однÑ\83 из опÑ\86ий `-Acdtrux'"
+msgstr "Ð\9dеобÑ\85одимо Ñ\83казаÑ\82Ñ\8c один из паÑ\80амеÑ\82Ñ\80ов -Acdtrux или --test-label"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Завершение работы с состоянием неисправности с из-за возникших ошибок"
msgstr[1] "%s: Файл урезан на %s байта"
msgstr[2] "%s: Файл урезан на %s байт"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Неизвестное или ещё не реализованное ключевое слово %s"
-#: src/xheader.c:173
-#, fuzzy
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
-msgstr "ЧиÑ\81ло за пÑ\80еделами допÑ\83Ñ\81Ñ\82имого диапазона: %s"
+msgstr "Ð\9cеÑ\82ка вÑ\80емени за пÑ\80еделами допÑ\83Ñ\81Ñ\82имого диапазона"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Шаблон %s не может быть использован"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Ключевое слово %s не может быть перекрыто"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Неверно сформирован расширенный заголовок: отсутствует длина"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Длина расширенного заголовка за пределами допустимого диапазона"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Длина расширенного заголовка %*s за пределами допустимого диапазона"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
"Неверно сформирован расширенный заголовок: после длины отсутствует пробел"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Неверно сформирован расширенный заголовок: отсутствует знак равенства "
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
"Неверно сформирован расширенный заголовок: отсутствует знак новой строки"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Игнорируется неизвестное ключевое слово расширенного заголовка `%s'"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Неверно сформирован расширенный заголовок: неверный %s: непредвиденный "
"разделитель %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Контрольная точка чтения %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"от GNU.\n"
"ОПЦИИ:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Опции создания файла:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "РАЗМЕР"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Создание файла указанного РАЗМЕРА"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Запись в файл с ИМЕНЕМ, а не на стандартный вывод"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Чтение имён файла из ФАЙЛА"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T читает строки, оканчивающиеся нулём"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "Заполнение файла заданным ШАБЛОНОМ. ШАБЛОН - это 'default' или 'zeros'"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Размер блока для разрежённого файла"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Создание разрежённого файла. Остальная часть команды определяет карту файла."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "СМЕЩЕНИЕ"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Искать до указанного смещения перед записью данных"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
-msgstr "Ð\9eпÑ\86ии статистики по файлам:"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80Ñ\8b статистики по файлам:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Вывод содержимого структуры stat для всех указанных файлов. ФОРМАТ по "
"умолчанию:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
-msgstr "Ð\9eпÑ\86ии синхронного выполнения:"
+msgstr "Ð\9fаÑ\80амеÑ\82Ñ\80Ñ\8b синхронного выполнения:"
-#: tests/genfile.c:164
-#, fuzzy
+#: tests/genfile.c:163
msgid "OPTION"
-msgstr " [ОПЦИЯ...]"
+msgstr "ПАРАМЕТР"
-#: tests/genfile.c:165
-#, fuzzy
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-"Выполнение указанной КОМАНДЫ. Полезно вместе с опцией --checkpoint и одной "
-"из --cut, --append, --touch"
+"Выполнение АРГУМЕНТОВ. Полезно с параметром --checkpoint и одним из --cut, --"
+"append или --touch"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Выполнение указанного действия (см. ниже) до достижения контрольной точки с "
"заданным НОМЕРОМ"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
-msgstr "Указание даÑ\82Ñ\8b длÑ\8f Ñ\81ледÑ\83Ñ\8eÑ\89ей опÑ\86ии --touch"
+msgstr "Указание даÑ\82Ñ\8b длÑ\8f Ñ\81ледÑ\83Ñ\8eÑ\89его паÑ\80амеÑ\82Ñ\80а --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Показать выполненные контрольные точки и статус выхода КОМАНДЫ"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Синхронное выполнение действий. Они выполняются при достижении контрольной "
"точки с номером, определённым опцией --checkpoint."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Усечь ФАЙЛ до размера, определённого предыдущей опцией --length (или 0, если "
"не указан)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Добавить РАЗМЕР байт к ФАЙЛУ. РАЗМЕР определяется предыдущей опцией --length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Обновить время последнего доступа и изменения ФАЙЛА."
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Выполнить КОМАНДУ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
-msgstr ""
+msgstr "Разорвать связь с ФАЙЛОМ"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Недопустимый размер: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Число за пределами допустимого диапазона: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Отрицательный размер: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "Сбой stat(%s)"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "запрошенная длина файла %lu, реальная %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "созданный файл не является разреженным"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Ошибка разбора числа возле `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Неизвестный формат даты"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[АРГУМЕНТЫ...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "невозможно открыть `%s'"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "невозможно найти"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "в имени файла присутствует пустой символ"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию "
"--file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "неверная маска (возле `%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Неизвестное поле `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "невозможно установить время в `%s'"
-#: tests/genfile.c:700
-#, fuzzy, c-format
+#: tests/genfile.c:699
+#, c-format
msgid "cannot unlink `%s'"
-msgstr "невозможно открыть `%s'"
+msgstr "не удаётся разорвать связь с «%s»"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Команда успешно выполнена\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Сбой команды; состояние: %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Команда завершена по сигналу %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Команда остановлена по сигналу %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Команда сбросила дамп памяти\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Команда завершена\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "для опции --stat нужны имена файлов"
+#~ msgid "Cannot save working directory"
+#~ msgstr "Невозможно сохранить рабочий каталог"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: недопустимая опция -- %c\n"
# Copyright (C) 1997 Free Software Foundation, Inc.
# Martin Lacko <lacko@host.sk>, 2001.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar- \n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2002-02-10 12:00CEST\n"
"Last-Translator: Martin Lacko <lacko@host.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
"pripomienky k pkekladu zasielajte na adresu <sk-i18n@lists.linux.sk> "
"(slovensky).\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Neznáma systémová chyba"
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: prepínaè %s nie je jednoznaèný\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: prepínaè `--%s' musí by» zadaný bez argumentov\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: prepínaè `%c%s' musí by» zadaný bez argumentu\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: prepínaè `%s' vy¾aduje argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neznámy prepínaè `--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neznámy prepínaè `%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neznámy prepínaè -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: prepínaè vy¾aduje argument -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: prepínaè `-W %s' nie je jednoznaèný\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: prepínaè `-W %s' musí by» zadaný bez argumentu\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: prepínaè `%s' vy¾aduje argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "Pamä» vyèerpaná"
msgid "Cannot execute remote shell"
msgstr "Vzdialený shell nie je mo¾né spusti»"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Smer posunu v súbore je mimo rozsah"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Zadáné chybné práva"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Neplatný èas súboru"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Veµkos» pozície v súbore je mimo rozsah"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Neplatná då¾ka pásky"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Veµkos» pozície v súbore je mimo rozsah"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Predèasný koniec súboru\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "%s: neznámy prepínaè -- %c\n"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Neoèekávaný koniec archívu"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Neznámy príkaz"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Toto pravdepodobne nie je tar archiv"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
#, fuzzy
msgid "Total bytes written"
msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, fuzzy, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(rúra)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Chybná hodnota pre veµkos» záznamu"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Meno archívu nebolo zadané"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Stdin/Stdout archív nie je mo¾né otvori»"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Páska na zaèiatku, konèím"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Príli¹ mnoho chýb, konèím"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: vracia chybné èíslo zväzku"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Èíslo zväzku preteèené"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Namiesto u¾ívateµskej odpovede bol zadaný koniec súboru"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "VAROVANIE: Archiv je nekompletný"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, fuzzy, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" ! Vytvorenie podshellu\n"
" ? Vypísanie tejto nápovedy\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Nie je nový zväzok; konèím.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, fuzzy, c-format
msgid "%s command failed"
msgstr "'%s' príkaz zlyhal"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s nepokraèuje na tomto zväzku"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s je chybnej då¾ky (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, 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:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Zväzok %s nezodpovedá vzorke %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] "Dá sa èíta» iba %lu z %lu bajtov"
msgstr[1] "Dá sa èíta» iba %lu z %lu bajtov"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Obsah sa lí¹i"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Neoèekávaný koniec archívu"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Typ súboru sa lí¹i"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Práva sa lí¹ia"
msgid "Mod time differs"
msgstr "Èas poslednej úpravy sa lí¹i"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Veµkos» sa lí¹i"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Nie je odkazom na %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symbolický odkaz sa lí¹i"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Èíslo zariadenia sa lí¹i"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Overujem "
-#: src/compare.c:469
+#: src/compare.c:463
#, fuzzy, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Neznámy typ súboru '%c', porovnávaný ako normálny súbor"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, fuzzy, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d"
msgstr[1] "CHYBNÉ OVERENIE: nájdených chybných hlavièiek: %d"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "hodnota %s typu %s je mimo rozsah %s..%s; nahradzujem za %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "hodnota %s typu %s je mimo rozsah %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Generujem záporné osmièkové hlavièky"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, fuzzy, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: súbor nie je zmenený; neaktualizovaný"
-#: src/create.c:634
+#: src/create.c:621
#, fuzzy, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: súbor nie je zmenený; neaktualizovaný"
-#: src/create.c:661
+#: src/create.c:648
#, fuzzy, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: súbor nie je zmenený; neaktualizovaný"
-#: src/create.c:1078
+#: src/create.c:1062
#, fuzzy, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami."
msgstr[1] "%s: Súbor je krat¹í o : %s bajtov; Doplòujem nulami."
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: súbor je na inom súborovom systéme; nearchivovaný"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Neznámy typ súboru; súbor ignorovaný"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr " odkaz na %s\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: súbor nie je zmenený; neaktualizovaný"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: súbor je archiv; nearchivovaný"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: súbor bol poèas èítania zmenený"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: soket ignorovaný"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: dvere ignorované"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Preskakujem na ïal¹iu hlavièku"
msgid "Deleting non-header from archive"
msgstr "Z archívu je mazané to, èo nie je hlavièka"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, fuzzy, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: èasová nálepka %s je %lu z dátumu budúcnosti"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Neoèakávaná nekonzistencia, pri vytvárení adresára"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
"%s: Prieèinok bol premenovaný predtým, ako mohol by» extrahovaný jeho stav"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Súvisle ulo¾ené súbory rozbaµujem ako obyèajné súbory"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Skú¹am rozbali» symbolické odkazy ako pevné odkazy"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
#, fuzzy
msgid "Unexpected long name header"
msgstr "Neoèakávaný koniec v rozsekanom mene"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Tento súbor nebolo mo¾né zálohova»"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, fuzzy, c-format
msgid "Cannot rename %s to %s"
msgstr "%s: nie je mo¾né premenova» na %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, fuzzy, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Adresár bol premenovaný"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Adresár bol premenovaný"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Adresár je nový"
msgid "%s: Cannot remove"
msgstr "%s: Nedá sa zmaza»"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Vynechávam"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Konec súboru **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"complement"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Archív obsahuje zastaralé base-64 hlavièky"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " odkaz na %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " neznámy typ súboru %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Hlavièka zväzku--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Pokraèované od %s bajtu--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Vytváram adresár:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Pracovný adresár nie je mo¾né zmeni»"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Premenovávam %s na %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: nie je mo¾né premenova» na %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Premenovávám %s spä» na %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Pracovný adresár nie je mo¾né uchova»"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Pracovný adresár nie je mo¾né zmeni»"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "potomok"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "meziprocesový kanál"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: V archíve nenájdený"
-#: src/names.c:622
+#: src/names.c:615
#, fuzzy, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: V archíve nenájdený"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
#, fuzzy
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
" %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:356
+#: src/tar.c:357
#, fuzzy
msgid ""
"The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
" existujú, inak tvorí jednoduché\n"
" never, simple tvorí v¾dy jednoduché zálo¾né kópie súborov\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
#, fuzzy
msgid "create a new archive"
msgstr "Neoèekávaný koniec archívu"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
#, fuzzy
msgid "extract files to standard output"
msgstr "Chyba pri zápise na ¹tandardný výstup"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
#, fuzzy
msgid "create/list/extract multi-volume archive"
msgstr "Víczväzkový archív nie je mo¾né otvori»"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
#, fuzzy
msgid "Archive format selection:"
msgstr "Odporujúce si archívne formáty"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Odporujúce si kompresné prepínaèe"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
#, fuzzy
msgid "change to directory DIR"
msgstr "Pracovný adresár nie je mo¾né zmeni»"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
#, fuzzy
msgid "don't strip leading `/'s from file names"
msgstr "Odstraòujem úvodné `%.*s' z názvov súborov"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
#, fuzzy
msgid "wildcards do not match `/'"
msgstr "Zväzok %s nezodpovedá vzorke %s"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
+msgstr "Zadáné chybné práva"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Viac ako jeden prepínaè `-Acdtrux' nemô¾e by» zadaných"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Odporujúce si kompresné prepínaèe"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr " neznámy typ súboru %s\n"
-#: src/tar.c:1017
+#: src/tar.c:1020
#, fuzzy
msgid "Date sample file not found"
msgstr "Dátumový súbor nebol nájdený"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, fuzzy, c-format
msgid "%s: file list already read"
msgstr "%s: súbor je archiv; nearchivovaný"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "%s: súbor je archiv; nearchivovaný"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Neplatný poèet bajtov na záznam"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Neplatná då¾ka pásky"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Viac ako jeden poèiatoèný dátum"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Chybná skupina"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Zadáné chybné práva"
-#: src/tar.c:1894
+#: src/tar.c:1912
#, fuzzy
msgid "Invalid number"
msgstr "Neplatné èíslo i-uzlu"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Neplatný vlastník"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Chybná veµkos» záznamu"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Veµkos» záznamu musí by» násobok %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
#, fuzzy
msgid "Invalid number of elements"
msgstr "Neplatná då¾ka pásky"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Prepínaè `%c' vy¾aduje argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
#, fuzzy
msgid "Multiple archive files require `-M' option"
msgstr "Viac archivaèných súborov vy¾aduje prepínaè `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental a --newer nie je mo¾né kombinova»"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Víczväzkový archív nie je mo¾né otvori»"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Komprimovaný archív nie je mo¾né otvori»"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Viaczväzkový komprimovaný archív nie je mo¾né vytvori»"
-#: src/tar.c:2431
+#: src/tar.c:2450
#, fuzzy
msgid "Cannot concatenate compressed archives"
msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Vytvorenie prázdneho archívu odmietnuté."
-#: src/tar.c:2501
+#: src/tar.c:2532
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:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Musíte zada» jeden z prepínaèov `-Acdtrux'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Súbor skrátený o bajtov: %s"
msgstr[1] "%s: Súbor skrátený o bajtov: %s"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Èas súboru mimo rozsah"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr "Èítanie testovacieho bodu %d"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Generujem datové súbory pre testovanie GNU taru.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Odporujúce si kompresné prepínaèe"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "Chyba pri zápise na ¹tandardný výstup"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr ""
"\n"
"Pou¾itie: %s [PREPÍNAÈ]...\n"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Neplatný èas súboru"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Èíslo i-uzlu mimo rozsah"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Neznáma systémová chyba"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Nedá sa zatvori»"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " neznámy typ súboru %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Potomok bol ukonèený signálom %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Rozdelené meno súboru--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Pracovný adresár nie je mo¾né uchova»"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s: nie je mo¾né premenova» na %s"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: neznámy prepínaè -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Èítanie z %s\n"
+
#, fuzzy
#~ msgid ""
#~ "\n"
#~ "pripomienky k pkekladu zasielajte na adresu <sk-i18n@lists.linux.sk> "
#~ "(slovensky).\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Èítanie z %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Z chyby sa nie je mo¾né zotavi»: ukonèuje sa"
-
#, fuzzy
#~ msgid "filter the archive through compress"
#~ msgstr "%s: súbor je archiv; nearchivovaný"
#~ msgid "Premature end of file"
#~ msgstr "Predèasný koniec súboru"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Z chyby sa nie je mo¾né zotavi»: ukonèuje sa"
+
#~ msgid "block size"
#~ msgstr "veµkos» bloku"
#~ "príli¹\n"
#~ "nepoèítajte.\n"
#~ " ARCHÍV mô¾e by» SÚBOR, HOSTITEL:SÚBOR alebo U®IVATEL@HOSTITEL:SÚBOR,\n"
-#~ "SÚBOR mô¾e by» súbor alebo zariadenie. Implicitné prepínaèe sú `-f %s -b %"
-#~ "d'.\n"
+#~ "SÚBOR mô¾e by» súbor alebo zariadenie. Implicitné prepínaèe sú `-f %s -b "
+#~ "%d'.\n"
#~ msgid "Obsolete option, now implied by --blocking-factor"
#~ msgstr "Zastaralý prepínaè, je teraz zahrnutý v prepínaèi --blocking-factor"
# Primož Peterlin <primozz.peterlin@gmail.com>, 1996, 1999, 2000, 2001, 2005, 2006, 2007, 2009.
#
# $Id: tar-1.22.sl.po 1.2 2009/05/09 09:09:31 Primoz Exp $
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.22\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2009-05-09 11:09+0200\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
+"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr "Poročila o napakah javite na %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Neznana sistemska napaka"
msgid "give a short usage message"
msgstr "poda kratka navodila za uporabo"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "IME"
msgid "write error"
msgstr "napaka pri pisanju"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: izbira »%s« ni enoznačna\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: izbira »%s« zahteva argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neprepoznana izbira »--%s«\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neprepoznana izbira »%c%s«\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neveljavna izbira -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: izbira zahteva argument -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: izbira »-W %s« je dvoumna\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: izbira »%s« zahteva argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "zmanjkalo pomnilnika"
msgid "Cannot execute remote shell"
msgstr "Ni mogoče pognati nelokalne ukazne lupine"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Smer pri seek izven obsega"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Podana zaščita ni veljavna"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Neveljavna oznaka časa"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Odmik pri seek izven obsega"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Neveljavna dolžina traku"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Odmik pri seek izven obsega"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Predčasen znak za konec datoteke\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Glavni načini delovanja:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Nepričakovan znak za konec datoteke med predelanimi imeni"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "N"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "DATOTEKA"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "Ni mogoče odpreti %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Neveljaven ukaz"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "To ne deluje kot arhiv ,tar'"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Skupno zapisanih bajtov"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Skupno prebranih bajtov"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Skupno izbrisanih bajtov: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(cev)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Neveljavna vrednost za dolžino zapisa (record_size)"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Ime arhiva ni podano"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Arhivov na stdin/stdout ni mogoče preveriti"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Arhiv je stisnjen. Uporabite izbiro %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Stisnjenega arhiva ni mogoče ažurirati"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Na začetku traku, končujem"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Preveč napak, končujem"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[2] "Dolžina zapisa = %lu bloka"
msgstr[3] "Dolžina zapisa = %lu bloki"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[2] "Neporavnan blok (%lu bajta) v arhivu"
msgstr[3] "Neporavnan blok (%lu bajti) v arhivu"
-#: src/buffer.c:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek se ni ustavil na meji zapisa"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: vsebuje neveljavno številko dela"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Prekoračitev številke dela"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Pripravite del #%d za %s in pritisnite Return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "POZOR: Arhiv nepopoln"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Končamo tar\n"
" y, newline Nadaljujemo z delovanjem\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Poženemo ukazno podlupino\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Ta seznam uzazov\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Novega dela ni, konec.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Ime datoteke ni določeno. Poskusite znova.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "ukaz %s neuspešen"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s se ne nadaljuje v tem delu"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s je napačne velikosti (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Ta del ne sodi v zaporedje (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arhiv ni označen skladno z %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Del %s ne ustreza %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; "
"porezano"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "pisanje se ni končalo s koncem bloka"
msgstr[2] "Prebrati je bilo moč samo %lu od %lu bajtov"
msgstr[3] "Prebrati je bilo moč samo %lu od %lu bajtov"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Vsebina se razlikuje"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Nepričakovan znak za konec datoteke v arhivu"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Zvrst datoteke se razlikuje"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Način se razlikuje"
msgid "Mod time differs"
msgstr "Čas zadnje spremembe se razlikuje"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Velikost se razlikuje"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Ni povezana z %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Simbolna povezava se razlikuje"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Številka enote se razlikuje"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Preverjanje "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Neznana vrsta datoteke »%c«, diff kot na navadni datoteki"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arhiv vsebuje imena datotek z odstranjenimi vodilnimi predponami."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Verifikacija morda ne bo uspela locirati izvornih datotek."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[2] "NAPAKA PRI PREVERJANJU: najdeni %d neveljavni glavi"
msgstr[3] "NAPAKA PRI PREVERJANJU: najdene %d neveljavne glave"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Osamljeni ničelni blok pri %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: vsebuje značko medpomnilniškega imenika %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "vrednost %s od %s obseg %s..%s; zamenjano %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "vrednost %s od %s obseg %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Ustvarjanje negativnih osmiških glav"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: ime datoteke je predolgo (največ %d); brez iznosa"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: ime datoteke je predolgo (ni mogoče deliti); brez iznosa"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: ime povezave je predolgo; brez iznosa"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[2] "%s: Datoteka skrčena za %s bajta; dopolnjeno z ničlami"
msgstr[3] "%s: Datoteka skrčena za %s bajte; dopolnjeno z ničlami"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: datoteka je na drugem datotečnem sistemu; brez iznosa"
# POZOR Imamo za to kak izraz?
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "vsebina ni iznešena"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Neznan tip datoteke; datoteka ignorirana"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "Manjkajo povezave na %s.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: datoteka je nespremenjena; brez iznosa"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: datoteka je arhiv; brez iznosa"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "imenik ni iznašen"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: Datoteka je bila spremenjena med branjem"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: vtičnica ignorirana"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: vrata ignorirana"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Preskok na naslednjo glavo"
msgid "Deleting non-header from archive"
msgstr "Brisanje ne-glave iz arhiva"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: neverjetno stara časovna oznaka %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: oznaka časa %s je %s s v prihodnosti"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Nepričakovana neskladnost pri ustvarjanju imenika"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Imenik preimenovan, preden je bilo moč izvleči njegov status"
# POZOR! "contiguous files" so datoteke, ki so zapisane na disku
# na zaporednih sektorjih (na tistih OS, ki jih podpirajo).
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Neprekinjene datoteke izvlečemo kot navadne"
# POZOR! Grdo!
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Simbolne povezave poskusimo dearhivirati kot trde"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Nepričakovano zaglavje z dolgim imenom"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Obstoječa »%s« je novejša ali enako stara"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Varnostne kopije te datoteke ni moč napraviti"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Preimenovanje %s v %s ni mogoče"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Imenik je bil preimenovan z %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Imenik je bil preimenovan"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Imenik je nov"
msgid "%s: Cannot remove"
msgstr "%s: Odstranitev ni mogoča"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Izpuščeno"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** Blok znakov NUL **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Konec datoteke **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Osmiška vrednost arhiva %.*s izven obsega %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arhiv vsebuje zastarele glave oblike base-64"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " povezava na %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " neznan tip datoteke %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Dolga povezava--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Dolgo ime--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Glava dela--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Nadaljevanje pri bajtu %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Ustvarjamo imenik:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Delovnega imenika ni mogoče spremeniti"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Preimenujemo %s v %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Preimenovanje v %s ni mogoče"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Preimenujemo %s nazaj v %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Delovnega imenika ni mogoče shraniti"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Delovnega imenika ni mogoče spremeniti"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Datoteka je bila odstranjena, preden smo jo prebrali"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Datoteka je bila odstranjena, preden smo jo prebrali"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "proces naslednik"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "medprocesni kanal"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "vzorci se ujemajo z začetkom imena datoteke"
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Ni najdeno v arhivu"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arhiv ni označen skladno z %s"
+
+#: src/names.c:953
#, fuzzy
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr "Izbiri --preserve-order in --listed-incremential sta nezdružljivi"
-#: src/names.c:900
+#: src/names.c:959
#, fuzzy
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Izbiri --preserve-order in --listed-incremential sta nezdružljivi"
msgstr ""
"Neznan slog narekovajev »%s«. Poskusite »%s --quoting-style=help« za seznam."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -tvf archive.tar # List all files in archive.tar verbosely.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-"GNU »tar« shranjuje več datotek skupaj na trak ali v arhiv na disku ter lahko "
-"povrne posamezne datoteke iz arhiva.\n"
+"GNU »tar« shranjuje več datotek skupaj na trak ali v arhiv na disku ter "
+"lahko povrne posamezne datoteke iz arhiva.\n"
"\n"
"Zgledi:\n"
" tar -cf arhiv.tar prva druga # Ustvarimo arhiv.tar z datotekama prva in "
" tar -xf arhiv.tar # Izvlečemo vse datoteke iz arhiva arhiv."
"tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" sicer enostavne\n"
" never, simple vedno enostavne varnostne kopije\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Glavni načini delovanja:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "izpis vsebine arhiva"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "izvlečenje datoteke iz arhiva"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "ustvarjanje novega arhiva"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "iskanje razlik med arhivom in datotečnim sistemom"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "dodajanje datotek na konec arhiva"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "dodajanje novih datotek, če so novejše od že arhiviranih"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "zlivanje arhivov"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "brisanje datotek iz arhiva (ne deluje na traku!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Določila delovanja:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "ekonomično ravnanje z razpršenimi datotekami"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "stari zapis GNU za inkrementalne arhive"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "novi zapis GNU za inkrementalne arhive"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "nadaljuj z branjem, tudi če datoteke ni moč prebrati"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"list, pri čemer je seznam datotek podan bodisi v ukazni vrstici, bodisi z "
"izbiro -T. Privzeta vrednost N je 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "po arhivu je mogoče iskati"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "po arhivu je mogoče iskati"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "pri izdelavi inkrementalnega arhiva ne preverjaj številke naprav"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"pri izdelavi inkrementalnega arhiva preverjaj številke naprav (privzeto)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Nadzor nad pisanjem prek:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "s poskusom preverjanja zapisanega arhiva"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "pobriši datoteke, potem ko so arhivirane"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "pri izvlačenju ne piši prek obstoječih datotek"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "pri izvlačenju piši prek obstoječih datotek"
-#: src/tar.c:460
+#: src/tar.c:461
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:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "izprazni hierarhije pred izvlačenjem imenikov"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "ohrani metainformacije o obstoječih imenikih"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "pri izvlačenju piši prek metapodatkov obstoječih imenikov (privzeto)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Izbira izhodnega toka:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "datoteke izvleci na standardni izhod"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "UKAZ"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "datoteke napelji na vhod drugega programa"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "prezri izhodne kode hčerinskih procesov"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "obravnavaj neničelne izhodne kode hčerinskih procesov kot napako"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Ravnanje z atributi datotek:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "pri dodajanju datotek spremenimo lastnika v IME"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "pri dodajanju datotek spremenimo skupino v IME"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATUM-ČAS"
-#: src/tar.c:493
+#: src/tar.c:494
#, fuzzy
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "shrani le datoteke, novejše od DATUM-ČAS"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "SPREMEMBE"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "zahtevaj (simbolne) SPREMEMBE zaščite za dodane datoteke"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METODA"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"branju (METODA=replace, privzeto) ali tako, da se časa sploh ne nastavi "
"(METODA=system)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "brez izvlačenja časa spremembe"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "z ohranitvijo lastništva, če je mogoče"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "pri izvlačenju prepišemo lastništvo nase"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "s številčnimi vrednostmi UID/GID namesto imen"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"izvleci podatke o dovoljenjih za dostop do datotek (privzeto za "
"administratorja)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"uporabi uporabnikovo masko umask pri izvlačenju dovoljenj za dostop do "
"datotek (privzeto za uporabnike)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "imena razvrstimo tako, da se ujemajo z arhivom"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "isto kot -p in -s skupaj"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"počakaj do končanega izvlačenja, preden nastavimo čase sprememb in "
"dovoljenja za dostop za izvlečene imenike"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "prekliči učinek izbire --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Izbira enote in preklapljanje:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARHIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "uporabi datoteko ali enoto ARHIV"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "arhiv je lokalen kljub dvopičju v imenu datoteke"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "uporabi navedeni UKAZ rmt namesto rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "uporabi nelokalen UKAZ namesto rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "določi enoto in gostoto zapisa"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "ustvari/pregledaj/izvleci arhiva v več delih"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "menjava traku po ŠT x 1024 zapisanih bajtih"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "poženi SKRIPT po koncu traku (privzema -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "uporabimo/ažuriramo število dela v DATOTEKI"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Bločna razdelitev enote:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOKI"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "dolžina zapisa BLOKI × 512 bajtov"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "ŠTEVILO bajtov v zapisu (večkratnik 512)"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ne meni se za bloke ničel (EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Izbira oblike arhiva:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "OBLIKA"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "ustvari arhiv v navedeni obliki"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "OBLIKA je nekaj od naštetega:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "oblika starega V7 tar"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "stara oblika GNU tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "oblika GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "oblika POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "oblika POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "isto kot pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "isto kot --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "isto kot --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
#, fuzzy
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "ključna-beseda[[:]=vrednost][,ključna-beseda[[:]=vrednost],...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "krmilne ključne besede pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "VZOREC"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"ustvari arhiv z imenom dela IME; pri izpisu seznama/izvlečku je lahko IME "
"regularni izraz za ime dela"
-#: src/tar.c:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
-#: src/tar.c:615
+#: src/tar.c:616
#, fuzzy
msgid "use archive suffix to determine the compression program"
msgstr "Pisanje na vhod programa za stiskanje ne gre"
-#: src/tar.c:617
+#: src/tar.c:618
#, fuzzy
msgid "do not use archive suffix to determine the compression program"
msgstr "Pisanje na vhod programa za stiskanje ne gre"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROGRAM"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Izbira lokalne datoteke:"
-#: src/tar.c:639
+#: src/tar.c:640
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 »-«)"
+msgstr ""
+"dodaj navedeno DATOTEKO v arhiv (za imena datotek, ki se začnejo z »-«)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "IMENIK"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "pomik v navedeni IMENIK"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "preberi seznam datotek z navedene DATOTEKE"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "prekliči učinek prejšnje izbire --null"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "odstrani narekovaje iz imen datotek, prebranih s -T (privzeto)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "ne odstrani narekovajev iz imen datotek, prebranih s -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "VZOREC"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "brez datotek, ki jih opisuje VZOREC"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
"brez vsebine imenikov, ki vsebujejo značko CACHEDIR.TAG, razen značke same"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
"brez imenikov, ki vsebujejo značko CACHEDIR.TAG, in vseh njihovih podimenikov"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "brez imenikov, ki vsebujejo značko CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "brez vsebine imenikov, ki vsebujejo DATOTEKO, razen DATOTEKE same"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "brez imenikov, ki vsebujejo DATOTEKO, in vseh njihovih podimenikov"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "brez imenikov, ki vsebujejo DATOTEKO"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "brez imenikov sistema za nadzor različic"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "podimenikov ne vključujemo avtomatično"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "rekurzivno vključi vse podimenike"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "ne odstrani vodilnih »/« iz imen datotek"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "sledi trdim povezavam; arhiviraj/iznesi ciljne datoteke"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "IME"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "začenši z navedenim IMENOM v arhivu"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "shrani le datoteke, novejše od DATUM-ČAS"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATUM"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "primerjaj datum in uro le, kadar se podatki spremenijo"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "TIP"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
"varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "NIZ"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če "
"lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Pretvorbe imen datotek:"
-#: src/tar.c:704
+#: src/tar.c:705
#, fuzzy
msgid "strip NUMBER leading components from file names on extraction"
msgstr "izpusti ŠTEVILO vodilnih komponent iz imen datotek"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "IZRAZ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "brez razlike med malimi in velikimi črkami"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "vzorci se ujemajo z začetkom imena datoteke"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
"vzorci se ujemajo od kateregakoli znaka »/« dalje (privzeto pri izključitvi)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "pri ujemanje se razlikuje med malimi in velikimi črkami (privzeto)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "uporabi nadomestne znake (privzeto za izključitvi)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "dobesedno ujemanje nizov"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "nadomestni znaki se ne ujemajo z »/«"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "nadomestni znaki se ujemajo z »/« (privzeto pri izključitvi)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informativni izpisi:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "z izčrpnim izpisom obdelanih datotek"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "Nadzor nad pisanjem prek:"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "DEJANJE"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "na vsaki kontrolni točki izvedi DEJANJE"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "izpiši sporočilo, če niso zapisane vse povezave"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "z izpisom časov sprememb datotek v UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "zapiši izčrpno poročilo v DATOTEKO"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "vprašaj za potrditev pri vsakem koraku"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "prikaži privzete nastavitve"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"pri izpisu seznama ali izvlačenju izpiši vsak imenik, ki ne ustreza iskalnim "
"pogojem"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "prikaži imena datotek ali arhivov po pretvorbi"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "SLOG"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Združljivostne izbire:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"ob ustvarjanju arhiva isto kot --old-archive; ob izvlačenju isto kot --no-"
"same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Druge izbire:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "onemogoči rabo nekaterih potencialno škodljivih izbir"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Naenkrat je dovoljena največ ena od izbir »-Acdtrux«"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
-#: src/tar.c:993
+#: src/tar.c:996
#, fuzzy, c-format
msgid "Unknown signal name: %s"
msgstr "Neznano ime signala: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Datoteke z vzorcem datuma ni najti"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Nadomeščamo %s za neznan format datuma %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: seznam datotek je že prebran"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: prebrano ime datoteke vsebuje znak \\0"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "filtriraj arhiv skozi gzip"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Veljavni argumenti pri izbirah --quoting-style so:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Privzete vrednosti *tega* programa tar:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Neveljaven faktor blokiranja"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Neveljavna dolžina traku"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Okvarjen inkrementalni zapis datoteke"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Več kot en pražni podatek"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: Neveljavna skupina"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Podana zaščita ni veljavna"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Neveljavno število"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Neveljaven lastnik"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Neveljavna dolžina zapisa"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Dolžina zapisa mora biti večkratnik %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Neveljavno število elementov"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Dovoljena je le ena izbira --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Okvarjen argument gostote: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Neznana gostota: »%c«"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[DATOTEKA]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Stara izbira »%c« zahteva argument."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence nima pomena brez seznama datotek"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence ni mogoče uporabiti v zahtevanem načinu delovanja"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Več arhivskih datotek zahteva izbiro »-M«"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Izbire --listed-incremental ni mogoče kombinirati z --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "Izbiri --preserve-order in --listed-incremential sta nezdružljivi"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[2] "%s: Oznaka dela je predolga (omejitev je %lu bajta)"
msgstr[3] "%s: Oznaka dela je predolga (omejitev je %lu bajti)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Arhivov v več delih ni mogoče preveriti"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Stisnjenega arhiva ni mogoče preveriti"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Stisnjeni arhivi v več delih niso mogoči"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Stisnjenega arhiva ni mogoče združevati"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "izbira --pax-option je mogoča le na arhivih POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Dolžina dela ne more biti manjša od velikosti zapisa"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "Izbiri --preserve-order in --listed-incremential sta nezdružljivi"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Izbire »-Aru« so nezdružljive z »-f -«"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Ena od izbir »-Acdtrux« je obvezna"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[2] "%s: Datoteka skrčena za %s bajta"
msgstr[3] "%s: Datoteka skrčena za %s bajte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Oznaka časa izven obsega"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Vzorca %s ni mogoče uporabiti"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Ključne besede %s ni mogoče preklicati"
-#: src/xheader.c:541
+#: src/xheader.c:542
#, fuzzy
msgid "Malformed extended header: missing length"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:549
+#: src/xheader.c:550
#, 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:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
#, fuzzy
msgid "Malformed extended header: missing blank after length"
msgstr "Poškodovana razširjena glava: za dolžino manjka presledek"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:582
+#: src/xheader.c:583
#, fuzzy
msgid "Malformed extended header: missing newline"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, fuzzy, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "Poškodovana razširjena glava: manjka enačaj"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, fuzzy, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Poškodovana razširjena glava: manjka enačaj"
msgid "Read checkpoint %u"
msgstr "Oznaka branja %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
#, fuzzy
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr "Ustvarimo podatkovne datoteke za testno zbirko GNU tar.\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
#, fuzzy
msgid "File creation options:"
msgstr "Druge izbire:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
#, fuzzy
msgid "Create file of the given SIZE"
msgstr "ustvari arhiv v navedeni obliki."
-#: tests/genfile.c:132
+#: tests/genfile.c:131
#, fuzzy
msgid "Write to file NAME, instead of standard output"
msgstr "datoteke izvleci na standardni izhod"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
#, fuzzy
msgid "Read file names from FILE"
msgstr "Prebranih %s bajtov iz %s"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
#, fuzzy
msgid "-T reads null-terminated names"
msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
#, fuzzy
msgid "Seek to the given offset before writing data"
msgstr "s poskusom preverjanja zapisanega arhiva"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [IZBIRA...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
#, fuzzy
msgid "Update the access and modification times of FILE"
msgstr "%s: Časa zadnje spremembe in dostopa ni možno spremeniti"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
#, fuzzy
msgid "Execute COMMAND"
msgstr "UKAZ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, fuzzy, c-format
msgid "Invalid size: %s"
msgstr "Neveljavna oznaka časa"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, fuzzy, c-format
msgid "Number out of allowed range: %s"
msgstr "Številka inoda izven obsega"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, fuzzy, c-format
msgid "Negative size: %s"
msgstr "Neveljavna oznaka časa"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, fuzzy, c-format
msgid "Unknown date format"
msgstr "Neznana sistemska napaka"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, fuzzy, c-format
msgid "cannot open `%s'"
msgstr "Ni mogoče odpreti %s"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
#, fuzzy
msgid "cannot seek"
msgstr "Ni mogoče zapreti"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, fuzzy, c-format
msgid "Unknown field `%s'"
msgstr " neznan tip datoteke %s\n"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, fuzzy, c-format
msgid "cannot set time on `%s'"
msgstr "Ni mogoče do statistike za datoteko %s"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "Ni mogoče odpreti %s"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, fuzzy, c-format
msgid "Command failed with status %d\n"
msgstr "Naslednik umrl s signalom %d"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
# POZOR Je to res to?
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, fuzzy, c-format
msgid "--stat requires file names"
msgstr "--Predelana imena datotek--\n"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Delovnega imenika ni mogoče shraniti"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "Preimenovanje %s v %s ni mogoče"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: nedovoljena izbira -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "Branje %s\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "Napake v prevodu sporočite na <translation-team-sl@lists.sourceforge."
#~ "net>\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "Branje %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Napake ni moč popraviti: zapuščamo"
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "filtriraj arhiv skozi bzip2"
#~ msgid "Premature end of file"
#~ msgstr "Predčasen znak za konec datoteke"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Napake ni moč popraviti: zapuščamo"
+
#~ msgid "[.]NUMBER"
#~ msgstr "[.]N"
# Swedish messages for tar
-# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the tar package.
# Jan Djärv <jan.h.d@swipnet.se>, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 2010
-# Revision: 1.98
+# Revision: 1.102
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-18 12:48+0100\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-15 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"
+"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv."
"se>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Okänt systemfel"
msgid "give a short usage message"
msgstr "ge ett kort hjälpmeddelande"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "NAMN"
msgid "write error"
msgstr "skrivfel"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: flaggan \"%s\" är tvetydig\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"--%s\" tar inget argument\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" kräver ett argument\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: flaggan \"--%s\" kräver ett argument\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: okänd flagga \"--%s\"\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: okänd flagga \"%c%s\"\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ogiltig flagga -- \"%c\"\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flaggan kräver ett argument -- \"%c\"\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: flaggan \"-W %s\" kräver ett argument\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "minnet slut"
#: lib/paxerror.c:101
#, c-format
msgid "%s: Cannot change ownership to uid %lu, gid %lu"
-msgstr "%s: Kan inte byta ägare (chown) till uid %lu, gid %lu"
+msgstr "%s: Kan inte byta ägare till uid %lu, gid %lu"
#: lib/paxerror.c:127
#, 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: Läsfel vid byte %s, när %lu byte lästes"
-msgstr[1] "%s: Läsfel vid byte %s, när %lu bytes lästes"
+msgstr[1] "%s: Läsfel vid byte %s, när %lu byte lästes"
#: lib/paxerror.c:192
#, c-format
msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
msgstr[0] "%s: Varning: Läsfel vid byte %s, när %lu byte lästes"
-msgstr[1] "%s: Varning: Läsfel vid byte %s, när %lu bytes lästes"
+msgstr[1] "%s: Varning: Läsfel vid byte %s, när %lu byte lästes"
#: lib/paxerror.c:259
#, c-format
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Kan inte ansluta till %s: namnuppslagning misslyckades"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Kan inte exekvera fjärrskal"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Positioneringsriktning har ogiltigt värde"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Ogiltig sökriktning"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Ogiltigt positioneringsvärde"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Positioneringsvärde är utanför giltigt intervall"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Ogiltigt byte-antal"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Byte-antal är utanför giltigt intervall"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "För tidigt filslut"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Felaktig operationskod"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Operationsläge stöds inte"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Oväntade argument"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
-msgstr "Styr en bandstation, acceptera kommandon från en fjärrptocess"
+msgstr "Styr en bandstation, acceptera kommandon från en fjärrprocess"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NUMMER"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "sätt felsökningsnivå"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FIL"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "sätt felsökningsfilnamn"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "kan inte öppna \"%s\""
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "för många argument"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Okänt kommando"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Det här ser inte ut som ett tar-arkiv"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Summa skrivna byte"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Summa lästa byte"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Summa borttagna byte: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(rör)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Ogiltigt värde på record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arkivnamn saknas"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Kan inte verifiera standard in/ut-arkiv"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Arkivet är komprimerat. Använd flaggan %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Komprimerade arkiv kan inte uppdateras"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Vid bandets början, avslutar nu"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "För många fel, avslutar"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek stannade inte på en postgräns"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: innehåller ogiltigt volymnummer"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Volymnummer flödade över"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Filslut vid förväntat användarsvar"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "VARNING: Arkivet är ofullständigt"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Avsluta programmet\n"
" y eller nyrad Fortsätt\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Starta ett underskal\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Skriv denna lista\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Ingen ny volym; avslutar.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Filnamn inte angivet, försök igen.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Ogiltig indata. Skriv ? för hjälp.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "kommandot \"%s\" misslyckades"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s fortsätter inte i denna volym"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s har fel storlek (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Denna volym kommer inte i rätt ordning (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, 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:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Volym %s överensstämmer inte med %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: filnamnet är för långt för att lagras i huvudet för ett GNU "
"multivolymsarkiv, trunkerat"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "skrivning stannade inte på en blockgräns"
msgstr[0] "Kunde bara läsa %lu av %lu byte"
msgstr[1] "Kunde bara läsa %lu av %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Innehållet är olika"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Oväntat filslut i arkivet"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Filtyper är olika"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Rättigheterna är olika"
msgid "Mod time differs"
msgstr "Modifieringstiderna är olika"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Storlekarna är olika"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Inte länkad till %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Symboliska länkar är olika"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Enhetsnummer är olika"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Verifierar "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Okänd filtyp \"%c\" jämförd som en normal fil"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arkivet innehåller filnamn med inledande prefix borttaget."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Verifiering kan misslyckas med att hitta originalfiler."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "VERIFIKATIONSFEL: %d felaktigt arkivhuvud upptäckt"
msgstr[1] "VERIFIKATIONSFEL: %d felaktiga arkivhuvuden upptäckta"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Ett ensamt nollblock vid %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: innehåller en cachekatalog-tagg %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "%s är utanför intervallet för %s: %s..%s, byter till %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "%s är utanför intervallet för %s: %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Genererar negativa oktala värden i arkivhuvudet"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: filnamnet är för långt (max %d); inte arkiverad"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: filnamnet är för långt (kan ej delas); inte arkiverad"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: länknamn är för långt; inte arkiverad"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Fil krympte med %s byte, fyller ut med nolltecken"
msgstr[1] "%s: Fil krympte med %s byte, fyller ut med nolltecken"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: filen finns på ett annat filsystem; inte arkiverad"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "innehållet inte arkiverat"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Okänd filtyp; filen ignorerad"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
-msgstr "Det fattas länkar till \"%s\"."
+msgstr "Det fattas länkar till %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: filen är oförändrad; inte arkiverad"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: filen är själva arkivet; inte arkiverad"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "katalog inte arkiverad"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
-msgstr "%s: Fil ändrades under tiden vi läste den"
+msgstr "%s: fil ändrades under tiden vi läste den"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socketfil ignorerad"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: door-fil ignorerad"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Hoppar till nästa filhuvud"
msgid "Deleting non-header from archive"
msgstr "Tar bort icke-huvuddata från arkivet"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: orimligt gammal tidsstämpel %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: tidsvärde %s är %s sekunder i framtiden"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Oväntad inkonsistens när katalog skapades"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Katalog bytte namn innan dess status kunde extraheras"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Extraherar sammanhängande filer som vanliga filer"
-#: src/extract.c:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Oväntat huvud för långt filnamn"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Nuvarade \"%s\" är nyare eller lika gammal"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
-msgstr "%s kunde inte säkerhetskopieras"
+msgstr "%s: Kunde inte säkerhetskopiera denna fil"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Kan inte byta namn på %s till %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Katalogen har bytt namn från %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Katalogen har bytt namn"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Katalogen är ny"
msgid "%s: Cannot remove"
msgstr "%s: Kan inte ta bort"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Utelämnad"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "block %s: ** Block av nolltecken **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "block %s: ** Filslut **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "block %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"komplement"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arkivet innehåller föråldrade \"base-64\"-huvuden"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " länk till %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " okänd filtyp \"%s\"\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Lång länk--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Långt namn--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Volymhuvud--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Fortsätter vid byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Skapar katalog:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Kan inte byta arbetskatalog"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Byter namn på %s till %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Kan inte byta namn till %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Byter namn på %s tillbaka till %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Kan inte spara arbetskatalog"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Kan inte byta arbetskatalog"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Fil borttagen innan vi läste den"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Katalog borttagen innan vi läste den"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "barnprocess"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "interprocesskanal"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Mönstermatchningstecken används i filnamn."
+msgstr "Mönstermatchningstecken används i filnamn"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-"Använd --wildcards för att slå på mönstermatchning, eller --no-wildcards för"
+"Använd --wildcards för att slå på mönstermatchning, eller --no-wildcards för "
+"att undertrycka denna varning"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Fanns inte i arkivet"
-#: src/names.c:622
+#: 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"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Arkivmärkning stämmer inte överrens"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr "Att används -C i en fillista är inte tillåtet med --listed-incremental"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Bara en -C-flagga är tillåtet med --listed-incremental"
"Okänd citeringsstil \"%s\". Gör \"%s --quoting-style=help för att få en "
"lista."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" 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:356
+#: src/tar.c:357
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 "
"annars\n"
" never, simple gör alltid enkla säkerhetskopior\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Operationsläge:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "visa innehållet i arkivet"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "extrahera filer från arkivet"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "skapa ett nytt arkiv"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "visa skillnader mellan filsystemet och arkivet"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "lägg till filer på slutet av arkivet"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "lägg till filer som är nyare än de i arkivet"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "lägg till innehållet i en arkivfil till arkivet"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "ta bort från arkivet (inte för arkiv på magnetband!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "verifiera arkivets volymnamn och avsluta."
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Modifiera operationslägen:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "hantera filer med hål mer effektivt"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "ÖVRE[.UNDRE]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "hantera gamla GNU-formatet för inkrementell säkerhetskopiering"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "hantera nya GNU-formatet för inkrementell säkerhetskopiering"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "dumpa nivå för \"listed-incremental\" arkiv"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "avsluta inte med felslutstatus p.g.a. oläsbara filer"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"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:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "arkivet är sökbart"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "arkivet är inte sökbart"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "kontrollera inte enhetsnummer när inkrementella arkiv skapas"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"kontrollera enhetsnummer när inkrementella arkiv skapas (standardvärde)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Kontrollera överskrivning:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "försök verifiera arkivet efter det skapats"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "ta bort filer efter de sparats i arkivet"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "ersätt inte befintliga filer vid extrahering"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "skriv över befintliga filer vid extrahering"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "ta bort befintliga filer innan de nya extraheras"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "töm kataloghierarkier före extrahering av katalog"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "bevara befintliga katalogers metadata"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"skriv över metadata för befintliga kataloger vid extrahering (standardvärde)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Välj utdataström:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "extrahera filer till standard ut"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "KOMMANDO"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "extrahera filer till standard in för ett annat program"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "ignorera barnprocessers slutstatus"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Hantering av filattribut:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "sätt NAMN som ägare för adderade filer"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "sätt NAMN som grupp för adderade filer"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATUM-ELLER-FIL"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "RÄTTIGHET"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "sätt (symbolisk) RÄTTIGHET för adderade filer"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METOD"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"tiderna efter läsning (METOD=\"replace\", standardvärde) eller genom att "
"inte sätta tiderna alls (METOD=\"system\")"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "extrahera inte filers modifieringstid"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"försök extrahera filer med samma ägare som i arkivet (standardvärde för "
"superanvändaren)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
"extrahera filer med dig själv som ägare (standardvärde för vanliga användare)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "använd alltid tal för användar- och gruppnamn"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"extrahera information om filrättigheter (standardvärde för superanvändare)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"applicera användarens umask när rättigheter extraheras från arkivet "
"(standardvärde för vanliga användare)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "sortera namn som ska extraheras så de passar ihop med arkivet"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "samma som både -p och -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"fördröj sättandet av modifikationstider och rättigheter på extraherade "
"kataloger till slutet på arkivextraheringen."
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "ta bort effekten av flaggan --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Enhetsval och enhetsbyte:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARKIV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "använd arkivfil eller enhet ARKIV"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "arkivfilen är lokal även om namnet har kolon"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "använd KOMMANDO istället för rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "använd KOMMANDO istället för rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "ange enhet och densitet"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "skapa/visa/extrahera ett flervolymsarkiv"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "byt band efter det att NUMMER x 1024 byte skrivits"
-#: src/tar.c:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "använd/uppdatera volymnummer i FIL"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Blockhantering:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCK"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "BLOCK x 512 byte per post"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "NUMMER byte per post, multipel av 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ignorera block med enbart nolltecken (betyder filslut)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "omblocka vid läsning (för 4.2BSD-rör)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Val av arkivformat:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "skapa ett arkiv med givet format"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT är ett av följande:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "gammalt V7 format"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU-format enligt tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
-msgstr "GNU-format från tar 1.13.x"
+msgstr "Format från GNU tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) format"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) format"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "samma som pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "samma som --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "samma som --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "nyckelord[[:]=värde][,nyckelord[[:]=värde], ...]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "ange nyckelord för pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "NAMN"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"skapa ett arkiv med volymnamnet NAMN. Vid visning/extrahering är NAMN ett "
"skalmönster (\"globbing\")"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Komprimeringsflaggor:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "använd arkivsuffix för att bestämma komprimeringsprogram"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "använd inte arkivsuffix för att bestämma komprimeringsprogram"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "filtrera genom PROG (måste förstå -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Filval:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "KATALOG"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "byt katalog till KATALOG"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
-msgstr "hämta namn att extrahera från FIL"
+msgstr "hämta namn att extrahera eller skapa från FIL"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T läser namn åtskilda med nolltecken, -C obrukbar"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "ta bort effekten av föregående --null-flagga"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "avcitera filnamn som lästs med -T (standardvärde)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "avcitera inte filnamn som lästs med -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MÖNSTER"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "utelämna filer som matchar MÖNSTER"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "utelämna filer som matchar mönster i FIL"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"utelämna innehållet i kataloger som innehåller CACHEDIR.TAG, förutom "
"CACHEDIR.TAG själv"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "utelämna allt i kataloger som innehåller CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "utelämna kataloger som innehåller CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "utelämna allting i kataloger som innehåller FIL"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "utelämna kataloger som innehåller FIL"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "uteslut kataloger från versionshanteringssystem"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "exkludera säkerhetskopior och låsfiler"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "gå inte automatiskt ned i kataloger"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "byt inte filsystem när arkivet skapas"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "gå rekursivt ned i kataloger (standardvärde)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "tag inte bort inledande \"/\" från namn"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "NAMN"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "börja med fil NAMN i arkivet"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATUM"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "jämför datum och tid endast för dataändringar"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "KONTROLL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRÄNG"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"säkerhetskopieändelsen (\"~\" om inte ändrad med miljövariabeln "
"SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Filnamnstransformationer:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "UTTRYCK"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn"
-#: src/tar.c:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "matcha gemener och versaler lika"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "mönster måste matcha i början på filnamn"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "matcha gemener och versaler olika (standardvärde)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "använd jokertecken (standardvärde för uteslutning)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "ordagrann strängjämförelse"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "jokertecken matchar inte \"/\""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Informativ utskrift:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "visa namn på alla filer som behandlas"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "NYCKELORD"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "varningskontroll"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ÅTGÄRD"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "utför ÅTGÄRD vid vare kontrollpunkt"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "visa ett meddelande om inte alla länkar arkiverats"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"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:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "visa filers modifieringstid i UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "visa full upplösning på filtider"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "skicka informativa meddelanden till FIL"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "visa blocknummer inom arkivet för varje meddelande"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "fråga efter bekräftelse för varje steg"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "visa standardvärden för \"tar\""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"vid visning eller extrahering, visa varje katalog som inte matchar "
"sökkriterium"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "visa fil- eller arkivnamn efter transformering"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STIL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "citera även tecken i STRÄNG"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "citera inte tecken i STRÄNG"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Kompatibilitetsflaggor:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"vid skapande, samma som --old-archive. Vid extrahering, samma som --no-same-"
"owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Andra flaggor:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "begränsa användningen av eventuellt farliga flaggor"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Du kan endast ange en av flaggorna \"-Acdtrux eller \"--test-label\""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Motstridiga komprimeringsflaggor"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Okänt signalnamn: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Tidsfil hittades inte"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Flagga %s: Tolkar tidsangivelse \"%s\" som %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: fillistan redan läst"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: filnamnet som lästes innehåller nolltecken"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "filtrera arkivet genom %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Giltiga argument till flaggan --quoting-style är:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Denna* tar har standardvärdena:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Ogiltig blockfaktor"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Ogiltig bandlängd"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Felaktigt värde fär inkrementell nivå"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Mer än en datumgräns"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Ogiltig version för filer med hål"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
-msgstr "--atime-preserve='system' stöds inte på denna plattform"
+msgstr "--atime-preserve=\"system\" stöds inte på denna plattform"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint-värdet är inte ett heltal"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Ogiltig grupp"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Ogiltiga rättigheter givna för flagga"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Ogiltigt nummer"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Ogiltig ägare"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Flaggan --preserve är föråldrad, använd --preserve-permissions --preserve-"
"order istället"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Ogiltig poststorlek"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Poststorlek måste vara en multipel av %d"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Ogiltig antal element"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Endast en --to-command flagga tillåten"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Ogiltig densitetsangivelse: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Okänd densitet: \"%c\""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FIL]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Gammal flagga \"%c\" kräver ett argument"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence är meningslöst utan en fillista"
-#: src/tar.c:2361
+#: src/tar.c:2380
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:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Multipla arkivfiler kräver \"-M\" flaggan"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Kan inte kombinera --listed-incremental med --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
-msgstr "-level är meningslös utan --listed-incremental"
+msgstr "--level är meningslös utan --listed-incremental"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Flervolymsarkiv kan inte verifieras"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Komprimerade arkiv kan inte verifieras"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Kan inte använda komprimerade flervolymsarkiv"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Komprimerade arkiv kan inte slås samman"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option kan bara användas på POSIX-arkiv"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Volymlängden kan inte vara mindre än poststorleken"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order är inte kompatibel med --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Vägrar fegt att skapa ett tomt arkiv"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Flaggorna \"-Aru\" är inkompatibla med \"-f -\""
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Du måste ange en av flaggorna \"-Acdtrux\" eller --test-label"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Avslutar med felstatus på grund av tidigare fel"
msgstr[0] "%s: Filen krympte med %s byte"
msgstr[1] "%s: Filen krympte med %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Nyckelordet %s är okänt eller inte ännu implementerat"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Tidsstämpel är utanför giltigt intervall"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Mönster %s kan inte användas"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Nyckelord %s kan inte ersättas"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Felaktigt utökat huvud: längd saknas"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Längd på utökat huvud är utanför giltigt intervall"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Felaktigt utökat huvud: blanktecken efter längdangivelse saknas"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Felaktigt utökat huvud: likamedtecken saknas"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Felaktigt utökat huvud: nyrad saknas"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Ignorerar nykelord \"%s\" i utökat huvud"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Felaktigt utökat huvud: ogiltig %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Felaktigt utökat huvud: för många %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden"
msgid "Read checkpoint %u"
msgstr "Kontrollpunkt för läsning %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile bearbetar datafiler i testsviten för GNU paxutils.\n"
"FLAGGOR är:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Flaggor för filskapande:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "STORLEK"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Skapa ett arkiv med given STORLEK"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Skriv till NAMN istället för till standard ut"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Läs filnamn från FIL"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T läser namn åtskilda med nolltecken"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "Fyll filen med givet MÖNSTER. MÖNSTER är \"default\" eller \"zeros\""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Storlek för ett block för filer med hål"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Generera fil med hål. Resten av kommandoraden ger filmappningen."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "POSITION"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Flytta till given position innan data skrivs"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Flaggor för filstatistik:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Skriv innehållet i \"struct stat\" för varje given fil. Standardvärde på "
"FORMAT är:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Flaggor för synkron exekvering:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "FLAGGA"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Kör ARGUMENT. Användbart med --checkpoint och en av --cut, --append, --"
"touch, --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "Utför angiven åtgärd (se nedan) när kontrollpunkt NUMMER nås"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Sätt datum för nästa --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Visa exekverade kontrollpunkter och slutstatus på KOMMANDO"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Synkront exekverade åtgärder. Dessa exekveras när kontrollpunktnumret givet "
"av flaggan --checkpoint nås."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Trunkera FIL till storleken given av föregående flaggan --length (eller 0 om "
"den inte är given)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Lägg till STORLEK byte till FIL. STORLEK är given av föregående flagga --"
"length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Uppdatera access- och modifikationstider för FIL"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Exekvera KOMMANDO"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Ta bort (unlink) FIL"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Ogiltigt storlek: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Nummer utanför giltigt intervall: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negativ storlek: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "status (stat) kunde ej tas på %s"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "begärd fillängd %lu, verklig %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "skapad fil har inte hål"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Fel vid parsning av tal nära \"%s\""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Okänt datumformat"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGUMENT...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "kan inte öppna \"%s\""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "kan inte flytta (seek)"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "filnamnet innehåller nolltecken"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "felaktig mask (nära \"%s\")"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Okänt fält \"%s\""
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "kan inte sätta tid på \"%s\""
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "kan inte ta bort \"%s\""
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Kommandot avslutades utan fel\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Kommandot misslyckades med slutstatus %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Kommandot terminerades av signal %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Kommandot stoppades av signal %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Kommandot dumpade minnet\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Kommandot avslutade\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat kräver filnamn"
-#~ msgid "Cannot resolve hostname %s"
-#~ msgstr "Kan inte slå upp värdnamn %s"
-
-#~ msgid "suppress this warning."
-#~ msgstr "att undertrycka denna varning."
+#~ msgid "Cannot save working directory"
+#~ msgstr "Kan inte spara arbetskatalog"
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+#: src/create.c:1550
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr ""
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr ""
msgid "give a short usage message"
msgstr ""
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr ""
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr ""
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr ""
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr ""
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr ""
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr ""
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr ""
msgid "Cannot execute remote shell"
msgstr ""
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr ""
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr ""
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr ""
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr ""
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr ""
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr ""
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr ""
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr ""
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr ""
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr ""
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr ""
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr ""
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr ""
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr ""
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr ""
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr ""
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr ""
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr ""
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr ""
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr ""
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr ""
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr ""
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr ""
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr ""
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr ""
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr ""
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] ""
msgstr[1] ""
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] ""
msgstr[1] ""
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr ""
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr ""
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr ""
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr ""
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr ""
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr ""
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" y or newline Continue operation\n"
msgstr ""
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr ""
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr ""
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr ""
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr ""
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr ""
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr ""
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr ""
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr ""
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr ""
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr ""
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr ""
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr ""
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr ""
msgstr[0] ""
msgstr[1] ""
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr ""
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr ""
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr ""
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr ""
msgid "Mod time differs"
msgstr ""
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr ""
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr ""
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr ""
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr ""
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr ""
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr ""
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr ""
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] ""
msgstr[1] ""
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr ""
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr ""
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr ""
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr ""
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr ""
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr ""
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr ""
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] ""
msgstr[1] ""
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr ""
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr ""
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr ""
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr ""
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr ""
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr ""
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr ""
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr ""
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr ""
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr ""
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr ""
msgid "Deleting non-header from archive"
msgstr ""
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr ""
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr ""
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr ""
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr ""
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr ""
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr ""
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr ""
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr ""
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr ""
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr ""
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr ""
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr ""
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr ""
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr ""
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr ""
msgid "%s: Cannot remove"
msgstr ""
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr ""
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr ""
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr ""
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr ""
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr ""
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr ""
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr ""
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr ""
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr ""
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr ""
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr ""
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr ""
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr ""
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr ""
-#: src/misc.c:502
+#: src/misc.c:298
+msgid "Cannot get working directory"
+msgstr ""
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr ""
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr ""
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr ""
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr ""
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr ""
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr ""
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr ""
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr ""
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr ""
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr ""
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr ""
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr ""
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr ""
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr ""
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -xf archive.tar # Extract all files from archive.tar.\n"
msgstr ""
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" never, simple always make simple backups\n"
msgstr ""
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr ""
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr ""
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr ""
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr ""
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr ""
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr ""
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr ""
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr ""
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr ""
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr ""
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr ""
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr ""
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr ""
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr ""
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr ""
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr ""
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr ""
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"command line or via the -T option; NUMBER defaults to 1"
msgstr ""
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr ""
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr ""
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr ""
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr ""
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr ""
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr ""
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr ""
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr ""
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr ""
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr ""
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr ""
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr ""
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr ""
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr ""
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr ""
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr ""
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr ""
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr ""
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr ""
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr ""
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr ""
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr ""
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr ""
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr ""
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr ""
-#: src/tar.c:498
+#: src/tar.c:499
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:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr ""
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr ""
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr ""
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr ""
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr ""
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr ""
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr ""
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr ""
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr ""
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr ""
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr ""
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr ""
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr ""
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr ""
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr ""
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr ""
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr ""
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr ""
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr ""
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr ""
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr ""
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr ""
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr ""
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr ""
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr ""
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr ""
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr ""
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr ""
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr ""
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr ""
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr ""
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr ""
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr ""
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr ""
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr ""
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr ""
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr ""
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr ""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr ""
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr ""
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr ""
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr ""
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr ""
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr ""
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr ""
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr ""
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr ""
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr ""
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr ""
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr ""
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr ""
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr ""
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr ""
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr ""
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr ""
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr ""
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr ""
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr ""
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr ""
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr ""
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr ""
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr ""
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr ""
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr ""
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr ""
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr ""
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr ""
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr ""
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr ""
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr ""
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr ""
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr ""
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr ""
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr ""
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr ""
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr ""
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr ""
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr ""
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr ""
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr ""
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr ""
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr ""
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr ""
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr ""
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr ""
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr ""
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr ""
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr ""
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"accepted"
msgstr ""
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr ""
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr ""
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr ""
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr ""
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr ""
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr ""
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr ""
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr ""
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr ""
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr ""
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr ""
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr ""
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr ""
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr ""
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr ""
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr ""
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr ""
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr ""
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr ""
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr ""
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr ""
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr ""
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr ""
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr ""
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
msgstr ""
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr ""
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr ""
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr ""
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr ""
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr ""
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr ""
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr ""
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr ""
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr ""
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr ""
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr ""
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr ""
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr ""
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr ""
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr ""
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr ""
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr ""
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr ""
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr ""
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr ""
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr ""
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr ""
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr ""
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr ""
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr ""
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr ""
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr ""
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr ""
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr ""
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr ""
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr ""
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr ""
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] ""
msgstr[1] ""
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr ""
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr ""
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr ""
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr ""
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr ""
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr ""
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr ""
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr ""
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr ""
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr ""
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr ""
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr ""
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr ""
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr ""
msgid "Read checkpoint %u"
msgstr ""
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
msgstr ""
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr ""
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr ""
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr ""
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr ""
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr ""
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr ""
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr ""
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr ""
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr ""
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr ""
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr ""
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr ""
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr ""
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
msgstr ""
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr ""
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr ""
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr ""
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr ""
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr ""
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr ""
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr ""
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr ""
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr ""
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr ""
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr ""
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr ""
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr ""
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr ""
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr ""
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr ""
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr ""
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr ""
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr ""
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr ""
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr ""
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr ""
# Copyright (C) 2007 Free Software Foundation, Inc.
#
# Nilgün Belma Bugüner <nilgun@buguner.name.tr>, 2001,..., 2007.
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.18\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\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"
+"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Yazılım hatalarını <%s> adresine,\n"
"çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Bilinmeyen sistem hatası"
msgid "give a short usage message"
msgstr "kısa bir kullanım iletisi gösterilir"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "İSİM"
msgid "write error"
msgstr ""
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: `%s' seçeneği belirsiz\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: `--%s' seçeneği bilinmiyor\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: geçersiz seçenek -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' seçeneği belirsiz\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "bellek tükendi"
msgid "Cannot execute remote shell"
msgstr "Uzak kabuk çalıştırılamıyor"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Arama yönü kapsamdışı"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "Seçenekte verilen kip geçersiz"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "Geçersiz boyut: %s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Arama başlangıcı kapsamdışı"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "Kayıt ortamının uzunluğu geçersiz"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "Arama başlangıcı kapsamdışı"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd: Dosya sonu belirsiz\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "Ana işlem kipi:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "Arşivde beklenmeyen dosya sonu"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "SAYI"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "DOSYA"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "`%s' açılamıyor"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "argüman sayısı çok fazla"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Bozuk komut"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Bu bir tar arşivi gibi görünmüyor"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Yazılan toplam bayt"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Okunan toplam bayt"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Silinen toplam bayt: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(boru)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "record_size için geçersiz değer"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Arşiv ismi verilmemiş"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "stdG/stdÇ arşivi doğrulanamaz"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, 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:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Sıkıştırılmış arşivler güncellenemez"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Bandın başlangıcında, şimdilik çıkıyor"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Çok hata var, çıkıyor"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, 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:765
+#: src/buffer.c:842
#, 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:842
+#: src/buffer.c:919
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:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek bir kaydın sınırında durmadı"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: geçersiz bölüm numarası içeriyor"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Bölüm numarası kapsamdışı"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "UYARI: Arşiv eksik"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Uygulama sonlandırılır\n"
" y veya <enter> İşlem sürdürülür\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! bir alt kabuk açılır\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Bu listeyi basar\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Yeni bölüm yok; çıkıyor.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Girdi geçersiz, Yardım için ? yazın.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s komutu başarısız"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s bu bölümde devam etmiyor"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s yanlış uzunluk (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, fuzzy, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Bu bölüm sıralama dışı"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Arşiv etiketi %s ile eşleşmiyor"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "%s bölümü %s ile eşleşmiyor"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, 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:1749
+#: src/buffer.c:1794
#, fuzzy
msgid "write did not end on a block boundary"
msgstr "rmtlseek bir kaydın sınırında durmadı"
msgstr[0] "Sadece %2$lu baytın %1$lu baytı okunabildi"
msgstr[1] "Sadece %2$lu baytın %1$lu baytı okunabildi"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "İçerikler farklı"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Arşivde beklenmeyen dosya sonu"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Dosya türleri farklı"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Kipleri farklı"
msgid "Mod time differs"
msgstr "Değişiklik zamanları farklı"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Uzunlukları farklı"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "%s'e bağlı değil"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Sembolik bağlar farklı"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Aygıt numaraları farklı"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Doğrulama "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: '%c' dosya türü bilinmiyor, normal dosya olarak karşılaştırıldı"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Arşivdeki dosya isimleri dosya yolu içermiyor."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Doğrulama, özgün dosyaların konumlanmasında başarısız olabilir."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı"
msgstr[1] "DOĞRULAMA BAŞARISIZ: %d geçersiz başlık saptandı"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "%s de tek başına sıfır bloğu"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: %s arabellekleme dizini yaftasını içeriyor; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr ""
"%1$s değeri, %3$s..%4$s aralığının %2$s dışında; yerine %5$s kullanılıyor"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "%1$s değeri, %3$s..%4$s aralığının %2$s dışında"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Negatif sekizlik başlık üretiliyor"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: dosya ismi çok uzun (en çok %d olabilir); dökümlenmedi"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: dosya ismi çok uzun (parçalanamıyor); dökümlenmedi"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: bağ ismi çok uzun; dökümlenmedi"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor"
msgstr[1] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "içerik dökümlenmedi"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Bilinmeyen dosya türü; dosya yoksayıldı"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "%s için bağlar kayıp.\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: dosya değişmedi; dökümlenmedi"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: dosya arşivdir; dökümlenmedi"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "dizin dökümlenmedi"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: dosya okundu olarak imlendi"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: soket yoksayıldı"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: kapı yoksayıldı"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Sonraki başlığa atlanıyor"
msgid "Deleting non-header from archive"
msgstr "Arşivden başlık-olmayan siliniyor"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: makul olmayan eski tarih damgası %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: zaman damgası %s %s s gelecekte"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Dizin oluşturulurken anlaşılamayan uyumsuzluk"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: durumu çıkarılamadan dizin ismi değiştirildi"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Bitişik dosyaları normal dosyalar olarak çıkarıyor"
-#: src/extract.c:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Umulmadık uzun isim başlığı"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Mevcut %s daha yeni ya da yaşıt"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "%s ismi %s olarak değiştirilemez"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Dizinin eski adı %s idi"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Dizin adı değiştirilmişti"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Dizin yeni"
msgid "%s: Cannot remove"
msgstr "%s: Kaldırılamaz"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Geçiliyor"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "blok %s: ** NUL bloku **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "blok %s: ** Dosya Sonu **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "blok %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"ediliyor"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, 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:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Arşiv atıl base-64 başlıklar içeriyor"
-#: src/list.c:790
+#: src/list.c:805
#, 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:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, 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:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " bağı -> %s \n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " bilinmeyen dosya türü %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Uzun Bağ--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Uzun İsim--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Bölüm Başlığı--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Devamı bayt %s de--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Oluşturulan dizin:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Çalışma dizini değiştirilemez"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "%s %s olarak değiştiriliyor\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: İsmi %s olarak değiştirilemez"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Gerisin geriye %s %s olarak değiştiriliyor\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Çalışılan dizin kaydedilemez"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Çalışma dizini değiştirilemez"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Dosya okunamadan kaldırıldı"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Dosya okunamadan kaldırıldı"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "alt süreç"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "süreçlerarası kanal"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış. Lütfen,"
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "ya kalıp eşlemeyi etkin kılmak için --wildcards kullanın,"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Arşivde yok"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Arşivde bulunması gerekirken yok"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "Arşiv etiketi %s ile eşleşmiyor"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr ""
"Sarmalama şekli `%s' bilinmiyor. Listeyi almak için `%s --quoting-"
"style=help' yazın."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" 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:356
+#: src/tar.c:357
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 "
" 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:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Ana işlem kipi:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "bir arşiv içeriğini listeler"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "bir arşivdeki dosyaları çıkarır"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "yeni bir arşiv oluşturur"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "arşiv ile dosya sistemi arasındaki farklar bulunur"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "dosyaları arşivin sonuna ekler"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "sadece arşivdeki kopyasından daha yeni dosyalar eklenir"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "bir arşive tar dosyaları ekler"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "arşivden siler (teyplerde değil!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "arşiv bölüm etiketini sınar ve çıkar"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "İşlem değiştiriciler:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "seyrek dosyalar verimli şekilde elde edilir"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "ANA[.ALT]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "GNU eski tarz arttırımlı yedekleme tanınır"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "GNU yeni tarz arttırımlı yedekleme tanınır"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
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, --"
"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:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "arşiv arama yapılabilen türde"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "arşiv arama yapılabilen türde"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr ""
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Üsteyazma denetimi:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "yazdıktan sonra arşivi doğrulamaya çalışır"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "arşive eklendikten sonra dosyalar silinir"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "çıkarılırken mevcut dosyalar değiştirilmez"
-#: src/tar.c:456
+#: src/tar.c:457
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:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "çıkarılırken mevcut dosyaların üzerine yazılır"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "çıkarılmadan önce mevcut dosya silinir"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "dizin çıkarılmadan önce alt dizinleri silinir"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "mevcut dizinlerin öznitelikleri korunur"
-#: src/tar.c:466
+#: src/tar.c:467
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:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Çıktı akımını seçiniz:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "dosyalar standart çıktıya çıkarılır"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "KOMUT"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "çıkarılan dosyaları başka bir uygulamaya borular"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "altsüreçlerin çıkış kodları yoksayılır"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Dosya özniteliklerinin elde edilmesi:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "İSİM eklenen dosyaların sahibi yapılır"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "İSİM eklenen dosyaların grubu yapılır"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DOSYA-TARİHİ"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "KİP"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "KİP eklenen dosyaların (sembolik) kipi yapılır"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "YÖNTEM"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"değerine getirerek (YÖNTEM='replace' öntanımlıdır) ya da ilk yerindeki "
"zamanı değiştirmeyerek (YÖNTEM='system')."
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "dosya değişiklik zamanı çıkarılmaz"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "sahibi aynı olan dosyalar çıkarılmaya çalışılır"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "dosyalar sizin sahipliğinizde çıkarılır"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "kullanıcı/grup isimleri yerine daima numaraları kullanılır"
-#: src/tar.c:510
+#: src/tar.c:511
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:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"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:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "isimler arşivdeki sırasına göre çıkarılır"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "-p ve -s birlikte verilmiş gibi olur"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"herşey çıkarılana kadar çıkarılan dizinlerin izinleri ve değişiklik "
"zamanlarının değiştirilmesi geciktirilir"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir."
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Aygıt seçimi ve aygıt değiştirme:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARŞİV"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "arşiv dosyası ya da ARŞİV aygıtı kullanılır"
-#: src/tar.c:534
+#: src/tar.c:535
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:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "rmt yerine rmt KOMUT kullanılır"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "rsh yerine uzak uçta KOMUT kullanılır"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "sürücü ve yoğunluk belirtilir"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "çok bölümlü arşivi oluşturur/listeler/çıkarır"
-#: src/tar.c:558
+#: src/tar.c:559
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:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "DOSYAda bölüm numarası kullanılır/güncellenir"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Aygıtın blok düzeni:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOK"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "kayıt başına BLOK x 512 bayt"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "512'nin katları olarak kayıt başına BOYUT bayt"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "arşivdeki sıfırlı bloklar yoksayılır (dosyasonu anlamında)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Arşiv biçimi seçimi:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "BİÇİM"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "belirtilen biçimin arşivi oluşturulur."
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "BİÇİM şunlardan biri olabilir:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "eski V7 tar biçimi"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "tar <= 1.12 için GNU biçimi"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x biçimi"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) biçimi"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) biçimi"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "pax ile aynı"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr " --format=v7 ile aynı"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "--format=posix ile aynı"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "isim[[:]=değer][,isim[[:]=değer]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "pax anahtar sözcüklerini denetler"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "METİN"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"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:613
+#: src/tar.c:614
#, fuzzy
msgid "Compression options:"
msgstr "Sıkıştırma seçenekleri çelişiyor"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr ""
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "UYG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Yerel dosya seçimi:"
-#: src/tar.c:639
+#: src/tar.c:640
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:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DİZİN"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "DİZİN dizinine geçilir"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr ""
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "ŞABLON"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur"
-#: src/tar.c:657
+#: src/tar.c:658
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:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur"
-#: src/tar.c:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "DOSYA içeren dizinler hariç tutulur"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr ""
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "dosya isimlerinin başındaki `/'lar ayrılmaz"
-#: src/tar.c:684
+#: src/tar.c:685
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:686
+#: src/tar.c:687
#, 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:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "ÜYE-İSMİ"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "arşivin ÜYE-İSMİ üyesinden başlanır"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "sadece DOSYA-TARİHİnden daha yeni dosyalar saklanır"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "TARİH"
-#: src/tar.c:693
+#: src/tar.c:694
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:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "DENETİM"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "kaldırılmadan önce DENETİM sürümü seçilerek yedeklenir"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "DİZGE"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Dosya ismi dönüşümleri:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "İFADE"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "harf büyüklükleri önemsenmez"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "dosya isminin başlangıcına uyan kalıplar"
-#: src/tar.c:720
+#: src/tar.c:721
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:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "birebir dizge eşleme"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "'/' ile eşleşmeyen genelleme kalıpları"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Bilgilendirme çıktısı:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "işlenen dosyalar ayrıntılı listelenir"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "Üsteyazma denetimi:"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr ""
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr ""
-#: src/tar.c:748
+#: src/tar.c:749
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:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SiNYAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"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:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "dosya değişiklik zamanları UTC'ye göre basılır"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "ayrıntılı çıktı DOSYAya gönderilir"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "her iletide arşiv içindeki blok sayısı gösterilir"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "her eylemden önce doğrulama istenir"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "tar öntanımlıları gösterilir"
-#: src/tar.c:766
+#: src/tar.c:769
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:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "ŞEKİL"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "DİZGEdeki sarmalama karakterlerine ek olarak"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "DİZGEdeki karakterler için sarmalamayı iptal eder"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Uyumluluk seçenekleri:"
-#: src/tar.c:784
+#: src/tar.c:787
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:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Diğer seçenekler:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "`-Acdtrux' seçenekleri birden fazla belirtilemez"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Sıkıştırma seçenekleri çelişiyor"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Bilinmeyen sinyal ismi: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Tarih örnekleri dosyası bulunamadı"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, 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:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: dosya listesi zaten okundu"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: okunan dosya ismi boş karakter içeriyor"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "arşivi gzip üzerinden geçirir"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "--quoting-style seçeneği için geçerli değerler:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*Bu* tar için öntanımlılar:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Bloklama çarpanı geçersiz"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Kayıt ortamının uzunluğu geçersiz"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "Arttırımlı dosya biçimi hatalı"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Birden fazla eşik tarihi"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Seyrek sürüm değeri geçersiz"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint değeri bir tamsayı değil"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s: geçersiz grup"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Seçenekte verilen kip geçersiz"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Sayı geçersiz"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Sahip geçersiz"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
msgstr ""
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Kayıt uzunluğu geçersiz"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Kayıt uzunluğu %d nin katları olmalı"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Elemen sayısı geçersiz"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Sadece tek bir --to-command seçeneği kullanılabilir"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Hatalı yoğunluk argümanı: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Bilinmeyen yoğunluk: '%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[DOSYA]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Eski seçenek `%c' bir argümanla kullanılır."
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence istenen işlem kipinde kullanılamaz"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Çok sayıda arşiv dosyası `-M' seçeneği gerektirir"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "--listed-incremental ile --newer birlikte kullanılamaz"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Sıkıştırılmış arşivler doğrulanamaz"
-#: src/tar.c:2425
+#: src/tar.c:2444
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:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Sıkıştırılmış arşivler birleştirilemez"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr ""
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "`-Aru' seçenekleri `-f -' ile uyumsuz"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "`-Acdtrux' seçeneklerinden biri belirtilmeli"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr ""
msgstr[0] "%s: Dosya %s baytta kırpılmış"
msgstr[1] "%s: Dosya %s baytta kırpılmış"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "Numara izin verilen aralığın dışında: %s"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "%s şablonu kullanılamıyor"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "%s anahtar sözcüğü çakıştırılamaz"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Ek başlık bozuk: uzunluk eksik"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Ek başlık uzunluğu izin verilen aralığın dışında"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "Ek başlık bozuk: uzunluktan sonra boşluk yok"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Ek başlık bozuk: eşit işareti eksik"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Ek başlık bozuk: satırsonu eksik"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, 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:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Ek başlık bozuk: %s=%s geçersiz"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, 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:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, 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"
msgid "Read checkpoint %u"
msgstr "Okuma sınaması yeri %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile, GNU paxutils deneme araçları için veri dosyalarını işleme sokar.\n"
"SEÇENEKLER:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Dosya oluşturma seçenekleri:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "BOYUT"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Dosya belirtilen BOYUTta oluşturulur"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Dosyalar standart çıktı yerine İSİM dosyasına yazılır"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Dosya isimleri DOSYAdan okunur"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T boş karakter sonlandırmalı isimleri okur"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Dosyayı belirtilen ŞABLON ile doldurur. ŞABLON 'default' veya 'zeros' "
"olabilir"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Seyrek dosyalar için blok boyu"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Seyrek dosya üretilir. Komut satırının kalanı dosya eşlemini verir."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "KONUM"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Veriyi yazmadan önce belirtilen konuma gider"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Dosya istatistikleri seçenekleri:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr ""
"Belirtilen her dosya için stat yapısının içeriğini basar. Öntanımlı BİÇİM: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "İcra eşzamanlama seçenekleri:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [SEÇENEK...]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"Belirtilen KOMUT çalıştırılır. --checkpoint ile ve --cut, --append, --touch "
"seçeneklerinden biri ile birlikte kullanışlıdır"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "Sınama SAYIsı aşıldığında belirtilen eylem uygulanır (aşağıya bakınız)"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Sonraki --touch seçeneği için tarih ayarlanır"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "İcra edilen sınamalar ve KOMUTun çıkış durumu gösterilir"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Çalıştırma eylemlerini eşzamanlar. Bunlar --checkpoint seçeneği ile "
"belirtilen sayı aşıldığında çalıştırılırlar."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr ""
"DOSYA --length seçeneği ile belirtilen boyutta kırpılır (belirtilmemişse 0)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"DOSYAya BOYUT bayt eklenir. BOYUT evvelce --length seçeneği ile belirtilir."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "DOSYAnın değişiklik ve erişim zamanları güncellenir"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "KOMUT çalıştırılır"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Geçersiz boyut: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Numara izin verilen aralığın dışında: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Negatif boyut: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) başarısız"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr ""
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr ""
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Sayı çözümlenirken `%s' civarında hata"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Bilinmeyen tarih biçimi"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGÜMANLAR...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "`%s' açılamıyor"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "konumlanamıyor"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "dosya ismi boş karakter içeriyor"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "kalıp yanlış (`%s' yakınında)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Bilinmeyen alan `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "zaman `%s' olarak ayarlanamaz"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "`%s' açılamıyor"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Komut başarıyla sonlandı\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Komut %d çıkış durumu ile başarısız oldu\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Komut %d sinyali ile sonlandırıldı\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Komut %d sinyali ile durduruldu\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Komut bellek dökümü verdi\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Komut sonlandı\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat seçeneği dosya isimleri gerektirir"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "Çalışılan dizin kaydedilemez"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "%s ismi %s olarak değiştirilemez"
+
+#~ msgid "suppress this warning."
+#~ msgstr "ya da bu uyarıyı engellemek için --no-wildcards kullanın."
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: kuraldışı seçenek -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "%s okunuyor\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "Yazılım hatalarını <%s> adresine,\n"
#~ "çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "%s okunuyor\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "Hata kurtarılabilir değil: şimdilik çıkılıyor"
-
-#~ msgid "suppress this warning."
-#~ msgstr "ya da bu uyarıyı engellemek için --no-wildcards kullanın."
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "arşivi bzip2 üzerinden geçirir"
#~ msgid "Premature end of file"
#~ msgstr "Dosya sonu belirsiz"
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "Hata kurtarılabilir değil: şimdilik çıkılıyor"
+
#~ msgid "block size"
#~ msgstr "blok uzunluğu"
# Copyright (C) 2010 Free Software Foundation, Inc.
# Sergey Poznyakoff <gray@gnu.org>, 2005, 2006, 2007, 2008, 2009, 2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.23\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-03-10 13:30+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-13 12:20+0300\n"
"Last-Translator: Sergey Poznyakoff <gray@gnu.org>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: gnu/argmatch.c:135
#, c-format
msgid "Report bugs to %s.\n"
msgstr "Про помилки звітуйте на <%s>.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Невідома системна помилка"
msgid "give a short usage message"
msgstr "вивести коротке повідомлення про використання"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "НАЗВА"
msgid "write error"
msgstr "помилка запису"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: опція '%s' неоднозначна\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: опція '--%s' не може мати аргументу\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: опція '%c%s' не може мати аргументу\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: опція '%s' вимагає аргументу\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: опція '--%s' вимагає аргументу\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: невідома опція '--%s'\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: невідома опція '%c%s'\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: недійсна опція -- '%c'\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: опція вимагає аргументу -- '%c'\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: опція '-W %s' неоднозначна\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: опція '-W %s' не може мати аргументу\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: опція '-W %s' вимагає аргументу\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "пам'ять вичерпана"
msgid "Cannot execute remote shell"
msgstr "Не вдалося запустити віддалену оболонку"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Напрямок зміщення за межами діапазону"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Помилковий напрям пошуку"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Помилковий зсув у файлі"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Зміщення за межами діапазону"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Помилкова кількість байтів"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Кількість байтів за межами діапазону"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "Передчасне закінчення файла"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Недійсний код операції"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Операція не підтримується"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Неочікувані аргументи"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "Керує стрічковим пристроєм, отримуючи команди від віддаленого процесу"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "ЧИСЛО"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "встановити рівень налагоджування"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "ФАЙЛ"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "встановити назву файлу для виходу налагоджування"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "не вдається відкрити %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "забагато аргументів"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Хибна команда"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Це не схоже на архів tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Записано загалом"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Прочитано байтів загалом"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Видалено загалом: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(канал)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Недійсне значення record_size"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Не вказано назви архіву"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Неможливо перевіряти архів, записаний до stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Архів стиснений. Використовуйте опцію %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Не можна оновлювати стиснені архіви"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "На початку стрічки, закінчуємо"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Надто багато помилок, виконання перервано"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[1] "Розмір запису = %lu блоки"
msgstr[2] "Розмір запису = %lu блоків"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві"
msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"Не вдалося переміститись назад у архіві; можливо архів не можна прочитати "
"без опції -i"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek не зупинився на межі запису"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: містить невірний номер тому"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Переповнення номера тому"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "Підготуйте том #%d архіву %s ї натиснить return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "Кінець файлу, замість очікуваної відповіді"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "ПОПЕРЕДЖЕННЯ: Незавершений архів"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q Перервати роботу\n"
" у або новий рядок Продовжувати\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Викликати оболонку\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? Вивести цю довідку\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Новий том відсутній. Завершення.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "Не вказано назви файлу. Спробуйте ще раз.\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "збій виконання `%s'"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr ""
"%s можливо продовжується у цьому томі: заголовок містить обрізану назву"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s не продовжується у цьому томі"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s є неправильним розміром (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Цей том є за межами послідовності (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Етикетка тому %s не співпадає з %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%s: назва файлу надто довга щоб зберегти її у заголовку тому GNU; назву "
"обрізано"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "запис не закінчився на межі блоку"
msgstr[1] "Вдалося прочитати тільки %lu з %lu байтів"
msgstr[2] "Вдалося прочитати тільки %lu з %lu байтів"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Різниця у змісті"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Неочікуваний кінець файла в архіві"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Різниця у типі файлу"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Різниця у правах доступу"
msgid "Mod time differs"
msgstr "Різниця у часі модифікації"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Різниця у розмірі"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Не є посиланням до %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Різниця у символічному посиланні"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Різниця у номері пристрою"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Перевірка "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s: Невідомий тип файлу `%c', перевірюється як звичайний файл"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Архів містить назви файлів без попереджуючих префіксів."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Перевірка може не знайти первинних файлів."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[1] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовки"
msgstr[2] "ПОМИЛКА ПЕРЕВІРКИ: знайдено %d невірних заголовків"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Самотній блок нулів, зсув %s"
# Не подобається мені це "кешування"...
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: містить мітку каталогу кешування `%s'; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "Значення %s поза межами діапазону типа %s %s..%s; заміна на %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "значення %s за межами діапазону типа %s %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Створення від'ємних вісімкових заголовків"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: назва файлу занадто довга (макс. %d); не архівується"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: назва файлу занадто довга (не вдається розділити); не архівується"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: назва посилання занадто довга; не архівується"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[1] "%s: Файл скоротився на %s байти; заповнення нулями"
msgstr[2] "%s: Файл скоротився на %s байтів; заповнення нулями"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: файл знаходиться в іншої файлової системі; не архівується"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "вміст не архівується"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Невідомий тип файла; Файл проігноровано"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Відсутні деякі посилання до %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: файл не змінено; не архівується"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: файл є архівом; не архівується"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "каталог не архівується"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: файл змінився під час читання"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: гніздо ігнорується"
# FIXME: door?
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: двері ігноруються"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Перехід до наступного заголовка"
msgid "Deleting non-header from archive"
msgstr "Видалення не-заголовка з архіву"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: неймовірно стара дата %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: мітка часу %s зсунута на %s сек. до майбутнього"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Неочікувана суперечність під час створення каталогу"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Каталог перейменовано перед тим, як tar встиг витягнути його стан"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "Витягування безперервних файлів у звичайні"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "Спроба перетворити символічні посилання на жорсткі"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s: Не вдається витягнути -- файл починається в іншому томі"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Неочікуваний кінець файла у заголовку довгої назви"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s: Невідомий тип файлу `%c', спроба витягнути його як звичайний файл"
# FIXME: або сучасний?
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "Існуючий файл `%s' є новіший"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s: Не вдалося створити резервну копію цього файла"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Не вдається перейменувати %s на %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Каталог перейменовано з %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Каталог перейменовано"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Новий каталог"
msgid "%s: Cannot remove"
msgstr "%s: Не вдається видалити"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Пропускається"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "блок %s: ** Містить нулі **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "блок %s: ** Кінець файлу **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "блок %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s"
# FIXME: base=64?
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Архів містить застарілі заголовки з основою 64"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr ""
"типу %s"
# FIXME: base-256
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Значення %s поза допустимими межами типу %s %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr "посилання до %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr "невідомий тип файла %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Довге посилання--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Довга назва--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Заголовок тому--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Продовжується з байту %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Створення каталогу:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Не вдається змінити поточний каталог"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Перейменовано %s у %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Не вдається перейменувати на %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Перейменовано %s назад у %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Не вдається зберегти поточний каталог"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Не вдається змінити поточний каталог"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Файл було видалено перед тим як tar встиг його прочитати"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Каталог було видалено перед тим як tar встиг його прочитати"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "процес-нащадок"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "канал між процесами"
-#: src/names.c:601
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
msgstr "Назви файлів містять символи-шаблони"
-#: src/names.c:603
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
"Користайтеся опцією --wildcards аби увімкнути шаблони, або опцією --no-"
"wildcards, щоб позбутися цього повідомлення"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Не знайдено в архіві"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s: Потрібну копію у архіві не знайдено"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Незгідність назви тому"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"Використання опції -C у переліку файлів разом з опцією --listed-incremental "
"не дозволяється"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Разом з --listed-incremental дозволяється лише одна опція -C"
"Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help' аби "
"отримати перелік стилів."
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" # archive.tar\n"
" tar -xf archive.tar # Витягує усі файли з archive.tar.\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" інакше - прості\n"
" never, simple завжди створювати прості резервні копії\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Режими роботи:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "вивести вміст архіву"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "витягнути файли з архіву"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "створити новий архів"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "порівняти файли в архіві з файлами у файлової системі"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "долучити файли до існуючого архіву"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "долучати тільки такі файли, що є новішими за їх копії в архіві"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "долучити архів до архіву"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "видалити файли з архіву (не на стрічці!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "перевірити мітку тому та вийти"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Модифікатори режиму роботи:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "заощаджувати простір під час зберігання розсіяних файлів"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "ГОЛОВНИЙ[.ДРУГОРЯДНИЙ]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "встановлює версію формату розсіяних файлів (вмикає --sparse)"
# FIXME: incremental
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "обробка старого формату інкрементного архіву GNU"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "обробка нового формату інкрементного архіву GNU"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "рівень архівної копії для створення інкрементного архіву"
# FIXME: хммм...
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "ігнорувати помилки читання файлів"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"з переліком файлів (у командному рядку або за допомогою опції -T). Типове "
"ЧИСЛО: 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "архів підтримує операцію seek"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "архів не підтримує операцію seek"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "не перевіряти номери пристрою під час створювання інкрементних архівів"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr ""
"перевіряти номери пристрою під час створювання інкрементних архівів (типово)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Керування перезаписом:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "перевірити архів після запису в нього"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "видаляти файли після додавання до архіву"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "не заміняти існуючи файли під час витягування"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "не заміняти існуючи файли що є новішими за їх копії у архіві"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "перезаписувати існуючі файли під час витягування"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "видаляти кожний файл перед витягуванням його копії"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "спорожняти старий каталог перед витягуванням його копії з архіву"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "зберігати мета-дані існуючих каталогів"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr ""
"перезаписувати метадані існуючих каталогів під час витягування (типово)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Вибір вихідного потоку:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "витягувати файли у стандартний вивід"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "КОМАНДА"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "передавати витягнуті файли до стандартного вводу іншої програми"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "ігнорувати коди завершення процесів-нащадків"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "вважати ненульовий код завершення нащадка помилкою"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Обробка атрибутів файлу:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "встановлення вказаного користувача власником доданих файлів"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "встановлення групи з вказаною назвою групою власника доданих файлів"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "ДАТА-АБО-ФАЙЛ"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "встановлення часу останньої зміни доданих файлів"
# Ну, і чому це CHANGES??
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "ПРАВА"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "встановлення вказаних символічно прав доступу для доданих файлів"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "МЕТОД"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"читання (типово, МЕТОД='replace'), або через запобігання оновленню часу "
"(МЕТОД='system')"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "не витягувати час модифікації файлів"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"встановлювати власників файлів за даними з архіву (типово для супер-"
"користувача)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr "стати власником витягнутих файлів (типово для звичайного користувача)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "завжди використовувати числа замість назв власника/групи"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr ""
"встановлювати права доступу згідно з даними архіву (типово для супер-"
"користувача)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"встановлювати права доступу згідно зі значенням umask (типово для звичайного "
"користувача)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "витягувати файли у порядку їх з'явлення в архіві"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "те ж, що -p -s разом"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"затримати встановлення часу модифікації та прав доступу до каталогів до "
"кінця витягування"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "відмінити дії опції --delay-directory-restore"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Вибір та зміна пристрою:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "АРХІВ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "використовувати вказаний файл або пристрій"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "файл архіву є локальним, навіть якщо його назва містить двокрапку"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "використовувати вказану команду замість rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "використовувати вказану команду замість rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "визначає пристрой та густину"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "створити, виводити зміст або витягувати файли з багатотомного архіву"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "змінити стрічку після запису ЧИСЛА x 1024 байтів"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "запускати сценарій наприкінці кожної стрічки (вмикає -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "використовувати/обновляти номер тому у ФАЙЛІ"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Блокування пристрою:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "ЧИСЛО-БЛОКІВ"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "розмір запису ЧИСЛО-БЛОКІВ x 512 байтів"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "встановити розмір запису у блоках по 512 байтів"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файлу)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "розбивати на блоки під час читання (для каналів 4.2BSD)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Вибір формату архіву:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "ФОРМАТ"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "створити архів у вказаному форматі"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "ФОРМАТ будь-який з наступних:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "старий формат V7"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "формат GNU, сумісний з версією tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "формат GNU, сумісний з версією tar 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "формат POSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "формат POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "те ж, що і pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "те ж, що і --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "те ж, що і --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "ключове_слово[[:]=значення][,ключове_слово[[:]=значення], ...]\""
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "керування ключовими словами pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "ТЕКСТ"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"створити архів з назвою тому \"ТЕКСТ\". Під час виводу змісту або "
"витягування, використовувати ТЕКСТ як шаблон пошуку тому"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Опції стиснення:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "вибирати програму стиснення за суфіксом архіву"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "не використовувати суфікс для вибору програми стиснення"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "ПРОГРАМА"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Вибір файлів:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "КАТАЛОГ"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "перейти до вказаного каталогу"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "читати назви файлів для додання/витягування з вказаного файла"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr ""
"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами. "
"Ця опція вимикає -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "відмінити дію попередньої опції --null"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "усувати цитування з назв файлів прочитаних за допомогою -T (типово)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "не усувати цитування з назв файлів прочитаних за допомогою -T"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "ШАБЛОН"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "не обробляти файли, назви яких відповідають вказаному шаблону"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "виключити назви що відповідають шаблонам, вказаним у файлі"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого "
"файлу"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "не архівувати каталоги, що містять CACHEDIR.TAG"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr ""
"не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файлу"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "не архівувати каталоги, що містять ФАЙЛ"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "не архівувати каталоги систем керування версіями"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "не архівувати резерві файли та файли блокування"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "не заходити автоматично у каталоги"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "залишатися у локальної файлової системі під час створення архіву"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "рекурсивно проходити каталоги (типово)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "не видаляти початкову косу риску `/' з назв файлів"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "НАЗВА-ФАЙЛУ"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "починати обслуговування архіву з вказаного файлу"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "ДАТА"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "порівнювати тільки дату і час зміни даних"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "РЕЖИМ"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "перед видаленням створювати резервні файли у вказаному режимі"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "РЯДОК"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"перед видаленням створювати резервні файли з указаним суфіксом (типово '~', "
"якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Перетворювання назв файлів:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "видаляти вказане ЧИСЛО компонентів з початку назв файлів"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "ВИРАЗ"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr ""
"Керування порівнюванням назв (впливає на взірці як вилучення, так і "
"долучення):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "шаблони ігнорують відмінності у регістрі символів"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr ""
"порівнювати шаблони з назвами файлів починаючи від будь-якого / (типово)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "шаблони враховують регістр (типово)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "користатися шаблонами (типово для вилучення)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "порівнювати назви буквально"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "шаблони не стосуються до '/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "шаблони стосуються до '/' (типово)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Інформативний вивід:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "виводити докладну інформацію про оброблені файли"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "КЛ.-СЛОВО"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "керування попередженнями"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ДІЯ"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "виконати вказану дію у контрольному пункті"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "виводити повідомлення якщо до архіву було додано не всі посилання"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "СИГНАЛ"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є "
"SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
msgstr "друкувати час модифікації файлів у UTC"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "друкувати час модифікації файлів у повній вирізняльної здатності"
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "виводити детальну інформацію у ФАЙЛ"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "попереджувати кожне повідомлення номером блоку в архіві"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "Запитувати підтвердження кожної дії"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "вивести типові налаштування"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"під час виведення змісту або витягування файлів друкувати назви каталогів що "
"не відповідають критеріям пошуку"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "показувати перетворені назви файлів"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "СТИЛЬ"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "встановити стиль цитування; дозволені стилі див. нижче"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "цитувати також вказані символи"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "вимкнути цитування вказаних символів"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Опції сумісності:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"під час створення архіву, те ж саме, що і --old-archive. Під час "
"витягування, те ж саме, що --no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Інші опції:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "заборонити користування деякими потенційно небезпечними опціями"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr ""
"Не можна вказувати більш ніж одну з опцій `-Acdtrux' або `--test-label'"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Опції стиснення конфліктують одна з другою"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Невідомий тип файла %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "Не знайдено файл-зразок дати"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "Використовується %s замість невідомого формату дати %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "Опція %s: Дату `%s' сприйнято як %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: перелік файлів уже прочитано"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: прочитана назва файла містить нульовий символ"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "фільтрувати архів через %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Допустимими аргументами опції --quoting-style є:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"Типові налаштування *цієї* копії програми:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Неправильний фактор блокування"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Неправильна довжина стрічки"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Недійсне значення для рівня архівації"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Більш ніж одна гранична дата"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Недійсна версія формату розсіяних файлів"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "опція --atime-preserve='system' не підтримується на цій платформі"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "аргумент --checkpoint мусить бути цілим числом"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Недійсна група"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Невірний формат прав доступу"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Невірне число"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Невірний власник"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Опція --preserve є застарілою, замість неї використовуйте --preserve-"
"permissions --preserve-order"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Невірний розмір запису"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "Розмір запису має ділитися на %d."
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Невірна кількість елементів"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Дозволяється лише одна опція --to-command"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Невірний аргумент вказання густини: `%s'"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Невідома густина: `%c'"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "Опції `-[0-7][lmh]' не підтримуються *цією* версією tar"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[ФАЙЛ]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Стара опція `%c' потребує аргументу"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "вказання --occurrence не має сенсу без вказання переліку файлів"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr ""
"опцію --occurrence не можна використовувати у зазначеному режимі роботи"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Вказання декількох файлів потребує вказання опції `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Не можна використовувати --listed-incremental разом з --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "Використання --level разом з --listed-incremental не має сенсу"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)"
msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)"
-#: src/tar.c:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Не можна перевіряти багатотомні архіви"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Не можна перевіряти стиснені архіви"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Не можна використовувати стиснення багатотомних архівів"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Не можна з'єднувати стиснені архіви"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Розмір тому не може бути більшим від розміру запису"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "Опція --preserve-order несумісна з --listed-incremental"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Полохливо відмовляюся створювати пустий архів"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "Опції `-Aru' несумісні з `-f -'"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "Необхідно вказати одну з опцій `-Acdtrux' або `--test-label'"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Невдачне завершення внаслідок попередніх помилок"
msgstr[1] "%s: Файл скоротився на %s байти"
msgstr[2] "%s: Файл скоротився на %s байтів"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "Ключове слово %s не є відоме або ще не реалізоване"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Значення позначки часу поза допустимими межами"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Шаблон %s забороняється уживати"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Не можна перевизначити ключове слово %s"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "Невірно сформований розширений заголовок: бракує довжини"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Довжина розширеного заголовку є за межами діапазону"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "Довжина розширеного заголовку %*s є за межами діапазону"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr ""
"Невірно сформований розширений заголовок: відсутній пробіл після довжини"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "Невірно сформований розширений заголовок: відсутній знак рівняння"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "Невідоме ключове слово `%s' іґнорується"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr ""
"Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.."
"%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "Невірно сформований розширений заголовок: недійсна змінна %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "Невірно сформований розширений заголовок: зайвий %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr ""
"Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач "
"%c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень"
msgid "Read checkpoint %u"
msgstr "Контрольна відмітка читання %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile - програма обробки файлів з набору перевірок пакету GNU paxutils\n"
"Перелік опцій:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Опції створювання файлів:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "РОЗМІР"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Створити файл заданого розміру"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Писати у вказаний файл, замість стандартного виводу"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Читати назви файлів з вказаного файлу"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr ""
"файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Взірець заповнення файла: 'default' (типовий) або 'zeros' (заповнення нулями)"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Розмір блока розсіяного файла"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "Створити розсіяний файл. Решта аргументів дає мапу файла."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "ЗСУВ"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Перед записом даних перейти до вказаного зсуву в файлі"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Статистика файлів:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "Виводити вміст структури stat для кожного файла. Типовий формат: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Синхронне виконання:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "ОПЦІЯ"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
"Виконати вказану команду. Для використання з опціями --cut, --append, --"
"touch або --unlink"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr ""
"Виконати вказану операцію (див. нижче) по досягненню контрольної відмітки"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Встановлює дати для наступної опції --touch"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Друкувати виконані операції і код завершення команди"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Операції синхронного виконання. Виконуються по досягненню контрольної "
"відмітки, вказаної опцією --checkpoint. "
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Обрізати файл до розміру, вказаного попередньою опцією --length (до 0, якщо "
"її не було вказано)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "Додати до файла кількість байтів, вказану попередньою опцією --length."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Поновити час доступу та модифікації файла"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Виконати КОМАНДУ"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Видалити файл"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Невірний розмір: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Число поза допустимими межами: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Від'ємний розмір: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "збій виконання stat(%s)"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "замовлений розмір файлу %lu, справжній -- %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "створений файл не є розсіяним"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Помилка розбору числа біля `%s'"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Невідомий формат дати"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[АРГУМЕНТИ...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "не вдається відкрити `%s'"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "не вдається виконати lseek"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "назва файла містить нульовий символ"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr ""
"неможливо створювати розсіяні файли на стандартному виводі; користайтеся "
"опцією --file"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "недійсна маска (біля `%s')"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Невідоме поле `%s'"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "не вдається встановити час файла `%s'"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "не вдається видалити `%s'"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Команда завершилася успішно\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "Команда завершилася з кодом %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "Команда завершилася по сигналу %d\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "Команда зупинилася по сигналу %d\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Команда скинула відбиток пам'яті\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Команда завершилася\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "опція --stat вимагає назв файлів"
+
+#~ msgid "Cannot save working directory"
+#~ msgstr "Не вдається зберегти поточний каталог"
# Phan Vinh Thinh <teppi82@gmail.com>, 2005.
# Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-13 17:50+0930\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-10-03 18:13+1030\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "Báo cáo lỗi tới %s.\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "Lỗi hệ thống không rõ"
msgid "give a short usage message"
msgstr "hiển thị cách sử dụng ngắn gọn"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "TÊN"
msgid "write error"
msgstr "lỗi ghi"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: tùy chọn « %s » vẫn mơ hồ\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: tùy chọn « --%s » không cho phép đối số\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: tùy chọn « %s » yêu cầu một đối số\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: tùy chọn « --%s » yêu cầu một đối số\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: không nhận ra tuỳ chọn « --%s »\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: không nhận ra tuỳ chọn « %c%s »\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: tùy chọn sai -- « %c »\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tùy chọn yêu cầu một đối số -- « %c »\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: tùy chọn « -W %s » vẫn mơ hồ\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tùy chọn « -W %s » không cho phép đối số\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: tùy chọn « -W %s » yêu cầu một đối số\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "cạn bộ nhớ"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "Không thể kết nối tới %s: lỗi giải quyết"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "Không thể chạy shell ở xa"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "Hướng tìm kiếm vượt quá vùng cho phép"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "Sai đặt hướng tìm nơi"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "Sai đặt khoảng chênh tìm nơi"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "Bộ tìm kiếm vượt quá vùng cho phép"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "Sai đếm byte"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "Số đếm byte ở ngoại phạm vi"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "Gặp kết thúc tập tin sớm"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "Mã thao tác sai"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "Thao tác không được hỗ trợ"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "Gặp đối số bất thường"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "Thao tác một ổ băng từ, chấp nhận lệnh từ một tiến trình ở xa"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "SỐ"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "đặt cấp gỡ rối"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "TẬP TIN"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "đặt tên tập tin kết xuất gỡ rối"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "không thể mở %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "quá nhiều đối số"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "Câu lệnh rác"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "Đây có vẻ không phải là một kho lưu tar"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "Tổng số byte đã ghi"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "Tổng số byte đã đọc"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "Tổng số byte đã xoá: %s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(đường ống)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "Giá trị cho record_size không đúng"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "Không đưa ra tên kho lưu"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "Không kiểm tra được kho lưu stdin/stdout"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "Kho lưu được nén. Hãy sử dụng tùy chọn %s"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "Không cập nhật được kho lưu đã nén"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "Tại đầu băng ghi âm, thoát ra bây giờ"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "Quá nhiều lỗi, đang thoát"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "Kích cỡ mục ghi = %lu khối"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] "Khối chưa sắp hàng (%lu byte) trong kho lưu"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr ""
"Không thể \"tua\" lại tập tin kho lưu; nó có thể không đọc được khi không có "
"« -i »"
-#: src/buffer.c:874
+#: src/buffer.c:951
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:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s: chứa số thứ tự khối không đúng"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "Số thứ tự khối thừa ra"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, 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:984
+#: src/buffer.c:1058
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:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "CẢNH BÁO: Kho lưu không hoàn thành"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" 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:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! Tạo một trình bao con\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? In ra danh sách này\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "Không có khối mới; đang thoát.\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
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:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "Gõ sai. (Gỏ ? để xem trợ giúp.)\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "Câu lệnh %s không thành công"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, 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:1298
+#: src/buffer.c:1372
#, 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:1312
+#: src/buffer.c:1386
#, 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:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "Khối tin này vượt quá dãy cho phép (%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "Kho lưu không có nhãn tương ứng với %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "Khối %s không tương ứng %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
"%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:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "tiến trình ghi (write) không dừng lại tại một ranh giới khối"
msgid_plural "Could only read %lu of %lu bytes"
msgstr[0] "Chỉ đọc được %lu từ %lu byte"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "Diff nội dung"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "Kết thúc tập tin không mong đợi trong kho lưu"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "Diff dạng tập tin"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "Diff chế độ"
msgid "Mod time differs"
msgstr "Diff thời gian sửa đổi"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "Diff kích thước"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "Không liên kết tới %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "Diff liên kết mềm"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "Diff số thứ tự của thiết bị"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "Kiểm tra "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr ""
"%s: không rõ dạng tập tin '%c' nên khác biệt (diff) như tập tin thông thường"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "Kho lưu chứa tên tập tin không có tiền tố ở đầu."
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "Sự kiểm tra có thể không định vị được các tập tin gốc."
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "LỖI KIỂM TRA: tìm thấy %d phần đầu không đúng"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "Một khối không đơn lẻ tại %s"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: chứa một thẻ thư mục ghi nhớ tạm %s: %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "giá trị %s vượt quá %s phạm vi %s..%s; đang thay thế %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "giá trị %s vượt quá %s phạm vi %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "Đang tạo phần đầu hệ tám âm"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s: tên tập tin quá dài (max %d); không được dump"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s: tên tập tin quá dài (không chia được); không được dump"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s: tên liên kết quá dài; không được dump"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s: Tập tin được rút ngắn %s byte; độn vào bắng các số không"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s: tập tin trên một hệ thống tập tin khác; không được dump"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "chưa đổ nội dung"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s: Không rõ dạng tập tin; tập tin bị lờ đi"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "Thiếu liên kết tới %s."
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: tập tin chưa thay đổi; không được dump"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: tập tin là kho lưu; không được đổ"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "chưa đổ thư mục"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: tập tin đã thay đổi khi chúng ta đọc nó"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: socket bị lờ đi"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: cửa (door) bị lờ đi"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "Nhảy tới phần đầu tiếp theo"
msgid "Deleting non-header from archive"
msgstr "Xóa không phải phần đầu từ kho lưu"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s: tem thời gian cũ không hợp lý %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s: tem thời gian %s là %s giây trong tương lai"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s: Sự mâu thuẫn không mong đợi khi tạo thư mục"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s: Đổi tên thư mục trước khi có thể giải phóng trạng thái của nó"
-#: src/extract.c:759
+#: src/extract.c:863
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:1039
+#: src/extract.c:1183
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:1183
+#: src/extract.c:1339
#, 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:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "Phần đầu tên dài không mong đợi"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, 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:1223
+#: src/extract.c:1379
#, 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:1274
+#: src/extract.c:1431
#, 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:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "Không thể đổi tên %s thành %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s: Đã đổi tên thư mục từ %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s: Đã đổi tên thư mục"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s: Thư mục là mới"
msgid "%s: Cannot remove"
msgstr "%s: Không thể xóa bỏ"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s: Đang bỏ đi"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "khối %s: ** Khối của các số không (NUL) **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "khối %s: ** Kết thúc tập tin **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "khối %s: "
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, c-format
msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
msgstr ""
"Giá trị hệ tám %.*s của kho lưu vượt ra phạm vi %s; coi như phần bù của hai"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "Giá trị hệ tám %.*s của kho lưu vượt ra phạm vi %s"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "Kho lưu chứa phần đầu base-64 không còn dùng nữa"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "Kho lưu ký chuỗi base-64 %s vượt ra ngoài vùng %s"
-#: src/list.c:821
+#: src/list.c:836
#, c-format
msgid "Archive base-256 value is out of %s range"
msgstr "Giá trị base-256 của kho lưu vượt ra ngoài vùng %s"
#. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:850
+#: src/list.c:865
#, c-format
msgid "Archive contains %.*s where numeric %s value expected"
msgstr "Kho lưu chứa %.*s ở chỗ mong đợi giá trị số %s"
#. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "Giá trị kho lưu %s vượt quá phạm vi %s (%s..%s)"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " liên kết tới %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " dạng tập tin không rõ %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--Liên kết Dài--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--Tên Dài--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--Phần đầu Khối--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--Tiếp tục tại byte %s--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "Đang tạo thư mục:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "Không thay đổi được thư mục làm việc"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "Đang đổi tên %s thành %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s: Không thể đổi tên thành %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "Đang đổi tên %s ngược lại thành %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "Không thể ghi nhớ thư mục làm việc"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "Không thay đổi được thư mục làm việc"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s: Tập tin bị xóa trước khi chúng ta đọc nó"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: Thư mục bị xoá trước khi chúng ta đọc nó"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "tiến trình con"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "kênh (channel) giữa các tiến trình"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "Tên tập tin chứa ký tự khớp mẫu."
+msgstr "Tên tập tin chứa ký tự khớp mẫu"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
-msgstr "Hãy dùng « --wildcards » để hiệu lực khớp mẫu,"
+msgstr ""
+"Dùng « --wildcards » (ký tự đặi diện) để hiệu lực chức năng khớp mẫu,\n"
+"hoặc « --no-wildcards » để thu hồi cảnh báo này."
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s: Không tìm thấy trong kho lưu"
-#: src/names.c:622
+#: 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 kho lưu"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "Sai khớp nhãn kho lưu"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr ""
"Sử dụng tuỳ chọn « -C » bên trong danh sách tập tin không được phép với « --"
"listed-incremental »"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "Chỉ cho phép một tuỳ chọn « -C » với « --listed-incremental »"
msgid ""
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr ""
-"Không rõ kiểu dáng trích dẫn « %s ». Hãy thử lệnh « %s --quoting-style=help » "
-"để xem danh sách."
+"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:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"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:356
+#: src/tar.c:357
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 "
" nil, existing đánh số nếu kho lưu tồn tại, nếu không thì đơn giản\n"
" never, simple luôn luôn tạo kho lưu đơn giản\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "Chế độ thao tác chính:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "liệt kê nội dung của một kho lưu"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "giải phóng các tập tin từ một kho lưu"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "tạo một kho lưu mới"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "tìm sự khác nhau giữa kho lưu và hệ thống tập tin"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "thêm các tập tin vào cuối một kho lưu"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "chỉ thêm những tập tin mới hơn bản sao trong kho lưu"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "thêm các tập tin tar vào một kho lưu"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "xóa từ kho lưu (không dùng trên các băng ghi âm mag!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "thử nhãn khối tin kho lưu rồi thoát"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "Từ khóa bổ nghĩa thao tác:"
-#: src/tar.c:416
+#: src/tar.c:417
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:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "CHÍNH[.PHỤ]"
-#: src/tar.c:418
+#: src/tar.c:419
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:420
+#: src/tar.c:421
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:422
+#: src/tar.c:423
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:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "cấp đổ cho kho lưu liệt kê tăng dần được tạo"
-#: src/tar.c:426
+#: src/tar.c:427
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:428
+#: src/tar.c:429
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, --"
"T ».\n"
"Mặc định SỐ có giá trị bằng 1."
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "có thể tìm nơi trong kho lưu"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "không thể tìm nơi trong kho lưu"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "đừng kiểm tra số thứ tự thiết bị khi tạo kho nén dần"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "kiểm tra số thứ tự thiết bị khi tạo kho nén dần"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "Điều khiển ghi đè:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "thử kiểm tra kho lưu sau khi ghi nó"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "xóa bỏ các tập tin sau khi thêm chúng vào kho lưu"
-#: src/tar.c:454
+#: src/tar.c:455
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:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "không thay thế những tập tin đã có mà mới hơn bản sao trong kho lưu"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "ghi đè lên những tập tin đã có khi giải phóng"
-#: src/tar.c:460
+#: src/tar.c:461
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:462
+#: src/tar.c:463
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:464
+#: src/tar.c:465
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:466
+#: src/tar.c:467
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:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "Chọn luồng xuất:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "giải phóng tập tin ra đầu ra tiêu chuẩn"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "CÂU LỆNH"
-#: src/tar.c:477
+#: src/tar.c:478
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:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "bỏ qua mã thoát của tiến trình con"
-#: src/tar.c:481
+#: src/tar.c:482
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:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "Điều khiển thuộc tính tập tin:"
-#: src/tar.c:489
+#: src/tar.c:490
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:491
+#: src/tar.c:492
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:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "NGÀY-CỦA-TẬP-TIN"
-#: src/tar.c:493
+#: src/tar.c:494
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:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "THAY ĐỔI"
-#: src/tar.c:495
+#: src/tar.c:496
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:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "PHƯƠNG PHÁP"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"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:502
+#: src/tar.c:503
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:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
"thử giải phóng tập tin cùng quyền sở hữu với tập tin trong kho lưu (mặc định "
"cho siêu người dùng)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr ""
"giải phóng tập tin dưới tên người dùng riêng (mặc định cho người dùng bình "
"thường)"
-#: src/tar.c:508
+#: src/tar.c:509
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:510
+#: src/tar.c:511
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:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
"áp dụng umask của người dùng khi giải nén quyền truy cập ra từ kho lưu (mặc "
"định cho người dùng bình thường)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "sắp xếp tên để giải phóng tới kho lưu tương ứng"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "giống như khi có hai tùy chọn -p và -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
"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:524
+#: src/tar.c:525
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:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "Lựa chọn và chuyển đổi thiết bị:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "LƯU TRỮ"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "sử dụng tập tin kho lưu hoặc thiết bị LƯU TRỮ"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "tập tin kho lưu là cục bộ thậm chí nếu có một dấu hai chấm"
-#: src/tar.c:536
+#: src/tar.c:537
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:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "sử dụng CÂU LỆNH từ xa thay cho rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "chỉ ra ổ và mật độ ghi dữ liệu"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "tạo/liệt kê/giải phóng kho lưu nhiều khối"
-#: src/tar.c:558
+#: src/tar.c:559
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:560
+#: src/tar.c:561
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:563
+#: src/tar.c:564
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:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "Khối của thiết bị:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "KHỐI"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "KHỐI X 512 byte cho mỗi bản ghi"
-#: src/tar.c:573
+#: src/tar.c:574
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:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "lờ đi những khối không (zero) trong kho lưu (có nghĩa EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
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:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "Lựa chọn định dạng kho lưu:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "ĐỊNH DẠNG"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "tạo lưư trữ với định dạng đưa ra"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "ĐỊNH DẠNG là một trong số sau:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "định dạng tar V7 cũ"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "định dạng GNU theo như tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "định dạng tar GNU 1.13.x"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "định dạng PoSIX 1003.1-1988 (ustar)"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "định dạng POSIX 1003.1-2001 (pax)"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "bằng pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "giống như --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "giống như --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "từ_khoá[[:]=giá_trị][,từ_khoá[[:]=giá_trị]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "từ khóa điều khiển pax"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "VĂN BẢN"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"tạo kho lưu với tên khối tin VĂN BẢN. Tại thời điểm liệt kê/giải phóng, sử "
"dụng VĂN BẢN làm mẫu glob cho tên khối tin"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "Tùy chọn nén:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "dùng hậu tố kho lưu để xác định chương trình nén"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "không nên dùng hậu tố kho lưu để xác định chương trình nén"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "TRÌNH"
-#: src/tar.c:620
+#: src/tar.c:621
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:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "Lựa chọn tập tin nội bộ:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr ""
"thêm vào kho lưu TẬP TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "THƯ MỤC"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "thay đổi tới thư mục THƯ MỤC"
-#: src/tar.c:643
+#: src/tar.c:644
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:645
+#: src/tar.c:646
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:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "tắt hiệu ứng của tùy chọn « --null » đi trước"
-#: src/tar.c:649
+#: src/tar.c:650
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:651
+#: src/tar.c:652
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:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "MẪU"
-#: src/tar.c:653
+#: src/tar.c:654
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:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "loại trừ những mẫu liệt kê trong TẬP TIN"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
"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:660
+#: src/tar.c:661
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:663
+#: src/tar.c:664
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:665
+#: src/tar.c:666
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:668
+#: src/tar.c:669
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:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "loại trữ thư mục chứa TẬP TIN"
-#: src/tar.c:672
+#: src/tar.c:673
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:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "loại trừ tập tin kiểu sao lưu và khoá"
-#: src/tar.c:676
+#: src/tar.c:677
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:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "nằm trong hệ thống tập tin nội bộ khi tạo kho lưu"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "đệ quy vào các thư mục (mặc định)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "đừng bỏ `/' ở đầu tên tập tin"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "theo liên kết tượng trưng; kho lưu và đổ tập tin tới đó nó chỉ"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "theo liên kết cứng; kho lưu và đổ tập tin tới đó nó chỉ"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "TÊN-THÀNH-VIÊN"
-#: src/tar.c:688
+#: src/tar.c:689
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 kho lưu"
-#: src/tar.c:690
+#: src/tar.c:691
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:692
+#: src/tar.c:693
msgid "DATE"
msgstr "NGÀY"
-#: src/tar.c:693
+#: src/tar.c:694
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:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "ĐIỀU KHIỂN"
-#: src/tar.c:695
+#: src/tar.c:696
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:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "CHUỖI"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"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:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "Chuyển dạng tên tập tin:"
-#: src/tar.c:704
+#: src/tar.c:705
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:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "BIỂU THỨC"
-#: src/tar.c:707
+#: src/tar.c:708
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:713
+#: src/tar.c:714
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:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "không phân biệt chữ hoa/thường"
-#: src/tar.c:718
+#: src/tar.c:719
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:720
+#: src/tar.c:721
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:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "khớp có phân biệt chữ hoa/ thường (mặc định)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "dùng ký tự đại diện (mặc định để loại trừ)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "khớp chuỗi nghĩa chữ"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "ký tự đại diện không tương ứng '/'"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "ký tự đại diện tương ứng '/' (mặc định để loại trừ)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "Dữ liệu kết quả có tính thông tin:"
-#: src/tar.c:738
+#: src/tar.c:739
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:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "TỪ_KHOÁ"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "điều khiển cảnh báo"
-#: src/tar.c:742
+#: src/tar.c:743
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:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "HÀNH_ĐỘNG"
-#: src/tar.c:745
+#: src/tar.c:746
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:748
+#: src/tar.c:749
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:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "TÍN HIỆU"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2;\n"
"cũng chấp nhận tên không có tiền tố « SIG »."
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr "in ra ngày sửa đổi tập tin theo UTC"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "in ra giờ sửa đổi tập tin theo UTC"
+
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr "in ra giờ tập tin đến độ phân giải đầy đủ"
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "gửi kết quả chi tiết tới TẬP TIN"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "hiên thị số thứ tự khối trong kho lưu với mỗi thông báo"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "hỏi xác nhận trước mỗi hành động"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "hiển thị các giá trị mặc định của tar"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
"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:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "hiển thị các tên tập tin hay kho lưu sau khi chuyển dạng"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "KIỂU DÁNG"
-#: src/tar.c:772
+#: src/tar.c:775
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:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "cũng trích dẫn các ký tự của CHUỖI"
-#: src/tar.c:776
+#: src/tar.c:779
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:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "Tùy chọn tương thích:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
"khi tạo, giống như « --old-archive »\n"
"khi giải phóng, giống như « --no-same-owner »"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "Những tùy chọn khác:"
-#: src/tar.c:792
+#: src/tar.c:795
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:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "Chỉ cho phép đưa ra một tùy chọn « -Acdtrux » hay « --test-label »"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "Mâu thuẫn giữa các tùy chọn nén"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "Không rõ tên tín hiệu : %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
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:1025
+#: src/tar.c:1028
#, 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:1054
+#: src/tar.c:1057
#, 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:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: danh sách tập tin đã được đọc"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: đọc tên tập tin chứa ký tự vô giá trị"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "lọc kho lưu qua %s"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "Các đối số thích hợp với tùy chọn « --quoting-style »:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"tar *này* mặc định tới:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "Nhân tố khối không đúng"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "Chiều dài băng ghi âm không đúng"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "Sai đặt giá trị cấp tăng dần"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "Có nhiều ngày bắt đầu"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "Giá trị phiên bản sparse không hợp lệ"
-#: src/tar.c:1700
+#: src/tar.c:1718
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:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "giá trị « --checkpoint » không phải số nguyên"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "Nhóm không đúng"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "Đưa ra chế độ không đúng trên tùy chọn"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "Số không đúng"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "Chủ sở hữu không đúng"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"Tùy chọn « --preserve » bị phản đối, hãy sử dụng tùy chọn « --preserve-"
"permissions » « --preserve-order » để thay thế"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "Kích thước bản ghi không đúng"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, 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:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "Số thứ tự của nguyên tố không đúng"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "Cho phép chỉ một tùy chọn « --to-command »"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "Tham số mật độ dạng sai: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "Mật độ không rõ : « %c »"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, 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:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[TẬP TIN]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "Tùy chọn cũ `%c' yêu cầu một tham số."
-#: src/tar.c:2355
+#: src/tar.c:2374
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:2361
+#: src/tar.c:2380
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:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "Tập tin nhiều kho lưu yêu cầu tùy chọn `-M'"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "Không thể kết hợp --listed-incremental với --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "Tùy chọn « --level » vô ích mà không có « --listed-incremental »"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "Không thể kiểm tra kho lưu nhiều khối"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "Không thể kiểm tra kho lưu đã nén"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "Không thể sử dụng kho lưu nhiều khối đã nén"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "Không thể ghép nối các kho nén"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option chỉ dùng được trên kho lưu POSIX"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "Chiều dài khối tin không thể nhỏ hơn kích cỡ mục ghi"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr ""
"Tùy chọn « --preserve-order » không tương thích với « --listed-incremental »"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "Từ chối tạo một kho lưu trống rỗng"
-#: src/tar.c:2501
+#: src/tar.c:2532
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:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
-msgstr "Bạn phải chỉ ra một trong hai tùy chọn « -Acdtrux » và « --test-label »"
+msgstr ""
+"Bạn phải chỉ ra một trong hai tùy chọn « -Acdtrux » và « --test-label »"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "Đang thoát với trạng thái thất bại do lỗi xảy ra trước"
msgid_plural "%s: File shrank by %s bytes"
msgstr[0] "%s: Tập tin được rút ngắn %s byte"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, 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:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "Nhãn thời gian ở ngoại phạm vi"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "Không thể dùng mẫu (pattern) %s"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "Không thể ghi chèn lên từ khóa %s"
-#: src/xheader.c:541
+#: src/xheader.c:542
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:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "Chiều dài phần đầu mở rộng ở ngoại phạm vi được phép"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, 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:568
+#: src/xheader.c:569
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:576
+#: src/xheader.c:577
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:582
+#: src/xheader.c:583
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:620
+#: src/xheader.c:621
#, 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:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, 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:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, 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:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, 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:1378
+#: src/xheader.c:1379
#, 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:1388
+#: src/xheader.c:1389
#, 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ẻ"
msgid "Read checkpoint %u"
msgstr "Điểm kiểm tra đọc %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile thao tác các tập tin dữ liệu cho bộ tiện ích thử paxutils của GNU.\n"
"TÙY CHỌN:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "Tùy chọn tạo tập tin:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "KÍCH CỠ"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "Tạo tập tin có KÍCH CỠ đã cho"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "Ghi vào tập tin TÊN, thay vào thiết bị gõ chuẩn"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "Đọc các tên tập tin từ TẬP TIN"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T đọc tên kết thúc vô hiệu lực"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr ""
"Điền vào tập tin bằng MẪU đã cho. MẪU là:\n"
" • default\t\tmặc định\n"
" • zeros\t\tcác số không"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "Kích cỡ của khối cho tập tin spare"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr ""
"Tạo ra tập tin sparse. Phần còn lại của dòng lệnh đưa ra sơ đồ tập tin."
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "HIỆU SỐ"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "Tìm nơi theo hiệu số đã cho trước khi ghi dữ liệu"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "Tùy chọn thống kê tập tin:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "In ra kết xuất struct stat về mỗi tập tin đã cho. ĐỊNH DẠNG mặc định: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "Tùy chọn thực hiện đồng thời:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "TÙY_CHỌN"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
" • --touch\tsờ\n"
" • --unlink\tbỏ liên kết"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "Thực hiện hành động đã cho (xem dưới) khi tới điểm kiểm tra SỐ"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "Đặt ngày tháng cho tùy chọn « -touch » kế tiếp"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "Hiển thị các điểm kiểm tra đã thực hiện và trạng thái thoát của LỆNH"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"Các hành động thực hiện đồng thời; được thực hiện khi tới điểm kiểm tra có "
"số được ghi rõ bằng tùy chọn « --checkpoint »."
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
"Cắt ngắn TẬP TIN thành kích cỡ được ghi rõ bằng tùy chọn « --length » trước "
"(không ghi rõ thì 0)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr ""
"Phụ thêm KÍCH CỠ byte vào TẬP TIN. KÍCH CỠ được ghi rõ bằng tùy chọn « --"
"length » trước."
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "Cập nhật các thời gian truy cập và sửa đổi của TẬP TIN"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "Thực hiện LỆNH"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "Bỏ liên kết TẬP_TIN"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "Kích cỡ không hợp lệ: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "Số nằm ngoài phạm vi cho phép: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "Kích cỡ âm: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) bị lỗi"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "yêu cầu chiều dài tập tin %lu mà có %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "đã tạo tập tin không phải thưa thớt (sparse)"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "Lỗi phân tích số gần « %s »"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "Không rõ định dạng ngày tháng"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ĐỐI SỐ...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "không thể mở « %s »"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "không thể tìm nơi"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "tên tập tin chứa ký tự vô giá trị"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, 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:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "mặt nạ không đúng (gần « %s »)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "Không rõ trường « %s »"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "không thể đặt thời gian trên « %s »"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "không thể bỏ liên kết « %s »"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "Lệnh đã thoát thành công\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, 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:832
+#: tests/genfile.c:831
#, 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:834
+#: tests/genfile.c:833
#, 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:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "Lệnh đã đổ lõi\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "Lệnh đã chấm dứt\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat yêu cầu tên tập tin"
-#~ msgid "Cannot resolve hostname %s"
-#~ msgstr "Không thể quyết định tên máy %s"
-
-#~ msgid "suppress this warning."
-#~ msgstr "hoặc dùng « --no-wildcards » để thu hồi cảnh báo này."
+#~ msgid "Cannot save working directory"
+#~ msgstr "Không thể ghi nhớ thư mục làm việc"
# Rongjun Mu <rongjunmu+i18n@gmail.com>, 2004.
# Ji ZhengYu <zhengyuji@gmail.com>, 2008, 2009, 2010.
#
+#: src/create.c:1550
msgid ""
msgstr ""
-"Project-Id-Version: tar 1.22.91\n"
+"Project-Id-Version: tar 1.23.90\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
-"PO-Revision-Date: 2010-02-16 14:27+0800\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
+"PO-Revision-Date: 2010-07-13 11:49+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
msgid "Report bugs to %s.\n"
msgstr "将错误报告发送到 %s。\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "未知的系统错误"
msgid "give a short usage message"
msgstr "显示简短的用法说明"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "名称"
msgid "write error"
msgstr "写错误"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: 选项\"%s\"具有歧义\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: 选项\"--%s\"不需要参数\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: 选项\"%c%s\"不需要参数\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, c-format
-msgid "%s: option '%s' requires an argument\n"
-msgstr "%s: 选项\"%s\"必须要参数\n"
+msgid "%s: option '--%s' requires an argument\n"
+msgstr "%s: 选项\"%s\"需要带参数\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: 无法识别的选项\"--%s\"\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: 无法识别的选项\"%c%s\"\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: 无效选项 -- \"%c\"\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: 选项需要参数 -- \"%c\"\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: 选项\"-W %s\"具有歧义\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: 选项\"-W %s\"不要参数\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s: 选项\"%s\"需要带参数\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "内存耗尽"
#: lib/rtapelib.c:429
#, c-format
msgid "Cannot connect to %s: resolve failed"
-msgstr ""
+msgstr "无法连接至 %s: 解析失败"
#: lib/rtapelib.c:515
#, c-format
msgid "Cannot execute remote shell"
msgstr "无法执行远程 shell"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "查寻方向超出范围"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
msgid "Invalid seek direction"
msgstr "无效的查寻方向"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
msgid "Invalid seek offset"
msgstr "无效的查寻偏移量"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "查寻操作的偏移量超出范围"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
msgid "Invalid byte count"
msgstr "无效的字节数"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
msgid "Byte count out of range"
msgstr "字节数超出范围"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
msgid "Premature eof"
msgstr "文件结尾出现过早"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
msgid "Invalid operation code"
msgstr "无效操作模式"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr "不支持的操作"
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
msgid "Unexpected arguments"
msgstr "参数异常"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr "接受远程程序的命令操作磁带机"
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "NUMBER"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr "设定调试级别"
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "FILE"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr "设定调试输出文件名"
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, c-format
msgid "cannot open %s"
msgstr "无法打开 %s"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "参数过多"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "垃圾命令"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "它似乎不像是一个 tar 归档文件"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "总计写入字节数"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "总计读取字节数"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "总计删除字节数:%s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(管道)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "record_size 的无效值"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "未给出归档文件名"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "无法验证标准输入/标准输出归档文件"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "归档被压缩。使用 %s 选项"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "无法更新压缩归档文件"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "处于磁带的起点,现在退出"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "错误过多,退出"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "记录大小 = %lu 块"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] "归档中未对齐的块 (%lu 字节)s"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek 未停在记录边界处"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s:包含无效的卷编号"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "卷编号溢出"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "为 %2$s 准备卷 #%1$d 并按回车:"
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "需得到用户应答时文件结束"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "警告:归档文件不完整"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q\t\t终止 tar\n"
" y or newline\t继续操作\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! 衍生出一个子 shell\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? 打印此列表\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "没有新的卷;退出。\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "未指定文件名。重试。\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "无效输入。输入 ? 显示帮助。\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s 命令失败"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s 在本卷可能连续: 头部包含截短的名字"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s 在本卷中不连续"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s 的大小错误 (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "此卷次序有误(%s - %s != %s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "归档未被标记为匹配 %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "卷标 %s 不匹配 %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "写操作未在记录边界处终止"
msgid_plural "Could only read %lu of %lu bytes"
msgstr[0] "仅能读入 %2$lu 中的 %1$lu 个字节"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "内容不同"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "归档文件中异常的 EOF"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "文件类型不同"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "访问模式不同"
msgid "Mod time differs"
msgstr "修改时间不同"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "大小不同"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "没有连接到 %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "符号连接不同"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "设备号不同"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "校验"
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s:未知的文件类型“%c”,与普通文件不同"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "归档包含带有被移除前导字符的文件名。"
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "位于原始文件中的验证可能失败。"
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "校验失败:检测到 %d 个无效的头"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "在 %s 处一个单独的零块"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s: 包含一个缓存目录标识 %s;%s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "值 %s 超出了 %s 的范围 %s..%s;正在替换 %s"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "值 %s 超出了 %s 的范围 %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "正在生成负八进制头"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s:文件名太长(最长 %d);未输出"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s:文件名太长(不能被分割);未输出"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s:连接名太长;未输出"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s:文件缩小 %s 字节;用零填充"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s:文件在不同的文件系统上;未输出"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "未输出内容"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s:未知的文件类型;忽略文件"
-#: src/create.c:1472
+#: src/create.c:1527
#, c-format
msgid "Missing links to %s."
msgstr "缺少到 %s 的连接。"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s: 文件未改变;未输出"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s: 文件是归档文件;未输出"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "未输出目录"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s: 在我们读入文件时文件发生了变化"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s: 忽略套接字(socket)"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s: 忽略权限"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "跳转到下一个头"
msgid "Deleting non-header from archive"
msgstr "从归档文件中删除非头信息"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s:不可信的旧时间戳 %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s:时间戳 %s 是未来的 %s 秒之后"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s:创建目录时出现意外的不一致"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s:目录名在状态信息被获取之前改变了"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "展开紧邻的文件为普通文件"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "正试图将符号连接展开为硬连接"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s:无法展开 -- 文件一直延伸至另一卷中"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "异常的长名字头部"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s:未知的文件类型“%c”,作为普通文件展开"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "当前的“%s”更新或一样新"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s:无法备份该文件"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "无法将 %s 重命名为 %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s:目录已改名,不再是 %s"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s:目录已被改名"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s:目录是新的"
msgid "%s: Cannot remove"
msgstr "%s:无法删除"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s:忽略"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "块 %s:** 空块 **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "块 %s:** 文件结束 **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "块 %s:"
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "归档八进制值 %.*s 超出 %s 的范围"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "归档包含过时的 base-64 头"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "归档签署的 base-64 字符串 %s 超出范围 %s"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "归档值 %s 超出 %s 的范围 %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " 连接到 %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " 未知的文件类型 %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--长连接--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--长名--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--卷头--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--从 %s 字节继续--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "正在创建目录:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "无法改变工作目录"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "将 %s 改名为 %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s:无法重命名为 %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "将 %s 的名字改回 %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "无法保存工作目录"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "无法改变工作目录"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s:文件在我们读入之前被删除了"
-#: src/misc.c:774
+#: src/misc.c:866
#, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s: 文件在读入之前被删除了"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "子进程"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "进程内通道"
-#: src/names.c:601
-#, fuzzy
+#: src/names.c:594
msgid "Pattern matching characters used in file names"
-msgstr "请在文件名中使用匹配字符模式。"
+msgstr "文件名中所使用的字符匹配模式"
-#: src/names.c:603
-#, fuzzy
+#: src/names.c:596
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s:归档中找不到"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s:没有在归档中找到需要的"
-#: src/names.c:894
+#: src/names.c:649
+#, c-format
+msgid "Archive label mismatch"
+msgstr "归档卷标不匹配"
+
+#: src/names.c:953
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr "在文件列表中 -C 选项与 --listed-incremental 选项不许合用"
-#: src/names.c:900
+#: src/names.c:959
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "仅一个 -C 选项允许与 --listed-incremental 合用"
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr "未知的引用形式‘%s’。尝试用‘%s --quoting-style=help’获取列表。"
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
"件。\n"
" tar -xf archive.tar # 展开归档文件 archive.tar 中的所有文件。\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" nil, existing 如果编号备份存在则进行编号备份,否则进行简单备份\n"
" never, simple 总是使用简单备份\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "主操作模式:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "列出归档内容"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "从归档中解出文件"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "创建一个新归档"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "找出归档和文件系统的差异"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "追加文件至归档结尾"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "仅追加比归档中副本更新的文件"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "追加 tar 文件至归档"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "从归档(非磁带!)中删除"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "测试归档卷标并退出"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "操作修饰符:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "高效处理离散文件"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "设置所用的离散格式版本(隐含 --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "处理老式的 GNU 格式的增量备份"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "处理新式的 GNU 格式的增量备份"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr "所创建的增量列表归档的输出级别"
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "当遇上不可读文件时不要以非零值退出"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"extract 或是 --list 中的一个联合使用时,此选项才有效。而且不管文件列表是以命"
"令行形式给出或是通过 -T 选项指定的;NUMBER 值默认为 1"
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "归档可检索"
-#: src/tar.c:436
+#: src/tar.c:437
msgid "archive is not seekable"
msgstr "归档不可检索"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "当创建增量归档时不要检查设备号"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "当创建增量归档时检查设备号(默认)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "重写控制:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "在写入以后尝试校验归档"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "在添加文件至归档后删除它们"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "解压时不要替换存在的文件"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "不要替换比归档中副本更新的已存在的文件"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "解压时重写存在的文件"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "在解压要重写的文件之前先删除它们"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "解压目录之前先清除目录层次"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "保留已存在目录的元数据"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "解压时重写已存在目录的元数据(默认)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "选择输出流:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "解压文件至标准输出"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "COMMAND"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "将解压的文件通过管道传送至另一个程序"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "忽略子进程的退出代码"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "将子进程的非零退出代码认为发生错误"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "操作文件属性:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "强制将 NAME 作为所添加的文件的所有者"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "强制将 NAME 作为所添加的文件的组所有者"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "DATE-OR-FILE"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "从 DATE-OR-FILE 中为添加的文件设置 mtime"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "CHANGES"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "强制将所添加的文件(符号)更改为权限 CHANGES"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "METHOD"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间,"
"要不就不要在第一次(METHOD=‘system’)设置时间"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "不要解压文件的修改时间"
-#: src/tar.c:504
+#: src/tar.c:505
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "尝试解压时保持所有者关系一致(超级用户默认此项)"
-#: src/tar.c:506
+#: src/tar.c:507
msgid "extract files as yourself (default for ordinary users)"
msgstr "将文件解压为您所有(普通用户默认此项)"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "总是以数字代表用户/组的名称"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "解压文件权限信息(默认只为超级用户服务)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr "从归档中解压权限时使用用户的掩码位(默认为普通用户服务)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "为解压至匹配归档排序名称"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "与 -p 和 -s 一样"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr "直到解压结束才设置修改时间和所解目录的权限"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "取消 --delay-directory-restore 选项的效果"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "设备选择和切换:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "ARCHIVE"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "使用归档文件或 ARCHIVE 设备"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "即使归档文件存在副本还是把它认为是本地归档"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "使用指定的 rmt COMMAND 代替 rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "使用远程 COMMAND 代替 rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "指定驱动器和压缩率"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "创建/列出/解压多卷归档文件"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "写入 NUMBER × 1024 字节后更换磁带"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "在每卷磁带最后运行脚本(隐含 -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "使用/更新 FILE 中的卷数"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "设备分块:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "BLOCKS"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "每个记录 BLOCKS x 512 字节"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "每个记录的字节数 NUMBER,乘以 512"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "忽略归档中的零字节块(即文件结尾)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "读取时重新分块(只对 4.2BSD 管道有效)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "选择归档格式:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "FORMAT"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "创建指定格式的归档"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "FORMAT 是以下格式中的一种:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "old V7 tar 格式"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "GNU 格式 as per tar <= 1.12"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x 格式"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) 格式"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) 格式"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "等同于 pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "等同于 --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "等同于 --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "关键字[[:]=值][,关键字[[:]=值]]..."
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "控制 pax 关键字"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "TEXT"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
msgstr "创建带有卷名 TEXT 的归档;在列出/解压时,使用 TEXT 作为卷名的模式串"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "压缩选项:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "使用归档后缀名来决定压缩程序"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "不使用归档后缀名来决定压缩程序"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "PROG"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "本地文件选择:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "DIR"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "改变至目录 DIR"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "从 FILE 中获取文件名来解压或创建文件"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T 读取以空终止的名字,-C 禁用"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "禁用上一次的效果 --null 选项"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "以 -T 读取的文件名作为引用结束(默认)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "不以 -T 读取的文件名作为引用结束"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "PATTERN"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "排除以 PATTERN 指定的文件"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "排除 FILE 中列出的模式串"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "排除包含 CACHEDIR.TAG 的目录"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "排除包含 FILE 的目录中的所有内容"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "排除包含 FILE 的目录"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "排除版本控制系统目录"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr "排除备份和锁文件"
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "避免目录中的自动降级"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "创建归档时保存在本地文件系统中"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "目录递归(默认)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "不要从文件名中清除引导符‘/’"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "跟踪符号链接;将它们所指向的文件归档并输出"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "跟踪硬链接;将它们所指向的文件归档并输出"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "MEMBER-NAME"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "从归档中的 MEMBER-NAME 成员处开始"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "只保存比 DATE-OR-FILE 更新的文件"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "DATE"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "当只有数据改变时比较数据和时间"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "CONTROL"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "在删除前备份,选择 CONTROL 版本"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "STRING"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
msgstr ""
"在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "文件名变换:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "解压时从文件名中清除 NUMBER 个引导部分"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "EXPRESSION"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr "文件名匹配选项(同时影响排除和包括模式串):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "忽略大小写"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "模式串匹配文件名头部"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "匹配大小写(默认)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "使用通配符(默认对 exclusion )"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "逐字匹配字符串"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "通配符不匹配‘/’"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "通配符匹配‘/’(默认对排除操作有效)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "提示性输出:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "详细地列出处理的文件"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr "KEYWORD"
-#: src/tar.c:740
+#: src/tar.c:741
msgid "warning control"
msgstr "警告控制:"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "ACTION"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "在每个检查点上执行 ACTION"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "只要不是所有链接都被输出就打印信息"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "SIGNAL"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的"
"信号名称"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
-msgstr "以 UTC 格式打印文件修改信息"
+#: src/tar.c:756
+msgid "print file modification times in UTC"
+msgstr "以 UTC 格式打印文件修改时间"
+
+#: src/tar.c:758
+#, fuzzy
+msgid "print file time to its full resolution"
+msgstr "将文件时间打印至显示器"
-#: src/tar.c:757
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "将详细输出发送至 FILE"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "每个信息都显示归档内的块数"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "每次操作都要求确认"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "显示 tar 默认选项"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr "列表或解压时,列出每个不匹配查找标准的目录"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "显示变换后的文件名或归档名"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "STYLE"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "来自 STRING 的额外的引用字符"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "禁用来自 STRING 的字符引用"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "兼容性选项:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "其它选项:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "禁用某些潜在的有危险的选项"
-#: src/tar.c:927
+#: src/tar.c:930
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "您不能指定超过一个\"-Acdtrux\"或是\"--test-label\"外的选项"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "压缩选项冲突"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "未知的信号名称: %s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "找不到数据样板文件"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "把未知的时间格式 %2$s 替换为 %1$s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "选项 %s: 将日期 ‘%s’ 当作 %s"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s: 文件列表已经读取"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s: 读取的文件名含有空字符"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, c-format
msgid "filter the archive through %s"
msgstr "通过 %s 过滤归档"
-#: src/tar.c:1290
+#: src/tar.c:1296
msgid "Valid arguments for the --quoting-style option are:"
msgstr "--quoting-style 选项的有效参数为:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"此 tar 默认为:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
#, fuzzy
msgid "Invalid blocking factor"
msgstr "无效的块因子"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "无效的磁带长度"
-#: src/tar.c:1511
+#: src/tar.c:1529
msgid "Invalid incremental level value"
msgstr "无效的增量度"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "多于一个时间阈值"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
#, fuzzy
msgid "Invalid sparse version value"
-msgstr "æ\97 æ\95\88ç\9a\84离æ\95£版本值"
+msgstr "æ\97 æ\95\88ç\9a\84ç¨\80ç\96\8f版本值"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "此平台不支持 --atime-preserve=‘system’ "
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint 值不是个整数"
-#: src/tar.c:1830
+#: src/tar.c:1848
msgid "Invalid group"
msgstr "无效的组"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "选项中给出无效的访问模式"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "无效的数字"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "无效的所有者"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"--preserve 选项已经废弃了,请使用 --preserve-permissions --preserve-order 代"
"替"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "无效的记录大小"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "记录大小必须是 %d 的倍数。"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "无效的元素数"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "仅允许使用一个 --to-command 选项"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "错误的压缩参数: %s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "未知的压缩参数: ‘%c’"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "本 tar 不支持选项“-[0-7][lmh]”"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FILE]..."
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "旧选项“%c”需要参数。"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "没有一个文件列表时 --occurrence 是没有意义的"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence 不能用于请求的操作模式中"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "多个归档文件需要使用“-M”选项"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "无法在使用 --newer 的时候使用 --listed-incremental"
-#: src/tar.c:2387
+#: src/tar.c:2406
msgid "--level is meaningless without --listed-incremental"
msgstr "没有 --listed-incremental 选项的话 --level 选项是无意义的"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "无法检验多卷归档文件"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "无法检验压缩归档文件"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "无法使用多卷压缩归档文件"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "无法联结压缩归档文件"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option 只能用于 POSIX 归档中"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "卷长度不可小于记录大小"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order 与 --listed-incremental 不匹配"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "谨慎地拒绝创建空归档文件"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "选项“-Aru”与“-f -”不兼容"
-#: src/tar.c:2592
+#: src/tar.c:2621
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "您必须从\"-Acdtrux\"或是\"--test-label\"选项中指定一个"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "由于前次错误,将以上次的错误状态退出"
msgid_plural "%s: File shrank by %s bytes"
msgstr[0] "%s:文件缩小 %s 字节"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "关键字 %s 未知或还未实现"
-#: src/xheader.c:173
+#: src/xheader.c:174
msgid "Time stamp is out of allowed range"
msgstr "时间标记超出允许范围"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "不能使用模式 %s"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "不能覆盖关键字 %s"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "错误的扩展头: 缺少 length"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "扩展头长度超出所允许的范围"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "扩展头长度 %*s 超出范围"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "错误的扩展头: length 后缺少空白符"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "错误的扩展头: 缺少等于符号"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "错误的扩展头: 缺少空行"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "忽略未知的扩展头关键字‘%s’"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, c-format
msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
msgstr "生成的关键字/值对太长了(keyword=%s, length=%s)"
#. TRANSLATORS: The first %s is the pax extended header keyword
#. (atime, gid, etc.).
-#: src/xheader.c:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "扩展头 %s=%s 超出范围 %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "错误的扩展头: %s=%s 无效"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "错误的扩展头: %s=%s 溢出"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "错误的扩展头: %s 无效: 奇怪的数值"
msgid "Read checkpoint %u"
msgstr "读取操作的检查点 %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile 为 GNU paxutils 测试软件操作数据文件。\n"
"选项为:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "文件创建选项:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "SIZE"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "创建指定 SIZE 的文件"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "写入文件 NAME,而不是标准输出"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "从 FILE 读取文件名"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T 读取以 NULL 终止的名字"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "以指定的 PATTERN 填充文件。PATTERN 可以是‘default’或是‘zeros’"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
-msgstr "离æ\95£文件的块大小"
+msgstr "ç¨\80ç\96\8f文件的块大小"
-#: tests/genfile.c:143
-#, fuzzy
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr "ç\94\9fæ\88\90离æ\95£文件。命令行其余选项指定 map 文件。"
+msgstr "ç\94\9fæ\88\90ç¨\80ç\96\8f文件。命令行其余选项指定 map 文件。"
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "OFFSET"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "在写入数据前定位至指定的偏移位"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "文件统计选项:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "打印每个给定文件的 stat 结构定义的内容。默认 FORMAT 是: "
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "同步执行选项:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
msgid "OPTION"
msgstr "OPTION"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"--unlink"
msgstr ""
"执行 ARGS。与 --checkpoint 或 --cut,--append,--touch 中的一个一起使用时有用"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "只要达到 checkpoint NUMBER 指定的数值就执行指定的操作(见下)"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "为下一个 --touch 选项设定日期"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "显示执行的 checkpoints 以及 COMMAND 的退出状态"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"同步执行操作。当达到由 --checkpoint 选项指定的 checkpoint 数值时会执行这些操"
"作。"
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr "截短 FILE 至由前面 --length 选项指定的大小(如果未指定的话,默认 0)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "添加 SIZE 字节至 FILE。SIZE 由前面的 --length 选项指定。"
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "更新 FILE 的访问和修改时间"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "执行 COMMAND"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr "删除 FILE"
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "无效的值: %s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "数值超出所允许的范围: %s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "负值: %s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "stat(%s) 错误"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "需要文件长度为 %lu,实际为 %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "所创建的文件非稀疏文件"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "“%s”附近解析数字错误"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "未知的数据格式"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[ARGS...]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "无法打开“%s”"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "无法定位"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "文件名包含空字符"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr "使用 --file 选项无法在标准输出上生成离散文件"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "不正确的掩码(“%s”附近)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "未知的文件掩码位“%s”"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "无法设定“%s”的时间"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, c-format
msgid "cannot unlink `%s'"
msgstr "无法删除 \"%s\""
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "命令成功退出\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "命令出错,状态 %d\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "命令由信号 %d 终止了\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "命令由信号 %d 停止了\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "命令输出 core\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "命令终止\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat 选项需要文件名"
+#~ msgid "Cannot save working directory"
+#~ msgstr "无法保存工作目录"
+
#~ msgid "Cannot resolve hostname %s"
#~ msgstr "无法解析主机 %s"
# This file is distributed under the same license as the tar package.
# Wei-Lun Chao <chaoweilun@gmail.com>, 2009.
#
+#: src/create.c:1550
msgid ""
msgstr ""
"Project-Id-Version: tar 1.22\n"
"Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2010-03-10 12:53+0200\n"
+"POT-Creation-Date: 2010-10-24 23:08+0300\n"
"PO-Revision-Date: 2009-08-30 00:17+0800\n"
"Last-Translator: Wei-Lun Chao <chaoweilun@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Report bugs to %s.\n"
msgstr "請向 %s 回報錯誤。\n"
-#: gnu/argp-help.c:1929 gnu/error.c:155
+#: gnu/argp-help.c:1929 gnu/error.c:183
msgid "Unknown system error"
msgstr "不明的系統錯誤"
msgid "give a short usage message"
msgstr "給出簡短的使用訊息"
-#: gnu/argp-parse.c:85 src/tar.c:488 src/tar.c:490 src/tar.c:559
-#: tests/genfile.c:131
+#: gnu/argp-parse.c:85 src/tar.c:489 src/tar.c:491 src/tar.c:560
+#: tests/genfile.c:130
msgid "NAME"
msgstr "名稱"
msgid "write error"
msgstr "寫入錯誤"
-#: gnu/getopt.c:531 gnu/getopt.c:547
+#: gnu/getopt.c:529 gnu/getopt.c:545
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s:選項「%s」是模稜兩可的\n"
-#: gnu/getopt.c:580 gnu/getopt.c:584
+#: gnu/getopt.c:578 gnu/getopt.c:582
#, fuzzy, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s:選項「--%s」不允許引數\n"
-#: gnu/getopt.c:593 gnu/getopt.c:598
+#: gnu/getopt.c:591 gnu/getopt.c:596
#, fuzzy, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s:選項「%c%s」不允許引數\n"
-#: gnu/getopt.c:641 gnu/getopt.c:660 gnu/getopt.c:963 gnu/getopt.c:982
+#: gnu/getopt.c:639 gnu/getopt.c:658
#, fuzzy, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option '--%s' requires an argument\n"
msgstr "%s:選項「%s」需要一個引數\n"
-#: gnu/getopt.c:698 gnu/getopt.c:701
+#: gnu/getopt.c:696 gnu/getopt.c:699
#, fuzzy, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s:無法辨識的選項「--%s」\n"
-#: gnu/getopt.c:709 gnu/getopt.c:712
+#: gnu/getopt.c:707 gnu/getopt.c:710
#, fuzzy, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s:無法辨識的選項「%c%s」\n"
-#: gnu/getopt.c:761 gnu/getopt.c:764
+#: gnu/getopt.c:759 gnu/getopt.c:762
#, fuzzy, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s:無效的選項 -- %c\n"
-#: gnu/getopt.c:814 gnu/getopt.c:831 gnu/getopt.c:1034 gnu/getopt.c:1052
+#: gnu/getopt.c:812 gnu/getopt.c:829 gnu/getopt.c:1037 gnu/getopt.c:1055
#, fuzzy, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s:選項需要一個引數 -- %c\n"
-#: gnu/getopt.c:884 gnu/getopt.c:900
+#: gnu/getopt.c:885 gnu/getopt.c:901
#, fuzzy, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s:選項「-W %s」是模稜兩可的\n"
-#: gnu/getopt.c:924 gnu/getopt.c:942
+#: gnu/getopt.c:925 gnu/getopt.c:943
#, fuzzy, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s:選項「-W %s」不允許引數\n"
+#: gnu/getopt.c:964 gnu/getopt.c:982
+#, fuzzy, c-format
+msgid "%s: option '-W %s' requires an argument\n"
+msgstr "%s:選項「%s」需要一個引數\n"
+
#: gnu/obstack.c:425 gnu/obstack.c:427 gnu/xalloc-die.c:36
msgid "memory exhausted"
msgstr "記憶體已耗盡"
msgid "Cannot execute remote shell"
msgstr "無法執行遠端命令殼"
-#: rmt/rmt.c:413
+#: rmt/rmt.c:432
msgid "Seek direction out of range"
msgstr "尋覓方向超出範圍"
-#: rmt/rmt.c:419
+#: rmt/rmt.c:438
#, fuzzy
msgid "Invalid seek direction"
msgstr "選項中的模式無效"
-#: rmt/rmt.c:427
+#: rmt/rmt.c:446
#, fuzzy
msgid "Invalid seek offset"
msgstr "無效的大小:%s"
-#: rmt/rmt.c:433
+#: rmt/rmt.c:452
msgid "Seek offset out of range"
msgstr "尋覓偏移值超出範圍"
-#: rmt/rmt.c:474 rmt/rmt.c:525 rmt/rmt.c:589
+#: rmt/rmt.c:493 rmt/rmt.c:544 rmt/rmt.c:608
#, fuzzy
msgid "Invalid byte count"
msgstr "無效的磁帶長度"
-#: rmt/rmt.c:480 rmt/rmt.c:531 rmt/rmt.c:595 rmt/rmt.c:606
+#: rmt/rmt.c:499 rmt/rmt.c:550 rmt/rmt.c:614 rmt/rmt.c:625
#, fuzzy
msgid "Byte count out of range"
msgstr "尋覓偏移值超出範圍"
-#: rmt/rmt.c:539
+#: rmt/rmt.c:558
#, fuzzy
msgid "Premature eof"
msgstr "rmtd:檔案突然結束\n"
-#: rmt/rmt.c:582
+#: rmt/rmt.c:601
#, fuzzy
msgid "Invalid operation code"
msgstr "主要操作模式:"
-#: rmt/rmt.c:617 rmt/rmt.c:661
+#: rmt/rmt.c:636 rmt/rmt.c:680
msgid "Operation not supported"
msgstr ""
-#: rmt/rmt.c:645
+#: rmt/rmt.c:664
#, fuzzy
msgid "Unexpected arguments"
msgstr "未預期的保存檔結尾"
-#: rmt/rmt.c:670
+#: rmt/rmt.c:689
msgid "Manipulate a tape drive, accepting commands from a remote process"
msgstr ""
-#: rmt/rmt.c:677 src/tar.c:423 src/tar.c:427 src/tar.c:557 src/tar.c:572
-#: src/tar.c:703 src/tar.c:741 tests/genfile.c:167
+#: rmt/rmt.c:696 src/tar.c:424 src/tar.c:428 src/tar.c:558 src/tar.c:573
+#: src/tar.c:704 src/tar.c:742 tests/genfile.c:166
msgid "NUMBER"
msgstr "數目"
-#: rmt/rmt.c:678
+#: rmt/rmt.c:697
msgid "set debug level"
msgstr ""
-#: rmt/rmt.c:679 src/tar.c:421 src/tar.c:562 src/tar.c:638 src/tar.c:642
-#: src/tar.c:654 src/tar.c:664 src/tar.c:667 src/tar.c:669 src/tar.c:756
-#: tests/genfile.c:133 tests/genfile.c:181 tests/genfile.c:185
-#: tests/genfile.c:188 tests/genfile.c:194
+#: rmt/rmt.c:698 src/tar.c:422 src/tar.c:563 src/tar.c:639 src/tar.c:643
+#: src/tar.c:655 src/tar.c:665 src/tar.c:668 src/tar.c:670 src/tar.c:759
+#: tests/genfile.c:132 tests/genfile.c:180 tests/genfile.c:184
+#: tests/genfile.c:187 tests/genfile.c:193
msgid "FILE"
msgstr "檔案"
-#: rmt/rmt.c:680
+#: rmt/rmt.c:699
msgid "set debug output file name"
msgstr ""
-#: rmt/rmt.c:696 rmt/rmt.c:764
+#: rmt/rmt.c:715 rmt/rmt.c:783
#, fuzzy, c-format
msgid "cannot open %s"
msgstr "無法開啟「%s」"
-#: rmt/rmt.c:761 tests/genfile.c:885 tests/genfile.c:902
+#: rmt/rmt.c:780 tests/genfile.c:884 tests/genfile.c:901
#, c-format
msgid "too many arguments"
msgstr "太多引數"
-#: rmt/rmt.c:803
+#: rmt/rmt.c:822
msgid "Garbage command"
msgstr "無用的命令"
-#: src/buffer.c:321 src/buffer.c:326 src/buffer.c:572 src/buffer.c:1176
-#: src/buffer.c:1222 src/buffer.c:1251 src/delete.c:211 src/list.c:171
-#: src/update.c:189
+#: src/buffer.c:386 src/buffer.c:391 src/buffer.c:635 src/buffer.c:1250
+#: src/buffer.c:1296 src/buffer.c:1325 src/delete.c:211 src/list.c:184
+#: src/update.c:198
msgid "This does not look like a tar archive"
msgstr "這個看起來不像 tar 保存檔"
-#: src/buffer.c:385 src/buffer.c:394
+#: src/buffer.c:450 src/buffer.c:459
msgid "Total bytes written"
msgstr "已寫入位元組總數"
-#: src/buffer.c:392 src/buffer.c:406
+#: src/buffer.c:457 src/buffer.c:471
msgid "Total bytes read"
msgstr "已讀取位元組總數"
-#: src/buffer.c:396
+#: src/buffer.c:461
#, c-format
msgid "Total bytes deleted: %s\n"
msgstr "已刪除位元組總數:%s\n"
-#: src/buffer.c:485
+#: src/buffer.c:550
msgid "(pipe)"
msgstr "(管線)"
-#: src/buffer.c:508
+#: src/buffer.c:573
msgid "Invalid value for record_size"
msgstr "無效的記錄大小"
-#: src/buffer.c:511
+#: src/buffer.c:576
msgid "No archive name given"
msgstr "沒有指定保存檔名稱"
-#: src/buffer.c:555
+#: src/buffer.c:618
msgid "Cannot verify stdin/stdout archive"
msgstr "無法檢驗標準輸出入保存檔"
-#: src/buffer.c:569
+#: src/buffer.c:632
#, c-format
msgid "Archive is compressed. Use %s option"
msgstr "保存檔被壓縮過。使用 %s 選項"
-#: src/buffer.c:626 src/tar.c:2429
+#: src/buffer.c:689 src/tar.c:2448
msgid "Cannot update compressed archives"
msgstr "無法更新壓縮的保存檔"
-#: src/buffer.c:705
+#: src/buffer.c:782
msgid "At beginning of tape, quitting now"
msgstr "位於磁帶起始部份,立刻退出"
-#: src/buffer.c:711
+#: src/buffer.c:788
msgid "Too many errors, quitting"
msgstr "太多錯誤,離開中"
-#: src/buffer.c:744
+#: src/buffer.c:821
#, c-format
msgid "Record size = %lu block"
msgid_plural "Record size = %lu blocks"
msgstr[0] "記錄大小 = %lu 區塊"
-#: src/buffer.c:765
+#: src/buffer.c:842
#, c-format
msgid "Unaligned block (%lu byte) in archive"
msgid_plural "Unaligned block (%lu bytes) in archive"
msgstr[0] "保存檔中未排列的區塊 (%lu 位元組)"
-#: src/buffer.c:842
+#: src/buffer.c:919
msgid "Cannot backspace archive file; it may be unreadable without -i"
msgstr "無法倒退保存檔檔案;沒有 -i 也許會無法讀取"
-#: src/buffer.c:874
+#: src/buffer.c:951
msgid "rmtlseek not stopped at a record boundary"
msgstr "rmtlseek 無法在記錄分界處停止"
-#: src/buffer.c:928
+#: src/buffer.c:1002
#, c-format
msgid "%s: contains invalid volume number"
msgstr "%s:包含無效的卷冊號碼"
-#: src/buffer.c:963
+#: src/buffer.c:1037
msgid "Volume number overflow"
msgstr "卷冊號碼已滿"
-#: src/buffer.c:978
+#: src/buffer.c:1052
#, c-format
msgid "Prepare volume #%d for %s and hit return: "
msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: "
-#: src/buffer.c:984
+#: src/buffer.c:1058
msgid "EOF where user reply was expected"
msgstr "到達期待使用者回答的檔案末端"
-#: src/buffer.c:989 src/buffer.c:1021
+#: src/buffer.c:1063 src/buffer.c:1095
msgid "WARNING: Archive is incomplete"
msgstr "警告:保存檔不完整"
-#: src/buffer.c:1003
+#: src/buffer.c:1077
#, c-format
msgid ""
" n name Give a new file name for the next (and subsequent) volume(s)\n"
" q 放棄打包\n"
" y 或 newline 繼續作業\n"
-#: src/buffer.c:1008
+#: src/buffer.c:1082
#, c-format
msgid " ! Spawn a subshell\n"
msgstr " ! 衍生一個子命令殼\n"
-#: src/buffer.c:1009
+#: src/buffer.c:1083
#, c-format
msgid " ? Print this list\n"
msgstr " ? 列印這個清單\n"
-#: src/buffer.c:1016
+#: src/buffer.c:1090
msgid "No new volume; exiting.\n"
msgstr "沒有新卷冊;離開。\n"
-#: src/buffer.c:1049
+#: src/buffer.c:1123
msgid "File name not specified. Try again.\n"
msgstr "檔案名稱尚未指定。再次嘗試。\n"
-#: src/buffer.c:1062
+#: src/buffer.c:1136
#, c-format
msgid "Invalid input. Type ? for help.\n"
msgstr "無效的輸入。按下 ? 以獲得說明。\n"
-#: src/buffer.c:1113
+#: src/buffer.c:1187
#, c-format
msgid "%s command failed"
msgstr "%s 命令失敗"
-#: src/buffer.c:1294
+#: src/buffer.c:1368
#, c-format
msgid "%s is possibly continued on this volume: header contains truncated name"
msgstr "%s 在本卷冊中可能連續:標頭含有截斷的名稱"
-#: src/buffer.c:1298
+#: src/buffer.c:1372
#, c-format
msgid "%s is not continued on this volume"
msgstr "%s 在本卷冊中並不連續"
-#: src/buffer.c:1312
+#: src/buffer.c:1386
#, c-format
msgid "%s is the wrong size (%s != %s + %s)"
msgstr "%s 的大小有錯 (%s != %s + %s)"
-#: src/buffer.c:1326
+#: src/buffer.c:1401
#, c-format
msgid "This volume is out of sequence (%s - %s != %s)"
msgstr "本卷冊已超出序列 (%s - %s !=%s)"
-#: src/buffer.c:1404 src/buffer.c:1430
+#: src/buffer.c:1479 src/buffer.c:1505
#, c-format
msgid "Archive not labeled to match %s"
msgstr "保存檔未標誌為符合 %s"
-#: src/buffer.c:1434
+#: src/buffer.c:1509
#, c-format
msgid "Volume %s does not match %s"
msgstr "卷冊 %s 不符合 %s"
-#: src/buffer.c:1530
+#: src/buffer.c:1603
#, c-format
msgid ""
"%s: file name too long to be stored in a GNU multivolume header, truncated"
msgstr "%s:檔名太長,無法儲存於 GNU 多重卷冊標頭之中,已截斷"
-#: src/buffer.c:1749
+#: src/buffer.c:1794
msgid "write did not end on a block boundary"
msgstr "並未於區段界限結束寫入"
msgid_plural "Could only read %lu of %lu bytes"
msgstr[0] "只能讀取 %2$lu 位元組中的 %1$lu 個"
-#: src/compare.c:105 src/compare.c:388
+#: src/compare.c:105 src/compare.c:382
msgid "Contents differ"
msgstr "內容不同"
-#: src/compare.c:131 src/extract.c:830 src/incremen.c:1462 src/list.c:386
-#: src/list.c:1376 src/xheader.c:710
+#: src/compare.c:131 src/extract.c:958 src/incremen.c:1462 src/list.c:397
+#: src/list.c:1384 src/xheader.c:711
msgid "Unexpected EOF in archive"
msgstr "未預期的保存檔結尾"
-#: src/compare.c:179 src/compare.c:195 src/compare.c:313 src/compare.c:412
+#: src/compare.c:179 src/compare.c:195 src/compare.c:308 src/compare.c:406
msgid "File type differs"
msgstr "檔案類型不同"
-#: src/compare.c:182 src/compare.c:202 src/compare.c:327
+#: src/compare.c:182 src/compare.c:202 src/compare.c:322
msgid "Mode differs"
msgstr "模式不同"
msgid "Mod time differs"
msgstr "修改時間不同"
-#: src/compare.c:215 src/compare.c:420
+#: src/compare.c:215 src/compare.c:414
msgid "Size differs"
msgstr "大小不同"
-#: src/compare.c:269
+#: src/compare.c:263
#, c-format
msgid "Not linked to %s"
msgstr "並未鏈結至 %s"
-#: src/compare.c:292
+#: src/compare.c:287
msgid "Symlink differs"
msgstr "符號連結不同"
-#: src/compare.c:321
+#: src/compare.c:316
msgid "Device number differs"
msgstr "裝置編號不同"
-#: src/compare.c:462
+#: src/compare.c:456
#, c-format
msgid "Verify "
msgstr "驗證 "
-#: src/compare.c:469
+#: src/compare.c:463
#, c-format
msgid "%s: Unknown file type `%c', diffed as normal file"
msgstr "%s:不明檔案類型「%c」,會以普通檔案的方式作比較"
-#: src/compare.c:524
+#: src/compare.c:518
msgid "Archive contains file names with leading prefixes removed."
msgstr "保存檔包含前置文字被移除的檔案名稱。"
-#: src/compare.c:526
+#: src/compare.c:520
msgid "Verification may fail to locate original files."
msgstr "查核動作可能無法找到原始檔案"
-#: src/compare.c:599
+#: src/compare.c:593
#, c-format
msgid "VERIFY FAILURE: %d invalid header detected"
msgid_plural "VERIFY FAILURE: %d invalid headers detected"
msgstr[0] "驗證失敗:%d 偵測到無效的標頭"
-#: src/compare.c:617 src/list.c:148
+#: src/compare.c:611 src/list.c:161
#, c-format
msgid "A lone zero block at %s"
msgstr "位於 %s 的孤立零值區塊"
-#: src/create.c:68
+#: src/create.c:72
#, c-format
msgid "%s: contains a cache directory tag %s; %s"
msgstr "%s:包含一個快取目錄標記 %s; %s"
-#: src/create.c:273
+#: src/create.c:261
#, c-format
msgid "value %s out of %s range %s..%s; substituting %s"
msgstr "數值 %s 已超出 %s 的範圍 %s..%s;以 %s 替代中"
-#: src/create.c:279
+#: src/create.c:267
#, c-format
msgid "value %s out of %s range %s..%s"
msgstr "數值 %s 已超出 %s 的範圍 %s..%s"
-#: src/create.c:339
+#: src/create.c:327
msgid "Generating negative octal headers"
msgstr "正在產生負數的八進位標頭"
-#: src/create.c:624 src/create.c:687
+#: src/create.c:611 src/create.c:674
#, c-format
msgid "%s: file name is too long (max %d); not dumped"
msgstr "%s:檔名太長 (最大 %d);未傾印"
-#: src/create.c:634
+#: src/create.c:621
#, c-format
msgid "%s: file name is too long (cannot be split); not dumped"
msgstr "%s:檔名太長 (無法分割);未傾印"
-#: src/create.c:661
+#: src/create.c:648
#, c-format
msgid "%s: link name is too long; not dumped"
msgstr "%s:鏈結名稱太長;未傾印"
-#: src/create.c:1078
+#: src/create.c:1062
#, c-format
msgid "%s: File shrank by %s byte; padding with zeros"
msgid_plural "%s: File shrank by %s bytes; padding with zeros"
msgstr[0] "%s:檔案縮小了 %s 位元組;以零值填補"
-#: src/create.c:1175
+#: src/create.c:1158
#, c-format
msgid "%s: file is on a different filesystem; not dumped"
msgstr "%s:檔案位於不同的檔案系統;未傾印"
-#: src/create.c:1219 src/create.c:1230 src/incremen.c:590 src/incremen.c:596
+#: src/create.c:1201 src/create.c:1212 src/incremen.c:582 src/incremen.c:588
msgid "contents not dumped"
msgstr "內容無法傾印"
-#: src/create.c:1362
+#: src/create.c:1416
#, c-format
msgid "%s: Unknown file type; file ignored"
msgstr "%s:不明檔案類型;忽略該檔案"
-#: src/create.c:1472
+#: src/create.c:1527
#, fuzzy, c-format
msgid "Missing links to %s."
msgstr "失去至 %s 的連結。\n"
-#: src/create.c:1543
+#: src/create.c:1688
#, c-format
msgid "%s: file is unchanged; not dumped"
msgstr "%s:檔案沒有變更;未傾印"
-#: src/create.c:1552
+#: src/create.c:1697
#, c-format
msgid "%s: file is the archive; not dumped"
msgstr "%s:檔案是保存檔;未傾印"
-#: src/create.c:1593 src/incremen.c:583
+#: src/create.c:1721 src/incremen.c:575
msgid "directory not dumped"
msgstr "目錄未傾印"
-#: src/create.c:1664
+#: src/create.c:1793
#, c-format
msgid "%s: file changed as we read it"
msgstr "%s:檔案在讀取時已變更"
-#: src/create.c:1731
+#: src/create.c:1855
#, c-format
msgid "%s: socket ignored"
msgstr "%s:忽略通訊端"
-#: src/create.c:1737
+#: src/create.c:1861
#, c-format
msgid "%s: door ignored"
msgstr "%s:忽略匣門"
-#: src/delete.c:217 src/list.c:185 src/update.c:194
+#: src/delete.c:217 src/list.c:198 src/update.c:203
msgid "Skipping to next header"
msgstr "跳至下一個標頭"
msgid "Deleting non-header from archive"
msgstr "從保存檔中刪除無標頭者"
-#: src/extract.c:211
+#: src/extract.c:277
#, c-format
msgid "%s: implausibly old time stamp %s"
msgstr "%s:難以確信的舊時間戳記 %s"
-#: src/extract.c:229
+#: src/extract.c:295
#, c-format
msgid "%s: time stamp %s is %s s in the future"
msgstr "%s:時間戳記 %s 代表未來的 %s 秒"
-#: src/extract.c:409
+#: src/extract.c:475
#, c-format
msgid "%s: Unexpected inconsistency when making directory"
msgstr "%s:產生目錄時有未預期的不一致"
-#: src/extract.c:613
+#: src/extract.c:709
#, c-format
msgid "%s: Directory renamed before its status could be extracted"
msgstr "%s:解開目錄狀態之前已更改了名稱"
-#: src/extract.c:759
+#: src/extract.c:863
msgid "Extracting contiguous files as regular files"
msgstr "正在解開連續檔案為正常檔案"
-#: src/extract.c:1039
+#: src/extract.c:1183
msgid "Attempting extraction of symbolic links as hard links"
msgstr "嘗試解開符號連結為硬式連結"
-#: src/extract.c:1183
+#: src/extract.c:1339
#, c-format
msgid "%s: Cannot extract -- file is continued from another volume"
msgstr "%s:無法解開 -- 檔案延續自其他卷冊"
-#: src/extract.c:1190 src/list.c:1109
+#: src/extract.c:1346 src/list.c:1117
msgid "Unexpected long name header"
msgstr "未預期的長名稱標頭"
-#: src/extract.c:1197
+#: src/extract.c:1353
#, c-format
msgid "%s: Unknown file type `%c', extracted as normal file"
msgstr "%s:不明檔案類型「%c」,會以普通檔案的方式解開資料"
-#: src/extract.c:1223
+#: src/extract.c:1379
#, c-format
msgid "Current %s is newer or same age"
msgstr "目前的 %s 較新或相同"
-#: src/extract.c:1274
+#: src/extract.c:1431
#, c-format
msgid "%s: Was unable to backup this file"
msgstr "%s:之前無法備份這個檔案"
-#: src/extract.c:1402
+#: src/extract.c:1568
#, c-format
msgid "Cannot rename %s to %s"
msgstr "無法將 %s 重新命名為 %s"
-#: src/incremen.c:482 src/incremen.c:526
+#: src/incremen.c:474 src/incremen.c:518
#, c-format
msgid "%s: Directory has been renamed from %s"
msgstr "%s:目錄已從 %s 重新命名"
-#: src/incremen.c:494
+#: src/incremen.c:486
#, c-format
msgid "%s: Directory has been renamed"
msgstr "%s:目錄已被重新命名"
-#: src/incremen.c:539
+#: src/incremen.c:531
#, c-format
msgid "%s: Directory is new"
msgstr "%s:目錄是新的"
msgid "%s: Cannot remove"
msgstr "%s:無法移除"
-#: src/list.c:115
+#: src/list.c:130
#, c-format
msgid "%s: Omitting"
msgstr "%s:省略中"
-#: src/list.c:133
+#: src/list.c:146
#, c-format
msgid "block %s: ** Block of NULs **\n"
msgstr "區塊 %s:** 空值區塊 **\n"
-#: src/list.c:159
+#: src/list.c:172
#, c-format
msgid "block %s: ** End of File **\n"
msgstr "區塊 %s:** 檔案結尾 **\n"
-#: src/list.c:182 src/list.c:1081 src/list.c:1344
+#: src/list.c:195 src/list.c:1089 src/list.c:1352
#, c-format
msgid "block %s: "
msgstr "區塊 %s:"
#. TRANSLATORS: %s is type of the value (gid_t, uid_t,
#. etc.)
-#: src/list.c:689
+#: src/list.c:704
#, 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:744
+#: src/list.c:759
#, 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:755
+#: src/list.c:770
#, c-format
msgid "Archive octal value %.*s is out of %s range"
msgstr "保存檔八進位數值 %.*s 超出 %s 範圍"
-#: src/list.c:776
+#: src/list.c:791
msgid "Archive contains obsolescent base-64 headers"
msgstr "保存檔含有過時的 base-64 標頭"
-#: src/list.c:790
+#: src/list.c:805
#, c-format
msgid "Archive signed base-64 string %s is out of %s range"
msgstr "保存檔有號 base-64 字串 %s 超出 %s 範圍"
-#: src/list.c:821
+#: src/list.c:836
#, 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:850
+#: src/list.c:865
#, 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:872
+#: src/list.c:887
#, c-format
msgid "Archive value %s is out of %s range %s..%s"
msgstr "保存檔值 %s 已超出 %s 的範圍 %s..%s"
-#: src/list.c:1245
+#: src/list.c:1253
#, c-format
msgid " link to %s\n"
msgstr " 連結到 %s\n"
-#: src/list.c:1253
+#: src/list.c:1261
#, c-format
msgid " unknown file type %s\n"
msgstr " 不明檔案類型 %s\n"
-#: src/list.c:1271
+#: src/list.c:1279
#, c-format
msgid "--Long Link--\n"
msgstr "--長 連 結--\n"
-#: src/list.c:1275
+#: src/list.c:1283
#, c-format
msgid "--Long Name--\n"
msgstr "--長 名 稱--\n"
-#: src/list.c:1279
+#: src/list.c:1287
#, c-format
msgid "--Volume Header--\n"
msgstr "--卷 冊 標 頭--\n"
-#: src/list.c:1287
+#: src/list.c:1295
#, c-format
msgid "--Continued at byte %s--\n"
msgstr "--於第 %s 位元組繼續--\n"
-#: src/list.c:1349
+#: src/list.c:1357
msgid "Creating directory:"
msgstr "正在建立目錄:"
-#: src/misc.c:502
+#: src/misc.c:298
+#, fuzzy
+msgid "Cannot get working directory"
+msgstr "無法變更工作目錄"
+
+#: src/misc.c:571
#, c-format
msgid "Renaming %s to %s\n"
msgstr "正在將 %s 重新命名為 %s\n"
-#: src/misc.c:511 src/misc.c:529
+#: src/misc.c:580 src/misc.c:599
#, c-format
msgid "%s: Cannot rename to %s"
msgstr "%s:無法重新命名為 %s"
-#: src/misc.c:534
+#: src/misc.c:604
#, c-format
msgid "Renaming %s back to %s\n"
msgstr "將 %s 的名稱還原為 %s\n"
-#: src/misc.c:669
-msgid "Cannot save working directory"
-msgstr "無法儲存工作目錄"
-
-#: src/misc.c:675
-msgid "Cannot change working directory"
-msgstr "無法變更工作目錄"
-
-#: src/misc.c:759
+#: src/misc.c:851
#, c-format
msgid "%s: File removed before we read it"
msgstr "%s:讀取檔案之前已被移除"
-#: src/misc.c:774
+#: src/misc.c:866
#, fuzzy, c-format
msgid "%s: Directory removed before we read it"
msgstr "%s:讀取檔案之前已被移除"
-#: src/misc.c:795
+#: src/misc.c:887
msgid "child process"
msgstr "子進程"
-#: src/misc.c:804
+#: src/misc.c:896
msgid "interprocess channel"
msgstr "進程間通道"
-#: src/names.c:601
+#: src/names.c:594
#, fuzzy
msgid "Pattern matching characters used in file names"
msgstr "在檔案名稱中使用的式樣匹配字元。請,"
-#: src/names.c:603
+#: src/names.c:596
#, fuzzy
msgid ""
"Use --wildcards to enable pattern matching, or --no-wildcards to suppress "
"this warning"
msgstr "使用 --wildcards 以啟用式樣匹配,或 --no-wildcards 來"
-#: src/names.c:619 src/names.c:637
+#: src/names.c:614 src/names.c:630
#, c-format
msgid "%s: Not found in archive"
msgstr "%s:在保存檔中找不到"
-#: src/names.c:622
+#: src/names.c:615
#, c-format
msgid "%s: Required occurrence not found in archive"
msgstr "%s:要求項目在保存檔中找不到"
-#: src/names.c:894
+#: src/names.c:649
+#, fuzzy, c-format
+msgid "Archive label mismatch"
+msgstr "保存檔未標誌為符合 %s"
+
+#: src/names.c:953
#, fuzzy
msgid ""
"Using -C option inside file list is not allowed with --listed-incremental"
msgstr "--preserve-order 與 --listed-incremental 不相容"
-#: src/names.c:900
+#: src/names.c:959
#, fuzzy
msgid "Only one -C option is allowed with --listed-incremental"
msgstr "--preserve-order 與 --listed-incremental 不相容"
"Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
msgstr "不明引號樣式「%s」。嘗試「%s --quoting-style=help」以取得清單。"
-#: src/tar.c:347
+#: src/tar.c:348
msgid ""
"GNU `tar' saves many files together into a single tape or disk archive, and "
"can restore individual files from the archive.\n"
" tar -tvf archive.tar # 詳細列出 archive.tar 中的所有檔案。\n"
" tar -xf archive.tar # 解開 archive.tar 中的所有檔案。\n"
-#: src/tar.c:356
+#: src/tar.c:357
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 "
" nil, existing 若有數字的備份檔已經存在則使用數字,否則使用普通方式備份\n"
" never, simple 永遠使用普通方式備份\n"
-#: src/tar.c:386
+#: src/tar.c:387
msgid "Main operation mode:"
msgstr "主要操作模式:"
-#: src/tar.c:389
+#: src/tar.c:390
msgid "list the contents of an archive"
msgstr "列出保存檔的內容"
-#: src/tar.c:391
+#: src/tar.c:392
msgid "extract files from an archive"
msgstr "從保存檔中解開檔案"
-#: src/tar.c:394
+#: src/tar.c:395
msgid "create a new archive"
msgstr "建立新的保存檔"
-#: src/tar.c:396
+#: src/tar.c:397
msgid "find differences between archive and file system"
msgstr "在保存檔與檔案系統之間找出差異"
-#: src/tar.c:399
+#: src/tar.c:400
msgid "append files to the end of an archive"
msgstr "加入檔案到保存檔末端"
-#: src/tar.c:401
+#: src/tar.c:402
msgid "only append files newer than copy in archive"
msgstr "只加入比保存檔中複本還新的檔案"
-#: src/tar.c:403
+#: src/tar.c:404
msgid "append tar files to an archive"
msgstr "加入 tar 檔案到保存檔中"
-#: src/tar.c:406
+#: src/tar.c:407
msgid "delete from the archive (not on mag tapes!)"
msgstr "從保存檔中刪除 (並非在磁帶上!)"
-#: src/tar.c:408
+#: src/tar.c:409
msgid "test the archive volume label and exit"
msgstr "測試保存檔卷冊標籤然後離開"
-#: src/tar.c:413
+#: src/tar.c:414
msgid "Operation modifiers:"
msgstr "運算變更項:"
-#: src/tar.c:416
+#: src/tar.c:417
msgid "handle sparse files efficiently"
msgstr "有效率地處理稀疏檔案"
-#: src/tar.c:417
+#: src/tar.c:418
msgid "MAJOR[.MINOR]"
msgstr "MAJOR[.MINOR]"
-#: src/tar.c:418
+#: src/tar.c:419
msgid "set version of the sparse format to use (implies --sparse)"
msgstr "設定稀疏格式版本以使用 (意味著 --sparse)"
-#: src/tar.c:420
+#: src/tar.c:421
msgid "handle old GNU-format incremental backup"
msgstr "處理舊型 GNU-格式之遞增備份"
-#: src/tar.c:422
+#: src/tar.c:423
msgid "handle new GNU-format incremental backup"
msgstr "處理新型 GNU-格式之遞增備份"
-#: src/tar.c:424
+#: src/tar.c:425
msgid "dump level for created listed-incremental archive"
msgstr ""
-#: src/tar.c:426
+#: src/tar.c:427
msgid "do not exit with nonzero on unreadable files"
msgstr "離開無法讀取的檔案時不要回傳非零的值"
-#: src/tar.c:428
+#: src/tar.c:429
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, --"
"delete、--diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由"
"命令列或是 -T 選項來提供一個檔案序列。預設的數目是 1。"
-#: src/tar.c:434
+#: src/tar.c:435
msgid "archive is seekable"
msgstr "保存檔是可尋指的"
-#: src/tar.c:436
+#: src/tar.c:437
#, fuzzy
msgid "archive is not seekable"
msgstr "保存檔是可尋指的"
-#: src/tar.c:438
+#: src/tar.c:439
msgid "do not check device numbers when creating incremental archives"
msgstr "不檢查裝置數量時建立遞增檔案"
-#: src/tar.c:441
+#: src/tar.c:442
msgid "check device numbers when creating incremental archives (default)"
msgstr "檢查裝置數量時建立遞增檔案 (預設)"
-#: src/tar.c:447
+#: src/tar.c:448
msgid "Overwrite control:"
msgstr "覆寫控制:"
-#: src/tar.c:450
+#: src/tar.c:451
msgid "attempt to verify the archive after writing it"
msgstr "嘗試在寫入之後驗證保存檔"
-#: src/tar.c:452
+#: src/tar.c:453
msgid "remove files after adding them to the archive"
msgstr "在加入檔案至保存檔之後移除它們"
-#: src/tar.c:454
+#: src/tar.c:455
msgid "don't replace existing files when extracting"
msgstr "解開時不要替換既有的檔案"
-#: src/tar.c:456
+#: src/tar.c:457
msgid "don't replace existing files that are newer than their archive copies"
msgstr "不要替換既有且比它們在保存檔中複本還新的檔案"
-#: src/tar.c:458
+#: src/tar.c:459
msgid "overwrite existing files when extracting"
msgstr "解開時覆寫既有檔案"
-#: src/tar.c:460
+#: src/tar.c:461
msgid "remove each file prior to extracting over it"
msgstr "在解開並覆寫檔案之前先移除它"
-#: src/tar.c:462
+#: src/tar.c:463
msgid "empty hierarchies prior to extracting directory"
msgstr "在解開目錄之前先清空階層結構"
-#: src/tar.c:464
+#: src/tar.c:465
msgid "preserve metadata of existing directories"
msgstr "保留既有目錄的後設資料"
-#: src/tar.c:466
+#: src/tar.c:467
msgid "overwrite metadata of existing directories when extracting (default)"
msgstr "解開時覆寫既有目錄的後設資料 (預設)"
-#: src/tar.c:472
+#: src/tar.c:473
msgid "Select output stream:"
msgstr "選取輸出串流:"
-#: src/tar.c:475
+#: src/tar.c:476
msgid "extract files to standard output"
msgstr "解開檔案到標準輸出"
-#: src/tar.c:476 src/tar.c:535 src/tar.c:537 tests/genfile.c:191
+#: src/tar.c:477 src/tar.c:536 src/tar.c:538 tests/genfile.c:190
msgid "COMMAND"
msgstr "命令"
-#: src/tar.c:477
+#: src/tar.c:478
msgid "pipe extracted files to another program"
msgstr "將解開的檔案管線引導到另外的程式"
-#: src/tar.c:479
+#: src/tar.c:480
msgid "ignore exit codes of children"
msgstr "忽略子進程的離開代碼"
-#: src/tar.c:481
+#: src/tar.c:482
msgid "treat non-zero exit codes of children as error"
msgstr "將子進程的非零離開代碼視為錯誤"
-#: src/tar.c:486
+#: src/tar.c:487
msgid "Handling of file attributes:"
msgstr "檔案屬性的處理:"
-#: src/tar.c:489
+#: src/tar.c:490
msgid "force NAME as owner for added files"
msgstr "強制以 NAME 做為加入檔案的擁有者"
-#: src/tar.c:491
+#: src/tar.c:492
msgid "force NAME as group for added files"
msgstr "強制以 NAME 做為加入檔案的群組"
-#: src/tar.c:492 src/tar.c:689
+#: src/tar.c:493 src/tar.c:690
msgid "DATE-OR-FILE"
msgstr "檔案的日期"
-#: src/tar.c:493
+#: src/tar.c:494
msgid "set mtime for added files from DATE-OR-FILE"
msgstr "將加入檔案的 mtime 設定為 DATE-OR-FILE"
-#: src/tar.c:494
+#: src/tar.c:495
msgid "CHANGES"
msgstr "變更"
-#: src/tar.c:495
+#: src/tar.c:496
msgid "force (symbolic) mode CHANGES for added files"
msgstr "強制將 (符號) 模式 CHANGES 用於已加入檔案"
-#: src/tar.c:497
+#: src/tar.c:498
msgid "METHOD"
msgstr "方法"
-#: src/tar.c:498
+#: src/tar.c:499
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 "
"保留傾印檔案的存取時間,若非由讀取之後的回復時間(方法=「replace」;預設),就"
"是藉由原本不設定時間 (方法=「system」)"
-#: src/tar.c:502
+#: src/tar.c:503
msgid "don't extract file modified time"
msgstr "不要解開檔案的修改時間"
-#: src/tar.c:504
+#: src/tar.c:505
#, fuzzy
msgid ""
"try extracting files with the same ownership as exists in the archive "
"(default for superuser)"
msgstr "嘗試以相同的擁有身分去解開檔案"
-#: src/tar.c:506
+#: src/tar.c:507
#, fuzzy
msgid "extract files as yourself (default for ordinary users)"
msgstr "以自己的身分解開檔案"
-#: src/tar.c:508
+#: src/tar.c:509
msgid "always use numbers for user/group names"
msgstr "總是使用數字做為使用者/群組名稱"
-#: src/tar.c:510
+#: src/tar.c:511
msgid "extract information about file permissions (default for superuser)"
msgstr "解開檔案權限相關資訊 (預設用於超級使用者)"
-#: src/tar.c:514
+#: src/tar.c:515
msgid ""
"apply the user's umask when extracting permissions from the archive (default "
"for ordinary users)"
msgstr "從保存檔解開權限時套用使用者 umask (預設用於一般使用者)"
-#: src/tar.c:516
+#: src/tar.c:517
msgid "sort names to extract to match archive"
msgstr "解開時依名稱排序以符合保存檔"
-#: src/tar.c:519
+#: src/tar.c:520
msgid "same as both -p and -s"
msgstr "等同於指定 -p 與 -s"
-#: src/tar.c:521
+#: src/tar.c:522
msgid ""
"delay setting modification times and permissions of extracted directories "
"until the end of extraction"
msgstr "延遲設定解開目錄的修改時間和權限,直到解開結束"
-#: src/tar.c:524
+#: src/tar.c:525
msgid "cancel the effect of --delay-directory-restore option"
msgstr "取消 --delay-directory-restore 選項的效果"
-#: src/tar.c:529
+#: src/tar.c:530
msgid "Device selection and switching:"
msgstr "裝置選擇與切換:"
-#: src/tar.c:531
+#: src/tar.c:532
msgid "ARCHIVE"
msgstr "保存檔"
-#: src/tar.c:532
+#: src/tar.c:533
msgid "use archive file or device ARCHIVE"
msgstr "使用 ARCHIVE 檔案或 ARCHIVE 裝置"
-#: src/tar.c:534
+#: src/tar.c:535
msgid "archive file is local even if it has a colon"
msgstr "即使具有冒號,保存檔檔案仍位於本地端"
-#: src/tar.c:536
+#: src/tar.c:537
msgid "use given rmt COMMAND instead of rmt"
msgstr "使用給定的 rmt COMMAND 以代替 rmt"
-#: src/tar.c:538
+#: src/tar.c:539
msgid "use remote COMMAND instead of rsh"
msgstr "使用遠端 COMMAND 以代替 rsh"
-#: src/tar.c:542
+#: src/tar.c:543
msgid "specify drive and density"
msgstr "指定磁碟機與記錄密度"
-#: src/tar.c:556
+#: src/tar.c:557
msgid "create/list/extract multi-volume archive"
msgstr "建立/列表/解開 多重卷冊的保存檔"
-#: src/tar.c:558
+#: src/tar.c:559
msgid "change tape after writing NUMBER x 1024 bytes"
msgstr "在寫入 NUMBER x 1024 位元組之後更換磁帶"
-#: src/tar.c:560
+#: src/tar.c:561
msgid "run script at end of each tape (implies -M)"
msgstr "在每卷磁帶末端執行命令稿 (意指 -M)"
-#: src/tar.c:563
+#: src/tar.c:564
msgid "use/update the volume number in FILE"
msgstr "使用/更新 FILE 中的卷冊號碼"
-#: src/tar.c:568
+#: src/tar.c:569
msgid "Device blocking:"
msgstr "裝置分區:"
-#: src/tar.c:570
+#: src/tar.c:571
msgid "BLOCKS"
msgstr "區塊"
-#: src/tar.c:571
+#: src/tar.c:572
msgid "BLOCKS x 512 bytes per record"
msgstr "每筆記錄含有 BLOCKS x 512 位元組"
-#: src/tar.c:573
+#: src/tar.c:574
msgid "NUMBER of bytes per record, multiple of 512"
msgstr "每筆記錄 SIZE 位元組,為 512 的倍數"
-#: src/tar.c:575
+#: src/tar.c:576
msgid "ignore zeroed blocks in archive (means EOF)"
msgstr "忽略保存檔中零值的區塊 (意指 EOF)"
-#: src/tar.c:577
+#: src/tar.c:578
msgid "reblock as we read (for 4.2BSD pipes)"
msgstr "讀取時重新分區 (用於 4.2BSD 管線)"
-#: src/tar.c:582
+#: src/tar.c:583
msgid "Archive format selection:"
msgstr "保存檔格式選擇:"
-#: src/tar.c:584 tests/genfile.c:154
+#: src/tar.c:585 tests/genfile.c:153
msgid "FORMAT"
msgstr "格式"
-#: src/tar.c:585
+#: src/tar.c:586
msgid "create archive of the given format"
msgstr "以給定格式建立保存檔"
-#: src/tar.c:587
+#: src/tar.c:588
msgid "FORMAT is one of the following:"
msgstr "符合下列任一 FORMAT:"
-#: src/tar.c:588
+#: src/tar.c:589
msgid "old V7 tar format"
msgstr "舊式 V7 tar 格式"
-#: src/tar.c:591
+#: src/tar.c:592
msgid "GNU format as per tar <= 1.12"
msgstr "tar <= 1.12 之 GNU 格式"
-#: src/tar.c:593
+#: src/tar.c:594
msgid "GNU tar 1.13.x format"
msgstr "GNU tar 1.13.x 格式"
-#: src/tar.c:595
+#: src/tar.c:596
msgid "POSIX 1003.1-1988 (ustar) format"
msgstr "POSIX 1003.1-1988 (ustar) 格式"
-#: src/tar.c:597
+#: src/tar.c:598
msgid "POSIX 1003.1-2001 (pax) format"
msgstr "POSIX 1003.1-2001 (pax) 格式"
-#: src/tar.c:598
+#: src/tar.c:599
msgid "same as pax"
msgstr "等同 pax"
-#: src/tar.c:601
+#: src/tar.c:602
msgid "same as --format=v7"
msgstr "等同 --format=v7"
-#: src/tar.c:604
+#: src/tar.c:605
msgid "same as --format=posix"
msgstr "等同 --format=posix"
-#: src/tar.c:605
+#: src/tar.c:606
msgid "keyword[[:]=value][,keyword[[:]=value]]..."
msgstr "關鍵字[[:]=值][,關鍵字[[:]=值]…]"
-#: src/tar.c:606
+#: src/tar.c:607
msgid "control pax keywords"
msgstr "控制 pax 的關鍵字"
-#: src/tar.c:607
+#: src/tar.c:608
msgid "TEXT"
msgstr "文字"
-#: src/tar.c:608
+#: src/tar.c:609
msgid ""
"create archive with volume name TEXT; at list/extract time, use TEXT as a "
"globbing pattern for volume name"
"以卷冊名稱 NAME 來建立保存檔。在列表/解開時,使用 TEXT 做為卷冊名稱的萬用比對"
"式樣"
-#: src/tar.c:613
+#: src/tar.c:614
msgid "Compression options:"
msgstr "壓縮選項:"
-#: src/tar.c:615
+#: src/tar.c:616
msgid "use archive suffix to determine the compression program"
msgstr "利用保存檔字尾決定壓縮程式"
-#: src/tar.c:617
+#: src/tar.c:618
msgid "do not use archive suffix to determine the compression program"
msgstr "不利用保存檔字尾決定壓縮程式"
-#: src/tar.c:619
+#: src/tar.c:620
msgid "PROG"
msgstr "程式"
-#: src/tar.c:620
+#: src/tar.c:621
msgid "filter through PROG (must accept -d)"
msgstr "以 PROG 過濾處理 (必須接受 -d)"
-#: src/tar.c:636
+#: src/tar.c:637
msgid "Local file selection:"
msgstr "本機檔案選擇:"
-#: src/tar.c:639
+#: src/tar.c:640
msgid "add given FILE to the archive (useful if its name starts with a dash)"
msgstr "將給定的 FILE 加入保存檔 (如果它的名稱以減號開始時就很有用)"
-#: src/tar.c:640
+#: src/tar.c:641
msgid "DIR"
msgstr "目錄"
-#: src/tar.c:641
+#: src/tar.c:642
msgid "change to directory DIR"
msgstr "更改至目錄 DIR"
-#: src/tar.c:643
+#: src/tar.c:644
msgid "get names to extract or create from FILE"
msgstr "從 FILE 中取得要解開或建立的名稱"
-#: src/tar.c:645
+#: src/tar.c:646
msgid "-T reads null-terminated names, disable -C"
msgstr "-T 讀取零值終結的名稱,停用 -C"
-#: src/tar.c:647
+#: src/tar.c:648
msgid "disable the effect of the previous --null option"
msgstr "停用先前 --null 選項的效果"
-#: src/tar.c:649
+#: src/tar.c:650
msgid "unquote filenames read with -T (default)"
msgstr "去除以 -T 讀取的檔名引號 (預設)"
-#: src/tar.c:651
+#: src/tar.c:652
msgid "do not unquote filenames read with -T"
msgstr "不去除以 -T 讀取的檔名引號"
-#: src/tar.c:652 tests/genfile.c:137
+#: src/tar.c:653 tests/genfile.c:136
msgid "PATTERN"
msgstr "式樣"
-#: src/tar.c:653
+#: src/tar.c:654
msgid "exclude files, given as a PATTERN"
msgstr "排除給定式樣的檔案"
-#: src/tar.c:655
+#: src/tar.c:656
msgid "exclude patterns listed in FILE"
msgstr "排除 FILE 中所列出的式樣"
-#: src/tar.c:657
+#: src/tar.c:658
msgid ""
"exclude contents of directories containing CACHEDIR.TAG, except for the tag "
"file itself"
msgstr "排除包含 CACHEDIR.TAG 的目錄內容,除了該標記檔案本身"
-#: src/tar.c:660
+#: src/tar.c:661
msgid "exclude everything under directories containing CACHEDIR.TAG"
msgstr "排除包含 CACHEDIR.TAG 的目錄之下所有東西"
-#: src/tar.c:663
+#: src/tar.c:664
msgid "exclude directories containing CACHEDIR.TAG"
msgstr "排除包含 CACHEDIR.TAG 的目錄"
-#: src/tar.c:665
+#: src/tar.c:666
msgid "exclude contents of directories containing FILE, except for FILE itself"
msgstr "排除包含 FILE 的目錄內容,除了該檔案本身"
-#: src/tar.c:668
+#: src/tar.c:669
msgid "exclude everything under directories containing FILE"
msgstr "排除包含 FILE 的目錄之下所有東西"
-#: src/tar.c:670
+#: src/tar.c:671
msgid "exclude directories containing FILE"
msgstr "排除包含 FILE 的目錄"
-#: src/tar.c:672
+#: src/tar.c:673
msgid "exclude version control system directories"
msgstr "排除版本控制系統目錄"
-#: src/tar.c:674
+#: src/tar.c:675
msgid "exclude backup and lock files"
msgstr ""
-#: src/tar.c:676
+#: src/tar.c:677
msgid "avoid descending automatically in directories"
msgstr "避免自動在目錄中遞降"
-#: src/tar.c:678
+#: src/tar.c:679
msgid "stay in local file system when creating archive"
msgstr "建立保存檔時保持在本地檔案系統中"
-#: src/tar.c:680
+#: src/tar.c:681
msgid "recurse into directories (default)"
msgstr "遞迴進入目錄 (預設)"
-#: src/tar.c:682
+#: src/tar.c:683
msgid "don't strip leading `/'s from file names"
msgstr "不要從檔案名稱中截去前導的 '/'"
-#: src/tar.c:684
+#: src/tar.c:685
msgid "follow symlinks; archive and dump the files they point to"
msgstr "跟隨符號連結;保存和傾印它們所指涉的檔案"
-#: src/tar.c:686
+#: src/tar.c:687
msgid "follow hard links; archive and dump the files they refer to"
msgstr "跟隨硬式連結;保存和傾印它們所參考的檔案"
-#: src/tar.c:687
+#: src/tar.c:688
msgid "MEMBER-NAME"
msgstr "成員-名稱"
-#: src/tar.c:688
+#: src/tar.c:689
msgid "begin at member MEMBER-NAME in the archive"
msgstr "從保存檔中名為 MEMBER-NAME 的成員開始"
-#: src/tar.c:690
+#: src/tar.c:691
msgid "only store files newer than DATE-OR-FILE"
msgstr "只儲存比 DATE-OF-FILE 還新的檔案"
-#: src/tar.c:692
+#: src/tar.c:693
msgid "DATE"
msgstr "日期"
-#: src/tar.c:693
+#: src/tar.c:694
msgid "compare date and time when data changed only"
msgstr "只有當資料變更時才比較日期和時間"
-#: src/tar.c:694
+#: src/tar.c:695
msgid "CONTROL"
msgstr "控制"
-#: src/tar.c:695
+#: src/tar.c:696
msgid "backup before removal, choose version CONTROL"
msgstr "移除之前先備份,選擇版本 CONTROL"
-#: src/tar.c:696 src/tar.c:773 src/tar.c:775 tests/genfile.c:170
+#: src/tar.c:697 src/tar.c:776 src/tar.c:778 tests/genfile.c:169
msgid "STRING"
msgstr "字串"
-#: src/tar.c:697
+#: src/tar.c:698
msgid ""
"backup before removal, override usual suffix ('~' unless overridden by "
"environment variable SIMPLE_BACKUP_SUFFIX)"
"移除之前先備份並覆寫常用後置文字 (「~」除非被環境變數 SIMPLE_BACKUP_SUFFIX 所"
"蓋過)"
-#: src/tar.c:702
+#: src/tar.c:703
msgid "File name transformations:"
msgstr "檔案名稱變換:"
-#: src/tar.c:704
+#: src/tar.c:705
msgid "strip NUMBER leading components from file names on extraction"
msgstr "從檔案名稱中截去以 NUMBER 為首的成分"
-#: src/tar.c:706
+#: src/tar.c:707
msgid "EXPRESSION"
msgstr "表示式"
-#: src/tar.c:707
+#: src/tar.c:708
msgid "use sed replace EXPRESSION to transform file names"
msgstr "利用 sed 將 EXPRESSION 替代為變換檔案名稱"
-#: src/tar.c:713
+#: src/tar.c:714
msgid "File name matching options (affect both exclude and include patterns):"
msgstr "檔案名稱吻合選項 (同時影響排除和包含式樣同者):"
-#: src/tar.c:716
+#: src/tar.c:717
msgid "ignore case"
msgstr "忽略大小寫"
-#: src/tar.c:718
+#: src/tar.c:719
msgid "patterns match file name start"
msgstr "吻合檔案名稱開頭的式樣"
-#: src/tar.c:720
+#: src/tar.c:721
msgid "patterns match after any `/' (default for exclusion)"
msgstr "式樣吻合任何「/」之後的式樣 (預設排除)"
-#: src/tar.c:722
+#: src/tar.c:723
msgid "case sensitive matching (default)"
msgstr "大小寫需相符的吻合 (預設)"
-#: src/tar.c:724
+#: src/tar.c:725
msgid "use wildcards (default for exclusion)"
msgstr "使用萬用字元 (預設排除)"
-#: src/tar.c:726
+#: src/tar.c:727
msgid "verbatim string matching"
msgstr "逐字進行吻合"
-#: src/tar.c:728
+#: src/tar.c:729
msgid "wildcards do not match `/'"
msgstr "萬用字元不會吻合「/」"
-#: src/tar.c:730
+#: src/tar.c:731
msgid "wildcards match `/' (default for exclusion)"
msgstr "萬用字元會吻合「/」(預設排除)"
-#: src/tar.c:735
+#: src/tar.c:736
msgid "Informative output:"
msgstr "富含資訊的輸出:"
-#: src/tar.c:738
+#: src/tar.c:739
msgid "verbosely list files processed"
msgstr "詳細列出處理過的檔案"
-#: src/tar.c:739
+#: src/tar.c:740
msgid "KEYWORD"
msgstr ""
-#: src/tar.c:740
+#: src/tar.c:741
#, fuzzy
msgid "warning control"
msgstr "覆寫控制:"
-#: src/tar.c:742
+#: src/tar.c:743
msgid "display progress messages every NUMBERth record (default 10)"
msgstr "每幾項記錄顯示一次進度訊息 (預設 10)"
-#: src/tar.c:744
+#: src/tar.c:745
msgid "ACTION"
msgstr "動作"
-#: src/tar.c:745
+#: src/tar.c:746
msgid "execute ACTION on each checkpoint"
msgstr "於每個查核點執行 ACTION"
-#: src/tar.c:748
+#: src/tar.c:749
msgid "print a message if not all links are dumped"
msgstr "如果並非所有連結都被傾印則印出訊息"
-#: src/tar.c:749
+#: src/tar.c:750
msgid "SIGNAL"
msgstr "信號"
-#: src/tar.c:750
+#: src/tar.c:751
msgid ""
"print total bytes after processing the archive; with an argument - print "
"total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
"許的信號是:SIGHUP、SIGQUIT、SIGINT、SIGUSR1 和 SIGUSR2;不具 SIG 前綴的名稱"
"也是可接受的"
-#: src/tar.c:755
-msgid "print file modification dates in UTC"
+#: src/tar.c:756
+#, fuzzy
+msgid "print file modification times in UTC"
msgstr "以 UTC 格式印出檔案修改日期"
-#: src/tar.c:757
+#: src/tar.c:758
+msgid "print file time to its full resolution"
+msgstr ""
+
+#: src/tar.c:760
msgid "send verbose output to FILE"
msgstr "將詳細輸出送至 FILE"
-#: src/tar.c:759
+#: src/tar.c:762
msgid "show block number within archive with each message"
msgstr "每則訊息附帶顯示在保存檔中的區塊號碼"
-#: src/tar.c:761
+#: src/tar.c:764
msgid "ask for confirmation for every action"
msgstr "任何動作都要求確認"
-#: src/tar.c:764
+#: src/tar.c:767
msgid "show tar defaults"
msgstr "顯示 tar 預設值"
-#: src/tar.c:766
+#: src/tar.c:769
msgid ""
"when listing or extracting, list each directory that does not match search "
"criteria"
msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄"
-#: src/tar.c:768
+#: src/tar.c:771
msgid "show file or archive names after transformation"
msgstr "顯示變換之後的檔案或保存檔名稱"
-#: src/tar.c:771
+#: src/tar.c:774
msgid "STYLE"
msgstr "樣式"
-#: src/tar.c:772
+#: src/tar.c:775
msgid "set name quoting style; see below for valid STYLE values"
msgstr "設定名稱引號樣式;參看下列的有效樣式值"
-#: src/tar.c:774
+#: src/tar.c:777
msgid "additionally quote characters from STRING"
msgstr "來自 STRING 的額外引號字元"
-#: src/tar.c:776
+#: src/tar.c:779
msgid "disable quoting for characters from STRING"
msgstr "停用來自字串的引號字元"
-#: src/tar.c:781
+#: src/tar.c:784
msgid "Compatibility options:"
msgstr "相容選項:"
-#: src/tar.c:784
+#: src/tar.c:787
msgid ""
"when creating, same as --old-archive; when extracting, same as --no-same-"
"owner"
msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner"
-#: src/tar.c:789
+#: src/tar.c:792
msgid "Other options:"
msgstr "其他選項:"
-#: src/tar.c:792
+#: src/tar.c:795
msgid "disable use of some potentially harmful options"
msgstr "停用某些潛在有害的選項"
-#: src/tar.c:927
+#: src/tar.c:930
#, fuzzy
msgid "You may not specify more than one `-Acdtrux' or `--test-label' option"
msgstr "不可指定「-Acdtrux」當中多於一個的選項"
-#: src/tar.c:937
+#: src/tar.c:940
msgid "Conflicting compression options"
msgstr "互相抵觸的壓縮選項"
-#: src/tar.c:993
+#: src/tar.c:996
#, c-format
msgid "Unknown signal name: %s"
msgstr "不明的信號名稱:%s"
-#: src/tar.c:1017
+#: src/tar.c:1020
msgid "Date sample file not found"
msgstr "找不到日期範例檔案"
-#: src/tar.c:1025
+#: src/tar.c:1028
#, c-format
msgid "Substituting %s for unknown date format %s"
msgstr "以 %s 代替不明的日期格式 %s"
-#: src/tar.c:1054
+#: src/tar.c:1057
#, c-format
msgid "Option %s: Treating date `%s' as %s"
msgstr "選項 %1$s: 以 %3$s 格式來處理日期「%2$s」"
-#: src/tar.c:1132
+#: src/tar.c:1135
#, c-format
msgid "%s: file list already read"
msgstr "%s:已經讀取檔案清單"
-#: src/tar.c:1198
+#: src/tar.c:1201
#, c-format
msgid "%s: file name read contains nul character"
msgstr "%s:所讀檔案名稱含有空值字元"
-#: src/tar.c:1265 src/tar.c:1269 src/tar.c:1273 src/tar.c:1277 src/tar.c:1281
-#: src/tar.c:1285
+#: src/tar.c:1268 src/tar.c:1272 src/tar.c:1276 src/tar.c:1280 src/tar.c:1284
+#: src/tar.c:1288
#, fuzzy, c-format
msgid "filter the archive through %s"
msgstr "保存檔以 xz 過濾處理"
-#: src/tar.c:1290
+#: src/tar.c:1296
#, fuzzy
msgid "Valid arguments for the --quoting-style option are:"
msgstr "用於 --quoting-style 選項的有效引數為:"
-#: src/tar.c:1294
+#: src/tar.c:1300
msgid ""
"\n"
"*This* tar defaults to:\n"
"\n"
"*這個* tar 預設為:\n"
-#: src/tar.c:1393
+#: src/tar.c:1402
msgid "Invalid blocking factor"
msgstr "無效的分區因子"
-#: src/tar.c:1500
+#: src/tar.c:1515
msgid "Invalid tape length"
msgstr "無效的磁帶長度"
-#: src/tar.c:1511
+#: src/tar.c:1529
#, fuzzy
msgid "Invalid incremental level value"
msgstr "不當的遞增檔案格式"
-#: src/tar.c:1557
+#: src/tar.c:1575
msgid "More than one threshold date"
msgstr "一個以上的限定日期"
-#: src/tar.c:1612 src/tar.c:1615
+#: src/tar.c:1630 src/tar.c:1633
msgid "Invalid sparse version value"
msgstr "無效的稀疏版本值"
-#: src/tar.c:1700
+#: src/tar.c:1718
msgid "--atime-preserve='system' is not supported on this platform"
msgstr "--atime-preserve='system' 於這個平台未被支援"
-#: src/tar.c:1725
+#: src/tar.c:1743
msgid "--checkpoint value is not an integer"
msgstr "--checkpoint 值不是整數"
-#: src/tar.c:1830
+#: src/tar.c:1848
#, fuzzy
msgid "Invalid group"
msgstr "%s:無效的群組"
-#: src/tar.c:1837
+#: src/tar.c:1855
msgid "Invalid mode given on option"
msgstr "選項中的模式無效"
-#: src/tar.c:1894
+#: src/tar.c:1912
msgid "Invalid number"
msgstr "無效的號碼"
-#: src/tar.c:1916
+#: src/tar.c:1934
msgid "Invalid owner"
msgstr "無效的擁有者"
-#: src/tar.c:1946
+#: src/tar.c:1964
msgid ""
"The --preserve option is deprecated, use --preserve-permissions --preserve-"
"order instead"
"--preserve 選項不宜再用,請以 --preserve-permissions --preserve-order 做為替"
"代"
-#: src/tar.c:1956
+#: src/tar.c:1975
msgid "Invalid record size"
msgstr "無效的記錄大小"
-#: src/tar.c:1959
+#: src/tar.c:1978
#, c-format
msgid "Record size must be a multiple of %d."
msgstr "記錄大小必須是 %d 的倍數。"
-#: src/tar.c:2000
+#: src/tar.c:2019
msgid "Invalid number of elements"
msgstr "無效的元素號碼"
-#: src/tar.c:2020
+#: src/tar.c:2039
msgid "Only one --to-command option allowed"
msgstr "只允許一個 --to-command 選項"
-#: src/tar.c:2100
+#: src/tar.c:2119
#, c-format
msgid "Malformed density argument: %s"
msgstr "異常的密度引數:%s"
-#: src/tar.c:2126
+#: src/tar.c:2145
#, c-format
msgid "Unknown density: `%c'"
msgstr "不明的密度:「%c」"
-#: src/tar.c:2143
+#: src/tar.c:2162
#, c-format
msgid "Options `-[0-7][lmh]' not supported by *this* tar"
msgstr "此版本的 tar 不支援「-[0-7][ lmh]」選項"
-#: src/tar.c:2156
+#: src/tar.c:2175
msgid "[FILE]..."
msgstr "[FILE]…"
-#: src/tar.c:2274
+#: src/tar.c:2293
#, c-format
msgid "Old option `%c' requires an argument."
msgstr "舊的選項「%c」需要一個引數。"
-#: src/tar.c:2355
+#: src/tar.c:2374
msgid "--occurrence is meaningless without a file list"
msgstr "若無檔案列表,--occurrence 便不具意義"
-#: src/tar.c:2361
+#: src/tar.c:2380
msgid "--occurrence cannot be used in the requested operation mode"
msgstr "--occurrence 無法於要求的作業模式中使用"
-#: src/tar.c:2379
+#: src/tar.c:2398
msgid "Multiple archive files require `-M' option"
msgstr "指定多個保存檔時需要「-M」選項"
-#: src/tar.c:2384
+#: src/tar.c:2403
msgid "Cannot combine --listed-incremental with --newer"
msgstr "無法同時使用 --listed-incremental 及 --newer"
-#: src/tar.c:2387
+#: src/tar.c:2406
#, fuzzy
msgid "--level is meaningless without --listed-incremental"
msgstr "--preserve-order 與 --listed-incremental 不相容"
-#: src/tar.c:2404
+#: src/tar.c:2423
#, 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:2417
+#: src/tar.c:2436
msgid "Cannot verify multi-volume archives"
msgstr "無法驗證多重卷冊的保存檔"
-#: src/tar.c:2419
+#: src/tar.c:2438
msgid "Cannot verify compressed archives"
msgstr "無法驗證壓縮過的保存檔"
-#: src/tar.c:2425
+#: src/tar.c:2444
msgid "Cannot use multi-volume compressed archives"
msgstr "無法使用多重卷冊的壓縮保存檔"
-#: src/tar.c:2431
+#: src/tar.c:2450
msgid "Cannot concatenate compressed archives"
msgstr "無法串接壓縮過的檔案"
-#: src/tar.c:2443
+#: src/tar.c:2462
msgid "--pax-option can be used only on POSIX archives"
msgstr "--pax-option 只能用於 POSIX 保存檔"
-#: src/tar.c:2461
+#: src/tar.c:2492
msgid "Volume length cannot be less than record size"
msgstr "卷冊長度無法少於記錄大小"
-#: src/tar.c:2464
+#: src/tar.c:2495
msgid "--preserve-order is not compatible with --listed-incremental"
msgstr "--preserve-order 與 --listed-incremental 不相容"
-#: src/tar.c:2475
+#: src/tar.c:2506
msgid "Cowardly refusing to create an empty archive"
msgstr "低調拒絕建立空白的保存檔"
-#: src/tar.c:2501
+#: src/tar.c:2532
msgid "Options `-Aru' are incompatible with `-f -'"
msgstr "「-Aru」與「-f -」選項不相容"
-#: src/tar.c:2592
+#: src/tar.c:2621
#, fuzzy
msgid "You must specify one of the `-Acdtrux' or `--test-label' options"
msgstr "必須指定「-Acdtrux」選項的其中一個"
-#: src/tar.c:2646
+#: src/tar.c:2675
#, c-format
msgid "Exiting with failure status due to previous errors"
msgstr "由於先前錯誤而以失敗狀態離開"
msgid_plural "%s: File shrank by %s bytes"
msgstr[0] "%s:檔案縮減了 %s 位元組"
-#: src/xheader.c:163
+#: src/xheader.c:164
#, c-format
msgid "Keyword %s is unknown or not yet implemented"
msgstr "關鍵字 %s 為未知或尚未實作"
-#: src/xheader.c:173
+#: src/xheader.c:174
#, fuzzy
msgid "Time stamp is out of allowed range"
msgstr "號碼超出允許的範圍:%s"
-#: src/xheader.c:204
+#: src/xheader.c:205
#, c-format
msgid "Pattern %s cannot be used"
msgstr "式樣 %s 無法使用"
-#: src/xheader.c:218
+#: src/xheader.c:219
#, c-format
msgid "Keyword %s cannot be overridden"
msgstr "關鍵字 %s 無法被蓋過"
-#: src/xheader.c:541
+#: src/xheader.c:542
msgid "Malformed extended header: missing length"
msgstr "異常的擴充標頭:長度缺少"
-#: src/xheader.c:549
+#: src/xheader.c:550
msgid "Extended header length is out of allowed range"
msgstr "擴充標頭長度超出允許範圍"
-#: src/xheader.c:556
+#: src/xheader.c:557
#, c-format
msgid "Extended header length %*s is out of range"
msgstr "擴充標頭長度 %*s 超出範圍"
-#: src/xheader.c:568
+#: src/xheader.c:569
msgid "Malformed extended header: missing blank after length"
msgstr "異常的擴充標頭:在長度之後缺少空白"
-#: src/xheader.c:576
+#: src/xheader.c:577
msgid "Malformed extended header: missing equal sign"
msgstr "異常的擴充標頭:缺少等號"
-#: src/xheader.c:582
+#: src/xheader.c:583
msgid "Malformed extended header: missing newline"
msgstr "異常的擴充標頭:缺少新列"
-#: src/xheader.c:620
+#: src/xheader.c:621
#, c-format
msgid "Ignoring unknown extended header keyword `%s'"
msgstr "忽略不明擴充標頭關鍵字「%s」"
-#: src/xheader.c:830
+#: src/xheader.c:831
#, 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:862
+#: src/xheader.c:863
#, c-format
msgid "Extended header %s=%s is out of range %s..%s"
msgstr "擴充標頭 %s=%s 超出範圍 %s..%s"
-#: src/xheader.c:993 src/xheader.c:1023 src/xheader.c:1337
+#: src/xheader.c:994 src/xheader.c:1024 src/xheader.c:1338
#, c-format
msgid "Malformed extended header: invalid %s=%s"
msgstr "異常的擴充標頭:無效的 %s=%s"
-#: src/xheader.c:1290 src/xheader.c:1315 src/xheader.c:1365
+#: src/xheader.c:1291 src/xheader.c:1316 src/xheader.c:1366
#, c-format
msgid "Malformed extended header: excess %s=%s"
msgstr "異常的擴充標頭:過剩的 %s=%s"
-#: src/xheader.c:1378
+#: src/xheader.c:1379
#, c-format
msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
msgstr "異常的擴充標頭:無效的 %s:未預期的分隔符號 %c"
-#: src/xheader.c:1388
+#: src/xheader.c:1389
#, c-format
msgid "Malformed extended header: invalid %s: odd number of values"
msgstr "異常的擴充標頭:無效的 %s:奇怪的數值數量"
msgid "Read checkpoint %u"
msgstr "讀取的查核點 %u"
-#: tests/genfile.c:112
+#: tests/genfile.c:111
msgid ""
"genfile manipulates data files for GNU paxutils test suite.\n"
"OPTIONS are:\n"
"genfile 在 GNU paxutils 測試套件中用於操控資料檔案。\n"
"選項:\n"
-#: tests/genfile.c:128
+#: tests/genfile.c:127
msgid "File creation options:"
msgstr "檔案建立選項:"
-#: tests/genfile.c:129 tests/genfile.c:140
+#: tests/genfile.c:128 tests/genfile.c:139
msgid "SIZE"
msgstr "大小"
-#: tests/genfile.c:130
+#: tests/genfile.c:129
msgid "Create file of the given SIZE"
msgstr "以給定 SIZE 建立檔案。"
-#: tests/genfile.c:132
+#: tests/genfile.c:131
msgid "Write to file NAME, instead of standard output"
msgstr "寫入檔案 NAME,以代替標準輸出"
-#: tests/genfile.c:134
+#: tests/genfile.c:133
msgid "Read file names from FILE"
msgstr "從 FILE 讀取檔案名稱"
-#: tests/genfile.c:136
+#: tests/genfile.c:135
msgid "-T reads null-terminated names"
msgstr "-T 讀取零值終結的名稱"
-#: tests/genfile.c:138
+#: tests/genfile.c:137
msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
msgstr "以給定 PATTERN 填充檔案。PATTERN 是「default」或「zeros」"
-#: tests/genfile.c:141
+#: tests/genfile.c:140
msgid "Size of a block for sparse file"
msgstr "用於稀疏檔案的區塊大小"
-#: tests/genfile.c:143
+#: tests/genfile.c:142
msgid "Generate sparse file. Rest of the command line gives the file map."
msgstr "產生稀疏檔案。命令列的其餘部份給出檔案對映。"
-#: tests/genfile.c:145
+#: tests/genfile.c:144
msgid "OFFSET"
msgstr "偏移值"
-#: tests/genfile.c:146
+#: tests/genfile.c:145
msgid "Seek to the given offset before writing data"
msgstr "寫入資料之前尋指給定的偏移值"
-#: tests/genfile.c:152
+#: tests/genfile.c:151
msgid "File statistics options:"
msgstr "檔案統計選項:"
-#: tests/genfile.c:155
+#: tests/genfile.c:154
msgid "Print contents of struct stat for each given file. Default FORMAT is: "
msgstr "列印每個給定檔案的結構狀態內容。預設 FORMAT 為:"
-#: tests/genfile.c:162
+#: tests/genfile.c:161
msgid "Synchronous execution options:"
msgstr "同步的執行選項:"
-#: tests/genfile.c:164
+#: tests/genfile.c:163
#, fuzzy
msgid "OPTION"
msgstr " [選項…]"
-#: tests/genfile.c:165
+#: tests/genfile.c:164
#, fuzzy
msgid ""
"Execute ARGS. Useful with --checkpoint and one of --cut, --append, --touch, "
"執行給定的 COMMAND。同時與 --checkpoint 和 --cut, --append, --touch 之一使用"
"會有作用"
-#: tests/genfile.c:168
+#: tests/genfile.c:167
msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
msgstr "當達到查核點 NUMBER 時實行給定動作 (參看以下)"
-#: tests/genfile.c:171
+#: tests/genfile.c:170
msgid "Set date for next --touch option"
msgstr "設定後續 --touch 選項所需的日期"
-#: tests/genfile.c:174
+#: tests/genfile.c:173
msgid "Display executed checkpoints and exit status of COMMAND"
msgstr "顯示已執行的查核點以及 COMMAND 的離開狀態"
-#: tests/genfile.c:179
+#: tests/genfile.c:178
msgid ""
"Synchronous execution actions. These are executed when checkpoint number "
"given by --checkpoint option is reached."
"同步的執行動作。當到達由 --checkpoint 選項所給定的查核點編號時,這些動作會被"
"執行。"
-#: tests/genfile.c:182
+#: tests/genfile.c:181
msgid ""
"Truncate FILE to the size specified by previous --length option (or 0, if it "
"is not given)"
msgstr "依先前 --length 選項指定的大小來截斷檔案 (如果它未被給定就是 0)"
-#: tests/genfile.c:186
+#: tests/genfile.c:185
msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
msgstr "附加 SIZE 位元組到 FILE。SIZE 是由先前 --length 選項所給定。"
-#: tests/genfile.c:189
+#: tests/genfile.c:188
msgid "Update the access and modification times of FILE"
msgstr "更新檔案的存取和修改時間"
-#: tests/genfile.c:192
+#: tests/genfile.c:191
msgid "Execute COMMAND"
msgstr "執行 COMMAND"
-#: tests/genfile.c:195
+#: tests/genfile.c:194
msgid "Unlink FILE"
msgstr ""
-#: tests/genfile.c:245
+#: tests/genfile.c:244
#, c-format
msgid "Invalid size: %s"
msgstr "無效的大小:%s"
-#: tests/genfile.c:250
+#: tests/genfile.c:249
#, c-format
msgid "Number out of allowed range: %s"
msgstr "號碼超出允許的範圍:%s"
-#: tests/genfile.c:253
+#: tests/genfile.c:252
#, c-format
msgid "Negative size: %s"
msgstr "負值大小:%s"
-#: tests/genfile.c:266 tests/genfile.c:568
+#: tests/genfile.c:265 tests/genfile.c:567
#, c-format
msgid "stat(%s) failed"
msgstr "狀態(%s) 失敗"
-#: tests/genfile.c:269
+#: tests/genfile.c:268
#, c-format
msgid "requested file length %lu, actual %lu"
msgstr "要求檔案長度 %lu,實際則是 %lu"
-#: tests/genfile.c:273
+#: tests/genfile.c:272
#, c-format
msgid "created file is not sparse"
msgstr "建立的不是稀疏檔案"
-#: tests/genfile.c:362
+#: tests/genfile.c:361
#, c-format
msgid "Error parsing number near `%s'"
msgstr "剖析數字接近「%s」時發生錯誤"
-#: tests/genfile.c:368
+#: tests/genfile.c:367
#, c-format
msgid "Unknown date format"
msgstr "不明的日期格式"
-#: tests/genfile.c:392
+#: tests/genfile.c:391
msgid "[ARGS...]"
msgstr "[引數…]"
-#: tests/genfile.c:429 tests/genfile.c:469 tests/genfile.c:522
-#: tests/genfile.c:672 tests/genfile.c:686
+#: tests/genfile.c:428 tests/genfile.c:468 tests/genfile.c:521
+#: tests/genfile.c:671 tests/genfile.c:685
#, c-format
msgid "cannot open `%s'"
msgstr "無法開啟「%s」"
-#: tests/genfile.c:435
+#: tests/genfile.c:434
msgid "cannot seek"
msgstr "無法尋指"
-#: tests/genfile.c:452
+#: tests/genfile.c:451
#, c-format
msgid "file name contains null character"
msgstr "檔案名稱含有空字元"
-#: tests/genfile.c:517
+#: tests/genfile.c:516
#, c-format
msgid "cannot generate sparse files on standard output, use --file option"
msgstr "無法於標準輸出產生稀疏檔案,使用 --file 選項"
-#: tests/genfile.c:595
+#: tests/genfile.c:594
#, c-format
msgid "incorrect mask (near `%s')"
msgstr "不正確遮罩 (接近「%s」)"
-#: tests/genfile.c:601 tests/genfile.c:634
+#: tests/genfile.c:600 tests/genfile.c:633
#, c-format
msgid "Unknown field `%s'"
msgstr "不明的欄位「%s」"
-#: tests/genfile.c:661
+#: tests/genfile.c:660
#, c-format
msgid "cannot set time on `%s'"
msgstr "無法設定時間為「%s」"
-#: tests/genfile.c:700
+#: tests/genfile.c:699
#, fuzzy, c-format
msgid "cannot unlink `%s'"
msgstr "無法開啟「%s」"
-#: tests/genfile.c:826
+#: tests/genfile.c:825
#, c-format
msgid "Command exited successfully\n"
msgstr "成功離開命令\n"
-#: tests/genfile.c:828
+#: tests/genfile.c:827
#, c-format
msgid "Command failed with status %d\n"
msgstr "命令以狀態 %d 失敗\n"
-#: tests/genfile.c:832
+#: tests/genfile.c:831
#, c-format
msgid "Command terminated on signal %d\n"
msgstr "命令於信號 %d 終止\n"
-#: tests/genfile.c:834
+#: tests/genfile.c:833
#, c-format
msgid "Command stopped on signal %d\n"
msgstr "命令於信號 %d 停止\n"
-#: tests/genfile.c:837
+#: tests/genfile.c:836
#, c-format
msgid "Command dumped core\n"
msgstr "命令傾印核心\n"
-#: tests/genfile.c:840
+#: tests/genfile.c:839
#, c-format
msgid "Command terminated\n"
msgstr "命令終止\n"
-#: tests/genfile.c:872
+#: tests/genfile.c:871
#, c-format
msgid "--stat requires file names"
msgstr "--stat 需要檔案名稱"
+#, fuzzy
+#~ msgid "Cannot restore working directory"
+#~ msgstr "無法儲存工作目錄"
+
+#, fuzzy
+#~ msgid "Cannot resolve hostname %s"
+#~ msgstr "無法將 %s 重新命名為 %s"
+
+#~ msgid "suppress this warning."
+#~ msgstr "抑制這個警告。"
+
#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s:不合法的選項 -- %c\n"
+#~ msgid "Reading %s\n"
+#~ msgstr "正在讀取 %s\n"
+
#~ msgid ""
#~ "\n"
#~ "Report bugs to <%s>.\n"
#~ "\n"
#~ "將錯誤回報給 <%s>。\n"
-#~ msgid "Reading %s\n"
-#~ msgstr "正在讀取 %s\n"
-
-#~ msgid "Error is not recoverable: exiting now"
-#~ msgstr "發生無法復原的錯誤:立刻離開"
-
-#~ msgid "suppress this warning."
-#~ msgstr "抑制這個警告。"
-
#~ msgid "filter the archive through bzip2"
#~ msgstr "保存檔以 bzip2 過濾處理"
#~ msgid "Premature end of file"
#~ msgstr "檔案突然結束"
+
+#~ msgid "Error is not recoverable: exiting now"
+#~ msgstr "發生無法復原的錯誤:立刻離開"
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
} \
} \
while (0)
-
+
\f
static void
str[len-1] = 0;
}
}
-
+
\f
char *input_buf_ptr = NULL;
size_t input_buf_size = 0;
-char *
+static char *
rmt_read (void)
{
ssize_t rc = getline (&input_buf_ptr, &input_buf_size, stdin);
return NULL;
}
-void
+static void
rmt_write (const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vfprintf (stdout, fmt, ap);
+ fflush (stdout);
VDEBUG (10, "S: ", fmt, ap);
}
-void
+static void
rmt_reply (uintmax_t code)
{
char buf[UINTMAX_STRSIZE_BOUND];
rmt_write ("A%s\n", umaxtostr (code, buf));
}
-void
+static void
rmt_error_message (int code, const char *msg)
{
DEBUG1 (10, "S: E%d\n", code);
DEBUG1 (10, "S: %s\n", msg);
DEBUG1 (1, "error: %s\n", msg);
fprintf (stdout, "E%d\n%s\n", code, msg);
+ fflush (stdout);
}
-void
+static void
rmt_error (int code)
{
rmt_error_message (code, strerror (code));
#define RMT_KW(s,v) { #s, sizeof (#s) - 1, v }
-int
+static int
xlat_kw (const char *s, const char *pfx,
struct rmt_kw const *kw, int *valp, const char **endp)
{
slen -= pfxlen;
}
}
-
+
for (; kw->name; kw++)
{
if (slen >= kw->len
return 1;
}
-const char *
+static const char *
skip_ws (const char *s)
{
while (*s && c_isblank (*s))
{ NULL }
};
-int
+static int
decode_open_flag (const char *mstr, int *pmode)
{
+ int numeric_mode = 0;
int mode = 0;
+ const char *p;
- while (mstr)
+ mstr = skip_ws (mstr);
+ if (c_isdigit (*mstr))
{
- int v;
- const char *p;
-
- mstr = skip_ws (mstr);
- if (*mstr == 0)
- break;
- else if (c_isdigit (*mstr))
- v = strtol (mstr, (char**) &p, 10);
- else if (xlat_kw (mstr, "O_", open_flag_kw, &v, &p))
- {
- rmt_error_message (EINVAL, "invalid open mode");
- return 1;
- }
+ numeric_mode = strtol (mstr, (char**) &p, 10);
+ mstr = skip_ws (p);
+ }
- mode |= v;
-
- if (*p && c_isblank (*p))
- p = skip_ws (p);
- if (*p == 0)
- break;
- else if (*p == '|')
- {
- /* FIXMEL
- if (p[1] == 0)
- rmt_error_message (EINVAL, "invalid open mode");
- */
- mstr = p + 1;
- }
- else
+ if (*mstr)
+ {
+ while (mstr)
{
- rmt_error_message (EINVAL, "invalid open mode");
- return 1;
+ int v;
+
+ mstr = skip_ws (mstr);
+ if (*mstr == 0)
+ break;
+ else if (c_isdigit (*mstr))
+ v = strtol (mstr, (char**) &p, 10);
+ else if (xlat_kw (mstr, "O_", open_flag_kw, &v, &p))
+ {
+ rmt_error_message (EINVAL, "invalid open mode");
+ return 1;
+ }
+
+ mode |= v;
+
+ if (*p && c_isblank (*p))
+ p = skip_ws (p);
+ if (*p == 0)
+ break;
+ else if (*p == '|')
+ {
+ /* FIXMEL
+ if (p[1] == 0)
+ rmt_error_message (EINVAL, "invalid open mode");
+ */
+ mstr = p + 1;
+ }
+ else
+ {
+ rmt_error_message (EINVAL, "invalid open mode");
+ return 1;
+ }
}
}
+ else
+ mode = numeric_mode;
*pmode = mode;
return 0;
}
/* Syntax
------
O<device>\n<flags>\n
-
+
Function
--------
Opens the <device> with given <flags>. If a device had already been opened,
it is closed before opening the new one.
-
+
Arguments
---------
<device> - name of the device to open.
64|512
CREAT|TRUNC
+ In addition, a compined form is also allowed, i.e. a decimal mode followed
+ by its symbolic representation. In this case the symbolic representation
+ is given preference.
+
Reply
-----
- A0\n on success, E<errno>\n<msg>\n on error.
-
+ A0\n on success, E0\n<msg>\n on error.
+
Extensions
----------
- The BSD version allows only decimal number as <flags>.
+ BSD version allows only decimal number as <flags>
*/
-
+
static void
open_device (char *str)
{
char *device = xstrdup (str);
char *flag_str;
int flag;
-
+
flag_str = rmt_read ();
if (!flag_str)
{
/* Syntax
------
C[<device>]\n
-
+
Function
--------
Close the currently open device.
Arguments
---------
Any arguments are silently ignored.
-
+
Reply
-----
- A0\n on success, E<errno>\n<msg>\n on error.
+ A0\n on success, E0\n<msg>\n on error.
*/
static void
-close_device ()
+close_device (void)
{
if (close (device_fd) < 0)
rmt_error (errno);
/* Syntax
------
L<whence>\n<offset>\n
-
+
Function
--------
Perform an lseek(2) on the currently open device with the specified
parameters.
-
+
Arguments
---------
<whence> - Where to measure offset from. Valid values are:
Reply
-----
A<offset>\n on success. The <offset> is the new offset in file.
- E<errno>\n<msg>\n on error.
+ E0\n<msg>\n on error.
Extensions
----------
- The BSD version allows only 0,1,2 as <whence>.
+ BSD version allows only 0,1,2 as <whence>.
*/
static struct rmt_kw const seek_whence_kw[] =
RMT_KW(END, SEEK_END),
{ NULL }
};
-
-void
+
+static void
lseek_device (const char *str)
{
char *p;
int whence;
off_t off;
uintmax_t n;
-
+
if (str[0] && str[1] == 0)
{
switch (str[0])
rmt_error_message (EINVAL, N_("Invalid seek offset"));
return;
}
-
+
if (n != off || errno == ERANGE)
{
rmt_error_message (EINVAL, N_("Seek offset out of range"));
/* Syntax
------
R<count>\n
-
+
Function
--------
Read <count> bytes of data from the current device.
-
+
Arguments
---------
<count> - number of bytes to read.
-
+
Reply
-----
On success: A<rdcount>\n, followed by <rdcount> bytes of data read from
the device.
- On error: E<errno>\n<msg>\n
+ On error: E0\n<msg>\n
*/
-void
+static void
read_device (const char *str)
{
char *p;
size_t size;
uintmax_t n;
size_t status;
-
+
n = size = strtoumax (str, &p, 10);
if (*p)
{
rmt_error_message (EINVAL, N_("Invalid byte count"));
return;
}
-
+
if (n != size || errno == ERANGE)
{
rmt_error_message (EINVAL, N_("Byte count out of range"));
/* Syntax
------
W<count>\n followed by <count> bytes of input data.
-
+
Function
--------
Write data onto the current device.
-
+
Arguments
---------
<count> - number of bytes.
-
+
Reply
-----
On success: A<wrcount>\n, where <wrcount> is number of bytes actually
written.
- On error: E<errno>\n<msg>\n
+ On error: E0\n<msg>\n
*/
-void
+static void
write_device (const char *str)
{
char *p;
size_t size;
uintmax_t n;
size_t status;
-
+
n = size = strtoumax (str, &p, 10);
if (*p)
{
rmt_error_message (EINVAL, N_("Invalid byte count"));
return;
}
-
+
if (n != size || errno == ERANGE)
{
rmt_error_message (EINVAL, N_("Byte count out of range"));
/* Syntax
------
I<opcode>\n<count>\n
-
+
Function
--------
Perform a MTIOCOP ioctl(2) command using the specified paramedters.
-
+
Arguments
---------
<opcode> - MTIOCOP operation code.
<count> - mt_count.
-
+
Reply
-----
On success: A0\n
- On error: E<errno>\n<msg>\n
+ On error: E0\n<msg>\n
*/
-void
+static void
iocop_device (const char *str)
{
char *p;
long opcode;
off_t count;
uintmax_t n;
-
+
opcode = strtol (str, &p, 10);
if (*p)
{
rmt_error_message (EINVAL, N_("Invalid byte count"));
return;
}
-
+
if (n != count || errno == ERANGE)
{
rmt_error_message (EINVAL, N_("Byte count out of range"));
return;
}
-
+
#ifdef MTIOCTOP
{
struct mtop mtop;
/* Syntax
------
S\n
-
+
Function
--------
Return the status of the open device, as obtained with a MTIOCGET
ioctl call.
-
+
Arguments
---------
None
-
+
Reply
-----
On success: A<count>\n followed by <count> bytes of data.
- On error: E<errno>\n<msg>\n
+ On error: E0\n<msg>\n
*/
-void
+static void
status_device (const char *str)
{
if (*str)
rmt_error_message (ENOSYS, N_("Operation not supported"));
#endif
}
-
+
\f
const char *argp_program_version = "rmt (" PACKAGE_NAME ") " VERSION;
case 'd':
dbglev = strtol (arg, NULL, 0);
break;
-
+
case DEBUG_FILE_OPTION:
dbgout = fopen (arg, "w");
if (!dbgout)
error (EXIT_FAILURE, errno, _("cannot open %s"), arg);
break;
-
+
case ARGP_KEY_FINI:
if (dbglev)
{
else if (dbgout)
dbglev = 1;
break;
-
+
default:
return ARGP_ERR_UNKNOWN;
}
return 0;
}
-
+
static struct argp argp = {
options,
parse_opt,
char *buf;
int idx;
int stop = 0;
-
+
set_program_name (argv[0]);
argp_version_setup ("rmt", rmt_authors);
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
}
-
+
if (argp_parse (&argp, argc, argv, ARGP_IN_ORDER, &idx, NULL))
exit (EXIT_FAILURE);
if (idx != argc)
error (EXIT_FAILURE, errno, _("cannot open %s"), argv[idx]);
dbglev = 1;
}
-
+
while (!stop && (buf = rmt_read ()) != NULL)
{
switch (buf[0])
close_device ();
stop = 1;
break;
-
+
case 'I':
iocop_device (buf + 1);
break;
-
+
case 'L':
lseek_device (buf + 1);
break;
-
+
case 'O':
open_device (buf + 1);
break;
-
+
case 'R':
read_device (buf + 1);
break;
-
+
case 'S':
status_device (buf + 1);
break;
-
+
case 'W':
write_device (buf + 1);
break;
-
+
default:
DEBUG1 (1, "garbage input %s\n", buf);
rmt_error_message (EINVAL, N_("Garbage command"));
return EXIT_FAILURE; /* exit status used to be 3 */
- }
+ }
}
if (device_fd >= 0)
close_device ();
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
SLEEP_TIME=15
# Script to be run when it's time to insert a new tape in for the next
-# volume. Administrators may want to tailor this script for their site.
+# volume. Administrators may want to tailor this script for their site.
# If this variable isn't set, tar will use some default behavior which is
-# probably defined in the manual.
+# probably defined in the manual.
#DUMP_REMIND_SCRIPT='rsh apple-gunkies /home/gd2/dump/dump-remind'
# Message to display on the terminal while waiting for dump time. Usually
# entertaining than this. The awk script here saves some redundant
# repetition, but is not really all that desirable.
SLEEP_MESSAGE="`awk '
- BEGIN {
+ BEGIN {
for (i = 0; i < 30; i++)
print \" \" \
\"D O N O T T O U C H T H I S T E R M I N A L !!!!!\"
# This file is included in the GNU tar distribution as an example. It is
# not used by default unless the proper line is uncommented in backup-specs.
# System administrators will probably want to customize this and
-# backup-specs for their site.
+# backup-specs for their site.
#
# This script should be run by tar with --info-script (-F) to inform
# interested parties that a tape for the next volume of the backup needs to
-# be put in the tape drive.
+# be put in the tape drive.
#
-# Include location of `sendmail' and GNU finger.
+# Include location of `sendmail' and GNU finger.
PATH="/usr/lib:/usr/local/gnubin:${PATH}"
export PATH
#
# Certain users (like `root') aren't real users, and shouldn't be notified.
# Neither should `zippy', `elvis', etc. (on the GNU machines) since they're
-# just test accounts.
+# just test accounts.
recipients="`
finger .clients 2> /dev/null \
| sed -ne '
Subject: Backup needs new tape for volume ${TAR_VOLUME}
Reply-To: ${ADMINISTRATOR}
-This is an automated report from the backup script running on
-`hostname`.
+This is an automated report from the backup script running on
+`hostname`.
Volume ${TAR_VOLUME} of the backup needs to be put in the tape drive.
Usually whoever prepared the backup leaves labeled tapes on top of the
Subject: Volume ${TAR_VOLUME} for backup has been added
Reply-To: ${ADMINISTRATOR}
-This is an automated report from the backup script running on
-`hostname`.
+This is an automated report from the backup script running on
+`hostname`.
The backup has been continued, so for now no further attention is required.
__EOF__
LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
-tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME)
+tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
INCLUDES = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib
LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
-tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME)
+tar_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS)
all: all-am
.SUFFIXES:
blocked in 1 kB boundaries. We'll need arbitrary precision
arithmetic anyway once we get into the 2**64 range, so there's no
point doing anything fancy before then. */
-
+
#define TARLONG_FORMAT "%.0f"
typedef double tarlong;
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 */
/* We're reading, but we just read the last block and it's time to update.
Declared in update.c
- As least EXTERN like this one as possible. (?? --gray)
FIXME: Either eliminate it or move it to common.h.
*/
extern bool time_to_start_writing;
bool write_archive_to_stdout;
-/* Used by flush_read and flush_write to store the real info about saved
- names. */
-static char *real_s_name;
-static off_t real_s_totsize;
-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 */
+
+/* When creating a multi-volume archive, each `bufmap' represents
+ a member stored (perhaps partly) in the current record buffer.
+ After flushing the record to the output media, all bufmaps that
+ represent fully written members are removed from the list, then
+ the sizeleft and start numbers in the remaining bufmaps are updated.
+
+ When reading from a multi-volume archive, the list degrades to a
+ single element, which keeps information about the member currently
+ being read.
+*/
+
+struct bufmap
+{
+ struct bufmap *next; /* Pointer to the next map entry */
+ size_t start; /* Offset of the first data block */
+ char *file_name; /* Name of the stored file */
+ off_t sizetotal; /* Size of the stored file */
+ off_t sizeleft; /* Size left to read/write */
+};
+static struct bufmap *bufmap_head, *bufmap_tail;
+
+/* This variable, when set, inhibits updating the bufmap chain after
+ a write. This is necessary when writing extended POSIX headers. */
+static int inhibit_map;
+
+void
+mv_begin_write (const char *file_name, off_t totsize, off_t sizeleft)
+{
+ if (multi_volume_option)
+ {
+ struct bufmap *bp = xmalloc (sizeof bp[0]);
+ if (bufmap_tail)
+ bufmap_tail->next = bp;
+ else
+ bufmap_head = bp;
+ bufmap_tail = bp;
+
+ bp->next = NULL;
+ bp->start = current_block - record_start;
+ bp->file_name = xstrdup (file_name);
+ bp->sizetotal = totsize;
+ bp->sizeleft = sizeleft;
+ }
+}
+
+static struct bufmap *
+bufmap_locate (size_t off)
+{
+ struct bufmap *map;
+
+ for (map = bufmap_head; map; map = map->next)
+ {
+ if (!map->next
+ || off < map->next->start * BLOCKSIZE)
+ break;
+ }
+ return map;
+}
+
+static void
+bufmap_free (struct bufmap *mark)
+{
+ struct bufmap *map;
+ for (map = bufmap_head; map && map != mark; )
+ {
+ struct bufmap *next = map->next;
+ free (map->file_name);
+ free (map);
+ map = next;
+ }
+ bufmap_head = map;
+ if (!bufmap_head)
+ bufmap_tail = bufmap_head;
+}
+
+static void
+bufmap_reset (struct bufmap *map, ssize_t fixup)
+{
+ bufmap_free (map);
+ if (map)
+ {
+ for (; map; map = map->next)
+ map->start += fixup;
+ }
+}
\f
static struct tar_stat_info dummy;
}
void
-mv_begin (struct tar_stat_info *st)
+mv_begin_read (struct tar_stat_info *st)
{
- if (multi_volume_option)
- {
- assign_string (&save_name, st->orig_file_name);
- save_totsize = save_sizeleft = st->stat.st_size;
- }
+ mv_begin_write (st->orig_file_name, st->stat.st_size, st->stat.st_size);
}
void
mv_end ()
{
if (multi_volume_option)
- assign_string (&save_name, 0);
-}
-
-void
-mv_total_size (off_t size)
-{
- save_totsize = size;
+ bufmap_free (NULL);
}
void
mv_size_left (off_t size)
{
- save_sizeleft = size;
+ if (bufmap_head)
+ bufmap_head->sizeleft = size;
}
\f
last_stat_time = start_time;
}
-void
-set_volume_start_time ()
+static void
+set_volume_start_time (void)
{
gettime (&volume_start_time);
last_stat_time = volume_start_time;
{
enum compress_type type;
size_t length;
- char *magic;
- char *program;
- char *option;
+ char const *magic;
+ char const *program;
+ char const *option;
};
static struct zip_magic const magic[] = {
{ ct_lzip, 4, "LZIP", LZIP_PROGRAM, "--lzip" },
{ ct_lzma, 6, "\xFFLZMA", LZMA_PROGRAM, "--lzma" },
{ ct_lzop, 4, "\211LZO", LZOP_PROGRAM, "--lzop" },
- { ct_xz, 6, "\0xFD7zXZ", XZ_PROGRAM, "-J" },
+ { ct_xz, 6, "\xFD" "7zXZ", XZ_PROGRAM, "-J" },
};
#define NMAGIC (sizeof(magic)/sizeof(magic[0]))
#define compress_program(t) magic[t].program
/* Check if the file ARCHIVE is a compressed archive. */
-enum compress_type
+static enum compress_type
check_compressed_archive (bool *pshort)
{
struct zip_magic const *p;
if (!pshort)
pshort = &temp;
-
+
/* Prepare global data needed for find_next_block: */
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 */
*pshort = find_next_block () == 0;
-
+
/* Restore global values */
read_full_records = sfr;
/* Guess if the archive is seekable. */
static void
-guess_seekable_archive ()
+guess_seekable_archive (void)
{
struct stat st;
seekable_archive = !!seek_option;
return;
}
-
+
if (!multi_volume_option && !use_compress_program_option
&& fstat (archive, &st) == 0)
seekable_archive = S_ISREG (st.st_mode);
/* Open an archive named archive_name_array[0]. Detect if it is
a compressed archive of known type and use corresponding decompression
program if so */
-int
-open_compressed_archive ()
+static int
+open_compressed_archive (void)
{
archive = rmtopen (archive_name_array[0], O_RDONLY | O_BINARY,
MODE_RW, rsh_command_option);
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);
+ set_compression_program_by_suffix (archive_name_array[0], NULL);
if (!use_compress_program_option)
return archive;
break;
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 */
}
static void
-init_buffer ()
+init_buffer (void)
{
if (! record_buffer_aligned[record_index])
record_buffer_aligned[record_index] =
FATAL_ERROR ((0, 0, _("No archive name given")));
tar_stat_destroy (¤t_stat_info);
- save_name = 0;
- real_s_name = 0;
record_index = 0;
init_buffer ();
}
/* Perform a write to flush the buffer. */
-ssize_t
+static ssize_t
_flush_write (void)
{
ssize_t status;
status = record_size;
else
status = sys_write_archive_buffer ();
-
+
+ if (status && multi_volume_option && !inhibit_map)
+ {
+ struct bufmap *map = bufmap_locate (status);
+ if (map)
+ {
+ size_t delta = status - map->start * BLOCKSIZE;
+ if (delta > map->sizeleft)
+ delta = map->sizeleft;
+ map->sizeleft -= delta;
+ if (map->sizeleft == 0)
+ map = map->next;
+ bufmap_reset (map, map ? (- map->start) : 0);
+ }
+ }
return status;
}
}
static bool
-archive_is_dev ()
+archive_is_dev (void)
{
struct stat st;
if (size <= skipped)
return 0;
-
+
/* Compute number of records to skip */
nrec = (size - skipped) / record_size;
if (nrec == 0)
sys_wait_for_child (child_pid, hit_eof);
tar_stat_destroy (¤t_stat_info);
- if (save_name)
- free (save_name);
- if (real_s_name)
- free (real_s_name);
free (record_buffer[0]);
free (record_buffer[1]);
+ bufmap_free (NULL);
}
/* Called to initialize the global volume number. */
\f
static void
-increase_volume_number ()
+increase_volume_number (void)
{
global_volno++;
if (global_volno < 0)
volno++;
}
-void
+static void
change_tape_menu (FILE *read_file)
{
char *input_buffer = NULL;
size_t size = 0;
bool stop = false;
-
+
while (!stop)
{
fputc ('\007', stderr);
assign_string (&continued_file_name, NULL);
continued_file_size = continued_file_offset = 0;
current_block = record_start;
-
+
if (rmtclose (archive) != 0)
close_error (*archive_name_cursor);
return false;
}
-bool
-try_new_volume ()
+static bool
+try_new_volume (void)
{
size_t status;
union block *header;
enum access_mode acc;
-
+
switch (subcommand_option)
{
case APPEND_SUBCOMMAND:
if (!new_volume (acc))
return true;
-
+
while ((status = rmtread (archive, record_start->buffer, record_size))
== SAFE_READ_ERROR)
archive_read_error ();
ERROR ((0, 0, _("This does not look like a tar archive")));
return false;
}
-
+
xheader_decode (&dummy); /* decodes values from the global header */
tar_stat_destroy (&dummy);
-
+
/* The initial global header must be immediately followed by
an extended PAX header for the first member in this volume.
However, in some cases tar may split volumes in the middle
HEADER_FAILURE, which is ignored.
See also tests/multiv07.at */
-
+
switch (read_header (&header, &dummy, read_header_auto))
{
case HEADER_SUCCESS:
break;
}
- if (real_s_name)
+ if (bufmap_head)
{
uintmax_t s;
if (!continued_file_name
- || strcmp (continued_file_name, real_s_name))
+ || strcmp (continued_file_name, bufmap_head->file_name))
{
if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
- && strlen (real_s_name) >= NAME_FIELD_SIZE
- && strncmp (continued_file_name, real_s_name,
+ && strlen (bufmap_head->file_name) >= NAME_FIELD_SIZE
+ && strncmp (continued_file_name, bufmap_head->file_name,
NAME_FIELD_SIZE) == 0)
WARN ((0, 0,
_("%s is possibly continued on this volume: header contains truncated name"),
- quote (real_s_name)));
+ quote (bufmap_head->file_name)));
else
{
WARN ((0, 0, _("%s is not continued on this volume"),
- quote (real_s_name)));
+ quote (bufmap_head->file_name)));
return false;
}
}
s = continued_file_size + continued_file_offset;
- if (real_s_totsize != s || s < continued_file_offset)
+ if (bufmap_head->sizetotal != s || s < continued_file_offset)
{
char totsizebuf[UINTMAX_STRSIZE_BOUND];
char s1buf[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 (bufmap_head->sizetotal, 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)
+ if (bufmap_head->sizetotal - bufmap_head->sizeleft !=
+ continued_file_offset)
{
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 (bufmap_head->sizetotal, totsizebuf),
+ STRINGIFY_BIGINT (bufmap_head->sizeleft, s1buf),
STRINGIFY_BIGINT (continued_file_offset, s2buf)));
-
+
return false;
}
}
if (len < 1)
return NULL;
-
+
for (p = label + len - 1; p > label && isdigit ((unsigned char) *p); p--)
;
if (p > label && p - (VOLUME_TEXT_LEN - 1) > label)
return NULL;
}
-
+
/* Check LABEL against the volume label, seen as a globbing
pattern. Return true if the pattern matches. In case of failure,
retry matching a volume sequence number before giving up in
check_label_pattern (const char *label)
{
char *string;
- bool result;
+ bool result = false;
if (fnmatch (volume_label_option, label, 0) == 0)
return true;
if (!volume_label)
{
union block *label = find_next_block ();
-
+
if (!label)
FATAL_ERROR ((0, 0, _("Archive not labeled to match %s"),
quote (volume_label_option)));
tar_stat_destroy (&st);
}
}
-
+
if (!volume_label)
FATAL_ERROR ((0, 0, _("Archive not labeled to match %s"),
quote (volume_label_option)));
-
+
if (!check_label_pattern (volume_label))
FATAL_ERROR ((0, 0, _("Volume %s does not match %s"),
quote_n (0, volume_label),
}
static void
-add_chunk_header ()
+add_chunk_header (struct bufmap *map)
{
if (archive_format == POSIX_FORMAT)
{
off_t block_ordinal;
union block *blk;
struct tar_stat_info st;
- static size_t real_s_part_no; /* FIXME */
- real_s_part_no++;
memset (&st, 0, sizeof st);
- st.orig_file_name = st.file_name = real_s_name;
+ st.orig_file_name = st.file_name = map->file_name;
st.stat.st_mode = S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH;
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);
+ volno);
st.file_name = st.orig_file_name;
- st.archive_file_size = st.stat.st_size = real_s_sizeleft;
+ st.archive_file_size = st.stat.st_size = map->sizeleft;
block_ordinal = current_block_ordinal ();
blk = start_header (&st);
/* Write GNU multi-volume header */
static void
-gnu_add_multi_volume_header (void)
+gnu_add_multi_volume_header (struct bufmap *map)
{
int tmp;
union block *block = find_next_block ();
- if (strlen (real_s_name) > NAME_FIELD_SIZE)
+ if (strlen (map->file_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)));
+ quotearg_colon (map->file_name)));
memset (block, 0, BLOCKSIZE);
- /* FIXME: Michael P Urban writes: [a long name file] is being written
- when a new volume rolls around [...] Looks like the wrong value is
- being preserved in real_s_name, though. */
-
- strncpy (block->header.name, real_s_name, NAME_FIELD_SIZE);
+ strncpy (block->header.name, map->file_name, NAME_FIELD_SIZE);
block->header.typeflag = GNUTYPE_MULTIVOL;
- OFF_TO_CHARS (real_s_sizeleft, block->header.size);
- OFF_TO_CHARS (real_s_totsize - real_s_sizeleft,
+ OFF_TO_CHARS (map->sizeleft, block->header.size);
+ OFF_TO_CHARS (map->sizetotal - map->sizeleft,
block->oldgnu_header.offset);
tmp = verbose_option;
/* Add a multi volume header to the current archive. The exact header format
depends on the archive format. */
static void
-add_multi_volume_header (void)
+add_multi_volume_header (struct bufmap *map)
{
if (archive_format == POSIX_FORMAT)
{
- off_t d = real_s_totsize - real_s_sizeleft;
- xheader_store ("GNU.volume.filename", &dummy, real_s_name);
- xheader_store ("GNU.volume.size", &dummy, &real_s_sizeleft);
+ off_t d = map->sizetotal - map->sizeleft;
+ xheader_store ("GNU.volume.filename", &dummy, map->file_name);
+ xheader_store ("GNU.volume.size", &dummy, &map->sizeleft);
xheader_store ("GNU.volume.offset", &dummy, &d);
}
else
- gnu_add_multi_volume_header ();
-}
-
-/* Synchronize multi-volume globals */
-static void
-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;
- }
- else
- {
- assign_string (&real_s_name, 0);
- real_s_totsize = 0;
- real_s_sizeleft = 0;
- }
- }
+ gnu_add_multi_volume_header (map);
}
\f
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. */
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. */
archive_write_error (status);
}
- multi_volume_sync ();
-
for (;;)
{
status = rmtread (archive, record_start->buffer, record_size);
char *copy_ptr;
size_t copy_size;
size_t bufsize;
- tarlong wrt;
-
+ struct bufmap *map;
+
status = _flush_write ();
if (status != record_size && !multi_volume_option)
archive_write_error (status);
else
{
if (status)
- records_written++;
+ records_written++;
bytes_written += status;
}
if (status == record_size)
{
- multi_volume_sync ();
return;
}
+ map = bufmap_locate (status);
+
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;
copy_ptr = record_start->buffer + status;
copy_size = buffer_level - status;
-
+
/* Switch to the next buffer */
record_index = !record_index;
init_buffer ();
+ inhibit_map = 1;
+
if (volume_label_option)
add_volume_label ();
- if (real_s_name)
- add_multi_volume_header ();
+ if (map)
+ add_multi_volume_header (map);
write_extended (true, &dummy, find_next_block ());
tar_stat_destroy (&dummy);
-
- if (real_s_name)
- add_chunk_header ();
- wrt = bytes_written;
+
+ if (map)
+ add_chunk_header (map);
header = find_next_block ();
+ bufmap_reset (map, header - record_start);
bufsize = available_space_after (header);
+ inhibit_map = 0;
while (bufsize < copy_size)
{
memcpy (header->buffer, copy_ptr, bufsize);
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 ();
}
switch (wanted_access)
{
case ACCESS_READ:
+ case ACCESS_UPDATE:
if (volume_label_option)
match_volume_label ();
break;
if (volume_label_option)
write_volume_label ();
break;
-
- default:
- break;
}
set_volume_start_time ();
}
checkpoint_compile_action (const char *str)
{
struct checkpoint_action *act;
-
+
if (strcmp (str, ".") == 0 || strcmp (str, "dot") == 0)
alloc_action (cop_dot);
else if (strcmp (str, "bell") == 0)
{
if (!checkpoint_action)
/* Provide a historical default */
- checkpoint_compile_action ("echo");
+ checkpoint_compile_action ("echo");
}
else if (checkpoint_action)
/* Otherwise, set default checkpoint rate */
checkpoint_option = DEFAULT_CHECKPOINT;
}
-char *
+static char *
expand_checkpoint_string (const char *input, bool do_write, unsigned cpn)
{
const char *opstr = do_write ? gettext ("write") : gettext ("read");
case 'u':
outlen += cpslen - 2;
break;
-
+
case 's':
outlen += opstrlen - 2;
}
case 'u':
op = stpcpy (op, cps);
break;
-
+
case 's':
op = stpcpy (op, opstr);
break;
-
+
default:
*op++ = '%';
*op++ = *ip;
{
struct checkpoint_action *p;
FILE *tty = NULL;
-
+
for (p = checkpoint_action; p; p = p->next)
{
switch (p->opcode)
fflush (tty);
}
break;
-
+
case cop_echo:
{
char *tmp;
free (tmp);
}
break;
-
+
case cop_ttyout:
if (!tty)
tty = fopen ("/dev/tty", "w");
free (tmp);
}
break;
-
+
case cop_sleep:
sleep (p->v.time);
break;
-
+
case cop_exec:
sys_exec_checkpoint_script (p->v.command,
archive_name_cursor[0],
{
if (checkpoint_option && !(++checkpoint % checkpoint_option))
run_checkpoint_actions (do_write);
-}
-
+}
/* Common declarations for the tar program.
Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
Inc.
This program is free software; you can redistribute it and/or modify it
/* Display file times in UTC */
GLOBAL bool utc_option;
+/* Output file timestamps to the full resolution */
+GLOBAL bool full_time_option;
/* This variable tells how to interpret newer_mtime_option, below. If zero,
files get archived if their mtime is not less than newer_mtime_option.
int matching_flags; /* wildcard flags if name is a pattern */
bool cmdline; /* true if this name was given in the
command line */
-
+
int change_dir; /* Number of the directory to change to.
Set with the -C option. */
uintmax_t found_count; /* number of times a matching file has
been found */
-
+
/* The following members are used for incremental dumps only,
if this struct name represents a directory;
see incremen.c */
GLOBAL dev_t ar_dev;
GLOBAL ino_t ar_ino;
+/* Flags for reading, searching, and fstatatting files. */
+GLOBAL int open_read_flags;
+GLOBAL int open_searchdir_flags;
+GLOBAL int fstatat_flags;
+
GLOBAL int seek_option;
GLOBAL bool seekable_archive;
off_t seek_archive (off_t size);
void set_start_time (void);
-void mv_begin (struct tar_stat_info *st);
+void mv_begin_write (const char *file_name, off_t totsize, off_t sizeleft);
+
+void mv_begin_read (struct tar_stat_info *st);
void mv_end (void);
-void mv_total_size (off_t size);
void mv_size_left (off_t size);
void buffer_write_global_xheader (void);
};
void add_exclusion_tag (const char *name, enum exclusion_tag_type type,
- bool (*)(const char*));
-bool cachedir_file_p (const char *name);
+ bool (*predicate) (int));
+bool cachedir_file_p (int fd);
+char *get_directory_entries (struct tar_stat_info *st);
-bool file_dumpable_p (struct tar_stat_info *st);
void create_archive (void);
void pad_archive (off_t size_left);
-void dump_file (const char *st, bool top_level, dev_t parent_device);
+void dump_file (struct tar_stat_info *parent, char const *name,
+ char const *fullname);
union block *start_header (struct tar_stat_info *st);
void finish_header (struct tar_stat_info *st, union block *header,
off_t block_ordinal);
union block *start_private_header (const char *name, size_t size, time_t t);
void write_eot (void);
void check_links (void);
+int subfile_open (struct tar_stat_info const *dir, char const *file, int flags);
+void restore_parent_fd (struct tar_stat_info const *st);
void exclusion_tag_warning (const char *dirname, const char *tagname,
const char *message);
-enum exclusion_tag_type check_exclusion_tags (const char *dirname,
+enum exclusion_tag_type check_exclusion_tags (struct tar_stat_info const *st,
const char **tag_file_name);
-
-#define GID_TO_CHARS(val, where) gid_to_chars (val, where, sizeof (where))
-#define MAJOR_TO_CHARS(val, where) major_to_chars (val, where, sizeof (where))
-#define MINOR_TO_CHARS(val, where) minor_to_chars (val, where, sizeof (where))
-#define MODE_TO_CHARS(val, where) mode_to_chars (val, where, sizeof (where))
+
#define OFF_TO_CHARS(val, where) off_to_chars (val, where, sizeof (where))
-#define SIZE_TO_CHARS(val, where) size_to_chars (val, where, sizeof (where))
#define TIME_TO_CHARS(val, where) time_to_chars (val, where, sizeof (where))
-#define UID_TO_CHARS(val, where) uid_to_chars (val, where, sizeof (where))
-#define UINTMAX_TO_CHARS(val, where) uintmax_to_chars (val, where, sizeof (where))
-#define UNAME_TO_CHARS(name,buf) string_to_chars (name, buf, sizeof(buf))
-#define GNAME_TO_CHARS(name,buf) string_to_chars (name, buf, sizeof(buf))
-
-bool gid_to_chars (gid_t gid, char *buf, size_t size);
-bool major_to_chars (major_t m, char *buf, size_t size);
-bool minor_to_chars (minor_t m, char *buf, size_t size);
-bool mode_to_chars (mode_t m, char *buf, size_t size);
+
bool off_to_chars (off_t off, char *buf, size_t size);
-bool size_to_chars (size_t v, char *buf, size_t size);
bool time_to_chars (time_t t, char *buf, size_t size);
-bool uid_to_chars (uid_t uid, char *buf, size_t size);
-bool uintmax_to_chars (uintmax_t v, char *buf, size_t size);
-void string_to_chars (char const *s, char *buf, size_t size);
/* Module diffarch.c. */
void delete_archive_members (void);
/* Module incremen.c. */
-typedef struct dumpdir *dumpdir_t;
-typedef struct dumpdir_iter *dumpdir_iter_t;
-
-dumpdir_t dumpdir_create0 (const char *contents, const char *cmask);
-dumpdir_t dumpdir_create (const char *contents);
-void dumpdir_free (dumpdir_t);
-char *dumpdir_locate (dumpdir_t dump, const char *name);
-char *dumpdir_next (dumpdir_iter_t itr);
-char *dumpdir_first (dumpdir_t dump, int all, dumpdir_iter_t *pitr);
-
-struct directory *scan_directory (char *dir, dev_t device, bool cmdline);
-void name_fill_directory (struct name *name, dev_t device, bool cmdline);
+
+struct directory *scan_directory (struct tar_stat_info *st);
const char *directory_contents (struct directory *dir);
const char *safe_directory_contents (struct directory *dir);
void write_directory_file (void);
void purge_directory (char const *directory_name);
void list_dumpdir (char *buffer, size_t size);
-void update_parent_directory (const char *name);
+void update_parent_directory (struct tar_stat_info *st);
size_t dumpdir_size (const char *p);
bool is_dumpdir (struct tar_stat_info *stat_info);
enum archive_format *format_pointer, int do_user_group);
char const *tartime (struct timespec t, bool full_time);
-#define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where))
-#define MAJOR_FROM_HEADER(where) major_from_header (where, sizeof (where))
-#define MINOR_FROM_HEADER(where) minor_from_header (where, sizeof (where))
-#define MODE_FROM_HEADER(where, hbits) \
- mode_from_header (where, sizeof (where), hbits)
#define OFF_FROM_HEADER(where) off_from_header (where, sizeof (where))
-#define SIZE_FROM_HEADER(where) size_from_header (where, sizeof (where))
-#define TIME_FROM_HEADER(where) time_from_header (where, sizeof (where))
-#define UID_FROM_HEADER(where) uid_from_header (where, sizeof (where))
#define UINTMAX_FROM_HEADER(where) uintmax_from_header (where, sizeof (where))
-gid_t gid_from_header (const char *buf, size_t size);
-major_t major_from_header (const char *buf, size_t size);
-minor_t minor_from_header (const char *buf, size_t size);
-mode_t mode_from_header (const char *buf, size_t size, unsigned *hbits);
off_t off_from_header (const char *buf, size_t size);
-size_t size_from_header (const char *buf, size_t size);
-time_t time_from_header (const char *buf, size_t size);
-uid_t uid_from_header (const char *buf, size_t size);
uintmax_t uintmax_from_header (const char *buf, size_t size);
void list_archive (void);
/* Module misc.c. */
void assign_string (char **dest, const char *src);
-char *quote_copy_string (const char *str);
int unquote_string (char *str);
char *zap_slashes (char *name);
char *normalize_filename (const char *name);
enum { TIMESPEC_STRSIZE_BOUND =
UINTMAX_STRSIZE_BOUND + LOG10_BILLION + sizeof "-." - 1 };
+bool must_be_dot_or_slash (char const *);
+
enum remove_option
{
ORDINARY_REMOVE_OPTION,
bool maybe_backup_file (const char *file_name, bool this_is_the_archive);
void undo_last_backup (void);
-int deref_stat (bool deref, char const *name, struct stat *buf);
+int deref_stat (char const *name, struct stat *buf);
+extern int chdir_current;
+extern int chdir_fd;
int chdir_arg (char const *dir);
void chdir_do (int dir);
int chdir_count (void);
void xpipe (int fd[2]);
void *page_aligned_alloc (void **ptr, size_t size);
-int set_file_atime (int fd, char const *file,
- struct timespec const timespec[2]);
+int set_file_atime (int fd, int parentfd, char const *file,
+ struct timespec atime);
/* Module names.c. */
+extern size_t name_count;
extern struct name *gnu_list_name;
void gid_to_gname (gid_t gid, char **gname);
void remname (struct name *name);
bool name_match (const char *name);
void names_notfound (void);
+void label_notfound (void);
void collect_and_sort_names (void);
struct name *name_scan (const char *name);
struct name const *name_from_list (void);
void usage (int);
int confirm (const char *message_action, const char *name);
-void request_stdin (const char *option);
void tar_stat_init (struct tar_stat_info *st);
+bool tar_stat_close (struct tar_stat_info *st);
void tar_stat_destroy (struct tar_stat_info *st);
void usage (int) __attribute__ ((noreturn));
int tar_timespec_cmp (struct timespec a, struct timespec b);
/* Module xheader.c. */
-void xheader_init (struct xheader *xhdr);
void xheader_decode (struct tar_stat_info *stat);
void xheader_decode_global (struct xheader *xhdr);
void xheader_store (char const *keyword, struct tar_stat_info *st,
void set_transform_expr (const char *expr);
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);
+void set_compression_program_by_suffix (const char *name, const char *defprog);
/* Module checkpoint.c */
void checkpoint_compile_action (const char *str);
/* The warnings composing WARN_VERBOSE_WARNINGS are enabled by default
in verbose mode */
#define WARN_VERBOSE_WARNINGS (WARN_RENAME_DIRECTORY|WARN_NEW_DIRECTORY)
-#define WARN_ALL (0xffffffff & ~WARN_VERBOSE_WARNINGS)
+#define WARN_ALL (~WARN_VERBOSE_WARNINGS)
void set_warning_option (const char *arg);
/* Module exit.c */
extern void (*fatal_exit_hook) (void);
-
size_t data_size;
off_t size = st->stat.st_size;
- mv_begin (st);
+ mv_begin_read (st);
while (size)
{
data_block = find_next_block ();
static int
get_stat_data (char const *file_name, struct stat *stat_data)
{
- int status = deref_stat (dereference_option, file_name, stat_data);
+ int status = deref_stat (file_name, stat_data);
if (status != 0)
{
}
else
{
- int atime_flag =
- (atime_preserve_option == system_atime_preserve
- ? O_NOATIME
- : 0);
-
- diff_handle = open (file_name, O_RDONLY | O_BINARY | atime_flag);
+ diff_handle = openat (chdir_fd, file_name, open_read_flags);
if (diff_handle < 0)
{
if (atime_preserve_option == replace_atime_preserve)
{
- struct timespec ts[2];
- ts[0] = get_stat_atime (&stat_data);
- ts[1] = get_stat_mtime (&stat_data);
- if (set_file_atime (diff_handle, file_name, ts) != 0)
+ struct timespec atime = get_stat_atime (&stat_data);
+ if (set_file_atime (diff_handle, chdir_fd, file_name, atime)
+ != 0)
utime_error (file_name);
}
size_t len = strlen (current_stat_info.link_name);
char *linkbuf = alloca (len + 1);
- int status = readlink (current_stat_info.file_name, linkbuf, len + 1);
+ int status = readlinkat (chdir_fd, current_stat_info.file_name,
+ linkbuf, len + 1);
if (status < 0)
{
dumpdir_cmp (const char *a, const char *b)
{
size_t len;
-
+
while (*a)
switch (*a)
{
a += len;
b += len;
break;
-
+
case 'D':
if (strcmp(a, b))
return 1;
a += len;
b += len;
break;
-
+
case 'R':
case 'T':
case 'X':
dev_t dev = 0;
struct stat stat_data;
- if (deref_stat (true, current_stat_info.file_name, &stat_data))
+ if (deref_stat (current_stat_info.file_name, &stat_data) != 0)
{
if (errno == ENOENT)
stat_warn (current_stat_info.file_name);
else
dev = stat_data.st_dev;
- dumpdir_buffer = directory_contents
- (scan_directory (current_stat_info.file_name, dev, false));
+ dumpdir_buffer = directory_contents (scan_directory (¤t_stat_info));
if (dumpdir_buffer)
{
return;
}
- fd = open (current_stat_info.file_name, O_RDONLY | O_BINARY);
+
+ fd = openat (chdir_fd, current_stat_info.file_name, open_read_flags);
if (fd < 0)
{
{
set_next_block_after (current_header);
- decode_header (current_header, ¤t_stat_info, ¤t_format, 1);
/* Print the block from current_header and current_stat_info. */
flush_read ();
while (1)
{
- enum read_header status = read_header (¤t_header,
- ¤t_stat_info,
+ enum read_header status = read_header (¤t_header,
+ ¤t_stat_info,
read_header_auto);
if (status == HEADER_FAILURE)
{
char buf[UINTMAX_STRSIZE_BOUND];
- status = read_header (¤t_header, ¤t_stat_info,
+ status = read_header (¤t_header, ¤t_stat_info,
read_header_auto);
if (status == HEADER_ZERO_BLOCK)
break;
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
}
}
-
+
diff_archive ();
tar_stat_destroy (¤t_stat_info);
}
#include "common.h"
#include <hash.h>
+/* Error number to use when an impostor is discovered.
+ Pretend the impostor isn't there. */
+enum { IMPOSTOR_ERRNO = ENOENT };
+
struct link
{
dev_t dev;
ino_t ino;
- size_t nlink;
+ nlink_t nlink;
char name[1];
};
const char *name;
size_t length;
enum exclusion_tag_type type;
- bool (*predicate) (const char *name);
+ bool (*predicate) (int fd);
struct exclusion_tag *next;
};
void
add_exclusion_tag (const char *name, enum exclusion_tag_type type,
- bool (*predicate) (const char *name))
+ bool (*predicate) (int fd))
{
struct exclusion_tag *tag = xmalloc (sizeof tag[0]);
tag->next = exclusion_tags;
message));
}
-enum exclusion_tag_type
-check_exclusion_tags (const char *dirname, const char **tag_file_name)
+enum exclusion_tag_type
+check_exclusion_tags (struct tar_stat_info const *st, char const **tag_file_name)
{
- static char *tagname;
- static size_t tagsize;
struct exclusion_tag *tag;
- size_t dlen = strlen (dirname);
- int addslash = !ISSLASH (dirname[dlen-1]);
- size_t noff = 0;
-
+
for (tag = exclusion_tags; tag; tag = tag->next)
{
- size_t size = dlen + addslash + tag->length + 1;
- if (size > tagsize)
- {
- tagsize = size;
- tagname = xrealloc (tagname, tagsize);
- }
-
- if (noff == 0)
- {
- strcpy (tagname, dirname);
- noff = dlen;
- if (addslash)
- tagname[noff++] = '/';
- }
- strcpy (tagname + noff, tag->name);
- if (access (tagname, F_OK) == 0
- && (!tag->predicate || tag->predicate (tagname)))
+ int tagfd = subfile_open (st, tag->name, open_read_flags);
+ if (0 <= tagfd)
{
- if (tag_file_name)
- *tag_file_name = tag->name;
- return tag->type;
+ bool satisfied = !tag->predicate || tag->predicate (tagfd);
+ close (tagfd);
+ if (satisfied)
+ {
+ if (tag_file_name)
+ *tag_file_name = tag->name;
+ return tag->type;
+ }
}
}
#define CACHEDIR_SIGNATURE_SIZE (sizeof CACHEDIR_SIGNATURE - 1)
bool
-cachedir_file_p (const char *name)
+cachedir_file_p (int fd)
{
- bool tag_present = false;
- int fd = open (name, O_RDONLY);
- if (fd >= 0)
- {
- static char tagbuf[CACHEDIR_SIGNATURE_SIZE];
+ char tagbuf[CACHEDIR_SIGNATURE_SIZE];
- if (read (fd, tagbuf, CACHEDIR_SIGNATURE_SIZE)
- == CACHEDIR_SIGNATURE_SIZE
- && memcmp (tagbuf, CACHEDIR_SIGNATURE, CACHEDIR_SIGNATURE_SIZE) == 0)
- tag_present = true;
-
- close (fd);
- }
- return tag_present;
+ return
+ (read (fd, tagbuf, CACHEDIR_SIGNATURE_SIZE) == CACHEDIR_SIGNATURE_SIZE
+ && memcmp (tagbuf, CACHEDIR_SIGNATURE, CACHEDIR_SIGNATURE_SIZE) == 0);
}
\f
while (i);
}
+#define GID_TO_CHARS(val, where) gid_to_chars (val, where, sizeof (where))
+#define MAJOR_TO_CHARS(val, where) major_to_chars (val, where, sizeof (where))
+#define MINOR_TO_CHARS(val, where) minor_to_chars (val, where, sizeof (where))
+#define MODE_TO_CHARS(val, where) mode_to_chars (val, where, sizeof (where))
+#define UID_TO_CHARS(val, where) uid_to_chars (val, where, sizeof (where))
+
+#define UNAME_TO_CHARS(name,buf) string_to_chars (name, buf, sizeof(buf))
+#define GNAME_TO_CHARS(name,buf) string_to_chars (name, buf, sizeof(buf))
static bool
to_chars (int negative, uintmax_t value, size_t valsize,
1. In OLDGNU_FORMAT all strings in a tar header end in \0
2. Incremental archives use oldgnu_header.
-
+
Apart from this they are completely identical. */
uintmax_t s = (negsub &= archive_format == GNU_FORMAT) ? - sub : sub;
char subbuf[UINTMAX_STRSIZE_BOUND + 1];
return r;
}
-bool
+static bool
gid_to_chars (gid_t v, char *p, size_t s)
{
return to_chars (v < 0, (uintmax_t) v, sizeof v, gid_substitute, p, s, "gid_t");
}
-bool
+static bool
major_to_chars (major_t v, char *p, size_t s)
{
return to_chars (v < 0, (uintmax_t) v, sizeof v, 0, p, s, "major_t");
}
-bool
+static bool
minor_to_chars (minor_t v, char *p, size_t s)
{
return to_chars (v < 0, (uintmax_t) v, sizeof v, 0, p, s, "minor_t");
}
-bool
+static bool
mode_to_chars (mode_t v, char *p, size_t s)
{
/* In the common case where the internal and external mode bits are the same,
return to_chars (v < 0, (uintmax_t) v, sizeof v, 0, p, s, "off_t");
}
-bool
-size_to_chars (size_t v, char *p, size_t s)
-{
- return to_chars (0, (uintmax_t) v, sizeof v, 0, p, s, "size_t");
-}
-
bool
time_to_chars (time_t v, char *p, size_t s)
{
return r;
}
-bool
+static bool
uid_to_chars (uid_t v, char *p, size_t s)
{
return to_chars (v < 0, (uintmax_t) v, sizeof v, uid_substitute, p, s, "uid_t");
}
-bool
+static bool
uintmax_to_chars (uintmax_t v, char *p, size_t s)
{
return to_chars (0, v, sizeof v, 0, p, s, "uintmax_t");
}
-void
+static void
string_to_chars (char const *str, char *p, size_t s)
{
tar_copy_str (p, str, s);
}
\f
-/* A file is considered dumpable if it is sparse and both --sparse and --totals
+/* A directory is always considered dumpable.
+ Otherwise, only regular and contiguous files are considered dumpable.
+ Such a file is dumpable if it is sparse and both --sparse and --totals
are specified.
Otherwise, it is dumpable unless any of the following conditions occur:
a) it is empty *and* world-readable, or
b) current archive is /dev/null */
-bool
-file_dumpable_p (struct tar_stat_info *st)
+static bool
+file_dumpable_p (struct stat const *st)
{
+ if (S_ISDIR (st->st_mode))
+ return true;
+ if (! (S_ISREG (st->st_mode) || S_ISCTG (st->st_mode)))
+ return false;
if (dev_null_output)
- return totals_option && sparse_option && ST_IS_SPARSE (st->stat);
- return !(st->archive_file_size == 0
- && (st->stat.st_mode & MODE_R) == MODE_R);
+ return totals_option && sparse_option && ST_IS_SPARSE (*st);
+ return ! (st->st_size == 0 && (st->st_mode & MODE_R) == MODE_R);
}
\f
size_t length = strlen (name);
size_t i, nlen;
union block *header;
-
+
if (length > PREFIX_FIELD_SIZE + NAME_FIELD_SIZE + 1)
{
ERROR ((0, 0, _("%s: file name is too long (max %d); not dumped"),
char *p;
int type;
time_t t;
-
+
if (st->xhdr.buffer || st->xhdr.stk == NULL)
return old_header;
union block *blk;
while (size_left > 0)
{
- mv_size_left (size_left);
blk = find_next_block ();
memset (blk->buffer, 0, BLOCKSIZE);
set_next_block_after (blk);
finish_header (st, blk, block_ordinal);
- mv_begin (st);
+ mv_begin_write (st->file_name, st->stat.st_size, st->stat.st_size);
while (size_left > 0)
{
size_t bufsize, count;
-
- mv_size_left (size_left);
blk = find_next_block ();
memset (blk->buffer + size_left, 0, BLOCKSIZE - count);
}
- count = (fd < 0) ? bufsize : safe_read (fd, blk->buffer, bufsize);
+ count = (fd <= 0) ? bufsize : safe_read (fd, blk->buffer, bufsize);
if (count == SAFE_READ_ERROR)
{
read_diag_details (st->orig_file_name,
size_left),
quotearg_colon (st->orig_file_name),
STRINGIFY_BIGINT (size_left, buf)));
- if (! ignore_failed_read_option)
+ if (! ignore_failed_read_option)
set_exit_status (TAREXIT_DIFFERS);
pad_archive (size_left - (bufsize - count));
return dump_status_short;
}
\f
+/* Copy info from the directory identified by ST into the archive.
+ DIRECTORY contains the directory's entries. */
+
static void
-dump_dir0 (char *directory,
- struct tar_stat_info *st, bool top_level, dev_t parent_device)
+dump_dir0 (struct tar_stat_info *st, char const *directory)
{
- dev_t our_device = st->stat.st_dev;
+ bool top_level = ! st->parent;
const char *tag_file_name;
union block *blk = NULL;
off_t block_ordinal = current_block_ordinal ();
size_t bufsize;
ssize_t count;
const char *buffer, *p_buffer;
-
+
block_ordinal = current_block_ordinal ();
buffer = safe_directory_contents (gnu_list_name->directory);
totsize = dumpdir_size (buffer);
finish_header (st, blk, block_ordinal);
p_buffer = buffer;
size_left = totsize;
-
- mv_begin (st);
- mv_total_size (totsize);
+
+ mv_begin_write (st->file_name, totsize, totsize);
while (size_left > 0)
{
- mv_size_left (size_left);
blk = find_next_block ();
bufsize = available_space_after (blk);
if (size_left < bufsize)
p_buffer += bufsize;
set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
}
- mv_end ();
}
return;
}
if (one_file_system_option
&& !top_level
- && parent_device != st->stat.st_dev)
+ && st->parent->stat.st_dev != st->stat.st_dev)
{
if (verbose_option)
WARNOPT (WARN_XDEV,
{
char *name_buf;
size_t name_size;
-
- switch (check_exclusion_tags (st->orig_file_name, &tag_file_name))
+
+ switch (check_exclusion_tags (st, &tag_file_name))
{
case exclusion_tag_all:
/* Handled in dump_file0 */
break;
-
+
case exclusion_tag_none:
{
char const *entry;
name_size = name_len = strlen (name_buf);
/* Now output all the files in the directory. */
- /* FIXME: Should speed this up by cd-ing into the dir. */
for (entry = directory; (entry_len = strlen (entry)) != 0;
entry += entry_len + 1)
{
}
strcpy (name_buf + name_len, entry);
if (!excluded_name (name_buf))
- dump_file (name_buf, false, our_device);
+ dump_file (st, entry, name_buf);
}
-
+
free (name_buf);
}
break;
name_buf = xmalloc (name_size);
strcpy (name_buf, st->orig_file_name);
strcat (name_buf, tag_file_name);
- dump_file (name_buf, false, our_device);
+ dump_file (st, tag_file_name, name_buf);
free (name_buf);
break;
-
+
case exclusion_tag_under:
exclusion_tag_warning (st->orig_file_name, tag_file_name,
_("contents not dumped"));
(*pstr)[len] = '\0';
}
+/* If we just ran out of file descriptors, release a file descriptor
+ in the directory chain somewhere leading from DIR->parent->parent
+ up through the root. Return true if successful, false (preserving
+ errno == EMFILE) otherwise.
+
+ Do not release DIR's file descriptor, or DIR's parent, as other
+ code assumes that they work. On some operating systems, another
+ process can claim file descriptor resources as we release them, and
+ some calls or their emulations require multiple file descriptors,
+ so callers should not give up if a single release doesn't work. */
+
+static bool
+open_failure_recover (struct tar_stat_info const *dir)
+{
+ if (errno == EMFILE && dir && dir->parent)
+ {
+ struct tar_stat_info *p;
+ for (p = dir->parent->parent; p; p = p->parent)
+ if (0 < p->fd && (! p->parent || p->parent->fd <= 0))
+ {
+ tar_stat_close (p);
+ return true;
+ }
+ errno = EMFILE;
+ }
+
+ return false;
+}
+
+/* Return the directory entries of ST, in a dynamically allocated buffer,
+ each entry followed by '\0' and the last followed by an extra '\0'.
+ Return null on failure, setting errno. */
+char *
+get_directory_entries (struct tar_stat_info *st)
+{
+ while (! (st->dirstream = fdopendir (st->fd)))
+ if (! open_failure_recover (st))
+ return 0;
+ return streamsavedir (st->dirstream);
+}
+
+/* Dump the directory ST. Return true if successful, false (emitting
+ diagnostics) otherwise. Get ST's entries, recurse through its
+ subdirectories, and clean up file descriptors afterwards. */
static bool
-dump_dir (int fd, struct tar_stat_info *st, bool top_level,
- dev_t parent_device)
+dump_dir (struct tar_stat_info *st)
{
- char *directory = fdsavedir (fd);
- if (!directory)
+ char *directory = get_directory_entries (st);
+ if (! directory)
{
savedir_diag (st->orig_file_name);
return false;
}
- dump_dir0 (directory, st, top_level, parent_device);
+ dump_dir0 (st, directory);
+ restore_parent_fd (st);
free (directory);
return true;
}
+\f
+/* Number of links a file can have without having to be entered into
+ the link table. Typically this is 1, but in trickier circumstances
+ it is 0. */
+static nlink_t trivial_link_count;
+
\f
/* Main functions of this module. */
{
struct name const *p;
+ trivial_link_count = name_count <= 1 && ! dereference_option;
+
open_archive (ACCESS_WRITE);
buffer_write_global_xheader ();
while ((p = name_from_list ()) != NULL)
if (!excluded_name (p->name))
- dump_file (p->name, p->cmdline, (dev_t) 0);
+ dump_file (0, p->name, p->name);
blank_name_list ();
while ((p = name_from_list ()) != NULL)
if (!excluded_name (p->name))
{
+ struct tar_stat_info st;
size_t plen = strlen (p->name);
if (buffer_size <= plen)
{
memcpy (buffer, p->name, plen);
if (! ISSLASH (buffer[plen - 1]))
buffer[plen++] = DIRECTORY_SEPARATOR;
+ tar_stat_init (&st);
q = directory_contents (gnu_list_name->directory);
if (q)
while (*q)
size_t qlen = strlen (q);
if (*q == 'Y')
{
+ if (! st.orig_file_name)
+ {
+ int fd = openat (chdir_fd, p->name,
+ open_searchdir_flags);
+ if (fd < 0)
+ {
+ open_diag (p->name);
+ break;
+ }
+ st.fd = fd;
+ if (fstat (fd, &st.stat) != 0)
+ {
+ stat_diag (p->name);
+ break;
+ }
+ st.orig_file_name = xstrdup (p->name);
+ }
if (buffer_size < plen + qlen)
{
while ((buffer_size *=2 ) < plen + qlen)
buffer = xrealloc (buffer, buffer_size);
}
strcpy (buffer + plen, q + 1);
- dump_file (buffer, false, (dev_t) 0);
+ dump_file (&st, q + 1, buffer);
}
q += qlen + 1;
}
+ tar_stat_destroy (&st);
}
free (buffer);
}
const char *name;
while ((name = name_next (1)) != NULL)
if (!excluded_name (name))
- dump_file (name, true, (dev_t) 0);
+ dump_file (0, name, name);
}
write_eot ();
static bool
dump_hard_link (struct tar_stat_info *st)
{
- if (link_table && (st->stat.st_nlink > 1 || remove_files_option))
+ if (link_table
+ && (trivial_link_count < st->stat.st_nlink || remove_files_option))
{
struct link lp;
struct link *duplicate;
{
if (hard_dereference_option)
return;
- if (st->stat.st_nlink > 1)
+ if (trivial_link_count < st->stat.st_nlink)
{
struct link *duplicate;
char *linkname = NULL;
assign_string (&linkname, st->orig_file_name);
transform_name (&linkname, XFORM_LINK);
-
+
lp = xmalloc (offsetof (struct link, name)
+ strlen (linkname) + 1);
lp->ino = st->stat.st_ino;
lp->nlink = st->stat.st_nlink;
strcpy (lp->name, linkname);
free (linkname);
-
+
if (! ((link_table
|| (link_table = hash_initialize (0, 0, hash_link,
compare_links, 0)))
&& (duplicate = hash_insert (link_table, lp))))
xalloc_die ();
-
+
if (duplicate != lp)
abort ();
lp->nlink--;
}
}
-/* Dump a single file, recursing on directories. P is the file name
- to dump. TOP_LEVEL tells whether this is a top-level call; zero
- means no, positive means yes, and negative means the top level
- of an incremental dump. PARENT_DEVICE is the device of P's
- parent directory; it is examined only if TOP_LEVEL is zero. */
+/* Assuming DIR is the working directory, open FILE, using FLAGS to
+ control the open. A null DIR means to use ".". If we are low on
+ file descriptors, try to release one or more from DIR's parents to
+ reuse it. */
+int
+subfile_open (struct tar_stat_info const *dir, char const *file, int flags)
+{
+ int fd;
+
+ static bool initialized;
+ if (! initialized)
+ {
+ /* Initialize any tables that might be needed when file
+ descriptors are exhausted, and whose initialization might
+ require a file descriptor. This includes the system message
+ catalog and tar's message catalog. */
+ initialized = true;
+ strerror (ENOENT);
+ gettext ("");
+ }
+
+ while ((fd = openat (dir ? dir->fd : chdir_fd, file, flags)) < 0
+ && open_failure_recover (dir))
+ continue;
+ return fd;
+}
+
+/* Restore the file descriptor for ST->parent, if it was temporarily
+ closed to conserve file descriptors. On failure, set the file
+ descriptor to the negative of the corresponding errno value. Call
+ this every time a subdirectory is ascended from. */
+void
+restore_parent_fd (struct tar_stat_info const *st)
+{
+ struct tar_stat_info *parent = st->parent;
+ if (parent && ! parent->fd)
+ {
+ int parentfd = openat (st->fd, "..", open_searchdir_flags);
+ struct stat parentstat;
+
+ if (parentfd < 0)
+ parentfd = - errno;
+ else if (! (fstat (parentfd, &parentstat) == 0
+ && parent->stat.st_ino == parentstat.st_ino
+ && parent->stat.st_dev == parentstat.st_dev))
+ {
+ close (parentfd);
+ parentfd = IMPOSTOR_ERRNO;
+ }
+
+ if (parentfd < 0)
+ {
+ int origfd = openat (chdir_fd, parent->orig_file_name,
+ open_searchdir_flags);
+ if (0 <= origfd)
+ {
+ if (fstat (parentfd, &parentstat) == 0
+ && parent->stat.st_ino == parentstat.st_ino
+ && parent->stat.st_dev == parentstat.st_dev)
+ parentfd = origfd;
+ else
+ close (origfd);
+ }
+ }
+
+ parent->fd = parentfd;
+ }
+}
+
+/* Dump a single file, recursing on directories. ST is the file's
+ status info, NAME its name relative to the parent directory, and P
+ its full name (which may be relative to the working directory). */
/* FIXME: One should make sure that for *every* path leading to setting
exit_status to failure, a clear diagnostic has been issued. */
static void
-dump_file0 (struct tar_stat_info *st, const char *p,
- bool top_level, dev_t parent_device)
+dump_file0 (struct tar_stat_info *st, char const *name, char const *p)
{
union block *header;
char type;
off_t original_size;
struct timespec original_ctime;
- struct timespec restore_times[2];
off_t block_ordinal = -1;
+ int fd = 0;
bool is_dir;
+ struct tar_stat_info const *parent = st->parent;
+ bool top_level = ! parent;
+ int parentfd = top_level ? chdir_fd : parent->fd;
+ void (*diag) (char const *) = 0;
if (interactive_option && !confirm ("add", p))
return;
transform_name (&st->file_name, XFORM_REGFILE);
- if (deref_stat (dereference_option, p, &st->stat) != 0)
+ if (parentfd < 0 && ! top_level)
+ {
+ errno = - parentfd;
+ diag = open_diag;
+ }
+ else if (fstatat (parentfd, name, &st->stat, fstatat_flags) != 0)
+ diag = stat_diag;
+ else if (file_dumpable_p (&st->stat))
+ {
+ fd = subfile_open (parent, name, open_read_flags);
+ if (fd < 0)
+ diag = open_diag;
+ else
+ {
+ st->fd = fd;
+ if (fstat (fd, &st->stat) != 0)
+ diag = stat_diag;
+ }
+ }
+ if (diag)
{
- file_removed_diag (p, top_level, stat_diag);
+ file_removed_diag (p, top_level, diag);
return;
}
+
st->archive_file_size = original_size = st->stat.st_size;
- st->atime = restore_times[0] = get_stat_atime (&st->stat);
- st->mtime = restore_times[1] = get_stat_mtime (&st->stat);
+ st->atime = get_stat_atime (&st->stat);
+ st->mtime = get_stat_mtime (&st->stat);
st->ctime = original_ctime = get_stat_ctime (&st->stat);
#ifdef S_ISHIDDEN
/* See if we want only new files, and check if this one is too old to
put in the archive.
-
+
This check is omitted if incremental_option is set *and* the
requested file is not explicitely listed in the command line. */
-
+
if (!(incremental_option && !is_individual_file (p))
&& !S_ISDIR (st->stat.st_mode)
&& OLDER_TAR_STAT_TIME (*st, m)
if (is_dir || S_ISREG (st->stat.st_mode) || S_ISCTG (st->stat.st_mode))
{
bool ok;
- int fd = -1;
struct stat final_stat;
- if (is_dir || file_dumpable_p (st))
- {
- fd = open (p,
- (O_RDONLY | O_BINARY
- | (is_dir ? O_DIRECTORY | O_NONBLOCK : 0)
- | (atime_preserve_option == system_atime_preserve
- ? O_NOATIME
- : 0)));
- if (fd < 0)
- {
- file_removed_diag (p, top_level, open_diag);
- return;
- }
- }
-
if (is_dir)
{
const char *tag_file_name;
ensure_slash (&st->orig_file_name);
ensure_slash (&st->file_name);
- if (check_exclusion_tags (st->orig_file_name, &tag_file_name)
- == exclusion_tag_all)
+ if (check_exclusion_tags (st, &tag_file_name) == exclusion_tag_all)
{
exclusion_tag_warning (st->orig_file_name, tag_file_name,
_("directory not dumped"));
- if (fd >= 0)
- close (fd);
return;
}
-
- ok = dump_dir (fd, st, top_level, parent_device);
- /* dump_dir consumes FD if successful. */
- if (ok)
- fd = -1;
+ ok = dump_dir (st);
+
+ fd = st->fd;
+ parentfd = top_level ? chdir_fd : parent->fd;
}
else
{
enum dump_status status;
- if (fd != -1 && sparse_option && ST_IS_SPARSE (st->stat))
+ if (fd && sparse_option && ST_IS_SPARSE (st->stat))
{
status = sparse_dump_file (fd, st);
if (status == dump_status_not_implemented)
{
case dump_status_ok:
case dump_status_short:
- mv_end ();
file_count_links (st);
break;
if (ok)
{
- /* If possible, reopen a directory if we are preserving
- atimes, so that we can set just the atime on systems with
- _FIOSATIME. */
- if (fd < 0 && is_dir
- && atime_preserve_option == replace_atime_preserve)
- fd = open (p, O_RDONLY | O_BINARY | O_DIRECTORY | O_NONBLOCK);
-
- if ((fd < 0
- ? deref_stat (dereference_option, p, &final_stat)
- : fstat (fd, &final_stat))
- != 0)
+ if (fd < 0)
{
- file_removed_diag (p, top_level, stat_diag);
+ errno = - fd;
ok = false;
}
+ else if (fd == 0)
+ {
+ if (parentfd < 0 && ! top_level)
+ {
+ errno = - parentfd;
+ ok = false;
+ }
+ else
+ ok = fstatat (parentfd, name, &final_stat, fstatat_flags) == 0;
+ }
+ else
+ ok = fstat (fd, &final_stat) == 0;
+
+ if (! ok)
+ file_removed_diag (p, top_level, stat_diag);
}
if (ok)
set_exit_status (TAREXIT_DIFFERS);
}
else if (atime_preserve_option == replace_atime_preserve
- && set_file_atime (fd, p, restore_times) != 0)
+ && set_file_atime (fd, parentfd, name, st->atime) != 0)
utime_error (p);
}
- if (0 <= fd && close (fd) != 0)
- {
- close_diag (p);
- ok = false;
- }
-
+ ok &= tar_stat_close (st);
if (ok && remove_files_option)
queue_deferred_unlink (p, is_dir);
if (linklen != st->stat.st_size || linklen + 1 == 0)
xalloc_die ();
buffer = (char *) alloca (linklen + 1);
- size = readlink (p, buffer, linklen + 1);
+ size = readlinkat (parentfd, name, buffer, linklen + 1);
if (size < 0)
{
file_removed_diag (p, top_level, readlink_diag);
queue_deferred_unlink (p, false);
}
+/* Dump a file, recursively. PARENT describes the file's parent
+ directory, NAME is the file's name relative to PARENT, and FULLNAME
+ its full name, possibly relative to the working directory. NAME
+ may contain slashes at the top level of invocation. */
+
void
-dump_file (const char *p, bool top_level, dev_t parent_device)
+dump_file (struct tar_stat_info *parent, char const *name,
+ char const *fullname)
{
struct tar_stat_info st;
tar_stat_init (&st);
- dump_file0 (&st, p, top_level, parent_device);
- if (listed_incremental_option)
- update_parent_directory (p);
+ st.parent = parent;
+ dump_file0 (&st, name, fullname);
+ if (parent && listed_incremental_option)
+ update_parent_directory (parent);
tar_stat_destroy (&st);
}
if (current_block == record_end)
flush_archive ();
- status = read_header (¤t_header, ¤t_stat_info,
+ status = read_header (¤t_header, ¤t_stat_info,
read_header_auto);
xheader_decode (¤t_stat_info);
set_next_block_after (current_header);
blocks_to_skip = (current_stat_info.stat.st_size
+ BLOCKSIZE - 1) / BLOCKSIZE;
-
+
while (record_end - current_block <= blocks_to_skip)
{
blocks_to_skip -= (record_end - current_block);
-/* This file is part of GNU tar.
+/* This file is part of GNU tar.
Copyright (C) 2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
#include <system.h>
#include <quotearg.h>
-#include <utimens.h>
#include <errno.h>
-#include <xgetcwd.h>
#include <priv-set.h>
+#include <utimens.h>
#include "common.h"
static mode_t newdir_umask; /* umask when creating new directories */
static mode_t current_umask; /* current umask (which is set to 0 if -p) */
-/* Status of the permissions of a file that we are extracting. */
-enum permstatus
-{
- /* This file may have existed already; its permissions are unknown. */
- UNKNOWN_PERMSTATUS,
+#define ALL_MODE_BITS ((mode_t) ~ (mode_t) 0)
- /* This file was created using the permissions from the archive,
- except with S_IRWXG | S_IRWXO masked out if 0 < same_owner_option. */
- ARCHIVED_PERMSTATUS,
+#if ! HAVE_FCHMOD && ! defined fchmod
+# define fchmod(fd, mode) (errno = ENOSYS, -1)
+#endif
+#if ! HAVE_FCHOWN && ! defined fchown
+# define fchown(fd, uid, gid) (errno = ENOSYS, -1)
+#endif
- /* This is an intermediate directory; the archive did not specify
- its permissions. */
- INTERDIR_PERMSTATUS
-};
+/* Return true if an error number ERR means the system call is
+ supported in this case. */
+static bool
+implemented (int err)
+{
+ return ! (err == ENOSYS
+ || err == ENOTSUP
+ || (EOPNOTSUPP != ENOTSUP && err == EOPNOTSUPP));
+}
/* List of directories whose statuses we need to extract after we've
finished extracting their subsidiary files. If you consider each
struct delayed_set_stat
{
+ /* Next directory in list. */
struct delayed_set_stat *next;
+
+ /* Metadata for this directory. */
dev_t dev;
ino_t ino;
- mode_t mode;
+ mode_t mode; /* The desired mode is MODE & ~ current_umask. */
uid_t uid;
gid_t gid;
struct timespec atime;
struct timespec mtime;
- size_t file_name_len;
- mode_t invert_permissions;
- enum permstatus permstatus;
+
+ /* An estimate of the directory's current mode, along with a mask
+ specifying which bits of this estimate are known to be correct.
+ If CURRENT_MODE_MASK is zero, CURRENT_MODE's value doesn't
+ matter. */
+ mode_t current_mode;
+ mode_t current_mode_mask;
+
+ /* This directory is an intermediate directory that was created
+ as an ancestor of some other directory; it was not mentioned
+ in the archive, so do not set its uid, gid, atime, or mtime,
+ and don't alter its mode outside of MODE_RWX. */
+ bool interdir;
+
+ /* Whether symbolic links should be followed when accessing the
+ directory. */
+ int atflag;
+
+ /* Do not set the status of this directory until after delayed
+ links are created. */
bool after_links;
+
+ /* Directory that the name is relative to. */
+ int change_dir;
+
+ /* Length and contents of name. */
+ size_t file_name_len;
char file_name[1];
};
/* The next delayed link in the list. */
struct delayed_link *next;
- /* The device, inode number and last-modified time of the placeholder. */
+ /* The device, inode number and ctime of the placeholder. Use
+ ctime, not mtime, to make false matches less likely if some
+ other process removes the placeholder. */
dev_t dev;
ino_t ino;
- struct timespec mtime;
+ struct timespec ctime;
/* True if the link is symbolic. */
bool is_symlink;
- /* The desired owner and group of the link, if it is a symlink. */
+ /* The desired metadata, valid only the link is symbolic. */
+ mode_t mode;
uid_t uid;
gid_t gid;
+ struct timespec atime;
+ struct timespec mtime;
+
+ /* The directory that the sources and target are relative to. */
+ int change_dir;
/* A list of sources for this link. The sources are all to be
hard-linked together. */
}
}
-/* If restoring permissions, restore the mode for FILE_NAME from
- information given in *STAT_INFO (where *CUR_INFO gives
- the current status if CUR_INFO is nonzero); otherwise invert the
- INVERT_PERMISSIONS bits from the file's current permissions.
- PERMSTATUS specifies the status of the file's permissions.
- TYPEFLAG specifies the type of the file. */
-static void
-set_mode (char const *file_name,
- struct stat const *stat_info,
- struct stat const *cur_info,
- mode_t invert_permissions, enum permstatus permstatus,
- char typeflag)
+/* Use fchmod if possible, fchmodat otherwise. */
+static int
+fd_chmod (int fd, char const *file, mode_t mode, int atflag)
{
- mode_t mode;
- bool failed;
-
- if (0 < same_permissions_option
- && permstatus != INTERDIR_PERMSTATUS)
+ if (0 <= fd)
{
- mode = stat_info->st_mode;
-
- /* If we created the file and it has a mode that we set already
- with O_CREAT, then its mode is often set correctly already.
- But if we are changing ownership, the mode's group and and
- other permission bits were omitted originally, so it's less
- likely that the mode is OK now. Also, on many hosts, some
- directories inherit the setgid bits from their parents, so we
- we must set directories' modes explicitly. */
- if ((permstatus == ARCHIVED_PERMSTATUS
- && ! (mode & ~ (0 < same_owner_option ? S_IRWXU : MODE_RWX)))
- && typeflag != DIRTYPE
- && typeflag != GNUTYPE_DUMPDIR)
- return;
+ int result = fchmod (fd, mode);
+ if (result == 0 || implemented (errno))
+ return result;
}
- else if (! invert_permissions)
- return;
- else
+ return fchmodat (chdir_fd, file, mode, atflag);
+}
+
+/* Use fchown if possible, fchownat otherwise. */
+static int
+fd_chown (int fd, char const *file, uid_t uid, gid_t gid, int atflag)
+{
+ if (0 <= fd)
{
- /* We must inspect a directory's current permissions, since the
- directory may have inherited its setgid bit from its parent.
+ int result = fchown (fd, uid, gid);
+ if (result == 0 || implemented (errno))
+ return result;
+ }
+ return fchownat (chdir_fd, file, uid, gid, atflag);
+}
- INVERT_PERMISSIONS happens to be nonzero only for directories
- that we created, so there's no point optimizing this code for
- other cases. */
- struct stat st;
- if (! cur_info)
+/* Use fstat if possible, fstatat otherwise. */
+static int
+fd_stat (int fd, char const *file, struct stat *st, int atflag)
+{
+ return (0 <= fd
+ ? fstat (fd, st)
+ : fstatat (chdir_fd, file, st, atflag));
+}
+
+/* Set the mode for FILE_NAME to MODE.
+ MODE_MASK specifies the bits of MODE that we care about;
+ thus if MODE_MASK is zero, do nothing.
+ If FD is nonnegative, it is a file descriptor for the file.
+ CURRENT_MODE and CURRENT_MODE_MASK specify information known about
+ the file's current mode, using the style of struct delayed_set_stat.
+ TYPEFLAG specifies the type of the file.
+ ATFLAG specifies the flag to use when statting the file. */
+static void
+set_mode (char const *file_name,
+ mode_t mode, mode_t mode_mask, int fd,
+ mode_t current_mode, mode_t current_mode_mask,
+ char typeflag, int atflag)
+{
+ if (((current_mode ^ mode) | ~ current_mode_mask) & mode_mask)
+ {
+ if (MODE_ALL & ~ mode_mask & ~ current_mode_mask)
{
- if (stat (file_name, &st) != 0)
+ struct stat st;
+ if (fd_stat (fd, file_name, &st, atflag) != 0)
{
stat_error (file_name);
return;
}
- cur_info = &st;
+ current_mode = st.st_mode;
}
- mode = cur_info->st_mode ^ invert_permissions;
- }
- failed = chmod (file_name, mode) != 0;
- if (failed && errno == EPERM)
- {
- /* On Solaris, chmod may fail if we don't have PRIV_ALL. */
- if (priv_set_restore_linkdir () == 0)
+ current_mode &= MODE_ALL;
+ mode = (current_mode & ~ mode_mask) | (mode & mode_mask);
+
+ if (current_mode != mode)
{
- failed = chmod (file_name, mode) != 0;
- priv_set_remove_linkdir ();
+ int chmod_errno =
+ fd_chmod (fd, file_name, mode, atflag) == 0 ? 0 : errno;
+
+ /* On Solaris, chmod may fail if we don't have PRIV_ALL, because
+ setuid-root files would otherwise be a backdoor. See
+ http://opensolaris.org/jive/thread.jspa?threadID=95826
+ (2009-09-03). */
+ if (chmod_errno == EPERM && (mode & S_ISUID)
+ && priv_set_restore_linkdir () == 0)
+ {
+ chmod_errno =
+ fd_chmod (fd, file_name, mode, atflag) == 0 ? 0 : errno;
+ priv_set_remove_linkdir ();
+ }
+
+ /* Linux fchmodat does not support AT_SYMLINK_NOFOLLOW, and
+ returns ENOTSUP even when operating on non-symlinks, try
+ again with the flag disabled if it does not appear to be
+ supported and if the file is not a symlink. This
+ introduces a race, alas. */
+ if (atflag && typeflag != SYMTYPE && ! implemented (chmod_errno))
+ chmod_errno = fd_chmod (fd, file_name, mode, 0) == 0 ? 0 : errno;
+
+ if (chmod_errno
+ && (typeflag != SYMTYPE || implemented (chmod_errno)))
+ {
+ errno = chmod_errno;
+ chmod_error_details (file_name, mode);
+ }
}
}
- if (failed)
- chmod_error_details (file_name, mode);
}
/* Check time after successfully setting FILE_NAME's time stamp to T. */
/* Restore stat attributes (owner, group, mode and times) for
FILE_NAME, using information given in *ST.
- If CUR_INFO is nonzero, *CUR_INFO is the
- file's current status.
- If not restoring permissions, invert the
- INVERT_PERMISSIONS bits from the file's current permissions.
- PERMSTATUS specifies the status of the file's permissions.
- TYPEFLAG specifies the type of the file. */
-
-/* FIXME: About proper restoration of symbolic link attributes, we still do
- not have it right. Pretesters' reports tell us we need further study and
- probably more configuration. For now, just use lchown if it exists, and
- punt for the rest. Sigh! */
+ If FD is nonnegative, it is a file descriptor for the file.
+ CURRENT_MODE and CURRENT_MODE_MASK specify information known about
+ the file's current mode, using the style of struct delayed_set_stat.
+ TYPEFLAG specifies the type of the file.
+ If INTERDIR, this is an intermediate directory.
+ ATFLAG specifies the flag to use when statting the file. */
static void
set_stat (char const *file_name,
struct tar_stat_info const *st,
- struct stat const *cur_info,
- mode_t invert_permissions, enum permstatus permstatus,
- char typeflag)
+ int fd, mode_t current_mode, mode_t current_mode_mask,
+ char typeflag, bool interdir, int atflag)
{
- if (typeflag != SYMTYPE)
+ /* Do the utime before the chmod because some versions of utime are
+ broken and trash the modes of the file. */
+
+ if (! touch_option && ! interdir)
{
- /* We do the utime before the chmod because some versions of utime are
- broken and trash the modes of the file. */
+ struct timespec ts[2];
+ if (incremental_option)
+ ts[0] = st->atime;
+ else
+ ts[0].tv_nsec = UTIME_OMIT;
+ ts[1] = st->mtime;
- if (! touch_option && permstatus != INTERDIR_PERMSTATUS)
+ if (fdutimensat (fd, chdir_fd, file_name, ts, atflag) == 0)
{
- /* We set the accessed time to `now', which is really the time we
- started extracting files, unless incremental_option is used, in
- which case .st_atime is used. */
-
- /* FIXME: incremental_option should set ctime too, but how? */
-
- struct timespec ts[2];
if (incremental_option)
- ts[0] = st->atime;
- else
- ts[0] = start_time;
- ts[1] = st->mtime;
-
- if (utimens (file_name, ts) != 0)
- utime_error (file_name);
- else
- {
- check_time (file_name, ts[0]);
- check_time (file_name, ts[1]);
- }
+ check_time (file_name, ts[0]);
+ check_time (file_name, ts[1]);
}
+ else if (typeflag != SYMTYPE || implemented (errno))
+ utime_error (file_name);
+ }
+ if (0 < same_owner_option && ! interdir)
+ {
/* Some systems allow non-root users to give files away. Once this
done, it is not possible anymore to change file permissions.
However, setting file permissions now would be incorrect, since
they would apply to the wrong user, and there would be a race
condition. So, don't use systems that allow non-root users to
give files away. */
+ uid_t uid = st->stat.st_uid;
+ gid_t gid = st->stat.st_gid;
+
+ if (fd_chown (fd, file_name, uid, gid, atflag) == 0)
+ {
+ /* Changing the owner can clear st_mode bits in some cases. */
+ if ((current_mode | ~ current_mode_mask) & S_IXUGO)
+ current_mode_mask &= ~ (current_mode & (S_ISUID | S_ISGID));
+ }
+ else if (typeflag != SYMTYPE || implemented (errno))
+ chown_error_details (file_name, uid, gid);
}
- if (0 < same_owner_option && permstatus != INTERDIR_PERMSTATUS)
+ set_mode (file_name,
+ st->stat.st_mode & ~ current_umask,
+ 0 < same_permissions_option && ! interdir ? MODE_ALL : MODE_RWX,
+ fd, current_mode, current_mode_mask, typeflag, atflag);
+}
+
+/* For each entry H in the leading prefix of entries in HEAD that do
+ not have after_links marked, mark H and fill in its dev and ino
+ members. Assume HEAD && ! HEAD->after_links. */
+static void
+mark_after_links (struct delayed_set_stat *head)
+{
+ struct delayed_set_stat *h = head;
+
+ do
{
- /* When lchown exists, it should be used to change the attributes of
- the symbolic link itself. In this case, a mere chown would change
- the attributes of the file the symbolic link is pointing to, and
- should be avoided. */
- int chown_result = 1;
+ struct stat st;
+ h->after_links = 1;
- if (typeflag == SYMTYPE)
- {
-#if HAVE_LCHOWN
- chown_result = lchown (file_name, st->stat.st_uid, st->stat.st_gid);
-#endif
- }
+ if (deref_stat (h->file_name, &st) != 0)
+ stat_error (h->file_name);
else
{
- chown_result = chown (file_name, st->stat.st_uid, st->stat.st_gid);
+ h->dev = st.st_dev;
+ h->ino = st.st_ino;
}
-
- if (chown_result == 0)
- {
- /* Changing the owner can flip st_mode bits in some cases, so
- ignore cur_info if it might be obsolete now. */
- if (cur_info
- && cur_info->st_mode & S_IXUGO
- && cur_info->st_mode & (S_ISUID | S_ISGID))
- cur_info = NULL;
- }
- else if (chown_result < 0)
- chown_error_details (file_name,
- st->stat.st_uid, st->stat.st_gid);
}
-
- if (typeflag != SYMTYPE)
- set_mode (file_name, &st->stat, cur_info,
- invert_permissions, permstatus, typeflag);
+ while ((h = h->next) && ! h->after_links);
}
/* Remember to restore stat attributes (owner, group, mode and times)
for the directory FILE_NAME, using information given in *ST,
once we stop extracting files into that directory.
- If not restoring permissions, remember to invert the
- INVERT_PERMISSIONS bits from the file's current permissions.
- PERMSTATUS specifies the status of the file's permissions.
+
+ If ST is null, merely create a placeholder node for an intermediate
+ directory that was created by make_directories.
NOTICE: this works only if the archive has usual member order, i.e.
directory, then the files in that directory. Incremental archive have
*/
static void
delay_set_stat (char const *file_name, struct tar_stat_info const *st,
- mode_t invert_permissions, enum permstatus permstatus)
+ mode_t current_mode, mode_t current_mode_mask,
+ mode_t mode, int atflag)
{
size_t file_name_len = strlen (file_name);
struct delayed_set_stat *data =
xmalloc (offsetof (struct delayed_set_stat, file_name)
+ file_name_len + 1);
data->next = delayed_set_stat_head;
- data->dev = st->stat.st_dev;
- data->ino = st->stat.st_ino;
- data->mode = st->stat.st_mode;
- data->uid = st->stat.st_uid;
- data->gid = st->stat.st_gid;
- data->atime = st->atime;
- data->mtime = st->mtime;
+ data->mode = mode;
+ if (st)
+ {
+ data->dev = st->stat.st_dev;
+ data->ino = st->stat.st_ino;
+ data->uid = st->stat.st_uid;
+ data->gid = st->stat.st_gid;
+ data->atime = st->atime;
+ data->mtime = st->mtime;
+ }
data->file_name_len = file_name_len;
- data->invert_permissions = invert_permissions;
- data->permstatus = permstatus;
+ data->current_mode = current_mode;
+ data->current_mode_mask = current_mode_mask;
+ data->interdir = ! st;
+ data->atflag = atflag;
data->after_links = 0;
+ data->change_dir = chdir_current;
strcpy (data->file_name, file_name);
delayed_set_stat_head = data;
+ if (must_be_dot_or_slash (file_name))
+ mark_after_links (data);
}
/* Update the delayed_set_stat info for an intermediate directory
for (data = delayed_set_stat_head; data; data = data->next)
{
struct stat st;
- if (stat (data->file_name, &st) != 0)
+ if (fstatat (chdir_fd, data->file_name, &st, data->atflag) != 0)
{
stat_error (data->file_name);
return;
data->gid = current_stat_info.stat.st_gid;
data->atime = current_stat_info.atime;
data->mtime = current_stat_info.mtime;
- data->invert_permissions =
- ((current_stat_info.stat.st_mode ^ st.st_mode)
- & MODE_RWX & ~ current_umask);
- data->permstatus = ARCHIVED_PERMSTATUS;
+ data->current_mode = st.st_mode;
+ data->current_mode_mask = ALL_MODE_BITS;
+ data->interdir = false;
return;
}
}
/* After a file/link/directory creation has failed, see if
it's because some required directory was not present, and if so,
- create all required directories. Return non-zero if a directory
- was created. */
+ create all required directories. Return zero if all the required
+ directories were created, nonzero (issuing a diagnostic) otherwise.
+ Set *INTERDIR_MADE if at least one directory was created. */
static int
-make_directories (char *file_name)
+make_directories (char *file_name, bool *interdir_made)
{
char *cursor0 = file_name + FILE_SYSTEM_PREFIX_LEN (file_name);
char *cursor; /* points into the file name */
- int did_something = 0; /* did we do anything yet? */
- int mode;
- int invert_permissions;
- int status;
for (cursor = cursor0; *cursor; cursor++)
{
+ mode_t mode;
+ mode_t desired_mode;
+ int status;
+
if (! ISSLASH (*cursor))
continue;
continue;
*cursor = '\0'; /* truncate the name there */
- mode = MODE_RWX & ~ newdir_umask;
- invert_permissions = we_are_root ? 0 : MODE_WXUSR & ~ mode;
- status = mkdir (file_name, mode ^ invert_permissions);
+ desired_mode = MODE_RWX & ~ newdir_umask;
+ mode = desired_mode | (we_are_root ? 0 : MODE_WXUSR);
+ status = mkdirat (chdir_fd, file_name, mode);
if (status == 0)
{
/* Create a struct delayed_set_stat even if
- invert_permissions is zero, because
+ mode == desired_mode, because
repair_delayed_set_stat may need to update the struct. */
delay_set_stat (file_name,
- ¤t_stat_info,
- invert_permissions, INTERDIR_PERMSTATUS);
+ 0, mode & ~ current_umask, MODE_RWX,
+ desired_mode, AT_SYMLINK_NOFOLLOW);
- print_for_mkdir (file_name, cursor - file_name, mode);
- did_something = 1;
-
- *cursor = '/';
- continue;
+ print_for_mkdir (file_name, cursor - file_name, desired_mode);
+ *interdir_made = true;
+ }
+ else if (errno == EEXIST)
+ status = 0;
+ else
+ {
+ /* Check whether the desired file exists. Even when the
+ file exists, mkdir can fail with some errno value E other
+ than EEXIST, so long as E describes an error condition
+ that also applies. */
+ int e = errno;
+ struct stat st;
+ status = fstatat (chdir_fd, file_name, &st, 0);
+ if (status)
+ {
+ errno = e;
+ mkdir_error (file_name);
+ }
}
*cursor = '/';
-
- if (errno == EEXIST)
- continue; /* Directory already exists. */
- else if ((errno == ENOSYS /* Automounted dirs on Solaris return
- this. Reported by Warren Hyde
- <Warren.Hyde@motorola.com> */
- || ERRNO_IS_EACCES) /* Turbo C mkdir gives a funny errno. */
- && access (file_name, W_OK) == 0)
- continue;
-
- /* Some other error in the mkdir. We return to the caller. */
- break;
+ if (status)
+ return status;
}
- return did_something; /* tell them to retry if we made one */
+ return 0;
}
+/* Return true if FILE_NAME (with status *STP, if STP) is not a
+ directory, and has a time stamp newer than (or equal to) that of
+ TAR_STAT. */
static bool
-file_newer_p (const char *file_name, struct tar_stat_info *tar_stat)
+file_newer_p (const char *file_name, struct stat const *stp,
+ struct tar_stat_info *tar_stat)
{
struct stat st;
- if (stat (file_name, &st))
+ if (!stp)
{
- if (errno != ENOENT)
+ if (deref_stat (file_name, &st) != 0)
{
- stat_warn (file_name);
- /* Be on the safe side: if the file does exist assume it is newer */
- return true;
+ if (errno != ENOENT)
+ {
+ stat_warn (file_name);
+ /* Be safer: if the file exists, assume it is newer. */
+ return true;
+ }
+ return false;
}
- return false;
+ stp = &st;
}
- if (!S_ISDIR (st.st_mode)
- && tar_timespec_cmp (tar_stat->mtime, get_stat_mtime (&st)) <= 0)
- {
- return true;
- }
- return false;
+
+ return (! S_ISDIR (stp->st_mode)
+ && tar_timespec_cmp (tar_stat->mtime, get_stat_mtime (stp)) <= 0);
}
#define RECOVER_NO 0
Return RECOVER_OK if we somewhat increased our chances at a successful
extraction, RECOVER_NO if there are no chances, and RECOVER_SKIP if the
caller should skip extraction of that member. The value of errno is
- properly restored on returning RECOVER_NO. */
+ properly restored on returning RECOVER_NO.
+
+ If REGULAR, the caller was trying to extract onto a regular file.
+
+ Set *INTERDIR_MADE if an intermediate directory is made as part of
+ the recovery process. */
static int
-maybe_recoverable (char *file_name, int *interdir_made)
+maybe_recoverable (char *file_name, bool regular, bool *interdir_made)
{
int e = errno;
+ struct stat st;
+ struct stat const *stp = 0;
if (*interdir_made)
return RECOVER_NO;
- switch (errno)
+ switch (e)
{
+ case ELOOP:
+ if (! regular
+ || old_files_option != OVERWRITE_OLD_FILES || dereference_option)
+ break;
+ if (strchr (file_name, '/'))
+ {
+ if (deref_stat (file_name, &st) != 0)
+ break;
+ stp = &st;
+ }
+
+ /* The caller tried to open a symbolic link with O_NOFOLLOW.
+ Fall through, treating it as an already-existing file. */
+
case EEXIST:
/* Remove an old file, if the options allow this. */
return RECOVER_SKIP;
case KEEP_NEWER_FILES:
- if (file_newer_p (file_name, ¤t_stat_info))
- {
- errno = e;
- return RECOVER_NO;
- }
+ if (file_newer_p (file_name, stp, ¤t_stat_info))
+ break;
/* FALL THROUGH */
case DEFAULT_OLD_FILES:
case NO_OVERWRITE_DIR_OLD_FILES:
case OVERWRITE_OLD_FILES:
- {
- int r = remove_any_file (file_name, ORDINARY_REMOVE_OPTION);
- errno = EEXIST;
- return r > 0 ? RECOVER_OK : RECOVER_NO;
- }
+ if (0 < remove_any_file (file_name, ORDINARY_REMOVE_OPTION))
+ return RECOVER_OK;
+ break;
case UNLINK_FIRST_OLD_FILES:
break;
case ENOENT:
/* Attempt creating missing intermediate directories. */
- if (! make_directories (file_name))
- {
- errno = ENOENT;
- return RECOVER_NO;
- }
- *interdir_made = 1;
- return RECOVER_OK;
+ if (make_directories (file_name, interdir_made) == 0 && *interdir_made)
+ return RECOVER_OK;
+ break;
default:
/* Just say we can't do anything about it... */
-
- return RECOVER_NO;
+ break;
}
+
+ errno = e;
+ return RECOVER_NO;
}
/* Fix the statuses of all directories whose statuses need fixing, and
struct delayed_set_stat *data = delayed_set_stat_head;
bool skip_this_one = 0;
struct stat st;
- struct stat const *cur_info = 0;
+ mode_t current_mode = data->current_mode;
+ mode_t current_mode_mask = data->current_mode_mask;
check_for_renamed_directories |= data->after_links;
&& memcmp (file_name, data->file_name, data->file_name_len) == 0))
break;
+ chdir_do (data->change_dir);
+
if (check_for_renamed_directories)
{
- cur_info = &st;
- if (stat (data->file_name, &st) != 0)
+ if (fstatat (chdir_fd, data->file_name, &st, data->atflag) != 0)
{
stat_error (data->file_name);
skip_this_one = 1;
}
- else if (! (st.st_dev == data->dev && st.st_ino == data->ino))
+ else
{
- ERROR ((0, 0,
- _("%s: Directory renamed before its status could be extracted"),
- quotearg_colon (data->file_name)));
- skip_this_one = 1;
+ current_mode = st.st_mode;
+ current_mode_mask = ALL_MODE_BITS;
+ if (! (st.st_dev == data->dev && st.st_ino == data->ino))
+ {
+ ERROR ((0, 0,
+ _("%s: Directory renamed before its status could be extracted"),
+ quotearg_colon (data->file_name)));
+ skip_this_one = 1;
+ }
}
}
sb.stat.st_gid = data->gid;
sb.atime = data->atime;
sb.mtime = data->mtime;
- set_stat (data->file_name, &sb, cur_info,
- data->invert_permissions, data->permstatus, DIRTYPE);
+ set_stat (data->file_name, &sb,
+ -1, current_mode, current_mode_mask,
+ DIRTYPE, data->interdir, data->atflag);
}
delayed_set_stat_head = data->next;
{
int status;
mode_t mode;
- int interdir_made = 0;
+ mode_t current_mode = 0;
+ mode_t current_mode_mask = 0;
+ int atflag = 0;
+ bool interdir_made = false;
/* Save 'root device' to avoid purging mount points. */
if (one_file_system_option && root_device == 0)
{
struct stat st;
- char *dir = xgetcwd ();
- if (deref_stat (true, dir, &st))
- stat_diag (dir);
+ if (fstatat (chdir_fd, ".", &st, 0) != 0)
+ stat_diag (".");
else
root_device = st.st_dev;
- free (dir);
}
if (incremental_option)
else if (typeflag == GNUTYPE_DUMPDIR)
skip_member ();
- mode = current_stat_info.stat.st_mode | (we_are_root ? 0 : MODE_WXUSR);
- if (0 < same_owner_option || current_stat_info.stat.st_mode & ~ MODE_RWX)
- mode &= S_IRWXU;
-
- while ((status = mkdir (file_name, mode)))
+ /* If ownership or permissions will be restored later, create the
+ directory with restrictive permissions at first, so that in the
+ meantime processes owned by other users do not inadvertently
+ create files under this directory that inherit the wrong owner,
+ group, or permissions from the directory. If not root, though,
+ make the directory writeable and searchable at first, so that
+ files can be created under it. */
+ mode = ((current_stat_info.stat.st_mode
+ & (0 < same_owner_option || 0 < same_permissions_option
+ ? S_IRWXU
+ : MODE_RWX))
+ | (we_are_root ? 0 : MODE_WXUSR));
+
+ for (;;)
{
+ status = mkdir (file_name, mode);
+ if (status == 0)
+ {
+ current_mode = mode & ~ current_umask;
+ current_mode_mask = MODE_RWX;
+ atflag = AT_SYMLINK_NOFOLLOW;
+ break;
+ }
+
if (errno == EEXIST
&& (interdir_made
|| old_files_option == DEFAULT_OLD_FILES
|| old_files_option == OVERWRITE_OLD_FILES))
{
struct stat st;
- if (stat (file_name, &st) == 0)
+ if (deref_stat (file_name, &st) == 0)
{
- if (interdir_made)
- {
- repair_delayed_set_stat (file_name, &st);
- return 0;
- }
- if (S_ISDIR (st.st_mode))
+ current_mode = st.st_mode;
+ current_mode_mask = ALL_MODE_BITS;
+
+ if (S_ISDIR (current_mode))
{
- status = 0;
- mode = st.st_mode;
+ if (interdir_made)
+ {
+ repair_delayed_set_stat (file_name, &st);
+ return 0;
+ }
break;
}
}
errno = EEXIST;
}
- switch (maybe_recoverable (file_name, &interdir_made))
+ switch (maybe_recoverable (file_name, false, &interdir_made))
{
case RECOVER_OK:
continue;
if (status == 0
|| old_files_option == DEFAULT_OLD_FILES
|| old_files_option == OVERWRITE_OLD_FILES)
- {
- if (status == 0)
- delay_set_stat (file_name, ¤t_stat_info,
- ((mode ^ current_stat_info.stat.st_mode)
- & MODE_RWX & ~ current_umask),
- ARCHIVED_PERMSTATUS);
- else /* For an already existing directory, invert_perms must be 0 */
- delay_set_stat (file_name, ¤t_stat_info,
- 0,
- UNKNOWN_PERMSTATUS);
- }
+ delay_set_stat (file_name, ¤t_stat_info,
+ current_mode, current_mode_mask,
+ current_stat_info.stat.st_mode, atflag);
return status;
}
+
static int
-open_output_file (char *file_name, int typeflag, mode_t mode)
+open_output_file (char const *file_name, int typeflag, mode_t mode,
+ mode_t *current_mode, mode_t *current_mode_mask)
{
int fd;
- int openflag = (O_WRONLY | O_BINARY | O_CREAT
- | (old_files_option == OVERWRITE_OLD_FILES
- ? O_TRUNC
+ bool overwriting_old_files = old_files_option == OVERWRITE_OLD_FILES;
+ int openflag = (O_WRONLY | O_BINARY | O_CLOEXEC | O_NOCTTY | O_NONBLOCK
+ | O_CREAT
+ | (overwriting_old_files
+ ? O_TRUNC | (dereference_option ? 0 : O_NOFOLLOW)
: O_EXCL));
-#if O_CTG
- /* Contiguous files (on the Masscomp) have to specify the size in
- the open call that creates them. */
-
- if (typeflag == CONTTYPE)
- fd = open (file_name, openflag | O_CTG, mode, current_stat_info.stat.st_size);
- else
- fd = open (file_name, openflag, mode);
-
-#else /* not O_CTG */
if (typeflag == CONTTYPE)
{
static int conttype_diagnosed;
(0, 0, _("Extracting contiguous files as regular files")));
}
}
- fd = open (file_name, openflag, mode);
-#endif /* not O_CTG */
+ fd = openat (chdir_fd, file_name, openflag, mode);
+ if (0 <= fd)
+ {
+ if (overwriting_old_files)
+ {
+ struct stat st;
+ if (fstat (fd, &st) != 0)
+ {
+ int e = errno;
+ close (fd);
+ errno = e;
+ return -1;
+ }
+ if (! S_ISREG (st.st_mode))
+ {
+ close (fd);
+ errno = EEXIST;
+ return -1;
+ }
+ *current_mode = st.st_mode;
+ *current_mode_mask = ALL_MODE_BITS;
+ }
+ else
+ {
+ *current_mode = mode & ~ current_umask;
+ *current_mode_mask = MODE_RWX;
+ }
+ }
return fd;
}
int status;
size_t count;
size_t written;
- int interdir_made = 0;
- mode_t mode = current_stat_info.stat.st_mode & MODE_RWX & ~ current_umask;
- mode_t invert_permissions =
- 0 < same_owner_option ? mode & (S_IRWXG | S_IRWXO) : 0;
-
- /* FIXME: deal with protection issues. */
+ bool interdir_made = false;
+ mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX
+ & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
+ mode_t current_mode = 0;
+ mode_t current_mode_mask = 0;
if (to_stdout_option)
fd = STDOUT_FILENO;
}
else
{
- int recover = RECOVER_NO;
- do
- fd = open_output_file (file_name, typeflag, mode ^ invert_permissions);
- while (fd < 0
- && (recover = maybe_recoverable (file_name, &interdir_made))
- == RECOVER_OK);
-
- if (fd < 0)
+ while ((fd = open_output_file (file_name, typeflag, mode,
+ ¤t_mode, ¤t_mode_mask))
+ < 0)
{
- skip_member ();
- if (recover == RECOVER_SKIP)
- return 0;
- open_error (file_name);
- return 1;
+ int recover = maybe_recoverable (file_name, true, &interdir_made);
+ if (recover != RECOVER_OK)
+ {
+ skip_member ();
+ if (recover == RECOVER_SKIP)
+ return 0;
+ open_error (file_name);
+ return 1;
+ }
}
}
- mv_begin (¤t_stat_info);
+ mv_begin_read (¤t_stat_info);
if (current_stat_info.is_sparse)
sparse_extract_file (fd, ¤t_stat_info, &size);
else
if (to_stdout_option)
return 0;
+ if (! to_command_option)
+ set_stat (file_name, ¤t_stat_info, fd,
+ current_mode, current_mode_mask, typeflag, false,
+ (old_files_option == OVERWRITE_OLD_FILES
+ ? 0 : AT_SYMLINK_NOFOLLOW));
+
status = close (fd);
if (status < 0)
close_error (file_name);
if (to_command_option)
sys_wait_command ();
- else
- set_stat (file_name, ¤t_stat_info, NULL, invert_permissions,
- (old_files_option == OVERWRITE_OLD_FILES ?
- UNKNOWN_PERMSTATUS : ARCHIVED_PERMSTATUS),
- typeflag);
return status;
}
process. */
static int
-create_placeholder_file (char *file_name, bool is_symlink, int *interdir_made)
+create_placeholder_file (char *file_name, bool is_symlink, bool *interdir_made)
{
int fd;
struct stat st;
- while ((fd = open (file_name, O_WRONLY | O_CREAT | O_EXCL, 0)) < 0)
- if (! maybe_recoverable (file_name, interdir_made))
- break;
+ while ((fd = openat (chdir_fd, file_name, O_WRONLY | O_CREAT | O_EXCL, 0)) < 0)
+ {
+ switch (maybe_recoverable (file_name, false, interdir_made))
+ {
+ case RECOVER_OK:
+ continue;
+
+ case RECOVER_SKIP:
+ return 0;
- if (fd < 0)
- open_error (file_name);
- else if (fstat (fd, &st) != 0)
+ case RECOVER_NO:
+ open_error (file_name);
+ return -1;
+ }
+ }
+
+ if (fstat (fd, &st) != 0)
{
stat_error (file_name);
close (fd);
delayed_link_head = p;
p->dev = st.st_dev;
p->ino = st.st_ino;
- p->mtime = get_stat_mtime (&st);
+ p->ctime = get_stat_ctime (&st);
p->is_symlink = is_symlink;
if (is_symlink)
{
+ p->mode = current_stat_info.stat.st_mode;
p->uid = current_stat_info.stat.st_uid;
p->gid = current_stat_info.stat.st_gid;
+ p->atime = current_stat_info.atime;
+ p->mtime = current_stat_info.mtime;
}
+ p->change_dir = chdir_current;
p->sources = xmalloc (offsetof (struct string_list, string)
+ strlen (file_name) + 1);
p->sources->next = 0;
&& strncmp (file_name, h->file_name, h->file_name_len) == 0
&& ISSLASH (file_name[h->file_name_len])
&& (last_component (file_name) == file_name + h->file_name_len + 1))
- {
- do
- {
- h->after_links = 1;
-
- if (stat (h->file_name, &st) != 0)
- stat_error (h->file_name);
- else
- {
- h->dev = st.st_dev;
- h->ino = st.st_ino;
- }
- }
- while ((h = h->next) && ! h->after_links);
- }
+ mark_after_links (h);
return 0;
}
static int
extract_link (char *file_name, int typeflag)
{
- int interdir_made = 0;
+ bool interdir_made = false;
char const *link_name;
+ int rc;
link_name = current_stat_info.link_name;
-
+
if (! absolute_names_option && contains_dot_dot (link_name))
return create_placeholder_file (file_name, false, &interdir_made);
{
struct stat st1, st2;
int e;
- int status = link (link_name, file_name);
+ int status = linkat (chdir_fd, link_name, chdir_fd, file_name, 0);
e = errno;
if (status == 0)
{
struct delayed_link *ds = delayed_link_head;
- if (ds && lstat (link_name, &st1) == 0)
+ if (ds
+ && fstatat (chdir_fd, link_name, &st1, AT_SYMLINK_NOFOLLOW) == 0)
for (; ds; ds = ds->next)
- if (ds->dev == st1.st_dev
+ if (ds->change_dir == chdir_current
+ && ds->dev == st1.st_dev
&& ds->ino == st1.st_ino
- && timespec_cmp (ds->mtime, get_stat_mtime (&st1)) == 0)
+ && timespec_cmp (ds->ctime, get_stat_ctime (&st1)) == 0)
{
struct string_list *p = xmalloc (offsetof (struct string_list, string)
+ strlen (file_name) + 1);
return 0;
}
else if ((e == EEXIST && strcmp (link_name, file_name) == 0)
- || (lstat (link_name, &st1) == 0
- && lstat (file_name, &st2) == 0
+ || ((fstatat (chdir_fd, link_name, &st1, AT_SYMLINK_NOFOLLOW)
+ == 0)
+ && (fstatat (chdir_fd, file_name, &st2, AT_SYMLINK_NOFOLLOW)
+ == 0)
&& st1.st_dev == st2.st_dev
&& st1.st_ino == st2.st_ino))
return 0;
errno = e;
}
- while (maybe_recoverable (file_name, &interdir_made));
+ while ((rc = maybe_recoverable (file_name, false, &interdir_made))
+ == RECOVER_OK);
+ if (rc == RECOVER_SKIP)
+ return 0;
if (!(incremental_option && errno == EEXIST))
{
link_error (link_name, file_name);
extract_symlink (char *file_name, int typeflag)
{
#ifdef HAVE_SYMLINK
- int status;
- int interdir_made = 0;
+ bool interdir_made = false;
if (! absolute_names_option
&& (IS_ABSOLUTE_FILE_NAME (current_stat_info.link_name)
|| contains_dot_dot (current_stat_info.link_name)))
return create_placeholder_file (file_name, true, &interdir_made);
- while ((status = symlink (current_stat_info.link_name, file_name)))
- if (!maybe_recoverable (file_name, &interdir_made))
- break;
+ while (symlinkat (current_stat_info.link_name, chdir_fd, file_name) != 0)
+ switch (maybe_recoverable (file_name, false, &interdir_made))
+ {
+ case RECOVER_OK:
+ continue;
- if (status == 0)
- set_stat (file_name, ¤t_stat_info, NULL, 0, 0, SYMTYPE);
- else
- symlink_error (current_stat_info.link_name, file_name);
- return status;
+ case RECOVER_SKIP:
+ return 0;
+
+ case RECOVER_NO:
+ symlink_error (current_stat_info.link_name, file_name);
+ return -1;
+ }
+
+ set_stat (file_name, ¤t_stat_info, -1, 0, 0,
+ SYMTYPE, false, AT_SYMLINK_NOFOLLOW);
+ return 0;
#else
static int warned_once;
static int
extract_node (char *file_name, int typeflag)
{
- int status;
- int interdir_made = 0;
- mode_t mode = current_stat_info.stat.st_mode & ~ current_umask;
- mode_t invert_permissions =
- 0 < same_owner_option ? mode & (S_IRWXG | S_IRWXO) : 0;
+ bool interdir_made = false;
+ mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX
+ & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
- do
- status = mknod (file_name, mode ^ invert_permissions,
- current_stat_info.stat.st_rdev);
- while (status && maybe_recoverable (file_name, &interdir_made));
+ while (mknodat (chdir_fd, file_name, mode, current_stat_info.stat.st_rdev)
+ != 0)
+ switch (maybe_recoverable (file_name, false, &interdir_made))
+ {
+ case RECOVER_OK:
+ continue;
- if (status != 0)
- mknod_error (file_name);
- else
- set_stat (file_name, ¤t_stat_info, NULL, invert_permissions,
- ARCHIVED_PERMSTATUS, typeflag);
- return status;
+ case RECOVER_SKIP:
+ return 0;
+
+ case RECOVER_NO:
+ mknod_error (file_name);
+ return -1;
+ }
+
+ set_stat (file_name, ¤t_stat_info, -1,
+ mode & ~ current_umask, MODE_RWX,
+ typeflag, false, AT_SYMLINK_NOFOLLOW);
+ return 0;
}
#endif
static int
extract_fifo (char *file_name, int typeflag)
{
- int status;
- int interdir_made = 0;
- mode_t mode = current_stat_info.stat.st_mode & ~ current_umask;
- mode_t invert_permissions =
- 0 < same_owner_option ? mode & (S_IRWXG | S_IRWXO) : 0;
+ bool interdir_made = false;
+ mode_t mode = (current_stat_info.stat.st_mode & MODE_RWX
+ & ~ (0 < same_owner_option ? S_IRWXG | S_IRWXO : 0));
- while ((status = mkfifo (file_name, mode)) != 0)
- if (!maybe_recoverable (file_name, &interdir_made))
- break;
+ while (mkfifoat (chdir_fd, file_name, mode) != 0)
+ switch (maybe_recoverable (file_name, false, &interdir_made))
+ {
+ case RECOVER_OK:
+ continue;
- if (status == 0)
- set_stat (file_name, ¤t_stat_info, NULL, invert_permissions,
- ARCHIVED_PERMSTATUS, typeflag);
- else
- mkfifo_error (file_name);
- return status;
+ case RECOVER_SKIP:
+ return 0;
+
+ case RECOVER_NO:
+ mkfifo_error (file_name);
+ return -1;
+ }
+
+ set_stat (file_name, ¤t_stat_info, -1,
+ mode & ~ current_umask, MODE_RWX,
+ typeflag, false, AT_SYMLINK_NOFOLLOW);
+ return 0;
}
#endif
break;
case KEEP_NEWER_FILES:
- if (file_newer_p (file_name, ¤t_stat_info))
+ if (file_newer_p (file_name, 0, ¤t_stat_info))
{
WARNOPT (WARN_IGNORE_NEWER,
(0, 0, _("Current %s is newer or same age"),
tar_extractor_t fun;
fatal_exit_hook = extract_finish;
-
- /* Try to disable the ability to unlink a directory. */
- priv_set_remove_linkdir ();
set_next_block_after (current_header);
- decode_header (current_header, ¤t_stat_info, ¤t_format, 1);
+
if (!current_stat_info.file_name[0]
|| (interactive_option
&& !confirm ("extract", current_stat_info.file_name)))
it is an incremental archive.
(see NOTICE in the comment to delay_set_stat above) */
if (!delay_directory_restore_option)
- apply_nonancestor_delayed_set_stat (current_stat_info.file_name, 0);
+ {
+ int dir = chdir_current;
+ apply_nonancestor_delayed_set_stat (current_stat_info.file_name, 0);
+ chdir_do (dir);
+ }
/* Take a safety backup of a previously existing file. */
}
-/* Extract the symbolic links whose final extraction were delayed. */
+/* Extract the links whose final extraction were delayed. */
static void
apply_delayed_links (void)
{
struct string_list *sources = ds->sources;
char const *valid_source = 0;
+ chdir_do (ds->change_dir);
+
for (sources = ds->sources; sources; sources = sources->next)
{
char const *source = sources->string;
/* Make sure the placeholder file is still there. If not,
don't create a link, as the placeholder was probably
removed by a later extraction. */
- if (lstat (source, &st) == 0
+ if (fstatat (chdir_fd, source, &st, AT_SYMLINK_NOFOLLOW) == 0
&& st.st_dev == ds->dev
&& st.st_ino == ds->ino
- && timespec_cmp (get_stat_mtime (&st), ds->mtime) == 0)
+ && timespec_cmp (get_stat_ctime (&st), ds->ctime) == 0)
{
/* Unlink the placeholder, then create a hard link if possible,
a symbolic link otherwise. */
- if (unlink (source) != 0)
+ if (unlinkat (chdir_fd, source, 0) != 0)
unlink_error (source);
- else if (valid_source && link (valid_source, source) == 0)
+ else if (valid_source
+ && (linkat (chdir_fd, valid_source, chdir_fd, source, 0)
+ == 0))
;
else if (!ds->is_symlink)
{
- if (link (ds->target, source) != 0)
+ if (linkat (chdir_fd, ds->target, chdir_fd, source, 0) != 0)
link_error (ds->target, source);
}
- else if (symlink (ds->target, source) != 0)
+ else if (symlinkat (ds->target, chdir_fd, source) != 0)
symlink_error (ds->target, source);
else
{
struct tar_stat_info st1;
+ st1.stat.st_mode = ds->mode;
st1.stat.st_uid = ds->uid;
st1.stat.st_gid = ds->gid;
- set_stat (source, &st1, NULL, 0, 0, SYMTYPE);
+ st1.atime = ds->atime;
+ st1.mtime = ds->mtime;
+ set_stat (source, &st1, -1, 0, 0, SYMTYPE,
+ false, AT_SYMLINK_NOFOLLOW);
valid_source = source;
}
}
bool
rename_directory (char *src, char *dst)
{
- if (rename (src, dst))
+ if (renameat (chdir_fd, src, chdir_fd, dst) != 0)
{
int e = errno;
+ bool interdir_made;
switch (e)
{
case ENOENT:
- if (make_directories (dst))
+ if (make_directories (dst, &interdir_made) == 0)
{
- if (rename (src, dst) == 0)
+ if (renameat (chdir_fd, src, chdir_fd, dst) == 0)
return true;
e = errno;
}
#define DIR_IS_INITED(d) ((d)->flags & DIRF_INIT)
#define DIR_IS_NFS(d) ((d)->flags & DIRF_NFS)
#define DIR_IS_FOUND(d) ((d)->flags & DIRF_FOUND)
-#define DIR_IS_NEW(d) ((d)->flags & DIRF_NEW)
+/* #define DIR_IS_NEW(d) ((d)->flags & DIRF_NEW) FIXME: not used */
#define DIR_IS_RENAMED(d) ((d)->flags & DIRF_RENAMED)
#define DIR_SET_FLAG(d,f) (d)->flags |= (f)
char *name; /* file name of directory */
};
-struct dumpdir *
+static struct dumpdir *
dumpdir_create0 (const char *contents, const char *cmask)
{
struct dumpdir *dump;
size_t i, total, ctsize, len;
char *p;
const char *q;
-
+
for (i = 0, total = 0, ctsize = 1, q = contents; *q; total++, q += len)
{
len = strlen (q) + 1;
return dump;
}
-struct dumpdir *
+static struct dumpdir *
dumpdir_create (const char *contents)
{
return dumpdir_create0 (contents, "YND");
}
-void
+static void
dumpdir_free (struct dumpdir *dump)
{
free (dump->elv);
/* Locate NAME in the dumpdir array DUMP.
Return pointer to the slot in DUMP->contents, or NULL if not found */
-char *
+static char *
dumpdir_locate (struct dumpdir *dump, const char *name)
{
char **ptr;
struct dumpdir_iter
{
struct dumpdir *dump; /* Dumpdir being iterated */
- int all; /* Iterate over all entries, not only D/N/Y */
+ int all; /* Iterate over all entries, not only D/N/Y */
size_t next; /* Index of the next element */
};
-char *
+static char *
dumpdir_next (struct dumpdir_iter *itr)
{
size_t cur = itr->next;
char *ret = NULL;
-
+
if (itr->all)
{
ret = itr->dump->contents + cur;
return ret;
}
-char *
+static char *
dumpdir_first (struct dumpdir *dump, int all, struct dumpdir_iter **pitr)
{
struct dumpdir_iter *itr = xmalloc (sizeof (*itr));
directory->dump = directory->idump = NULL;
directory->orig = NULL;
directory->flags = false;
- if (namelen && ISSLASH (name[namelen - 1]))
+ if (namelen > 1 && ISSLASH (name[namelen - 1]))
namelen--;
directory->name = xmalloc (namelen + 1);
memcpy (directory->name, name, namelen);
dirtail = dir;
return dir;
}
-
+
\f
-void
+static void
dirlist_replace_prefix (const char *pref, const char *repl)
{
struct directory *dp;
}
void
-update_parent_directory (const char *name)
+update_parent_directory (struct tar_stat_info *parent)
{
- struct directory *directory;
- char *p;
-
- p = dir_name (name);
- directory = find_directory (p);
+ struct directory *directory = find_directory (parent->orig_file_name);
if (directory)
{
struct stat st;
- if (deref_stat (dereference_option, p, &st) != 0)
- {
- if (errno != ENOENT)
- stat_diag (directory->name);
- /* else: should have been already reported */
- }
+ if (fstat (parent->fd, &st) != 0)
+ stat_diag (directory->name);
else
directory->mtime = get_stat_mtime (&st);
}
- free (p);
}
#define PD_FORCE_CHILDREN 0x10
#define PD_CHILDREN(f) ((f) & 3)
static struct directory *
-procdir (const char *name_buffer, struct stat *stat_data,
- dev_t device,
+procdir (const char *name_buffer, struct tar_stat_info *st,
int flag,
char *entry)
{
struct directory *directory;
+ struct stat *stat_data = &st->stat;
+ dev_t device = st->parent ? st->parent->stat.st_dev : 0;
bool nfs = NFS_FILE_STAT (*stat_data);
if ((directory = find_directory (name_buffer)) != NULL)
*entry = 'N';
return directory;
}
-
+
/* With NFS, the same file can have two different devices
if an NFS directory is mounted in multiple locations,
which is relatively common when automounting.
To avoid spurious incremental redumping of
directories, consider all NFS devices as equal,
relying on the i-node to establish differences. */
-
+
if (! ((!check_device_option
|| (DIR_IS_NFS (directory) && nfs)
|| directory->device_number == stat_data->st_dev)
}
else
directory->children = CHANGED_CHILDREN;
-
+
DIR_SET_FLAG (directory, DIRF_FOUND);
}
else
{
struct directory *d = find_directory_meta (stat_data->st_dev,
stat_data->st_ino);
-
+
directory = note_directory (name_buffer,
get_stat_mtime(stat_data),
stat_data->st_dev,
if (one_file_system_option && device != stat_data->st_dev
/* ... except if it was explicitely given in the command line */
&& !is_individual_file (name_buffer))
- /* FIXME:
+ /* FIXME:
WARNOPT (WARN_XDEV,
(0, 0,
_("%s: directory is on a different filesystem; not dumped"),
if (directory->children == NO_CHILDREN)
*entry = 'N';
}
-
+
DIR_SET_FLAG (directory, DIRF_INIT);
if (directory->children != NO_CHILDREN)
{
const char *tag_file_name;
- switch (check_exclusion_tags (name_buffer, &tag_file_name))
+ switch (check_exclusion_tags (st, &tag_file_name))
{
case exclusion_tag_all:
/* This warning can be duplicated by code in dump_file0, but only
_("contents not dumped"));
directory->children = NO_CHILDREN;
break;
-
+
case exclusion_tag_under:
exclusion_tag_warning (name_buffer, tag_file_name,
_("contents not dumped"));
directory->tagfile = tag_file_name;
break;
-
+
case exclusion_tag_none:
break;
}
DIRECTORY->dump is replaced with the created template. Each entry is
prefixed with ' ' if it was present in DUMP and with 'Y' otherwise. */
-void
+static void
makedumpdir (struct directory *directory, const char *dir)
{
size_t i,
free (array);
}
-/* Recursively scan the given directory DIR.
- DEVICE is the device number where DIR resides (for --one-file-system).
- If CMDLINE is true, the directory name was explicitly listed in the
- command line.
- Unless *PDIR is NULL, store there a pointer to the struct directory
- describing DIR. */
+/* Recursively scan the directory identified by ST. */
struct directory *
-scan_directory (char *dir, dev_t device, bool cmdline)
+scan_directory (struct tar_stat_info *st)
{
- char *dirp = savedir (dir); /* for scanning directory */
+ char const *dir = st->orig_file_name;
+ char *dirp = get_directory_entries (st);
+ dev_t device = st->stat.st_dev;
+ bool cmdline = ! st->parent;
namebuf_t nbuf;
char *tmp;
- struct stat stat_data;
struct directory *directory;
char ch;
-
+
if (! dirp)
savedir_error (dir);
tmp = xstrdup (dir);
zap_slashes (tmp);
-
- if (deref_stat (dereference_option, tmp, &stat_data))
- {
- dir_removed_diag (tmp, cmdline, stat_diag);
- free (tmp);
- free (dirp);
- return NULL;
- }
- directory = procdir (tmp, &stat_data, device,
+ directory = procdir (tmp, st,
(cmdline ? PD_FORCE_INIT : 0),
&ch);
-
+
free (tmp);
nbuf = namebuf_create (dir);
if (dirp && directory->children != NO_CHILDREN)
{
char *entry; /* directory entry being scanned */
- dumpdir_iter_t itr;
+ struct dumpdir_iter *itr;
makedumpdir (directory, dirp);
*entry = 'N';
else
{
- if (deref_stat (dereference_option, full_name, &stat_data))
+ int fd = st->fd;
+ void (*diag) (char const *) = 0;
+ struct tar_stat_info stsub;
+ tar_stat_init (&stsub);
+
+ if (fd < 0)
{
- file_removed_diag (full_name, false, stat_diag);
- *entry = 'N';
- continue;
+ errno = - fd;
+ diag = open_diag;
+ }
+ else if (fstatat (fd, entry + 1, &stsub.stat, fstatat_flags) != 0)
+ diag = stat_diag;
+ else if (S_ISDIR (stsub.stat.st_mode))
+ {
+ int subfd = subfile_open (st, entry + 1, open_read_flags);
+ if (subfd < 0)
+ diag = open_diag;
+ else
+ {
+ stsub.fd = subfd;
+ if (fstat (subfd, &stsub.stat) != 0)
+ diag = stat_diag;
+ }
}
- if (S_ISDIR (stat_data.st_mode))
+ if (diag)
+ {
+ file_removed_diag (full_name, false, diag);
+ *entry = 'N';
+ }
+ else if (S_ISDIR (stsub.stat.st_mode))
{
int pd_flag = 0;
if (!recursion_option)
else if (directory->children == ALL_CHILDREN)
pd_flag |= PD_FORCE_CHILDREN | ALL_CHILDREN;
*entry = 'D';
- procdir (full_name, &stat_data, device, pd_flag, entry);
- }
- else if (one_file_system_option && device != stat_data.st_dev)
+ stsub.parent = st;
+ procdir (full_name, &stsub, pd_flag, entry);
+ restore_parent_fd (&stsub);
+ }
+ else if (one_file_system_option && device != stsub.stat.st_dev)
*entry = 'N';
-
else if (*entry == 'Y')
/* New entry, skip further checks */;
-
/* FIXME: if (S_ISHIDDEN (stat_data.st_mode))?? */
-
- else if (OLDER_STAT_TIME (stat_data, m)
+ else if (OLDER_STAT_TIME (stsub.stat, m)
&& (!after_date_option
- || OLDER_STAT_TIME (stat_data, c)))
+ || OLDER_STAT_TIME (stsub.stat, c)))
*entry = 'N';
else
*entry = 'Y';
+
+ tar_stat_destroy (&stsub);
}
}
free (itr);
return ret ? ret : "\0\0\0\0";
}
-void
-name_fill_directory (struct name *name, dev_t device, bool cmdline)
-{
- name->directory = scan_directory (name->name, device, cmdline);
-}
-
\f
static void
-obstack_code_rename (struct obstack *stk, char *from, char *to)
+obstack_code_rename (struct obstack *stk, char const *from, char const *to)
{
- char *s;
+ char const *s;
s = from[0] == 0 ? from :
safer_name_suffix (from, false, absolute_names_option);
size_t size;
struct directory *dp;
const char *dump;
-
+
if (dirhead == NULL)
return;
for (dp = dirhead; dp; dp = dp->next)
store_rename (dp, &stk);
- if (obstack_object_size (&stk) != size)
+ /* FIXME: Is this the right thing to do when DIR is null? */
+ if (dir && obstack_object_size (&stk) != size)
{
obstack_1grow (&stk, 0);
dumpdir_free (dir->dump);
/* Read incremental snapshot format 2 */
static void
-read_incr_db_2 ()
+read_incr_db_2 (void)
{
uintmax_t u;
struct obstack stk;
which is necessary to recreate absolute file names. */
name_from_list ();
blank_name_list ();
-
+
if (0 < getline (&buf, &bufsize, listed_incremental_stream))
{
char *ebuf;
if (DIR_IS_FOUND (directory))
{
char buf[UINTMAX_STRSIZE_BOUND];
- char *s;
+ char const *s;
s = DIR_IS_NFS (directory) ? "1" : "0";
fwrite (s, 2, 1, fp);
if (directory->dump)
{
const char *p;
- dumpdir_iter_t itr;
+ struct dumpdir_iter *itr;
for (p = dumpdir_first (directory->dump, 0, &itr);
p;
to = archive_dir;
set_next_block_after (current_header);
- mv_begin (stat_info);
+ mv_begin_read (stat_info);
for (; size > 0; size -= copied)
{
free (p);
p = new_name (directory_name, cur);
- if (deref_stat (false, p, &st))
+ if (deref_stat (p, &st) != 0)
{
if (errno != ENOENT) /* FIXME: Maybe keep a list of renamed
dirs and check it here? */
}
free (p);
dumpdir_free (dump);
-
+
free (current_dir);
return true;
}
size_t recent_long_link_blocks; /* likewise, for long link */
union block *recent_global_header; /* Recent global header block */
+#define GID_FROM_HEADER(where) gid_from_header (where, sizeof (where))
+#define MAJOR_FROM_HEADER(where) major_from_header (where, sizeof (where))
+#define MINOR_FROM_HEADER(where) minor_from_header (where, sizeof (where))
+#define MODE_FROM_HEADER(where, hbits) \
+ mode_from_header (where, sizeof (where), hbits)
+#define TIME_FROM_HEADER(where) time_from_header (where, sizeof (where))
+#define UID_FROM_HEADER(where) uid_from_header (where, sizeof (where))
+
+static gid_t gid_from_header (const char *buf, size_t size);
+static major_t major_from_header (const char *buf, size_t size);
+static minor_t minor_from_header (const char *buf, size_t size);
+static mode_t mode_from_header (const char *buf, size_t size, unsigned *hbits);
+static time_t time_from_header (const char *buf, size_t size);
+static uid_t uid_from_header (const char *buf, size_t size);
static uintmax_t from_header (const char *, size_t, const char *,
uintmax_t, uintmax_t, bool, bool);
prev_status = status;
tar_stat_destroy (¤t_stat_info);
- status = read_header (¤t_header, ¤t_stat_info,
+ status = read_header (¤t_header, ¤t_stat_info,
read_header_auto);
switch (status)
{
/* Valid header. We should decode next field (mode) first.
Ensure incoming names are null terminated. */
-
+ decode_header (current_header, ¤t_stat_info,
+ ¤t_format, 1);
if (! name_match (current_stat_info.file_name)
|| (NEWER_OPTION_INITIALIZED (newer_mtime_option)
/* FIXME: We get mtime now, and again later; this causes
quotearg_colon (current_stat_info.file_name)));
/* Fall through. */
default:
- decode_header (current_header,
- ¤t_stat_info, ¤t_format, 0);
skip_member ();
continue;
}
{
char buf[UINTMAX_STRSIZE_BOUND];
- status = read_header (¤t_header, ¤t_stat_info,
+ status = read_header (¤t_header, ¤t_stat_info,
read_header_auto);
if (status == HEADER_ZERO_BLOCK)
break;
off_t block_ordinal = current_block_ordinal ();
/* Print the header block. */
-
- decode_header (current_header, ¤t_stat_info, ¤t_format, 0);
if (verbose_option)
print_header (¤t_stat_info, current_header, block_ordinal);
links subject to filename transformation. In the absence of another
solution, symbolic links are exempt from component stripping and
name suffix normalization, but subject to filename transformation
- proper. */
+ proper. */
return file_name;
-
+
case XFORM_LINK:
file_name = safer_name_suffix (file_name, true, absolute_names_option);
break;
-
+
case XFORM_REGFILE:
file_name = safer_name_suffix (file_name, false, absolute_names_option);
break;
}
-
+
if (strip_name_components)
{
size_t prefix_len = stripped_prefix_len (file_name,
return file_name;
}
-bool
+static bool
transform_member_name (char **pinput, int type)
{
return transform_name_fp (pinput, type, decode_xform, &type);
enum archive_format format;
unsigned hbits; /* high bits of the file mode. */
mode_t mode = MODE_FROM_HEADER (header->header.mode, &hbits);
-
+
if (strcmp (header->header.magic, TMAGIC) == 0)
{
if (header->star_header.prefix[130] == 0
stat_info->is_dumpdir = true;
}
+ if (header->header.typeflag == GNUTYPE_VOLHDR)
+ /* Name transformations don't apply to volume headers. */
+ return;
+
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);
}
return -1;
}
-gid_t
+static gid_t
gid_from_header (const char *p, size_t s)
{
return from_header (p, s, "gid_t",
false, false);
}
-major_t
+static major_t
major_from_header (const char *p, size_t s)
{
return from_header (p, s, "major_t",
(uintmax_t) TYPE_MAXIMUM (major_t), false, false);
}
-minor_t
+static minor_t
minor_from_header (const char *p, size_t s)
{
return from_header (p, s, "minor_t",
/* Convert P to the file mode, as understood by tar.
Store unrecognized mode bits (from 10th up) in HBITS. */
-mode_t
+static mode_t
mode_from_header (const char *p, size_t s, unsigned *hbits)
{
unsigned u = from_header (p, s, "mode_t",
(uintmax_t) TYPE_MAXIMUM (off_t), false, false);
}
-size_t
-size_from_header (const char *p, size_t s)
-{
- return from_header (p, s, "size_t", (uintmax_t) 0,
- (uintmax_t) TYPE_MAXIMUM (size_t), false, false);
-}
-
-time_t
+static time_t
time_from_header (const char *p, size_t s)
{
return from_header (p, s, "time_t",
(uintmax_t) TYPE_MAXIMUM (time_t), false, false);
}
-uid_t
+static uid_t
uid_from_header (const char *p, size_t s)
{
return from_header (p, s, "uid_t",
/* Time stamp. */
- time_stamp = tartime (st->mtime, false);
+ time_stamp = tartime (st->mtime, full_time_option);
time_stamp_len = strlen (time_stamp);
if (datewidth < time_stamp_len)
datewidth = time_stamp_len;
}
-void
-print_volume_label ()
+static void
+print_volume_label (void)
{
struct tar_stat_info vstat;
union block vblk;
{
union block *x;
- /* FIXME: Make sure mv_begin is always called before it */
+ /* FIXME: Make sure mv_begin_read is always called before it */
if (seekable_archive)
{
char save_typeflag = current_header->header.typeflag;
set_next_block_after (current_header);
- mv_begin (¤t_stat_info);
+ mv_begin_read (¤t_stat_info);
if (current_stat_info.is_sparse)
sparse_skip_file (¤t_stat_info);
if (read_header (¤t_header, ¤t_stat_info, read_header_auto)
== HEADER_SUCCESS)
{
- char *s = NULL;
-
decode_header (current_header,
¤t_stat_info, ¤t_format, 0);
if (current_header->header.typeflag == GNUTYPE_VOLHDR)
assign_string (&volume_label, current_header->header.name);
- if (volume_label
- && (name_match (volume_label)
- || (multi_volume_option
- && (s = drop_volume_label_suffix (volume_label))
- && name_match (s))))
- if (verbose_option)
- print_volume_label ();
- free (s);
+ if (volume_label)
+ {
+ if (verbose_option)
+ print_volume_label ();
+ if (!name_match (volume_label) && multi_volume_option)
+ {
+ char *s = drop_volume_label_suffix (volume_label);
+ name_match (s);
+ free (s);
+ }
+ }
}
close_archive ();
- names_notfound ();
+ label_notfound ();
}
/* Miscellaneous functions, not really specific to GNU tar.
Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001,
- 2003, 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
#include <rmt.h>
#include "common.h"
#include <quotearg.h>
-#include <save-cwd.h>
#include <xgetcwd.h>
#include <unlinkdir.h>
#include <utimens.h>
-#include <canonicalize.h>
-#if HAVE_STROPTS_H
-# include <stropts.h>
-#endif
-#if HAVE_SYS_FILIO_H
-# include <sys/filio.h>
+#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
#endif
\f
*string = value ? xstrdup (value) : 0;
}
+#if 0
+/* This function is currently unused; perhaps it should be removed? */
+
/* Allocate a copy of the string quoted as in C, and returns that. If
the string does not have to be quoted, it returns a null pointer.
The allocated copy should normally be freed with free() after the
when reading directory files. This means that we can't use
quotearg, as quotearg is locale-dependent and is meant for human
consumption. */
-char *
+static char *
quote_copy_string (const char *string)
{
const char *source = string;
}
return 0;
}
+#endif
/* Takes a quoted C string (like those produced by quote_copy_string)
and turns it back into the un-quoted original. This is done in
return name;
}
+/* Normalize FILE_NAME by removing redundant slashes and "."
+ components, including redundant trailing slashes. Leave ".."
+ alone, as it may be significant in the presence of symlinks and on
+ platforms where "/.." != "/". Destructive version: modifies its
+ argument. */
+static void
+normalize_filename_x (char *file_name)
+{
+ char *name = file_name + FILE_SYSTEM_PREFIX_LEN (file_name);
+ char *p;
+ char const *q;
+ char c;
+
+ /* Don't squeeze leading "//" to "/", on hosts where they're distinct. */
+ name += (DOUBLE_SLASH_IS_DISTINCT_ROOT
+ && ISSLASH (*name) && ISSLASH (name[1]) && ! ISSLASH (name[2]));
+
+ /* Omit redundant leading "." components. */
+ for (q = p = name; (*p = *q) == '.' && ISSLASH (q[1]); p += !*q)
+ for (q += 2; ISSLASH (*q); q++)
+ continue;
+
+ /* Copy components from Q to P, omitting redundant slashes and
+ internal "." components. */
+ while ((*p++ = c = *q++) != '\0')
+ if (ISSLASH (c))
+ while (ISSLASH (q[*q == '.']))
+ q += (*q == '.') + 1;
+
+ /* Omit redundant trailing "." component and slash. */
+ if (2 < p - name)
+ {
+ p -= p[-2] == '.' && ISSLASH (p[-3]);
+ p -= 2 < p - name && ISSLASH (p[-2]);
+ p[-1] = '\0';
+ }
+}
+
+/* Normalize NAME by removing redundant slashes and "." components,
+ including redundant trailing slashes. Return a normalized
+ newly-allocated copy. */
+
char *
normalize_filename (const char *name)
{
- return zap_slashes (canonicalize_filename_mode (name, CAN_MISSING));
+ char *copy = NULL;
+
+ if (IS_RELATIVE_FILE_NAME (name))
+ {
+ /* Set COPY to the absolute file name if possible.
+
+ FIXME: There should be no need to get the absolute file name.
+ getcwd is slow, it might fail, and it does not necessarily
+ return a canonical name even when it succeeds. Perhaps we
+ can use dev+ino pairs instead of names? */
+ copy = xgetcwd ();
+ if (copy)
+ {
+ size_t copylen = strlen (copy);
+ bool need_separator = ! (DOUBLE_SLASH_IS_DISTINCT_ROOT
+ && copylen == 2 && ISSLASH (copy[1]));
+ copy = xrealloc (copy, copylen + need_separator + strlen (name) + 1);
+ copy[copylen] = DIRECTORY_SEPARATOR;
+ strcpy (copy + copylen + need_separator, name);
+ }
+ else
+ WARN ((0, errno, _("Cannot get working directory")));
+ }
+
+ if (! copy)
+ copy = xstrdup (name);
+ normalize_filename_x (copy);
+ return copy;
}
\f
/* ignore invalid values of ns */
if (BILLION <= ns || ns < 0)
ns = 0;
-
+
if (negative && ns != 0)
{
s++;
static char *after_backup_name;
/* Return 1 if FILE_NAME is obviously "." or "/". */
-static bool
+bool
must_be_dot_or_slash (char const *file_name)
{
file_name += FILE_SYSTEM_PREFIX_LEN (file_name);
return -1;
}
- return rmdir (file_name);
+ return unlinkat (chdir_fd, file_name, AT_REMOVEDIR);
}
/* Remove FILE_NAME, returning 1 on success. If FILE_NAME is a directory,
if (try_unlink_first)
{
- if (unlink (file_name) == 0)
+ if (unlinkat (chdir_fd, file_name, 0) == 0)
return 1;
/* POSIX 1003.1-2001 requires EPERM when attempting to unlink a
switch (errno)
{
case ENOTDIR:
- return !try_unlink_first && unlink (file_name) == 0;
+ return !try_unlink_first && unlinkat (chdir_fd, file_name, 0) == 0;
case 0:
case EEXIST:
if (this_is_the_archive && _remdev (file_name))
return true;
- if (stat (file_name, &file_stat))
+ if (deref_stat (file_name, &file_stat) != 0)
{
if (errno == ENOENT)
return true;
if (! after_backup_name)
xalloc_die ();
- if (rename (before_backup_name, after_backup_name) == 0)
+ if (renameat (chdir_fd, before_backup_name, chdir_fd, after_backup_name)
+ == 0)
{
if (verbose_option)
fprintf (stdlis, _("Renaming %s to %s\n"),
{
if (after_backup_name)
{
- if (rename (after_backup_name, before_backup_name) != 0)
+ if (renameat (chdir_fd, after_backup_name, chdir_fd, before_backup_name)
+ != 0)
{
int e = errno;
ERROR ((0, e, _("%s: Cannot rename to %s"),
}
}
-/* Depending on DEREF, apply either stat or lstat to (NAME, BUF). */
+/* Apply either stat or lstat to (NAME, BUF), depending on the
+ presence of the --dereference option. NAME is relative to the
+ most-recent argument to chdir_do. */
int
-deref_stat (bool deref, char const *name, struct stat *buf)
+deref_stat (char const *name, struct stat *buf)
{
- return deref ? stat (name, buf) : lstat (name, buf);
+ return fstatat (chdir_fd, name, buf, fstatat_flags);
}
-/* Set FD's (i.e., FILE's) access time to TIMESPEC[0]. If that's not
- possible to do by itself, set its access and data modification
- times to TIMESPEC[0] and TIMESPEC[1], respectively. */
+/* Set FD's (i.e., assuming the working directory is PARENTFD, FILE's)
+ access time to ATIME. */
int
-set_file_atime (int fd, char const *file, struct timespec const timespec[2])
+set_file_atime (int fd, int parentfd, char const *file, struct timespec atime)
{
-#ifdef _FIOSATIME
- if (0 <= fd)
- {
- struct timeval timeval;
- timeval.tv_sec = timespec[0].tv_sec;
- timeval.tv_usec = timespec[0].tv_nsec / 1000;
- if (ioctl (fd, _FIOSATIME, &timeval) == 0)
- return 0;
- }
-#endif
-
- return gl_futimens (fd, file, timespec);
+ struct timespec ts[2];
+ ts[0] = atime;
+ ts[1].tv_nsec = UTIME_OMIT;
+ return fdutimensat (fd, parentfd, file, ts, fstatat_flags);
}
/* A description of a working directory. */
struct wd
{
+ /* The directory's name. */
char const *name;
- int saved;
- struct saved_cwd saved_cwd;
+
+ /* If nonzero, the file descriptor of the directory, or AT_FDCWD if
+ the working directory. If zero, the directory needs to be opened
+ to be used. */
+ int fd;
};
/* A vector of chdir targets. wd[0] is the initial working directory. */
/* The allocated size of the vector. */
static size_t wd_alloc;
+/* The maximum number of chdir targets with open directories.
+ Don't make it too large, as many operating systems have a small
+ limit on the number of open file descriptors. Also, the current
+ implementation does not scale well. */
+enum { CHDIR_CACHE_SIZE = 16 };
+
+/* Indexes into WD of chdir targets with open file descriptors, sorted
+ most-recently used first. Zero indexes are unused. */
+static int wdcache[CHDIR_CACHE_SIZE];
+
+/* Number of nonzero entries in WDCACHE. */
+static size_t wdcache_count;
+
int
chdir_count ()
{
if (! wd_count)
{
wd[wd_count].name = ".";
- wd[wd_count].saved = 0;
+ wd[wd_count].fd = AT_FDCWD;
wd_count++;
}
}
}
wd[wd_count].name = dir;
- wd[wd_count].saved = 0;
+ wd[wd_count].fd = 0;
return wd_count++;
}
-/* Change to directory I. If I is 0, change to the initial working
- directory; otherwise, I must be a value returned by chdir_arg. */
+/* Index of current directory. */
+int chdir_current;
+
+/* Value suitable for use as the first argument to openat, and in
+ similar locations for fstatat, etc. This is an open file
+ descriptor, or AT_FDCWD if the working directory is current. It is
+ valid until the next invocation of chdir_do. */
+int chdir_fd = AT_FDCWD;
+
+/* Change to directory I, in a virtual way. This does not actually
+ invoke chdir; it merely sets chdir_fd to an int suitable as the
+ first argument for openat, etc. If I is 0, change to the initial
+ working directory; otherwise, I must be a value returned by
+ chdir_arg. */
void
chdir_do (int i)
{
- static int previous;
-
- if (previous != i)
+ if (chdir_current != i)
{
- struct wd *prev = &wd[previous];
struct wd *curr = &wd[i];
+ int fd = curr->fd;
- if (! prev->saved)
+ if (! fd)
{
- int err = 0;
- prev->saved = 1;
- if (save_cwd (&prev->saved_cwd) != 0)
- err = errno;
- else if (0 <= prev->saved_cwd.desc)
+ if (! IS_ABSOLUTE_FILE_NAME (curr->name))
+ chdir_do (i - 1);
+ fd = openat (chdir_fd, curr->name,
+ open_searchdir_flags & ~ O_NOFOLLOW);
+ if (fd < 0)
+ open_fatal (curr->name);
+
+ curr->fd = fd;
+
+ /* Add I to the cache, tossing out the lowest-ranking entry if the
+ cache is full. */
+ if (wdcache_count < CHDIR_CACHE_SIZE)
+ wdcache[wdcache_count++] = i;
+ else
{
- /* Make sure we still have at least one descriptor available. */
- int fd1 = prev->saved_cwd.desc;
- int fd2 = dup (fd1);
- if (0 <= fd2)
- close (fd2);
- else if (errno == EMFILE)
- {
- /* Force restore_cwd to use chdir_long. */
- close (fd1);
- prev->saved_cwd.desc = -1;
- prev->saved_cwd.name = xgetcwd ();
- }
- else
- err = errno;
+ struct wd *stale = &wd[wdcache[CHDIR_CACHE_SIZE - 1]];
+ if (close (stale->fd) != 0)
+ close_diag (stale->name);
+ stale->fd = 0;
+ wdcache[CHDIR_CACHE_SIZE - 1] = i;
}
-
- if (err)
- FATAL_ERROR ((0, err, _("Cannot save working directory")));
}
- if (curr->saved)
+ if (0 < fd)
{
- if (restore_cwd (&curr->saved_cwd))
- FATAL_ERROR ((0, 0, _("Cannot change working directory")));
- }
- else
- {
- if (i && ! ISSLASH (curr->name[0]))
- chdir_do (i - 1);
- if (chdir (curr->name) != 0)
- chdir_fatal (curr->name);
+ /* Move the i value to the front of the cache. This is
+ O(CHDIR_CACHE_SIZE), but the cache is small. */
+ size_t ci;
+ int prev = wdcache[0];
+ for (ci = 1; prev != i; ci++)
+ {
+ int curr = wdcache[ci];
+ wdcache[ci] = prev;
+ if (curr == i)
+ break;
+ prev = curr;
+ }
+ wdcache[0] = i;
}
- previous = i;
+ chdir_current = i;
+ chdir_fd = fd;
}
}
\f
(0, 0, _("%s: File removed before we read it"),
quotearg_colon (name)));
set_exit_status (TAREXIT_DIFFERS);
- }
+ }
else
diagfn (name);
}
strcpy (buf->buffer + buf->dir_length, name);
return buf->buffer;
}
-
-
-
\f
/* User and group names. */
-struct group *getgrnam ();
-struct passwd *getpwnam ();
-#if ! HAVE_DECL_GETPWUID
-struct passwd *getpwuid ();
-#endif
-#if ! HAVE_DECL_GETGRGID
-struct group *getgrgid ();
-#endif
-
/* Make sure you link with the proper libraries if you are running the
Yellow Peril (thanks for the good laugh, Ian J.!), or, euh... NIS.
This code should also be modified for non-UNIX systems to do something
}
\f
-struct name *
+static struct name *
make_name (const char *file_name)
{
struct name *p = xzalloc (sizeof (*p));
return p;
}
-void
+static void
free_name (struct name *p)
{
if (p)
static struct name *namelist; /* first name in list, if any */
static struct name *nametail; /* end of name list */
-/* File name arguments are processed in two stages: first a
+/* File name arguments are processed in two stages: first a
name_array (see below) is filled, then the names from it
are moved into the namelist.
which is meant to help process large archives on machines with
limited memory. With this option on, namelist contains at most one
entry, which diminishes the memory consumption.
-
+
However, I very much doubt if we still need this -- Sergey */
/* A name_array element contains entries of three types: */
union
{
const char *name; /* File or directory name */
- int matching_flags;/* fnmatch options if type == NELT_FMASK */
+ int matching_flags;/* fnmatch options if type == NELT_FMASK */
} v;
};
static struct name_elt *name_array; /* store an array of names */
-static size_t allocated_names; /* how big is the array? */
-static size_t names; /* how many entries does it have? */
-static size_t name_index; /* how many of the entries have we scanned? */
+static size_t allocated_entries; /* how big is the array? */
+static size_t entries; /* how many entries does it have? */
+static size_t scanned; /* how many of the entries have we scanned? */
+size_t name_count; /* how many of the entries are names? */
/* Check the size of name_array, reallocating it as necessary. */
static void
-check_name_alloc ()
+check_name_alloc (void)
{
- if (names == allocated_names)
+ if (entries == allocated_entries)
{
- if (allocated_names == 0)
- allocated_names = 10; /* Set initial allocation */
- name_array = x2nrealloc (name_array, &allocated_names,
+ if (allocated_entries == 0)
+ allocated_entries = 10; /* Set initial allocation */
+ name_array = x2nrealloc (name_array, &allocated_entries,
sizeof (name_array[0]));
}
}
struct name_elt *ep;
check_name_alloc ();
- ep = &name_array[names++];
+ ep = &name_array[entries++];
if (prev_flags != matching_flags)
{
ep->type = NELT_FMASK;
ep->v.matching_flags = matching_flags;
prev_flags = matching_flags;
check_name_alloc ();
- ep = &name_array[names++];
+ ep = &name_array[entries++];
}
ep->type = NELT_NAME;
ep->v.name = name;
+ name_count++;
}
/* Add to name_array a chdir request for the directory NAME */
{
struct name_elt *ep;
check_name_alloc ();
- ep = &name_array[names++];
+ ep = &name_array[entries++];
ep->type = NELT_CHDIR;
ep->v.name = name;
-}
+}
\f
/* Names from external name file. */
If CHANGE_DIRS is true, treat any entries of type NELT_CHDIR as
the request to change to the given directory.
-
+
Entries of type NELT_FMASK cause updates of the matching_flags
value. */
-struct name_elt *
+static struct name_elt *
name_next_elt (int change_dirs)
{
static struct name_elt entry;
const char *source;
char *cursor;
- while (name_index != names)
+ while (scanned != entries)
{
struct name_elt *ep;
size_t source_len;
-
- ep = &name_array[name_index++];
+
+ ep = &name_array[scanned++];
if (ep->type == NELT_FMASK)
{
matching_flags = ep->v.matching_flags;
continue;
}
-
+
source = ep->v.name;
source_len = strlen (source);
if (name_buffer_length < source_len)
buffer->directory = NULL;
buffer->parent = NULL;
buffer->cmdline = true;
-
+
namelist = nametail = buffer;
}
else if (change_dir)
if (!cursor)
return true;
-
+
if (cursor->name[0] == 0)
{
chdir_do (cursor->change_dir);
return true;
}
-static void
+static int
regex_usage_warning (const char *name)
{
static int warned_once = 0;
_("Use --wildcards to enable pattern matching,"
" or --no-wildcards to suppress this warning")));
}
+ return warned_once;
}
/* Print the names of things in the namelist that were not matched. */
if (!WASFOUND (cursor) && cursor->name[0])
{
regex_usage_warning (cursor->name);
- if (cursor->found_count == 0)
- ERROR ((0, 0, _("%s: Not found in archive"),
- quotearg_colon (cursor->name)));
- else
- ERROR ((0, 0, _("%s: Required occurrence not found in archive"),
- quotearg_colon (cursor->name)));
+ ERROR ((0, 0,
+ (cursor->found_count == 0) ?
+ _("%s: Not found in archive") :
+ _("%s: Required occurrence not found in archive"),
+ quotearg_colon (cursor->name)));
}
/* Don't bother freeing the name list; we're about to exit. */
}
}
}
+
+void
+label_notfound (void)
+{
+ struct name const *cursor;
+
+ if (!namelist)
+ return;
+
+ for (cursor = namelist; cursor; cursor = cursor->next)
+ if (WASFOUND (cursor))
+ return;
+
+ if (verbose_option)
+ error (0, 0, _("Archive label mismatch"));
+ set_exit_status (TAREXIT_DIFFERS);
+
+ for (cursor = namelist; cursor; cursor = cursor->next)
+ {
+ if (regex_usage_warning (cursor->name))
+ break;
+ }
+
+ /* Don't bother freeing the name list; we're about to exit. */
+ namelist = NULL;
+ nametail = NULL;
+
+ if (same_order_option)
+ {
+ const char *name;
+
+ while ((name = name_next (1)) != NULL
+ && regex_usage_warning (name) == 0)
+ ;
+ }
+}
\f
/* Sorting name lists. */
/* Sort *singly* linked LIST of names, of given LENGTH, using COMPARE
to order names. Return the sorted list. Note that after calling
this function, the `prev' links in list elements are messed up.
-
+
Apart from the type `struct name' and the definition of SUCCESSOR,
this is a generic list-sorting function, but it's too painful to
make it both generic and portable
}
\f
-/* Add all the dirs under NAME, which names a directory, to the namelist.
- If any of the files is a directory, recurse on the subdirectory.
- DEVICE is the device not to leave, if the -l option is specified.
- CMDLINE is true, if the NAME appeared on the command line. */
+/* Add all the dirs under ST to the namelist NAME, descending the
+ directory hierarchy recursively. */
static void
-add_hierarchy_to_namelist (struct name *name, dev_t device, bool cmdline)
+add_hierarchy_to_namelist (struct tar_stat_info *st, struct name *name)
{
const char *buffer;
-
- name_fill_directory (name, device, cmdline);
+
+ name->directory = scan_directory (st);
buffer = directory_contents (name->directory);
if (buffer)
{
if (*string == 'D')
{
struct name *np;
+ struct tar_stat_info subdir;
+ int subfd;
if (allocated_length <= name_length + string_length)
{
else
child_tail->sibling = np;
child_tail = np;
- add_hierarchy_to_namelist (np, device, false);
+
+ tar_stat_init (&subdir);
+ subdir.parent = st;
+ if (st->fd < 0)
+ {
+ subfd = -1;
+ errno = - st->fd;
+ }
+ else
+ subfd = subfile_open (st, string + 1,
+ open_read_flags | O_DIRECTORY);
+ if (subfd < 0)
+ open_diag (namebuf);
+ else
+ {
+ subdir.fd = subfd;
+ if (fstat (subfd, &subdir.stat) != 0)
+ stat_diag (namebuf);
+ else if (! (O_DIRECTORY || S_ISDIR (subdir.stat.st_mode)))
+ {
+ errno = ENOTDIR;
+ open_diag (namebuf);
+ }
+ else
+ {
+ subdir.orig_file_name = xstrdup (namebuf);
+ add_hierarchy_to_namelist (&subdir, np);
+ restore_parent_fd (&subdir);
+ }
+ }
+
+ tar_stat_destroy (&subdir);
}
}
size_t old_prefix_len = child->parent->length;
size_t new_prefix_len = parent->length;
char *new_prefix = parent->name;
-
+
for (; child; child = child->sibling)
{
size_t size = child->length - old_prefix_len + new_prefix_len;
child->length = size;
rebase_directory (child->directory,
- child->parent->name, old_prefix_len,
+ child->parent->name, old_prefix_len,
new_prefix, new_prefix_len);
}
}
collect_and_sort_names (void)
{
struct name *name;
- struct name *next_name, *prev_name;
+ struct name *next_name, *prev_name = NULL;
int num_names;
- struct stat statbuf;
Hash_table *nametab;
-
+
name_gather ();
if (!namelist)
read_directory_file ();
}
-
+
num_names = 0;
for (name = namelist; name; name = name->next, num_names++)
{
+ struct tar_stat_info st;
+
if (name->found_count || name->directory)
continue;
if (name->matching_flags & EXCLUDE_WILDCARDS)
if (name->name[0] == 0)
continue;
- if (deref_stat (dereference_option, name->name, &statbuf) != 0)
+ tar_stat_init (&st);
+
+ if (deref_stat (name->name, &st.stat) != 0)
{
stat_diag (name->name);
continue;
}
- if (S_ISDIR (statbuf.st_mode))
+ if (S_ISDIR (st.stat.st_mode))
{
- name->found_count++;
- add_hierarchy_to_namelist (name, statbuf.st_dev, true);
+ int dir_fd = openat (chdir_fd, name->name,
+ open_read_flags | O_DIRECTORY);
+ if (dir_fd < 0)
+ open_diag (name->name);
+ else
+ {
+ st.fd = dir_fd;
+ if (fstat (dir_fd, &st.stat) != 0)
+ stat_diag (name->name);
+ else if (O_DIRECTORY || S_ISDIR (st.stat.st_mode))
+ {
+ st.orig_file_name = xstrdup (name->name);
+ name->found_count++;
+ add_hierarchy_to_namelist (&st, name);
+ }
+ }
}
+
+ tar_stat_destroy (&st);
}
namelist = merge_sort (namelist, num_names, compare_names);
{
if (p->child)
rebase_child_list (p->child, name);
+ hash_delete (nametab, name);
/* FIXME: remove_directory (p->caname); ? */
remname (p);
free_name (p);
register_individual_file (char const *name)
{
struct stat st;
-
- if (deref_stat (dereference_option, name, &st) != 0)
+
+ if (deref_stat (name, &st) != 0)
return; /* Will be complained about later */
if (S_ISDIR (st.st_mode))
return;
-
+
hash_string_insert (&individual_file_table, name);
}
/* Functions for dealing with sparse files
- Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
struct tar_stat_info *st = file->stat_info;
int fd = file->fd;
char buffer[BLOCKSIZE];
- size_t count;
+ size_t count = 0;
off_t offset = 0;
struct sp_array sp = {0, 0};
- if (!lseek_or_error (file, 0))
- return false;
-
st->archive_file_size = 0;
-
- if (!tar_sparse_scan (file, scan_begin, NULL))
- return false;
- while ((count = safe_read (fd, buffer, sizeof buffer)) != 0
- && count != SAFE_READ_ERROR)
+ if (ST_NBLOCKS (st->stat) == 0)
+ offset = st->stat.st_size;
+ else
{
- /* Analyze the block. */
- if (zero_block_p (buffer, count))
+ if (!tar_sparse_scan (file, scan_begin, NULL))
+ return false;
+
+ while ((count = safe_read (fd, buffer, sizeof buffer)) != 0
+ && count != SAFE_READ_ERROR)
{
- if (sp.numbytes)
+ /* Analyze the block. */
+ if (zero_block_p (buffer, count))
+ {
+ if (sp.numbytes)
+ {
+ sparse_add_map (st, &sp);
+ sp.numbytes = 0;
+ if (!tar_sparse_scan (file, scan_block, NULL))
+ return false;
+ }
+ }
+ else
{
- sparse_add_map (st, &sp);
- sp.numbytes = 0;
- if (!tar_sparse_scan (file, scan_block, NULL))
+ if (sp.numbytes == 0)
+ sp.offset = offset;
+ sp.numbytes += count;
+ st->archive_file_size += count;
+ if (!tar_sparse_scan (file, scan_block, buffer))
return false;
}
- }
- else
- {
- if (sp.numbytes == 0)
- sp.offset = offset;
- sp.numbytes += count;
- st->archive_file_size += count;
- if (!tar_sparse_scan (file, scan_block, buffer))
- return false;
- }
- offset += count;
+ offset += count;
+ }
}
if (sp.numbytes == 0)
memset (blk->buffer + bytes_read, 0, BLOCKSIZE - bytes_read);
bytes_left -= bytes_read;
file->dumped_size += bytes_read;
- mv_size_left (file->stat_info->archive_file_size - file->dumped_size);
set_next_block_after (blk);
}
static bool
sparse_extract_region (struct tar_sparse_file *file, size_t i)
{
- size_t write_size;
+ off_t write_size;
if (!lseek_or_error (file, file->stat_info->sparse_map[i].offset))
return false;
{
size_t i;
- mv_begin (file.stat_info);
+ mv_begin_write (file.stat_info->file_name,
+ file.stat_info->stat.st_size,
+ file.stat_info->archive_file_size - file.dumped_size);
for (i = 0; rc && i < file.stat_info->sparse_map_avail; i++)
rc = tar_sparse_dump_region (&file, i);
- mv_end ();
}
}
static bool
check_data_region (struct tar_sparse_file *file, size_t i)
{
- size_t size_left;
+ off_t size_left;
if (!lseek_or_error (file, file->stat_info->sparse_map[i].offset))
return false;
size_left = file->stat_info->sparse_map[i].numbytes;
mv_size_left (file->stat_info->archive_file_size - file->dumped_size);
-
+
while (size_left > 0)
{
size_t bytes_read;
file.stat_info = st;
file.fd = fd;
file.seekable = true; /* File *must* be seekable for compare to work */
-
+
rc = tar_sparse_decode_header (&file);
- mv_begin (st);
+ mv_begin_read (st);
for (i = 0; rc && i < file.stat_info->sparse_map_avail; i++)
{
rc = check_sparse_region (&file,
if (!rc)
skip_file (file.stat_info->archive_file_size - file.dumped_size);
mv_end ();
-
+
tar_sparse_done (&file);
return rc;
}
if (s->numbytes[0] == '\0')
return add_finish;
sp.offset = OFF_FROM_HEADER (s->offset);
- sp.numbytes = SIZE_FROM_HEADER (s->numbytes);
+ sp.numbytes = OFF_FROM_HEADER (s->numbytes);
if (sp.offset < 0
+ || sp.offset + sp.numbytes < 0
|| file->stat_info->stat.st_size < sp.offset + sp.numbytes
|| file->stat_info->archive_file_size < 0)
return add_fail;
{
OFF_TO_CHARS (file->stat_info->sparse_map[*pindex].offset,
sp->offset);
- SIZE_TO_CHARS (file->stat_info->sparse_map[*pindex].numbytes,
- sp->numbytes);
+ OFF_TO_CHARS (file->stat_info->sparse_map[*pindex].numbytes,
+ sp->numbytes);
}
}
instances of GNU.sparse.offset/GNU.sparse.numbytes variables, whereas
POSIX requires the latest occurrence of the variable to override all
previous occurrences.
-
+
To avoid this incompatibility two following versions were introduced.
* 0.1
Used by tar 1.15.2 -- 1.15.91 (alpha releases).
-
+
The sparse file map is stored in
x header:
Starting from this version, the exact sparse format version is specified
explicitely in the header using the following variables:
- GNU.sparse.major Major version
+ GNU.sparse.major Major version
GNU.sparse.minor Minor version
X header keeps the following variables:
-
+
GNU.sparse.name Real file name of the sparse file
GNU.sparse.realsize Real size of the stored file (corresponds to the old
GNU.sparse.size variable)
The name field of the ustar header is constructed using the pattern
"%d/GNUSparseFile.%p/%f".
-
+
The sparse map itself is stored in the file data block, preceding the actual
file data. It consists of a series of octal numbers of arbitrary length,
delimited by newlines. The map is padded with nulls to the nearest block
char nbuf[UINTMAX_STRSIZE_BOUND];
struct sp_array *map = file->stat_info->sparse_map;
char *save_file_name = NULL;
-
+
/* Store the real file size */
xheader_store ("GNU.sparse.size", file->stat_info, NULL);
xheader_store ("GNU.sparse.numblocks", file->stat_info, NULL);
-
+
if (xheader_keyword_deleted_p ("GNU.sparse.map")
|| tar_sparse_minor == 0)
{
#define COPY_STRING(b,dst,src) do \
{ \
char *endp = b->buffer + BLOCKSIZE; \
- char *srcp = src; \
+ char const *srcp = src; \
while (*srcp) \
{ \
if (dst == endp) \
} \
*dst++ = *srcp++; \
} \
- } while (0)
+ } while (0)
/* Compute stored file size */
p = umaxtostr (file->stat_info->sparse_map_avail, nbuf);
size = (size + BLOCKSIZE - 1) / BLOCKSIZE;
file->stat_info->archive_file_size += size * BLOCKSIZE;
file->dumped_size += size * BLOCKSIZE;
-
+
/* Store sparse file identification */
xheader_store ("GNU.sparse.major", file->stat_info, NULL);
xheader_store ("GNU.sparse.minor", file->stat_info, NULL);
xheader_store ("GNU.sparse.name", file->stat_info, NULL);
xheader_store ("GNU.sparse.realsize", file->stat_info, NULL);
-
+
file->stat_info->file_name = xheader_format_name (file->stat_info,
"%d/GNUSparseFile.%p/%f", 0);
if (!ISDIGIT (*arg))
return false;
-
+
u = strtoumax (arg, &arg_lim, 10);
if (! (u <= maxval && errno != ERANGE) || *arg_lim)
return false;
-
+
*num = u;
return true;
}
} \
while (*dst++ != '\n'); \
dst[-1] = 0; \
- } while (0)
+ } while (0)
set_next_block_after (current_header);
file->dumped_size += BLOCKSIZE;
COPY_BUF (blk,nbuf,p);
if (!decode_num (&u, nbuf, TYPE_MAXIMUM (size_t)))
{
- ERROR ((0, 0, _("%s: malformed sparse archive member"),
+ ERROR ((0, 0, _("%s: malformed sparse archive member"),
file->stat_info->orig_file_name));
return false;
}
for (i = 0; i < file->stat_info->sparse_map_size; i++)
{
struct sp_array sp;
-
+
COPY_BUF (blk,nbuf,p);
if (!decode_num (&u, nbuf, TYPE_MAXIMUM (off_t)))
{
- ERROR ((0, 0, _("%s: malformed sparse archive member"),
+ ERROR ((0, 0, _("%s: malformed sparse archive member"),
file->stat_info->orig_file_name));
return false;
}
sp.offset = u;
COPY_BUF (blk,nbuf,p);
- if (!decode_num (&u, nbuf, TYPE_MAXIMUM (size_t)))
+ if (!decode_num (&u, nbuf, TYPE_MAXIMUM (off_t)))
{
- ERROR ((0, 0, _("%s: malformed sparse archive member"),
+ ERROR ((0, 0, _("%s: malformed sparse archive member"),
file->stat_info->orig_file_name));
return false;
}
}
set_next_block_after (blk);
}
-
+
return true;
}
pax_sparse_member_p,
pax_dump_header,
NULL,
- pax_decode_header,
+ pax_decode_header,
NULL, /* No scan_block function */
sparse_dump_region,
sparse_extract_region,
};
static struct compression_suffix compression_suffixes[] = {
-#define __CAT2__(a,b) a ## b
+#define __CAT2__(a,b) a ## b
#define S(s,p) #s, sizeof (#s) - 1, __CAT2__(p,_PROGRAM)
{ S(gz, GZIP) },
{ S(tgz, GZIP) },
find_compression_program (const char *name, const char *defprog)
{
char *suf = strrchr (name, '.');
-
+
if (suf)
{
int i;
}
void
-set_comression_program_by_suffix (const char *name, const char *defprog)
+set_compression_program_by_suffix (const char *name, const char *defprog)
{
const char *program = find_compression_program (name, defprog);
if (program)
use_compress_program_option = program;
}
-
/* System-dependent calls for tar.
Copyright (C) 2003, 2004, 2005, 2006, 2007,
- 2008 Free Software Foundation, Inc.
+ 2008, 2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
#include <system.h>
#include "common.h"
+#include <priv-set.h>
#include <rmt.h>
#include <signal.h>
child = xfork ();
if (child == 0)
{
+ priv_set_restore_linkdir ();
execlp (shell, "-sh", "-i", (char *) 0);
exec_fatal (shell);
}
}
}
-void wait_for_grandchild (pid_t pid) __attribute__ ((__noreturn__));
+static void wait_for_grandchild (pid_t pid) __attribute__ ((__noreturn__));
/* Propagate any failure of the grandchild back to the parent. */
-void
+static void
wait_for_grandchild (pid_t pid)
{
int wait_status;
int exit_code = 0;
-
+
while (waitpid (pid, &wait_status, 0) == -1)
if (errno != EINTR)
{
raise (WTERMSIG (wait_status));
else if (WEXITSTATUS (wait_status) != 0)
exit_code = WEXITSTATUS (wait_status);
-
+
exit (exit_code);
}
set_program_name (_("tar (child)"));
signal (SIGPIPE, SIG_DFL);
-
+
xdup2 (parent_pipe[PREAD], STDIN_FILENO);
xclose (parent_pipe[PWRITE]);
}
xdup2 (archive, STDOUT_FILENO);
}
+ priv_set_restore_linkdir ();
execlp (use_compress_program_option, use_compress_program_option, NULL);
exec_fatal (use_compress_program_option);
}
xdup2 (child_pipe[PWRITE], STDOUT_FILENO);
xclose (child_pipe[PREAD]);
+ priv_set_restore_linkdir ();
execlp (use_compress_program_option, use_compress_program_option,
(char *) 0);
exec_fatal (use_compress_program_option);
set_program_name (_("tar (child)"));
signal (SIGPIPE, SIG_DFL);
-
+
xdup2 (parent_pipe[PWRITE], STDOUT_FILENO);
xclose (parent_pipe[PREAD]);
if (archive < 0)
open_fatal (archive_name_array[0]);
xdup2 (archive, STDIN_FILENO);
+ priv_set_restore_linkdir ();
execlp (use_compress_program_option, use_compress_program_option,
"-d", (char *) 0);
exec_fatal (use_compress_program_option);
xdup2 (child_pipe[PREAD], STDIN_FILENO);
xclose (child_pipe[PWRITE]);
+ priv_set_restore_linkdir ();
execlp (use_compress_program_option, use_compress_program_option,
"-d", (char *) 0);
exec_fatal (use_compress_program_option);
\f
static void
-dec_to_env (char *envar, uintmax_t num)
+dec_to_env (char const *envar, uintmax_t num)
{
char buf[UINTMAX_STRSIZE_BOUND];
char *numstr;
}
static void
-time_to_env (char *envar, struct timespec t)
+time_to_env (char const *envar, struct timespec t)
{
char buf[TIMESPEC_STRSIZE_BOUND];
if (setenv (envar, code_timespec (t, buf), 1) != 0)
}
static void
-oct_to_env (char *envar, unsigned long num)
+oct_to_env (char const *envar, unsigned long num)
{
char buf[1+1+(sizeof(unsigned long)*CHAR_BIT+2)/3];
}
static void
-str_to_env (char *envar, char const *str)
+str_to_env (char const *envar, char const *str)
{
if (str)
{
}
static void
-chr_to_env (char *envar, char c)
+chr_to_env (char const *envar, char c)
{
char buf[2];
buf[0] = c;
argv[2] = to_command_option;
argv[3] = NULL;
+ priv_set_restore_linkdir ();
execv ("/bin/sh", argv);
exec_fatal (file_name);
char uintbuf[UINTMAX_STRSIZE_BOUND];
int p[2];
static RETSIGTYPE (*saved_handler) (int sig);
-
+
xpipe (p);
saved_handler = signal (SIGPIPE, SIG_IGN);
}
signal (SIGPIPE, saved_handler);
-
+
if (WIFEXITED (status))
{
if (WEXITSTATUS (status) == 0 && rc > 0)
argv[0] = "/bin/sh";
argv[1] = "-c";
- argv[2] = (char*) info_script_option;
+ argv[2] = (char *) info_script_option;
argv[3] = NULL;
+ priv_set_restore_linkdir ();
execv (argv[0], argv);
exec_fatal (info_script_option);
archive_format : current_format), 1);
argv[0] = "/bin/sh";
argv[1] = "-c";
- argv[2] = (char*) script_name;
+ argv[2] = (char *) script_name;
argv[3] = NULL;
+ priv_set_restore_linkdir ();
execv (argv[0], argv);
exec_fatal (script_name);
#include <closeout.h>
#include <configmake.h>
#include <exitfail.h>
-#include <getdate.h>
+#include <parse-datetime.h>
#include <rmt.h>
#include <rmt-command.h>
#include <prepargs.h>
static const char *stdin_used_by;
/* Doesn't return if stdin already requested. */
-void
+static void
request_stdin (const char *option)
{
if (stdin_used_by)
abort ();
}
-void
-tar_list_quoting_styles (struct obstack *stk, char *prefix)
+static void
+tar_list_quoting_styles (struct obstack *stk, char const *prefix)
{
int i;
size_t prefixlen = strlen (prefix);
-
+
for (i = 0; quoting_style_args[i]; i++)
{
obstack_grow (stk, prefix, prefixlen);
}
}
-void
+static void
tar_set_quoting_style (char *arg)
{
int i;
EXCLUDE_TAG_ALL_OPTION,
EXCLUDE_VCS_OPTION,
FORCE_LOCAL_OPTION,
+ FULL_TIME_OPTION,
GROUP_OPTION,
IGNORE_CASE_OPTION,
IGNORE_COMMAND_ERROR_OPTION,
UNQUOTE_OPTION,
UTC_OPTION,
VOLNO_FILE_OPTION,
- WARNING_OPTION,
+ WARNING_OPTION,
WILDCARDS_MATCH_SLASH_OPTION,
WILDCARDS_OPTION
};
{"lzop", LZOP_OPTION, 0, 0, NULL, GRID+1 },
{"xz", 'J', 0, 0, NULL, GRID+1 },
#undef GRID
-
+
#define GRID 100
{NULL, 0, NULL, 0,
N_("Local file selection:"), GRID },
"Allowed signals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; "
"the names without SIG prefix are also accepted"), GRID+1 },
{"utc", UTC_OPTION, 0, 0,
- N_("print file modification dates in UTC"), GRID+1 },
+ N_("print file modification times in UTC"), GRID+1 },
+ {"full-time", FULL_TIME_OPTION, 0, 0,
+ N_("print file time to its full resolution"), GRID+1 },
{"index-file", INDEX_FILE_OPTION, N_("FILE"), 0,
N_("send verbose output to FILE"), GRID+1 },
{"block-number", 'R', 0, 0,
NULL
};
-void
+static void
add_exclude_array (char const * const * fv)
{
int i;
" --rsh-command=%s"
#endif
,
- archive_format_string (DEFAULT_ARCHIVE_FORMAT),
- DEFAULT_ARCHIVE, DEFAULT_BLOCKING,
+ archive_format_string (DEFAULT_ARCHIVE_FORMAT),
+ DEFAULT_ARCHIVE, DEFAULT_BLOCKING,
quoting_style_args[DEFAULT_QUOTING_STYLE],
DEFAULT_RMT_COMMAND
#ifdef REMOTE_SHELL
&& subcommand_option != subcommand)
USAGE_ERROR ((0, 0,
_("You may not specify more than one `-Acdtrux' or `--test-label' option")));
-
+
subcommand_option = subcommand;
}
if (use_compress_program_option
&& strcmp (use_compress_program_option, string) != 0)
USAGE_ERROR ((0, 0, _("Conflicting compression options")));
-
+
use_compress_program_option = string;
}
\f
#endif
}
-void
+static void
set_stat_signal (const char *name)
{
static struct sigtab
{
- char *name;
+ char const *name;
int signo;
- } sigtab[] = {
+ } const sigtab[] = {
{ "SIGUSR1", SIGUSR1 },
{ "USR1", SIGUSR1 },
{ "SIGUSR2", SIGUSR2 },
{ "SIGQUIT", SIGQUIT },
{ "QUIT", SIGQUIT }
};
- struct sigtab *p;
+ struct sigtab const *p;
for (p = sigtab; p < sigtab + sizeof (sigtab) / sizeof (sigtab[0]); p++)
if (strcmp (p->name, name) == 0)
|| *str == '.')
{
struct stat st;
- if (deref_stat (dereference_option, str, &st) != 0)
+ if (stat (str, &st) != 0)
{
stat_error (str);
USAGE_ERROR ((0, 0, _("Date sample file not found")));
}
else
{
- if (! get_date (ts, str, NULL))
+ if (! parse_datetime (ts, str, NULL))
{
WARN ((0, 0, _("Substituting %s for unknown date format %s"),
tartime (*ts, false), quote (str)));
obstack_1grow (stk, c);
counter++;
}
-
+
if (counter == 0 && c != EOF)
return file_list_skip;
bool is_stdin = false;
enum read_file_list_state read_state;
int term = filename_terminator;
-
+
if (!strcmp (filename, "-"))
{
is_stdin = true;
if ((fp = fopen (filename, "r")) == NULL)
open_fatal (filename);
}
-
+
while ((read_state = read_name_from_file (fp, &argv_stk, term))
!= file_list_end)
{
case file_list_success:
count++;
break;
-
+
case file_list_end: /* won't happen, just to pacify gcc */
break;
-
+
case file_list_zero:
{
size_t size;
-
+
WARNOPT (WARN_FILENAME_WITH_NULS,
(0, 0, N_("%s: file name read contains nul character"),
quotearg_colon (filename)));
-
+
/* Prepare new stack contents */
size = obstack_object_size (&argv_stk);
p = obstack_finish (&argv_stk);
term = 0;
break;
}
-
+
case file_list_skip:
break;
}
}
-
+
if (!is_stdin)
fclose (fp);
-
+
if (count == 0)
return;
-
+
start = obstack_finish (&argv_stk);
-
+
if (term == 0)
for (p = start; *p; p += strlen (p) + 1)
if (p[0] == '-')
count++;
-
+
new_argc = state->argc + count;
new_argv = xmalloc (sizeof (state->argv[0]) * (new_argc + 1));
memcpy (new_argv, state->argv, sizeof (state->argv[0]) * (state->argc + 1));
state->argv = new_argv;
memmove (&state->argv[state->next + count], &state->argv[state->next],
(state->argc - state->next + 1) * sizeof (state->argv[0]));
-
+
state->argc = new_argc;
-
+
for (i = state->next, p = start; *p; p += strlen (p) + 1, i++)
{
if (term == 0 && p[0] == '-')
default:
s = (char*) text;
break;
-
+
case 'j':
s = xasprintf (_("filter the archive through %s"), BZIP2_PROGRAM);
break;
-
+
case 'z':
s = xasprintf (_("filter the archive through %s"), GZIP_PROGRAM);
break;
-
+
case 'Z':
s = xasprintf (_("filter the archive through %s"), COMPRESS_PROGRAM);
break;
case LZIP_OPTION:
s = xasprintf (_("filter the archive through %s"), LZIP_PROGRAM);
break;
-
+
case LZMA_OPTION:
s = xasprintf (_("filter the archive through %s"), LZMA_PROGRAM);
break;
-
+
case 'J':
s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM);
break;
-
+
case ARGP_KEY_HELP_EXTRA:
- obstack_init (&stk);
- s = _("Valid arguments for the --quoting-style option are:");
- obstack_grow (&stk, s, strlen (s));
- obstack_grow (&stk, "\n\n", 2);
- tar_list_quoting_styles (&stk, " ");
- s = _("\n*This* tar defaults to:\n");
- obstack_grow (&stk, s, strlen (s));
- s = format_default_settings ();
- obstack_grow (&stk, s, strlen (s));
- obstack_1grow (&stk, '\n');
- obstack_1grow (&stk, 0);
- s = xstrdup (obstack_finish (&stk));
- obstack_free (&stk, NULL);
+ {
+ const char *tstr;
+
+ obstack_init (&stk);
+ tstr = _("Valid arguments for the --quoting-style option are:");
+ obstack_grow (&stk, tstr, strlen (tstr));
+ obstack_grow (&stk, "\n\n", 2);
+ tar_list_quoting_styles (&stk, " ");
+ tstr = _("\n*This* tar defaults to:\n");
+ obstack_grow (&stk, tstr, strlen (tstr));
+ s = format_default_settings ();
+ obstack_grow (&stk, s, strlen (s));
+ obstack_1grow (&stk, '\n');
+ obstack_1grow (&stk, 0);
+ s = xstrdup (obstack_finish (&stk));
+ obstack_free (&stk, NULL);
+ }
}
return s;
}
{
struct obstack stk;
char *res;
-
+
obstack_init (&stk);
while (*arg)
{
}
\f
+#define TAR_SIZE_SUFFIXES "bBcGgkKMmPTtw"
+
static error_t
parse_opt (int key, char *arg, struct argp_state *state)
{
name_add_name (arg, MAKE_INCL_OPTIONS (args));
args->input_files = true;
break;
-
+
case 'A':
set_subcommand_option (CAT_SUBCOMMAND);
break;
-
+
case 'a':
args->compress_autodetect = true;
break;
-
+
case NO_AUTO_COMPRESS_OPTION:
args->compress_autodetect = false;
break;
-
+
case 'b':
{
uintmax_t u;
_("Invalid blocking factor")));
}
break;
-
+
case 'B':
/* Try to reblock input records. For reading 4.2BSD pipes. */
-
+
/* It would surely make sense to exchange -B and -R, but it seems
that -B has been used for a long while in Sun tar and most
BSD-derived systems. This is a consequence of the block/record
terminology confusion. */
-
+
read_full_records_option = true;
break;
-
+
case 'c':
set_subcommand_option (CREATE_SUBCOMMAND);
break;
-
+
case 'C':
name_add_dir (arg);
break;
-
+
case 'd':
set_subcommand_option (DIFF_SUBCOMMAND);
break;
-
+
case 'f':
if (archive_names == allocated_archive_names)
archive_name_array = x2nrealloc (archive_name_array,
&allocated_archive_names,
sizeof (archive_name_array[0]));
-
+
archive_name_array[archive_names++] = arg;
break;
-
+
case 'F':
/* Since -F is only useful with -M, make it implied. Run this
script at the end of each tape. */
-
+
info_script_option = arg;
multi_volume_option = true;
break;
-
+
+ case FULL_TIME_OPTION:
+ full_time_option = true;
+ break;
+
case 'g':
listed_incremental_option = arg;
after_date_option = true;
/* Fall through. */
-
+
case 'G':
/* We are making an incremental dump (FIXME: are we?); save
directories at the beginning of the archive, and include in each
directory its contents. */
-
+
incremental_option = true;
break;
-
+
case 'h':
/* Follow symbolic links. */
dereference_option = true;
break;
-
+
case HARD_DEREFERENCE_OPTION:
hard_dereference_option = true;
break;
-
+
case 'i':
/* Ignore zero blocks (eofs). This can't be the default,
because Unix tar writes two blocks of zeros, then pads out
the record with garbage. */
-
+
ignore_zeros_option = true;
break;
-
+
case 'j':
set_use_compress_program_option (BZIP2_PROGRAM);
break;
-
+
case 'J':
set_use_compress_program_option (XZ_PROGRAM);
break;
-
+
case 'k':
/* Don't replace existing files. */
old_files_option = KEEP_OLD_FILES;
break;
-
+
case 'K':
starting_file_option = true;
addname (arg, 0, true, NULL);
break;
-
+
case ONE_FILE_SYSTEM_OPTION:
/* When dumping directories, don't dump files/subdirectories
that are on other filesystems. */
one_file_system_option = true;
break;
-
+
case 'l':
check_links_option = 1;
break;
-
+
case 'L':
{
uintmax_t u;
- if (xstrtoumax (arg, 0, 10, &u, "") != LONGINT_OK)
+ char *p;
+
+ if (xstrtoumax (arg, &p, 10, &u, TAR_SIZE_SUFFIXES) != LONGINT_OK)
USAGE_ERROR ((0, 0, "%s: %s", quotearg_colon (arg),
_("Invalid tape length")));
- tape_length_option = 1024 * (tarlong) u;
+ if (p > arg && !strchr (TAR_SIZE_SUFFIXES, p[-1]))
+ tape_length_option = 1024 * (tarlong) u;
+ else
+ tape_length_option = (tarlong) u;
multi_volume_option = true;
}
break;
-
+
case LEVEL_OPTION:
{
char *p;
USAGE_ERROR ((0, 0, _("Invalid incremental level value")));
}
break;
-
+
case LZIP_OPTION:
set_use_compress_program_option (LZIP_PROGRAM);
break;
-
+
case LZMA_OPTION:
set_use_compress_program_option (LZMA_PROGRAM);
break;
-
+
case LZOP_OPTION:
set_use_compress_program_option (LZOP_PROGRAM);
break;
-
+
case 'm':
touch_option = true;
break;
-
+
case 'M':
/* Make multivolume archive: when we can't write any more into
the archive, re-open it, and continue writing. */
-
+
multi_volume_option = true;
break;
-
+
case MTIME_OPTION:
get_date_or_file (args, "--mtime", arg, &mtime_option);
set_mtime_option = true;
break;
-
+
case 'n':
seek_option = 1;
break;
-
+
case NO_SEEK_OPTION:
seek_option = 0;
break;
-
+
case 'N':
after_date_option = true;
/* Fall through. */
-
+
case NEWER_MTIME_OPTION:
if (NEWER_OPTION_INITIALIZED (newer_mtime_option))
USAGE_ERROR ((0, 0, _("More than one threshold date")));
key == NEWER_MTIME_OPTION ? "--newer-mtime"
: "--after-date", arg, &newer_mtime_option);
break;
-
+
case 'o':
args->o_option = true;
break;
-
+
case 'O':
to_stdout_option = true;
break;
-
+
case 'p':
same_permissions_option = true;
break;
-
+
case 'P':
absolute_names_option = true;
break;
-
+
case 'r':
set_subcommand_option (APPEND_SUBCOMMAND);
break;
-
+
case 'R':
/* Print block numbers for debugging bad tar archives. */
-
+
/* It would surely make sense to exchange -B and -R, but it seems
that -B has been used for a long while in Sun tar and most
BSD-derived systems. This is a consequence of the block/record
terminology confusion. */
-
+
block_number_option = true;
break;
-
+
case 's':
/* Names to extract are sorted. */
-
+
same_order_option = true;
break;
-
+
case 'S':
sparse_option = true;
break;
-
+
case SPARSE_VERSION_OPTION:
sparse_option = true;
{
}
}
break;
-
+
case 't':
set_subcommand_option (LIST_SUBCOMMAND);
verbose_option++;
break;
-
+
case TEST_LABEL_OPTION:
set_subcommand_option (TEST_LABEL_SUBCOMMAND);
break;
-
+
case 'T':
update_argv (arg, state);
/* Indicate we've been given -T option. This is for backward
succeed */
files_from_option = true;
break;
-
+
case 'u':
set_subcommand_option (UPDATE_SUBCOMMAND);
break;
-
+
case 'U':
old_files_option = UNLINK_FIRST_OLD_FILES;
break;
-
+
case UTC_OPTION:
utc_option = true;
break;
-
+
case 'v':
verbose_option++;
warning_option |= WARN_VERBOSE_WARNINGS;
break;
-
+
case 'V':
volume_label_option = arg;
break;
-
+
case 'w':
interactive_option = true;
break;
-
+
case 'W':
verify_option = true;
break;
-
+
case 'x':
set_subcommand_option (EXTRACT_SUBCOMMAND);
break;
-
+
case 'X':
if (add_exclude_file (add_exclude, excluded, arg,
MAKE_EXCL_OPTIONS (args), '\n')
FATAL_ERROR ((0, e, "%s", quotearg_colon (arg)));
}
break;
-
+
case 'z':
set_use_compress_program_option (GZIP_PROGRAM);
break;
-
+
case 'Z':
set_use_compress_program_option (COMPRESS_PROGRAM);
break;
-
+
case ANCHORED_OPTION:
args->matching_flags |= EXCLUDE_ANCHORED;
break;
-
+
case ATIME_PRESERVE_OPTION:
atime_preserve_option =
(arg
_("--atime-preserve='system' is not supported"
" on this platform")));
break;
-
+
case CHECK_DEVICE_OPTION:
check_device_option = true;
break;
-
+
case NO_CHECK_DEVICE_OPTION:
check_device_option = false;
break;
-
+
case CHECKPOINT_OPTION:
if (arg)
{
char *p;
-
+
if (*arg == '.')
{
checkpoint_compile_action (".");
else
checkpoint_option = DEFAULT_CHECKPOINT;
break;
-
+
case CHECKPOINT_ACTION_OPTION:
checkpoint_compile_action (arg);
break;
-
+
case BACKUP_OPTION:
backup_option = true;
if (arg)
args->version_control_string = arg;
break;
-
+
case DELAY_DIRECTORY_RESTORE_OPTION:
delay_directory_restore_option = true;
break;
-
+
case NO_DELAY_DIRECTORY_RESTORE_OPTION:
delay_directory_restore_option = false;
break;
-
+
case DELETE_OPTION:
set_subcommand_option (DELETE_SUBCOMMAND);
break;
-
+
case EXCLUDE_BACKUPS_OPTION:
add_exclude_array (backup_file_table);
break;
-
+
case EXCLUDE_OPTION:
add_exclude (excluded, arg, MAKE_EXCL_OPTIONS (args));
break;
-
+
case EXCLUDE_CACHES_OPTION:
add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_contents,
cachedir_file_p);
break;
-
+
case EXCLUDE_CACHES_UNDER_OPTION:
add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_under,
cachedir_file_p);
break;
-
+
case EXCLUDE_CACHES_ALL_OPTION:
add_exclusion_tag ("CACHEDIR.TAG", exclusion_tag_all,
cachedir_file_p);
break;
-
+
case EXCLUDE_TAG_OPTION:
add_exclusion_tag (arg, exclusion_tag_contents, NULL);
break;
-
+
case EXCLUDE_TAG_UNDER_OPTION:
add_exclusion_tag (arg, exclusion_tag_under, NULL);
break;
-
+
case EXCLUDE_TAG_ALL_OPTION:
add_exclusion_tag (arg, exclusion_tag_all, NULL);
break;
-
+
case EXCLUDE_VCS_OPTION:
add_exclude_array (vcs_file_table);
break;
-
+
case FORCE_LOCAL_OPTION:
force_local_option = true;
break;
-
+
case 'H':
set_archive_format (arg);
break;
-
+
case INDEX_FILE_OPTION:
index_file_name = arg;
break;
-
+
case IGNORE_CASE_OPTION:
args->matching_flags |= FNM_CASEFOLD;
break;
-
+
case IGNORE_COMMAND_ERROR_OPTION:
ignore_command_error_option = true;
break;
-
+
case IGNORE_FAILED_READ_OPTION:
ignore_failed_read_option = true;
break;
-
+
case KEEP_NEWER_FILES_OPTION:
old_files_option = KEEP_NEWER_FILES;
break;
-
+
case GROUP_OPTION:
if (! (strlen (arg) < GNAME_FIELD_SIZE
&& gname_to_gid (arg, &group_option)))
_("Invalid group")));
}
break;
-
+
case MODE_OPTION:
mode_option = mode_compile (arg);
if (!mode_option)
initial_umask = umask (0);
umask (initial_umask);
break;
-
+
case NO_ANCHORED_OPTION:
args->include_anchored = 0; /* Clear the default for comman line args */
args->matching_flags &= ~ EXCLUDE_ANCHORED;
break;
-
+
case NO_IGNORE_CASE_OPTION:
args->matching_flags &= ~ FNM_CASEFOLD;
break;
-
+
case NO_IGNORE_COMMAND_ERROR_OPTION:
ignore_command_error_option = false;
break;
-
+
case NO_OVERWRITE_DIR_OPTION:
old_files_option = NO_OVERWRITE_DIR_OLD_FILES;
break;
-
+
case NO_QUOTE_CHARS_OPTION:
for (;*arg; arg++)
set_char_quoting (NULL, *arg, 0);
break;
-
+
case NO_WILDCARDS_OPTION:
args->wildcards = disable_wildcards;
break;
-
+
case NO_WILDCARDS_MATCH_SLASH_OPTION:
args->matching_flags |= FNM_FILE_NAME;
break;
-
+
case NULL_OPTION:
filename_terminator = '\0';
break;
-
+
case NO_NULL_OPTION:
filename_terminator = '\n';
break;
-
+
case NUMERIC_OWNER_OPTION:
numeric_owner_option = true;
break;
-
+
case OCCURRENCE_OPTION:
if (!arg)
occurrence_option = 1;
_("Invalid number")));
}
break;
-
+
case OVERWRITE_DIR_OPTION:
old_files_option = DEFAULT_OLD_FILES;
break;
-
+
case OVERWRITE_OPTION:
old_files_option = OVERWRITE_OLD_FILES;
break;
-
+
case OWNER_OPTION:
if (! (strlen (arg) < UNAME_FIELD_SIZE
&& uname_to_uid (arg, &owner_option)))
_("Invalid owner")));
}
break;
-
+
case QUOTE_CHARS_OPTION:
for (;*arg; arg++)
set_char_quoting (NULL, *arg, 1);
break;
-
+
case QUOTING_STYLE_OPTION:
tar_set_quoting_style (arg);
break;
-
+
case PAX_OPTION:
{
char *tmp = expand_pax_option (args, arg);
free (tmp);
}
break;
-
+
case POSIX_OPTION:
set_archive_format ("posix");
break;
-
+
case PRESERVE_OPTION:
/* FIXME: What it is good for? */
same_permissions_option = true;
WARN ((0, 0, _("The --preserve option is deprecated, "
"use --preserve-permissions --preserve-order instead")));
break;
-
+
case RECORD_SIZE_OPTION:
{
uintmax_t u;
- if (! (xstrtoumax (arg, 0, 10, &u, "") == LONGINT_OK
+
+ if (! (xstrtoumax (arg, NULL, 10, &u, TAR_SIZE_SUFFIXES) == LONGINT_OK
&& u == (size_t) u))
USAGE_ERROR ((0, 0, "%s: %s", quotearg_colon (arg),
_("Invalid record size")));
blocking_factor = record_size / BLOCKSIZE;
}
break;
-
+
case RECURSIVE_UNLINK_OPTION:
recursive_unlink_option = true;
break;
-
+
case REMOVE_FILES_OPTION:
remove_files_option = true;
break;
-
+
case RESTRICT_OPTION:
restrict_option = true;
break;
-
+
case RMT_COMMAND_OPTION:
rmt_command = arg;
break;
-
+
case RSH_COMMAND_OPTION:
rsh_command_option = arg;
break;
-
+
case SHOW_DEFAULTS_OPTION:
{
char *s = format_default_settings ();
free (s);
exit (0);
}
-
+
case STRIP_COMPONENTS_OPTION:
{
uintmax_t u;
case WARNING_OPTION:
set_warning_option (arg);
break;
-
+
case '0':
case '1':
case '2':
struct tar_args args;
argp_version_setup ("tar", tar_authors);
-
+
/* Set some default option values. */
args.textual_date = NULL;
args.wildcards = default_wildcards;
args.version_control_string = 0;
args.input_files = false;
args.compress_autodetect = false;
-
+
subcommand_option = UNKNOWN_SUBCOMMAND;
archive_format = DEFAULT_FORMAT;
blocking_factor = DEFAULT_BLOCKING;
incremental_level = -1;
seek_option = -1;
-
+
/* Convert old-style tar call by exploding option element and rearranging
options accordingly. */
if (incremental_level != -1 && !listed_incremental_option)
WARN ((0, 0,
_("--level is meaningless without --listed-incremental")));
-
+
if (volume_label_option)
{
if (archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
if (recursive_unlink_option)
old_files_option = UNLINK_FIRST_OLD_FILES;
+ /* Flags for accessing files to be read from or copied into. POSIX says
+ O_NONBLOCK has unspecified effect on most types of files, but in
+ practice it never harms and sometimes helps. */
+ {
+ int base_open_flags =
+ (O_BINARY | O_CLOEXEC | O_NOCTTY | O_NONBLOCK
+ | (dereference_option ? 0 : O_NOFOLLOW)
+ | (atime_preserve_option == system_atime_preserve ? O_NOATIME : 0));
+ open_read_flags = O_RDONLY | base_open_flags;
+ open_searchdir_flags = O_SEARCH | O_DIRECTORY | base_open_flags;
+ }
+ fstatat_flags = dereference_option ? 0 : AT_SYMLINK_NOFOLLOW;
if (subcommand_option == TEST_LABEL_SUBCOMMAND)
{
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. */
_("Cowardly refusing to create an empty archive")));
if (args.compress_autodetect && archive_names
&& strcmp (archive_name_array[0], "-"))
- set_comression_program_by_suffix (archive_name_array[0],
- use_compress_program_option);
+ set_compression_program_by_suffix (archive_name_array[0],
+ use_compress_program_option);
break;
case EXTRACT_SUBCOMMAND:
}
checkpoint_finish_compile ();
-
+
report_textual_dates (&args);
}
obstack_init (&argv_stk);
- /* Ensure default behavior for some signals */
- signal (SIGPIPE, SIG_IGN);
/* System V fork+wait does not work if SIGCHLD is ignored. */
signal (SIGCHLD, SIG_DFL);
/* Try to disable the ability to unlink a directory. */
priv_set_remove_linkdir ();
-
+
/* Decode options. */
decode_options (argc, argv);
memset (st, 0, sizeof (*st));
}
+/* Close the stream or file descriptor associated with ST, and remove
+ all traces of it from ST. Return true if successful, false (with a
+ diagnostic) otherwise. */
+bool
+tar_stat_close (struct tar_stat_info *st)
+{
+ int status = (st->dirstream ? closedir (st->dirstream)
+ : 0 < st->fd ? close (st->fd)
+ : 0);
+ st->dirstream = 0;
+ st->fd = 0;
+
+ if (status == 0)
+ return true;
+ else
+ {
+ close_diag (st->orig_file_name);
+ return false;
+ }
+}
+
void
tar_stat_destroy (struct tar_stat_info *st)
{
+ tar_stat_close (st);
free (st->orig_file_name);
free (st->file_name);
free (st->link_name);
struct sp_array
{
off_t offset;
- size_t numbytes;
+ off_t numbytes;
};
struct xheader
/* Extended headers */
struct xheader xhdr;
-
+
/* For dumpdirs */
bool is_dumpdir; /* Is the member a dumpdir? */
bool skipped; /* The member contents is already read
(for GNUTYPE_DUMPDIR) */
char *dumpdir; /* Contents of the dump directory */
+
+ /* Parent directory, if creating an archive. This is null if the
+ file is at the top level. */
+ struct tar_stat_info *parent;
+
+ /* Directory stream. If this is not null, it is in control of FD,
+ and should be closed instead of FD. */
+ DIR *dirstream;
+
+ /* File descriptor, if creating an archive, and if a directory or a
+ regular file or a contiguous file.
+
+ It is zero if no file descriptor is available, either because it
+ was never needed or because it was open and then closed to
+ conserve on file descriptors. (Standard input is never used
+ here, so zero cannot be a valid file descriptor.)
+
+ It is negative if it could not be reopened after it was closed.
+ Negate it to find out what errno was when the reopen failed. */
+ int fd;
};
union block
-/* This file is part of GNU tar.
+/* This file is part of GNU tar.
Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
enum case_ctl_type
{
- ctl_stop, /* Stop case conversion */
- ctl_upcase_next,/* Turn the next character to uppercase */
+ ctl_stop, /* Stop case conversion */
+ ctl_upcase_next,/* Turn the next character to uppercase */
ctl_locase_next,/* Turn the next character to lowercase */
ctl_upcase, /* Turn the replacement to uppercase until ctl_stop */
ctl_locase /* Turn the replacement to lowercase until ctl_stop */
{
char *ptr;
size_t size;
- } literal; /* type == segm_literal */
+ } literal; /* type == segm_literal */
size_t ref; /* type == segm_backref */
- enum case_ctl_type ctl; /* type == segm_case_ctl */
+ enum case_ctl_type ctl; /* type == segm_case_ctl */
} v;
};
static struct transform *transform_head, *transform_tail;
static struct transform *
-new_transform ()
+new_transform (void)
{
struct transform *p = xzalloc (sizeof *p);
if (transform_tail)
case 'R':
*pflags &= ~XFORM_REGFILE;
break;
-
+
case 'h':
*pflags |= XFORM_LINK;
break;
case 'H':
*pflags &= ~XFORM_LINK;
break;
-
+
case 's':
*pflags |= XFORM_SYMLINK;
break;
*expr));
}
return expr;
- }
+ }
USAGE_ERROR ((0, 0, _("Invalid transform expression")));
}
-
+
delim = expr[1];
/* Scan regular expression */
if (*p == ';')
p++;
-
+
/* Extract and compile regex */
str = xmalloc (i - 1);
memcpy (str, expr + 2, i - 2);
str[i - 2] = 0;
rc = regcomp (&tf->regex, str, cflags);
-
+
if (rc)
{
char errbuf[512];
if (str[0] == '^' || str[strlen (str) - 1] == '$')
tf->transform_type = transform_first;
-
+
free (str);
/* Extract and compile replacement expr */
if (*cur == '\\')
{
size_t n;
-
+
add_literal_segment (tf, beg, cur);
switch (*++cur)
{
add_char_segment (tf, '\a');
cur++;
break;
-
+
case 'b':
add_char_segment (tf, '\b');
cur++;
break;
-
+
case 'f':
add_char_segment (tf, '\f');
cur++;
break;
-
+
case 'n':
add_char_segment (tf, '\n');
cur++;
break;
-
+
case 'r':
add_char_segment (tf, '\r');
cur++;
break;
-
+
case 't':
add_char_segment (tf, '\t');
cur++;
break;
-
+
case 'v':
add_char_segment (tf, '\v');
cur++;
add_char_segment (tf, '&');
cur++;
break;
-
+
case 'L':
/* Turn the replacement to lowercase until a `\U' or `\E'
is found, */
add_case_ctl_segment (tf, ctl_locase);
cur++;
break;
-
+
case 'l':
/* Turn the next character to lowercase, */
add_case_ctl_segment (tf, ctl_locase_next);
cur++;
break;
-
+
case 'U':
/* Turn the replacement to uppercase until a `\L' or `\E'
is found, */
add_case_ctl_segment (tf, ctl_upcase);
cur++;
break;
-
+
case 'u':
/* Turn the next character to uppercase, */
add_case_ctl_segment (tf, ctl_upcase_next);
cur++;
break;
-
+
case 'E':
/* Stop case conversion started by `\L' or `\U'. */
add_case_ctl_segment (tf, ctl_stop);
cur++;
break;
-
+
default:
/* Try to be nice */
{
static char *case_ctl_buffer;
static size_t case_ctl_bufsize;
char *p;
-
+
if (case_ctl_bufsize < size)
{
case_ctl_bufsize = size;
case ctl_upcase_next:
case_ctl_buffer[0] = toupper ((unsigned char) case_ctl_buffer[0]);
break;
-
+
case ctl_locase_next:
case_ctl_buffer[0] = tolower ((unsigned char) case_ctl_buffer[0]);
break;
-
+
case ctl_upcase:
for (p = case_ctl_buffer; p < case_ctl_buffer + size; p++)
*p = toupper ((unsigned char) *p);
break;
-
+
case ctl_locase:
for (p = case_ctl_buffer; p < case_ctl_buffer + size; p++)
*p = tolower ((unsigned char) *p);
static struct obstack stk;
static bool stk_init;
-void
+static void
_single_transform_name_to_obstack (struct transform *tf, char *input)
{
regmatch_t *rmp;
size_t nmatches = 0;
enum case_ctl_type case_ctl = ctl_stop, /* Current case conversion op */
save_ctl = ctl_stop; /* Saved case_ctl for \u and \l */
-
+
/* Reset case conversion after a single-char operation */
#define CASE_CTL_RESET() if (case_ctl == ctl_upcase_next \
|| case_ctl == ctl_locase_next) \
case_ctl = save_ctl; \
save_ctl = ctl_stop; \
}
-
+
rmp = xmalloc ((tf->regex.re_nsub + 1) * sizeof (*rmp));
while (*input)
{
size_t disp;
char *ptr;
-
+
rc = regexec (&tf->regex, input, tf->regex.re_nsub + 1, rmp, 0);
-
+
if (rc == 0)
{
struct replace_segm *segm;
-
+
disp = rmp[0].rm_eo;
if (rmp[0].rm_so)
}
obstack_grow (&stk, ptr, segm->v.literal.size);
break;
-
+
case segm_backref: /* Back-reference segment */
if (rmp[segm->v.ref].rm_so != -1
&& rmp[segm->v.ref].rm_eo != -1)
ptr = run_case_conv (case_ctl, ptr, size);
CASE_CTL_RESET();
}
-
+
obstack_grow (&stk, ptr, size);
}
break;
break;
}
/*FALL THROUGH*/
-
+
case ctl_upcase:
case ctl_locase:
case ctl_stop:
free (rmp);
}
-bool
+static bool
_transform_name_to_obstack (int flags, char *input, char **output)
{
struct transform *tf;
bool alloced = false;
-
+
if (!stk_init)
{
obstack_init (&stk);
stk_init = true;
}
-
+
for (tf = transform_head; tf; tf = tf->next)
{
if (tf->flags & flags)
*output = input;
return alloced;
}
-
+
bool
transform_name_fp (char **pinput, int flags,
char *(*fun)(char *, void *), void *dat)
-/* This file is part of GNU tar.
+/* This file is part of GNU tar.
Copyright (C) 2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
size_t deferred_unlink_delay = 0;
static struct deferred_unlink *
-dunlink_alloc ()
+dunlink_alloc (void)
{
struct deferred_unlink *p;
if (dunlink_avail)
{
if (p->is_dir)
{
- if (rmdir (p->file_name) != 0)
+ if (unlinkat (chdir_fd, p->file_name, AT_REMOVEDIR) != 0)
{
switch (errno)
{
}
else
{
- if (unlink (p->file_name) != 0 && errno != ENOENT)
+ if (unlinkat (chdir_fd, p->file_name, 0) != 0 && errno != ENOENT)
unlink_error (p->file_name);
}
dunlink_reclaim (p);
{
prev = p;
p = next;
- }
+ }
}
if (!dunlink_head)
dunlink_tail = NULL;
if (dunlink_head
&& records_written > dunlink_head->records_written + deferred_unlink_delay)
flush_deferred_unlinks (false);
-
+
p = dunlink_alloc ();
p->next = NULL;
p->file_name = normalize_filename (name);
p->is_dir = is_dir;
p->records_written = records_written;
-
+
if (dunlink_tail)
dunlink_tail->next = p;
else
static void
append_file (char *file_name)
{
- int handle = open (file_name, O_RDONLY | O_BINARY);
+ int handle = openat (chdir_fd, file_name, O_RDONLY | O_BINARY);
struct stat stat_data;
if (handle < 0)
while (!found_end)
{
- enum read_header status = read_header (¤t_header,
- ¤t_stat_info,
+ enum read_header status = read_header (¤t_header,
+ ¤t_stat_info,
read_header_auto);
switch (status)
struct stat s;
chdir_do (name->change_dir);
- if (deref_stat (dereference_option,
- current_stat_info.file_name, &s) == 0)
+ if (deref_stat (current_stat_info.file_name, &s) == 0)
{
if (S_ISDIR (s.st_mode))
{
char *p, *dirp;
- dirp = savedir (name->name);
- if (!dirp)
+ DIR *stream;
+ int fd = openat (chdir_fd, name->name,
+ open_read_flags | O_DIRECTORY);
+ if (fd < 0)
+ open_error (name->name);
+ else if (! ((stream = fdopendir (fd))
+ && (dirp = streamsavedir (stream))))
savedir_error (name->name);
else
{
namebuf_t nbuf = namebuf_create (name->name);
-
+
for (p = dirp; *p; p += strlen (p) + 1)
addname (namebuf_name (nbuf, p),
0, false, NULL);
-
+
namebuf_free (nbuf);
free (dirp);
-
+
remname (name);
}
+
+ if (stream
+ ? closedir (stream) != 0
+ : 0 <= fd && close (fd) != 0)
+ savedir_error (name->name);
}
else if (tar_timespec_cmp (get_stat_mtime (&s),
current_stat_info.mtime)
remname (name);
}
}
-
+
skip_member ();
break;
}
if (subcommand_option == CAT_SUBCOMMAND)
append_file (file_name);
else
- dump_file (file_name, 1, (dev_t) 0);
+ dump_file (0, file_name, file_name);
}
}
write_eot ();
close_archive ();
+ finish_deferred_unlinks ();
names_notfound ();
}
{
int negate = 0;
int option;
-
+
if (strcmp (arg, "none") == 0)
{
warning_option = 0;
arg += 3;
}
- option = XARGMATCH ("--warning", arg,
+ option = XARGMATCH ("--warning", arg,
warning_args, warning_types);
if (negate)
warning_option &= ~option;
else
warning_option |= option;
}
-
#include "common.h"
+static void xheader_init (struct xheader *xhdr);
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));
if (xhdr->stk)
{
char *name;
-
+
xheader_finish (xhdr);
xheader_write (XGLTYPE, name = xheader_ghdr_name (), time (NULL), xhdr);
free (name);
}
}
-void
+static void
xheader_init (struct xheader *xhdr)
{
if (!xhdr->stk)
if (!p)
FATAL_ERROR ((0, 0, _("Unexpected EOF in archive")));
-
+
memcpy (&xhdr->buffer[j], p->buffer, len);
set_next_block_after (p);
size_t size __attribute__((unused)))
{
uintmax_t u;
- if (decode_num (&u, arg, SIZE_MAX, keyword))
+ if (decode_num (&u, arg, TYPE_MAXIMUM (off_t), keyword))
{
if (st->sparse_map_avail < st->sparse_map_size)
st->sparse_map[st->sparse_map_avail++].numbytes = u;
e.numbytes = u;
if (!(u == e.numbytes && errno != ERANGE))
{
- out_of_range_header (keyword, arg, 0, TYPE_MAXIMUM (size_t));
+ out_of_range_header (keyword, arg, 0, TYPE_MAXIMUM (off_t));
return;
}
if (st->sparse_map_avail < st->sparse_map_size)
# Makefile for GNU tar regression tests.
-# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005,
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005,
# 2006, 2007, 2009 Free Software Foundation, Inc.
# François Pinard <pinard@iro.umontreal.ca>, 1988.
exclude03.at\
exclude04.at\
exclude05.at\
+ exclude06.at\
extrac01.at\
extrac02.at\
extrac03.at\
extrac06.at\
extrac07.at\
extrac08.at\
+ extrac09.at\
+ extrac10.at\
+ extrac11.at\
+ extrac12.at\
+ extrac13.at\
+ extrac14.at\
+ extrac15.at\
filerem01.at\
filerem02.at\
gzip.at\
ignfail.at\
label01.at\
label02.at\
+ label03.at\
+ label04.at\
+ label05.at\
link01.at\
link02.at\
link03.at\
+ link04.at\
listed01.at\
listed02.at\
+ listed03.at\
long01.at\
longv7.at\
lustar01.at\
multiv05.at\
multiv06.at\
multiv07.at\
+ multiv08.at\
old.at\
options.at\
options02.at\
rename05.at\
remfiles01.at\
remfiles02.at\
+ remfiles03.at\
same-order01.at\
same-order02.at\
shortfile.at\
shortupd.at\
shortrec.at\
+ sigpipe.at\
sparse01.at\
sparse02.at\
sparse03.at\
verbose.at\
version.at\
xform-h.at\
+ xform01.at\
star/gtarfail.at\
star/gtarfail2.at\
star/multi-fail.at\
localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/gnu -I../gnu -I$(top_srcdir)/gnu -I$(top_srcdir)/lib
AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\"
-LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME)
+LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS)
# Makefile for GNU tar regression tests.
-# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005,
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2005,
# 2006, 2007, 2009 Free Software Foundation, Inc.
# François Pinard <pinard@iro.umontreal.ca>, 1988.
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argmatch.m4 \
- $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/backupfile.m4 \
- $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/btowc.m4 \
- $(top_srcdir)/m4/canonicalize.m4 \
+ $(top_srcdir)/m4/argp.m4 $(top_srcdir)/m4/asm-underscore.m4 \
+ $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/bison.m4 \
+ $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
- $(top_srcdir)/m4/clock_time.m4 \
+ $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/cloexec.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-safer.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopendir.m4 \
- $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/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/fileblocks.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/futimens.m4 \
$(top_srcdir)/m4/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 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getline.m4 \
- $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gettime.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
- $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getline.m4 $(top_srcdir)/m4/getopt.m4 \
+ $(top_srcdir)/m4/getpagesize.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/hash.m4 \
$(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lchown.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 \
- $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
- $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \
- $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \
- $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbchar.m4 \
- $(top_srcdir)/m4/mbiter.m4 $(top_srcdir)/m4/mbrtowc.m4 \
- $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
- $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/memchr.m4 \
- $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
- $(top_srcdir)/m4/mkdir.m4 $(top_srcdir)/m4/mkdtemp.m4 \
+ $(top_srcdir)/m4/libunistring-base.m4 \
+ $(top_srcdir)/m4/link-follow.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/linkat.m4 $(top_srcdir)/m4/localcharset.m4 \
+ $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
+ $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
+ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
+ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
+ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \
+ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mempcpy.m4 \
+ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/mkdir.m4 \
+ $(top_srcdir)/m4/mkdtemp.m4 $(top_srcdir)/m4/mkfifo.m4 \
+ $(top_srcdir)/m4/mkfifoat.m4 $(top_srcdir)/m4/mknod.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \
$(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nl_langinfo.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/priv-set.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/quote.m4 \
- $(top_srcdir)/m4/quotearg.m4 $(top_srcdir)/m4/rawmemchr.m4 \
- $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
- $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
+ $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/parse-datetime.m4 \
+ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/printf.m4 \
+ $(top_srcdir)/m4/priv-set.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
+ $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/readlinkat.m4 $(top_srcdir)/m4/realloc.m4 \
+ $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
+ $(top_srcdir)/m4/renameat.m4 $(top_srcdir)/m4/rmdir.m4 \
$(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
$(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
- $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \
- $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
- $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
- $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
- $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
- $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
- $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
- $(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/unlink.m4 $(top_srcdir)/m4/unlinkdir.m4 \
- $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
- $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
+ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
+ $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \
+ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
+ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
+ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+ $(top_srcdir)/m4/stdlib_h.m4 $(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/symlink.m4 $(top_srcdir)/m4/symlinkat.m4 \
+ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+ $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink.m4 \
+ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
+ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
+ $(top_srcdir)/m4/utimensat.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/version-etc.m4 $(top_srcdir)/m4/vsnprintf.m4 \
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
-HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
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_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
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@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
+HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
+HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
+HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALTIME_R = @HAVE_LOCALTIME_R@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
-HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKNODAT = @HAVE_MKNODAT@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
-HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TTYNAME_R = @HAVE_TTYNAME_R@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSETENV = @HAVE_UNSETENV@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
+LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_SETSOCKOPT = @LIB_SETSOCKOPT@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
PU_RMT_PROG = @PU_RMT_PROG@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
-REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
exclude03.at\
exclude04.at\
exclude05.at\
+ exclude06.at\
extrac01.at\
extrac02.at\
extrac03.at\
extrac06.at\
extrac07.at\
extrac08.at\
+ extrac09.at\
+ extrac10.at\
+ extrac11.at\
+ extrac12.at\
+ extrac13.at\
+ extrac14.at\
+ extrac15.at\
filerem01.at\
filerem02.at\
gzip.at\
ignfail.at\
label01.at\
label02.at\
+ label03.at\
+ label04.at\
+ label05.at\
link01.at\
link02.at\
link03.at\
+ link04.at\
listed01.at\
listed02.at\
+ listed03.at\
long01.at\
longv7.at\
lustar01.at\
multiv05.at\
multiv06.at\
multiv07.at\
+ multiv08.at\
old.at\
options.at\
options02.at\
rename05.at\
remfiles01.at\
remfiles02.at\
+ remfiles03.at\
same-order01.at\
same-order02.at\
shortfile.at\
shortupd.at\
shortrec.at\
+ sigpipe.at\
sparse01.at\
sparse02.at\
sparse03.at\
verbose.at\
version.at\
xform-h.at\
+ xform01.at\
star/gtarfail.at\
star/gtarfail2.at\
star/multi-fail.at\
genfile_SOURCES = genfile.c argcv.c argcv.h
INCLUDES = -I$(top_srcdir)/gnu -I../gnu -I$(top_srcdir)/gnu -I$(top_srcdir)/lib
AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\"
-LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME)
+LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS)
all: all-am
.SUFFIXES:
# When decoding a header tar was assigning 0 to oldgnu_header.isextended,
# which destroyed name prefix. When updating archive, modified prefix
# could have been written to disk thus producing invalid archive member.
-# Reported by Adye, TJ (Tim), <T.J.Adye@rl.ac.uk>
+# Reported by Adye, TJ (Tim), <T.J.Adye@rl.ac.uk>
# References:
# <7231C15EAC2F164CA6DC326D97493C8B36C25D@exchange35.fed.cclrc.ac.uk>
# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00032.html
-
+
AT_SETUP([appending files with long names])
AT_KEYWORDS([append append01])
[],[],[],[oldgnu, ustar, posix, gnu])
AT_CLEANUP
-
# Using tar 1.15.x the following equivalent command sets:
#
-# 1. tar cf archive file1 file2
+# 1. tar cf archive file1 file2
# and
# 2. tar cfT archive /dev/null
# tar rf archive file1
MTIME="--mtime=@0"
# For PAX archives, we need to make sure extended header names are
-# reproducible and that their contents won't change with time
+# reproducible and that their contents won't change with time
if test $[]TEST_TAR_FORMAT = posix; then
TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi
STAR_DATA_URL=ftp://ftp.berlios.de/pub/star/testscripts
if test -z "$STAR_TESTSCRIPTS"; then
STAR_TESTSCRIPTS=$TEST_DATA_DIR
-fi
+fi
# tarball_prereq file sum dir url
tarball_prereq() {
- if test -d "$3"; then
+ if test -d "$3"; then
if test -r $3/$1; then
:
elif test -n "$FULL_TEST"; then
wget -q --directory-prefix=$3 $4/$1
fi
- fi
+ fi
echo "$2 $3/$1" | md5sum --status --check - >/dev/null 2>&1
}
echo $*
echo >&2 $*
}
-
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
],
[0],
[dir1/
dir2/
])
-AT_CLEANUP
\ No newline at end of file
+AT_CLEANUP
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
],
[0],
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
],
[0],
do touch $prefix$i
done
tar -cf archive ./$prefix* &&
- tar --delete -f archive ./${prefix}5 &&
- tar -tf archive
+ tar --delete -f archive ./${prefix}5 &&
+ tar -tf archive
],
[0],
[./PREFIX[]1
echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG
echo "test" > dir/rock/file
-for option in exclude-caches exclude-caches-under exclude-caches-all
+for option in exclude-caches exclude-caches-under exclude-caches-all
do
echo OPTION $option
tar -cf archive.tar --$option -v dir 2>err | sort
tar tf archive.tar | sort
done
-for option in exclude-tag exclude-tag-under exclude-tag-all
+for option in exclude-tag exclude-tag-under exclude-tag-all
do
echo OPTION $option
tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Tar 1.23 would fail to exclude names longer that 100 characters from
+# pax format archives.
+#
+# Reported-by: Matthew Peterson <mrpeterson2@gmail.com>
+# References: <AANLkTin0teb1dcl0HCNquHxvN4HQnJmP6aK7CJCqy0sd@mail.gmail.com>
+# http://lists.gnu.org/archive/html/help-tar/2010-06/msg00000.html
+
+AT_SETUP([exclude: long files in pax archives])
+AT_KEYWORDS([exclude exclude06])
+
+m4_define([test_base_dir],[one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen])
+
+AT_TAR_CHECK([
+AT_TAR_MKHIER(test_base_dir)
+genfile --length 20 -f test_base_dir[/1.txt]
+genfile --length 20 -f test_base_dir[/1.c]
+
+tar cf archive.tar test_base_dir
+mkdir out
+tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp
+find out -type f
+],
+[0],
+[[out/]test_base_dir[/1.c]
+],
+[],
+[],
+[],
+[pax])
+
+AT_CLEANUP
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
])
AT_CLEANUP
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive],
+tar -xPvf archive --warning=no-timestamp],
[0],
[directory/../directory/
separator
tar -tf archive \
--exclude='./*1' \
--exclude='d*/*1' \
- --exclude='d*/s*/*2' | sort
+ --exclude='d*/s*/*2' | sort
],
[0],
[directory/
AT_SETUP([extracting selected members from pax])
AT_KEYWORDS([extract extract05])
-AT_DATA([list],
+AT_DATA([list],
[jeden
cztery
])
AT_TAR_CHECK([
-genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || AT_SKIP_TEST
+genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || AT_SKIP_TEST
genfile --length 118 --file jeden
genfile --length 223 --file dwa
genfile --length 517 --file trzy
mkdir dir
cd dir
-tar xvfT ../archive ../../list || exit 1
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
cd ..
],
# permissions than your umask. In this case, the permissions of the
# existing directory will toggle between the version which complies with
# your umask (which would be correct, without -p) and the version from the
-# tarfile.
+# tarfile.
#
# Reported by: Ian Jackson <iwj@ubuntu.com>
#
# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
-# Create a directory
+# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
AT_KEYWORDS([extract extract07 read-only symlink])
AT_TAR_CHECK([
+AT_UNPRIVILEGED_PREREQ
+
echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
-chmod -w dir
+chmod a-w dir
echo Create the archive
tar cf archive dir || exit 1
dir/
dir/foo
],
-[],[],[ustar]) # Testing one format is enough
+[],[],[],[ustar]) # Testing one format is enough
AT_CLEANUP
-
-
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
],
[0],
755
])
-AT_CLEANUP
\ No newline at end of file
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This checks for the --listed-incremental bug reported by J Chapman Flack at
+# http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
+
+AT_SETUP([no need to save dir with unreadable . and ..])
+AT_KEYWORDS([extract extrac09])
+
+AT_TAR_CHECK([
+AT_UNPRIVILEGED_PREREQ
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=$?
+chmod a+r . ..
+cmp f extract/f || status=$?
+exit $status
+],
+[0],
+[f
+],
+[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check that delayed setting of directory metadata does not collide
+# with the -C option. When setting a directory's permissions, time
+# stamps, etc., tar should apply the -C option that was in effect when
+# the directory was extracted, not the -C option that happens to be in
+# effect when the metadata are later set.
+
+AT_SETUP([-C and delayed setting of metadata])
+AT_KEYWORDS([extract extrac10])
+
+AT_TAR_CHECK([
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+],
+[0],
+[],
+[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check that 'tar' works even in a file-descriptor-limited environment.
+
+AT_SETUP([scarce file descriptors])
+AT_KEYWORDS([extract extrac11])
+
+AT_TAR_CHECK([
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir $dirs dest1 dest2 dest3 || exit
+for dir in $dirs; do
+ for file in X Y Z; do
+ echo $file >$dir/$file || exit
+ files="$files $file"
+ done
+done
+
+# Check that "ulimit" itself works.
+((ulimit -n 100 &&
+ tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ AT_SKIP_TEST
+
+# Another test that "ulimit" itself works:
+# tar should fail when completely starved of file descriptors.
+((ulimit -n 4 &&
+ tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ AT_SKIP_TEST
+
+# Tar should work when there are few, but enough, file descriptors.
+((ulimit -n 10 &&
+ tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+],
+[0],[],[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check that 'tar' extracts permissions on the working directory last.
+
+AT_SETUP([extract dot permissions])
+AT_KEYWORDS([extract extrac12])
+
+AT_TAR_CHECK([
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+],
+[0],[],[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check that 'tar' normally does follow symbolic links when extracting,
+# unless --dereference is specified.
+
+AT_SETUP([extract over symlinks])
+AT_KEYWORDS([extract extrac13])
+
+AT_TAR_CHECK([
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff -c src/file1 dst1/file1 &&
+diff -c target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff -c src/file1 dst2/file1 &&
+diff -c target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff -c src/file1 dst3/file1 &&
+diff -c src/file1 dst3/target1
+],
+[0],[],[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check that 'tar -x -C FOO' follows FOO if FOO is a symbolic link.
+
+AT_SETUP([extract -C symlink])
+AT_KEYWORDS([extract extrac14])
+
+AT_TAR_CHECK([
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+],
+[0],[],[],[],[],[gnu])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# written by Paul Eggert
+
+# Check diagnostic of 'tar -x a/b/c' when b cannot be created.
+
+AT_SETUP([extract parent mkdir failure])
+AT_KEYWORDS([extract extrac15])
+
+AT_TAR_CHECK([
+AT_UNPRIVILEGED_PREREQ
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+],
+[0],[],[tar: a/b: Cannot mkdir: Permission denied
+tar: a/b/c: Cannot open: No such file or directory
+tar: Exiting with failure status due to previous errors
+],[],[],[gnu])
+
+AT_CLEANUP
# instead.
#
# Reported by: Solar Designer <solar@openwall.com>
-#
+#
# References: <20090228235820.GA13362@openwall.com>
# http://lists.gnu.org/archive/html/bug-tar/2009-03/msg00000.html
#
AT_CLEANUP
-
],
[2],
[ignore],
-[tar: dir2: Cannot stat: No such file or directory
-tar: dir2/file1: File removed before we read it
-tar: Exiting with failure status due to previous errors
-],[],[],[gnu, posix])
+[ignore],[],[],[gnu, posix])
+
+# Ignore stdout and stderr because their contents depend on
+# the file system implementation.
# Timing information: see filerem01.at
AT_CLEANUP
-
#include <argmatch.h>
#include <argp.h>
#include <argcv.h>
-#include <getdate.h>
-#include <utimens.h>
+#include <parse-datetime.h>
#include <inttostr.h>
#include <fcntl.h>
#include <sys/stat.h>
break;
case OPT_DATE:
- if (!get_date (&touch_time, arg, NULL))
+ if (! parse_datetime (&touch_time, arg, NULL))
argp_error (state, _("Unknown date format"));
break;
printf ("%lu", (unsigned long) st.st_ino);
else if (strncmp (p, "mode", 4) == 0)
{
- mode_t mask = ~0;
+ unsigned val = st.st_mode;
if (ispunct ((unsigned char) p[4]))
{
char *q;
- mask = strtoul (p + 5, &q, 8);
+ val &= strtoul (p + 5, &q, 8);
if (*q)
{
printf ("\n");
printf ("\n");
error (EXIT_FAILURE, 0, _("Unknown field `%s'"), p);
}
- printf ("%0o", st.st_mode & mask);
+ printf ("%0o", val);
}
else if (strcmp (p, "nlink") == 0)
printf ("%lu", (unsigned long) st.st_nlink);
struct timespec ts[2];
ts[0] = ts[1] = p->ts;
- if (utimens (p->name, ts) != 0)
+ if (utimensat (AT_FDCWD, p->name, ts, 0) != 0)
{
error (0, errno, _("cannot set time on `%s'"), p->name);
break;
if (unlink (p->name))
error (0, errno, _("cannot unlink `%s'"), p->name);
break;
-
+
default:
abort ();
}
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
- get_date (&touch_time, "now", NULL);
+ parse_datetime (&touch_time, "now", NULL);
/* Decode command options. */
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
AT_CHECK([
AT_GZIP_PREREQ
-tar xfvz /dev/null
+tar xfvz /dev/null 2>err
+RC=$?
+sed -n '/^tar:/p' err >&2
+exit $RC
],
[2],
[],
-[
-gzip: stdin: unexpected end of file
-tar: Child returned status 1
+[tar: Child returned status 1
tar: Error is not recoverable: exiting now
],
[],[])
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
],
[0],
[directory/
[],[],[],[gnu, oldgnu, posix])
AT_CLEANUP
-
-
# if the archive has normal member ordering, i.e. each directory
# member is immediately followed by members located under that directory.
# This is not true for incremental archives, where directory members
-# precede the non-directory ones. Due to this, GNU tar up to version 1.15.2
+# precede the non-directory ones. Due to this, GNU tar up to version 1.15.2
# failed to correctly restore directory timestamps from an incremental
-# archive if this directory contained some files in it.
+# archive if this directory contained some files in it.
#
# References: <200511291228.47081.karaman@dssgmbh.de>
mv directory orig
echo Listing of archive.1
-tar -tf archive.1 | sort
+tar -tf archive.1 | sort
echo Listing of archive.2
-tar -tf archive.2 | sort
+tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
-find directory | sort
+tar -xf archive.2 -g db --warning=no-timestamp
+find directory | sort
],
[0],
[Listing of archive.1
AT_CLEANUP
# End of incr03.at
-
],[],[],[],[gnu, oldgnu, posix])
AT_CLEANUP
-
-
genfile --length 12288 --file bar
genfile --length 12288 --file baz
tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
],
[0],
[Test Volume 1
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Description: Test the functionality of the --test-label option.
+# In versions up to 1.23 it did not match the documentation. This
+# test case follows the examples from "9.7 Including a Label in the Archive".
+# References: <15929_1268069389_4B95340D_15929_35_1_D621E31C29598A43AF7B4BBD30CCDDFD0838294A@fr0-mailmb04.res.airbus.corp>
+#
+
+AT_SETUP([test-label option])
+AT_KEYWORDS([label label03 test-label])
+
+AT_TAR_CHECK([
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+],
+[0],
+[# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+],
+[# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+],[],[],[gnu,oldgnu,posix])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Description: Test the functionality of the --label option used in
+# conjunction with an operation, other than create. It was broken
+# in versions up to 1.23.
+# References: <15929_1268069389_4B95340D_15929_35_1_D621E31C29598A43AF7B4BBD30CCDDFD0838294A@fr0-mailmb04.res.airbus.corp>
+#
+
+AT_SETUP([label with non-create option])
+AT_KEYWORDS([label label04])
+
+AT_TAR_CHECK([
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+],
+[0],
+[# Create volume
+# Update: wrong label
+2
+# Update: right label
+],
+[# Create volume
+# Update: wrong label
+tar: Volume `New volume' does not match `My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+],[],[],[gnu,oldgnu,posix])
+
+AT_CLEANUP
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Description: See label04. This testcase uses an unlabeled archive
+# volume.
+
+AT_SETUP([label with non-create option])
+AT_KEYWORDS([label label05])
+
+AT_TAR_CHECK([
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+],
+[0],
+[# Create volume
+# Update: wrong label
+2
+# Update: right label
+],
+[# Create volume
+# Update: wrong label
+tar: Archive not labeled to match `My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+],[],[],[gnu,oldgnu,posix])
+
+AT_CLEANUP
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
],
AT_TAR_CHECK([
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[[2-4]] link to //p'
],
AT_CLEANUP
# End of link02.at
-
m4_define([create_files],[
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
])
AT_TAR_CHECK([
])
AT_CLEANUP
-
-
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# 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.
+
+# written by Paul Eggert
+
+# Make sure that tar -c correctly handles the case where a file is
+# encountered multiple times, even though it has a link count of 1.
+# This can occur when "tar -c FOO FOO" is used; it can also occur when
+# "tar -ch FOO" is used, if FOO contains symbolic links that point to
+# the same file.
+
+AT_SETUP([link count is 1 but multiple occurrences])
+AT_KEYWORDS([hardlinks link04])
+
+AT_TAR_CHECK([
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || AT_SKIP_TEST
+
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[[0-9]] dir/,dir/,
+' | sort
+
+echo ==
+
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[[0-9]] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
+],
+[0],
+[dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
+])
+
+AT_CLEANUP
[],[],[],[gnu, oldgnu])
AT_CLEANUP
-
# 02110-1301, USA.
# Check if listed-incremental backups work for files moved from one directory
-# to another.
+# to another.
# Based on a script by Martin Simmons <ZYHYLCRMZPRP@spammotel.com>
-# References:
+# References:
# <20040626230315.163AA1D148@cpc5-cmbg1-6-0-cust208.cmbg.cable.ntl.com>
# http://lists.gnu.org/archive/html/bug-tar/2004-06/msg00028.html
echo Creating incremental archive
echo >&2 "Creating incremental archive"
cp -p tart.incr1 tart.incr2
-tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
sleep 1
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
# to sort makes sure we don't depend on any particular ordering.
-tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
echo Final files:
find tart -print | sort 2>/dev/null
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This checks for the --listed-incremental bug reported by J Chapman Flack at
+# http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
+
+AT_SETUP([incremental dump when the parent directory is unreadable])
+AT_KEYWORDS([listed incremental listed03])
+
+AT_TAR_CHECK([
+AT_UNPRIVILEGED_PREREQ
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/a
+genfile --file dir/sub/a/file
+cd dir/sub
+
+chmod a-r ..
+tar -c -f archive.tar --listed-incremental=db.1 -v a
+status=$?
+chmod a+r ..
+exit $status
+],
+[0],
+[a/
+a/file
+],
+[tar: a: Directory is new
+],[],[],[gnu])
+
+AT_CLEANUP
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
-# In GNU format, when extracting or listing a file member with a name
+# In GNU format, when extracting or listing a file member with a name
# whose length is divisible by block size (512) tar used to read an
# extra block of data. In consequence the following file was not extracted.
# Reported by Josef Bauer
[],[],[],[gnu,oldgnu])
AT_CLEANUP
-
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
[],[],[],[],[gnu, oldgnu, pax])
AT_CLEANUP
-
-
# Previous versions of tar were not able to skip a member straddling
# the multivolume archive boundary. Reported by Mads Martin Joergensen
# <mmj@suse.de>
-#
-# References: <20040402144254.GC4409@suse.de>
+#
+# References: <20040402144254.GC4409@suse.de>
# http://lists.gnu.org/archive/html/bug-tar/2004-04/msg00002.html
AT_SETUP([skipping a straddling member])
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
],
[0],
[separator
# References: <20040809214854.GB32706@suse.de>
# http://lists.gnu.org/archive/html/bug-tar/2004-08/msg00012.html
# <200604270859.47241.Juergen.Vollmer@informatik-vollmer.de>
-#
+#
AT_SETUP([MV archive & long filenames])
AT_KEYWORDS([multivolume multiv multiv03])
echo separator-2
mv $BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
],
[0],
[],[],[gnu, oldgnu])
AT_CLEANUP
-
echo separator
mkdir bak
mv m4_foreach([f],[FILELIST],f )bak
-tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
+tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
m4_foreach([f],
[FILELIST],
[echo Diffing f
],[],[], [gnu])
AT_CLEANUP
-
-
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Description: When creating POSIX multivolume archives, tar may in
-# some cases write an extended header at the end of one volume, and
+# some cases write an extended header at the end of one volume, and
# the corresponding ustar header at the beginning of the next volume.
# Such archives do not fully comply with the POSIX specs, but tar must
# be able to read them anyway. This is what this script tests.
AT_TARBALL_PREREQ([xsplit-1.tar],[0e008c84c517e48fbf23ca6a7033cde6])
AT_TARBALL_PREREQ([xsplit-2.tar],[03150b9852d285458f43734e9e0b9a45])
+exec <&-
+
cd $TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar
],
--- /dev/null
+# Test suite for GNU tar. -*- Autotest -*-
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Description: Tar 1.23 would in some cases silently fail to create
+# a continuation header in multivolume archives.
+#
+# In this testcase, the file `a' is 18.5 blocks long and the file `b'
+# is 19.5 blocks long.
+
+AT_SETUP([multivolume header creation])
+AT_KEYWORDS([multivolume multiv multiv08])
+
+AT_TAR_CHECK([
+genfile --length 9472 --file a
+genfile --length 9984 --file b
+decho Creating
+tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b
+decho Testing
+tar -tMR -f A.tar -f B.tar -f C.tar
+],
+[0],
+[Creating
+Testing
+block 0: a
+block 21: b
+block 43: ** Block of NULs **
+],
+[Creating
+Testing
+],
+[],
+[],
+[gnu])
+
+AT_CLEANUP
# Signature of the current package.
m4_define([AT_PACKAGE_NAME], [GNU tar])
m4_define([AT_PACKAGE_TARNAME], [tar])
-m4_define([AT_PACKAGE_VERSION], [1.23])
-m4_define([AT_PACKAGE_STRING], [GNU tar 1.23])
+m4_define([AT_PACKAGE_VERSION], [1.24])
+m4_define([AT_PACKAGE_STRING], [GNU tar 1.24])
m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org])
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
unset TAR_OPTIONS
AT_CHECK([
+AT_UNPRIVILEGED_PREREQ
AT_GZIP_PREREQ
AT_SORT_PREREQ
sed -n '/(child)/p' err >&2
rm err
find . | sort
-exit $EC
+# Gzip exit code is propagated to the shell. Usually it is
+# 141. We convert all non-zero exits to 2 to make it predictable.
+test $EC && exit 2
],
[2],
[.
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2009 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Description: Called with --remove-files, tar 1.23 failed
+# to remove a directory if it contained symlinks to another files
+# within that directory.
+# Reported-by: Alexander Kozlov <akozlov@nada.kth.se>
+# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00028.html
+# <Pine.SOC.4.64.1003150951060.28948@faun.nada.kth.se>
+
+AT_SETUP([remove-files with symbolic links])
+AT_KEYWORDS([create remove-files remfiles03])
+
+AT_CHECK([
+mkdir a
+mkdir a/b
+ln -s b a/c || AT_SKIP_TEST
+tar --remove-files -cf a.tar a
+genfile --stat a
+],
+[0],
+[],
+[genfile: stat(a) failed: No such file or directory
+])
+
+AT_CLEANUP
# 02110-1301, USA.
# Description: Test basic handling of renamed directory in the incremental
-# archives.
+# archives.
AT_SETUP([renamed dirs in incrementals])
AT_KEYWORDS([incremental rename rename01])
tar xfg arch.1 /dev/null
echo "Begin directory listing 1"
-find foo | sort
+find foo | sort
echo "End directory listing 1"
tar xfg arch.2 /dev/null
# 02110-1301, USA.
# Description: Incremental archives should be able to handle directories
-# moved between directory hierarchies.
+# moved between directory hierarchies.
AT_SETUP([move between hierarchies])
AT_KEYWORDS([incremental rename rename02])
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
-find foo | sort
+find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
-find foo | sort
+find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
AT_CLEANUP
# End of rename04.at
-
-
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
],
[0],
AT_CLEANUP
# End of rename05.at
-
-
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
-ls directory|sort
+ls directory|sort
],
[0],
[file1
])
AT_CLEANUP
-
# 02110-1301, USA.
# In previous versions a single -C option did not work with --same-order
-# (see same-order01.sh). However, multiple -C options worked OK.
+# (see same-order01.sh). However, multiple -C options worked OK.
# Test if we did not break the correct behavior.
AT_SETUP([multiple -C options])
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
[],[],[gnu])
AT_CLEANUP
-
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+AT_SETUP([sigpipe handling])
+AT_KEYWORDS([sigpipe])
+
+# Description: Tar 1.23 ignored sigpipe which lead to spurious "write
+# error" diagnostics when piping output to another programs.
+# Reported-by: "Dmitry V. Levin" <ldv@altlinux.org>
+# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html
+# <20100319184141.GC30047@wo.int.altlinux.org>
+
+AT_CHECK([
+genfile --length 2048 --file first
+genfile --length 2048 --file second
+genfile --length 2049 --file third
+
+tar cf archive first second third
+
+tar tf archive | :
+],
+[0])
+
+AT_CLEANUP
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
],
])
AT_CLEANUP
-
# Tar 1.14 - 1.15.1 was unable to extract sparse files to a pipe.
# References: <16896.21739.460782.124775@jik.kamens.brookline.ma.us>
-# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html
+# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html
AT_TAR_CHECK([
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || 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 --record-size=512 -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
-tar --record-size=512 -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2
],
genfile --sparse --file sparsefile $2 || AT_SKIP_TEST
echo "Pass 1: Split between data blocks"
echo "Create archive"
-tar --sparse --sparse-version=$1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
+tar --sparse --sparse-version=$1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile $3 || AT_SKIP_TEST
echo "Create archive"
-tar --sparse --sparse-version=$1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
+tar --sparse --sparse-version=$1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
Compare archive
],
[],[],[],[pax])])
-
# 02110-1301, USA.
AT_SETUP([sparse files in PAX MV archives, v.0.0])
-AT_KEYWORDS([sparse multiv sparsemvp sparsemvp00])
+AT_KEYWORDS([sparse multivolume multiv sparsemvp sparsemvp00])
TAR_MVP_TEST(0.0, [0 ABCDEFGHI 1M ABCDEFGHI], [0 ABCDEFGH 1M ABCDEFGHI])
# 02110-1301, USA.
AT_SETUP([sparse files in PAX MV archives, v.1.0])
-AT_KEYWORDS([sparse multiv sparsemvp sparsemvp10])
+AT_KEYWORDS([sparse multivolume multiv sparsemvp sparsemvp10])
TAR_MVP_TEST(1.0, [0 ABCDEFGH 1M ABCDEFGHI], [0 ABCDEFG 1M ABCDEFGHI])
example:
make STAR_TESTSCRIPTS=testdir check
-or
+or
make TESTS_ENVIRONMENT='STAR_TESTSCRIPTS=testdir' check
The file `quicktest.sh' is a separate test. It is never executed
within `make check' command, you will need to run it manually.
Please, carefully read section `quicktest.sh' below before running
it.
-
+
Following is a short description of the tests:
* gtarfail.at and gtarfail2.at
Requires gnu-multi-fail-volume1.gtar and gnu-multi-fail-volume2.gtar.
These are two parts of a multi-volume archive that previous versions
-of tar refused to read (at least, without -B option).
+of tar refused to read (at least, without -B option).
* ustar-big-2g.at
echo "$1 does not exist or is unreadable"
echo 77
fi
-}
+}
check_environ() {
if [ "$STAR_TESTSCRIPTS" = "" ]; then
else
echo "STAR_TESTSCRIPTS is not a directory"
exit 77
- fi
+ fi
ARCHIVE=$STAR_TESTSCRIPTS/ustar-all-quicktest.tar
test_access $ARCHIVE
FILELIST=$STAR_TESTSCRIPTS/quicktest.filelist
- test_access $FILELIST
+ test_access $FILELIST
${TARTEST:-tartest} < /dev/null > /dev/null 2>&1
if [ $? -eq 127 ]; then
*) echo "Unknown option: $option" >&2
exit 77;;
esac
- done
+ done
}
if [ -w / ]; then
# List of the tested programs.
at_tested='tar'
# List of the all the test groups.
-at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98'
+at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
-at_format='??'
+at_format='???'
# Description of all the test groups.
at_help_all="1;version.at:19;tar version;;
2;pipe.at:30;decompressing from stdin;pipe;
10;append01.at:29;appending files with long names;append append01;
11;append02.at:54;append vs. create;append append02 append-gnu;
12;xform-h.at:30;transforming hard links on create;transform xform xform-h;
-13;exclude.at:23;exclude;exclude;
-14;exclude01.at:17;exclude wildcards;exclude exclude01;
-15;exclude02.at:17;exclude: anchoring;exclude exclude02;
-16;exclude03.at:17;exclude: wildcards match slash;exclude exclude03;
-17;exclude04.at:17;exclude: case insensitive;exclude exclude04;
-18;exclude05.at:19;exclude: lots of excludes;exclude exclude05;
-19;delete01.at:23;deleting a member after a big one;delete delete01;
-20;delete02.at:23;deleting a member from stdin archive;delete delete02;
-21;delete03.at:21;deleting members with long names;delete delete03;
-22;delete04.at:23;deleting a large last member;delete delete04;
-23;delete05.at:27;deleting non-existing member;delete delete05;
-24;extrac01.at:23;extract over an existing directory;extract extract01;
-25;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
-26;extrac03.at:23;extraction loops;extract extract03;
-27;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
-28;extrac05.at:30;extracting selected members from pax;extract extract05;
-29;extrac06.at:33;mode of extracted directories;extract extract06 directory mode;
-30;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
-31;extrac08.at:33;restoring mode on existing directory;extract extrac08;
-32;label01.at:19;single-volume label;label label01;
-33;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv;
-34;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
-35;gzip.at:23;gzip;gzip;
-36;incremental.at:23;incremental;incremental incr00;
-37;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
-38;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
-39;listed01.at:26;--listed for individual files;listed incremental listed01;
-40;listed02.at:28;working --listed;listed incremental listed02;
-41;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
-42;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
-43;incr05.at:19;incremental dumps with -C;incremental incr05;
-44;incr06.at:19;incremental dumps of nested directories;incremental incr06;
-45;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01;
-46;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02;
-47;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
-48;rename02.at:24;move between hierarchies;incremental rename rename02;
-49;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
-50;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
-51;rename05.at:24;renamed subdirectories;incremental rename05 rename;
-52;chtype.at:27;changed file types in incrementals;incremental chtype;
-53;ignfail.at:23;ignfail;ignfail;
-54;link01.at:33;link count gt 2;hardlinks link01;
-55;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
-56;link03.at:24;working -l with --remove-files;hardlinks link03;
-57;longv7.at:24;long names in V7 archives;longname longv7;
-58;long01.at:28;long file names divisible by block size;longname long512;
-59;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
-60;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
-61;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
-62;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
-63;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
-64;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
-65;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
-66;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
-67;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
-68;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit;
-69;old.at:23;old archives;old;
-70;recurse.at:21;recurse;recurse;
-71;same-order01.at:26;working -C with --same-order;same-order same-order01;
-72;same-order02.at:25;multiple -C options;same-order same-order02;
-73;shortrec.at:25;short records;shortrec;
-74;sparse01.at:21;sparse files;sparse sparse01;
-75;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
-76;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
-77;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
-78;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00;
-79;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
-80;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10;
-81;update.at:28;update unchanged directories;update update00;
-82;update01.at:29;update directories;update update01;
-83;update02.at:26;update changed files;update update02;
-84;volume.at:23;volume;volume volcheck;
-85;volsize.at:29;volume header size;volume volsize;
-86;comprec.at:21;compressed format recognition;comprec;
-87;shortfile.at:26;short input files;shortfile shortfile0;
-88;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
-89;truncate.at:29;truncate;truncate filechange;
-90;grow.at:24;grow;grow filechange;
-91;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
-92;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
-93;gtarfail.at:21;gtarfail;star gtarfail;
-94;gtarfail2.at:21;gtarfail2;star gtarfail2;
-95;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
-96;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
-97;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
-98;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
+13;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
+14;exclude.at:23;exclude;exclude;
+15;exclude01.at:17;exclude wildcards;exclude exclude01;
+16;exclude02.at:17;exclude: anchoring;exclude exclude02;
+17;exclude03.at:17;exclude: wildcards match slash;exclude exclude03;
+18;exclude04.at:17;exclude: case insensitive;exclude exclude04;
+19;exclude05.at:19;exclude: lots of excludes;exclude exclude05;
+20;exclude06.at:24;exclude: long files in pax archives;exclude exclude06;
+21;delete01.at:23;deleting a member after a big one;delete delete01;
+22;delete02.at:23;deleting a member from stdin archive;delete delete02;
+23;delete03.at:21;deleting members with long names;delete delete03;
+24;delete04.at:23;deleting a large last member;delete delete04;
+25;delete05.at:27;deleting non-existing member;delete delete05;
+26;extrac01.at:23;extract over an existing directory;extract extract01;
+27;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
+28;extrac03.at:23;extraction loops;extract extract03;
+29;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
+30;extrac05.at:30;extracting selected members from pax;extract extract05;
+31;extrac06.at:33;mode of extracted directories;extract extract06 directory mode;
+32;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
+33;extrac08.at:33;restoring mode on existing directory;extract extrac08;
+34;extrac09.at:22;no need to save dir with unreadable . and ..;extract extrac09;
+35;extrac10.at:27;-C and delayed setting of metadata;extract extrac10;
+36;extrac11.at:23;scarce file descriptors;extract extrac11;
+37;extrac12.at:23;extract dot permissions;extract extrac12;
+38;extrac13.at:24;extract over symlinks;extract extrac13;
+39;extrac14.at:23;extract -C symlink;extract extrac14;
+40;extrac15.at:23;extract parent mkdir failure;extract extrac15;
+41;label01.at:19;single-volume label;label label01;
+42;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv;
+43;label03.at:25;test-label option;label label03 test-label;
+44;label04.at:25;label with non-create option;label label04;
+45;label05.at:22;label with non-create option;label label05;
+46;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
+47;gzip.at:23;gzip;gzip;
+48;incremental.at:23;incremental;incremental incr00;
+49;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
+50;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
+51;listed01.at:26;--listed for individual files;listed incremental listed01;
+52;listed02.at:28;working --listed;listed incremental listed02;
+53;listed03.at:22;incremental dump when the parent directory is unreadable;listed incremental listed03;
+54;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
+55;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
+56;incr05.at:19;incremental dumps with -C;incremental incr05;
+57;incr06.at:19;incremental dumps of nested directories;incremental incr06;
+58;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01;
+59;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02;
+60;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
+61;rename02.at:24;move between hierarchies;incremental rename rename02;
+62;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
+63;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
+64;rename05.at:24;renamed subdirectories;incremental rename05 rename;
+65;chtype.at:27;changed file types in incrementals;incremental chtype;
+66;ignfail.at:23;ignfail;ignfail;
+67;link01.at:33;link count gt 2;hardlinks link01;
+68;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
+69;link03.at:24;working -l with --remove-files;hardlinks link03;
+70;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
+71;longv7.at:24;long names in V7 archives;longname longv7;
+72;long01.at:28;long file names divisible by block size;longname long512;
+73;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
+74;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
+75;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
+76;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
+77;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
+78;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
+79;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
+80;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
+81;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
+82;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit;
+83;multiv08.at:23;multivolume header creation;multivolume multiv multiv08;
+84;old.at:23;old archives;old;
+85;recurse.at:21;recurse;recurse;
+86;same-order01.at:26;working -C with --same-order;same-order same-order01;
+87;same-order02.at:25;multiple -C options;same-order same-order02;
+88;shortrec.at:25;short records;shortrec;
+89;sparse01.at:21;sparse files;sparse sparse01;
+90;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
+91;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
+92;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
+93;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
+94;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
+95;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
+96;update.at:28;update unchanged directories;update update00;
+97;update01.at:29;update directories;update update01;
+98;update02.at:26;update changed files;update update02;
+99;volume.at:23;volume;volume volcheck;
+100;volsize.at:29;volume header size;volume volsize;
+101;comprec.at:21;compressed format recognition;comprec;
+102;shortfile.at:26;short input files;shortfile shortfile0;
+103;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
+104;truncate.at:29;truncate;truncate filechange;
+105;grow.at:24;grow;grow filechange;
+106;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
+107;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
+108;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
+109;sigpipe.at:19;sigpipe handling;sigpipe;
+110;gtarfail.at:21;gtarfail;star gtarfail;
+111;gtarfail2.at:21;gtarfail2;star gtarfail2;
+112;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
+113;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
+114;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
+115;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
"
# at_func_validate_ranges [NAME...]
for at_grp
do
eval at_value=\$$at_grp
- if test $at_value -lt 1 || test $at_value -gt 98; then
+ if test $at_value -lt 1 || test $at_value -gt 115; then
$as_echo "invalid test group: $at_value" >&2
exit 1
fi
# List of tests.
if $at_list_p; then
cat <<_ATEOF || at_write_fail=1
-GNU tar 1.23 test suite test groups:
+GNU tar 1.24 test suite test groups:
NUM: FILE-NAME:LINE TEST-GROUP-NAME
KEYWORDS
exit $at_write_fail
fi
if $at_version_p; then
- $as_echo "$as_me (GNU tar 1.23)" &&
+ $as_echo "$as_me (GNU tar 1.24)" &&
cat <<\_ACEOF || at_write_fail=1
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Banners and logs.
cat <<\_ASBOX
## ------------------------ ##
-## GNU tar 1.23 test suite. ##
+## GNU tar 1.24 test suite. ##
## ------------------------ ##
_ASBOX
{
cat <<\_ASBOX
## ------------------------ ##
-## GNU tar 1.23 test suite. ##
+## GNU tar 1.24 test suite. ##
## ------------------------ ##
_ASBOX
echo
$as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:
To: <bug-tar@gnu.org>
- Subject: [GNU tar 1.23] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+ Subject: [GNU tar 1.24] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
"
if test $at_debug_p = false; then
echo
at_status=$?
at_failed=false
at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.23
+echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.24
" | \
$at_diff - "$at_stdout" || at_failed=:
at_func_check_status 0 $at_status "$at_srcdir/version.at:21"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
-cat archive | tar xfv - | sort
+cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
+
+
$at_traceoff
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
#AT_STOP_12
#AT_START_13
-# 13. exclude.at:23: exclude
+# 13. xform01.at:26: transformations and GNU volume labels
+at_setup_line='xform01.at:26'
+at_desc="transformations and GNU volume labels"
+$at_quiet $as_echo_n " 13: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "13. xform01.at:26: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/xform01.at:29:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar -cf archive.tar -V /label/ file
+tar tf archive.tar
+)"
+echo xform01.at:29 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar -cf archive.tar -V /label/ file
+tar tf archive.tar
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file
+tar -cf archive.tar -V /label/ file
+tar tf archive.tar
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/label/
+file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/xform01.at:29"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_13
+#AT_START_14
+# 14. exclude.at:23: exclude
at_setup_line='exclude.at:23'
at_desc="exclude"
-$at_quiet $as_echo_n " 13: $at_desc "
+$at_quiet $as_echo_n " 14: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "13. exclude.at:23: testing ..."
+ $as_echo "14. exclude.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_13
-#AT_START_14
-# 14. exclude01.at:17: exclude wildcards
+#AT_STOP_14
+#AT_START_15
+# 15. exclude01.at:17: exclude wildcards
at_setup_line='exclude01.at:17'
at_desc="exclude wildcards"
-$at_quiet $as_echo_n " 14: $at_desc "
+$at_quiet $as_echo_n " 15: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "14. exclude01.at:17: testing ..."
+ $as_echo "15. exclude01.at:17: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_14
-#AT_START_15
-# 15. exclude02.at:17: exclude: anchoring
+#AT_STOP_15
+#AT_START_16
+# 16. exclude02.at:17: exclude: anchoring
at_setup_line='exclude02.at:17'
at_desc="exclude: anchoring"
-$at_quiet $as_echo_n " 15: $at_desc "
+$at_quiet $as_echo_n " 16: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "15. exclude02.at:17: testing ..."
+ $as_echo "16. exclude02.at:17: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_15
-#AT_START_16
-# 16. exclude03.at:17: exclude: wildcards match slash
+#AT_STOP_16
+#AT_START_17
+# 17. exclude03.at:17: exclude: wildcards match slash
at_setup_line='exclude03.at:17'
at_desc="exclude: wildcards match slash"
-$at_quiet $as_echo_n " 16: $at_desc "
+$at_quiet $as_echo_n " 17: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "16. exclude03.at:17: testing ..."
+ $as_echo "17. exclude03.at:17: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_16
-#AT_START_17
-# 17. exclude04.at:17: exclude: case insensitive
+#AT_STOP_17
+#AT_START_18
+# 18. exclude04.at:17: exclude: case insensitive
at_setup_line='exclude04.at:17'
at_desc="exclude: case insensitive"
-$at_quiet $as_echo_n " 17: $at_desc "
+$at_quiet $as_echo_n " 18: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "17. exclude04.at:17: testing ..."
+ $as_echo "18. exclude04.at:17: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_17
-#AT_START_18
-# 18. exclude05.at:19: exclude: lots of excludes
+#AT_STOP_18
+#AT_START_19
+# 19. exclude05.at:19: exclude: lots of excludes
at_setup_line='exclude05.at:19'
at_desc="exclude: lots of excludes"
-$at_quiet $as_echo_n " 18: $at_desc "
+$at_quiet $as_echo_n " 19: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "18. exclude05.at:19: testing ..."
+ $as_echo "19. exclude05.at:19: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_18
-#AT_START_19
-# 19. delete01.at:23: deleting a member after a big one
+#AT_STOP_19
+#AT_START_20
+# 20. exclude06.at:24: exclude: long files in pax archives
+at_setup_line='exclude06.at:24'
+at_desc="exclude: long files in pax archives"
+$at_quiet $as_echo_n " 20: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "20. exclude06.at:24: testing ..."
+ $at_traceon
+
+
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/exclude06.at:29:
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H pax\"
+export TAR_OPTIONS
+rm -rf *
+
+
+install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c
+
+tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen
+mkdir out
+tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp
+find out -type f
+)"
+echo exclude06.at:29 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+
+install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c
+
+tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen
+mkdir out
+tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp
+find out -type f
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+
+install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt
+genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c
+
+tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen
+mkdir out
+tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp
+find out -type f
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "out/one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/exclude06.at:29"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_20
+#AT_START_21
+# 21. delete01.at:23: deleting a member after a big one
at_setup_line='delete01.at:23'
at_desc="deleting a member after a big one"
-$at_quiet $as_echo_n " 19: $at_desc "
+$at_quiet $as_echo_n " 21: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "19. delete01.at:23: testing ..."
+ $as_echo "21. delete01.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_19
-#AT_START_20
-# 20. delete02.at:23: deleting a member from stdin archive
+#AT_STOP_21
+#AT_START_22
+# 22. delete02.at:23: deleting a member from stdin archive
at_setup_line='delete02.at:23'
at_desc="deleting a member from stdin archive"
-$at_quiet $as_echo_n " 20: $at_desc "
+$at_quiet $as_echo_n " 22: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "20. delete02.at:23: testing ..."
+ $as_echo "22. delete02.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_20
-#AT_START_21
-# 21. delete03.at:21: deleting members with long names
+#AT_STOP_22
+#AT_START_23
+# 23. delete03.at:21: deleting members with long names
at_setup_line='delete03.at:21'
at_desc="deleting members with long names"
-$at_quiet $as_echo_n " 21: $at_desc "
+$at_quiet $as_echo_n " 23: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "21. delete03.at:21: testing ..."
+ $as_echo "23. delete03.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_21
-#AT_START_22
-# 22. delete04.at:23: deleting a large last member
+#AT_STOP_23
+#AT_START_24
+# 24. delete04.at:23: deleting a large last member
at_setup_line='delete04.at:23'
at_desc="deleting a large last member"
-$at_quiet $as_echo_n " 22: $at_desc "
+$at_quiet $as_echo_n " 24: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "22. delete04.at:23: testing ..."
+ $as_echo "24. delete04.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_22
-#AT_START_23
-# 23. delete05.at:27: deleting non-existing member
+#AT_STOP_24
+#AT_START_25
+# 25. delete05.at:27: deleting non-existing member
at_setup_line='delete05.at:27'
at_desc="deleting non-existing member"
-$at_quiet $as_echo_n " 23: $at_desc "
+$at_quiet $as_echo_n " 25: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "23. delete05.at:27: testing ..."
+ $as_echo "25. delete05.at:27: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_23
-#AT_START_24
-# 24. extrac01.at:23: extract over an existing directory
+#AT_STOP_25
+#AT_START_26
+# 26. extrac01.at:23: extract over an existing directory
at_setup_line='extrac01.at:23'
at_desc="extract over an existing directory"
-$at_quiet $as_echo_n " 24: $at_desc "
+$at_quiet $as_echo_n " 26: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "24. extrac01.at:23: testing ..."
+ $as_echo "26. extrac01.at:23: testing ..."
$at_traceon
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
)"
echo extrac01.at:26 >"$at_check_line_file"
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
)"
echo extrac01.at:26 >"$at_check_line_file"
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
)"
echo extrac01.at:26 >"$at_check_line_file"
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
)"
echo extrac01.at:26 >"$at_check_line_file"
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
)"
echo extrac01.at:26 >"$at_check_line_file"
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir directory
touch directory/file
tar cf archive directory || exit 1
-tar xf archive || exit 1
+tar xf archive --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_24
-#AT_START_25
-# 25. extrac02.at:23: extracting symlinks over an existing file
+#AT_STOP_26
+#AT_START_27
+# 27. extrac02.at:23: extracting symlinks over an existing file
at_setup_line='extrac02.at:23'
at_desc="extracting symlinks over an existing file"
-$at_quiet $as_echo_n " 25: $at_desc "
+$at_quiet $as_echo_n " 27: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "25. extrac02.at:23: testing ..."
+ $as_echo "27. extrac02.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_25
-#AT_START_26
-# 26. extrac03.at:23: extraction loops
+#AT_STOP_27
+#AT_START_28
+# 28. extrac03.at:23: extraction loops
at_setup_line='extrac03.at:23'
at_desc="extraction loops"
-$at_quiet $as_echo_n " 26: $at_desc "
+$at_quiet $as_echo_n " 28: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "26. extrac03.at:23: testing ..."
+ $as_echo "28. extrac03.at:23: testing ..."
$at_traceon
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive)"
+tar -xPvf archive --warning=no-timestamp)"
echo extrac03.at:26 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive)"
+tar -xPvf archive --warning=no-timestamp)"
echo extrac03.at:26 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive)"
+tar -xPvf archive --warning=no-timestamp)"
echo extrac03.at:26 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive)"
+tar -xPvf archive --warning=no-timestamp)"
echo extrac03.at:26 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive)"
+tar -xPvf archive --warning=no-timestamp)"
echo extrac03.at:26 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
mkdir directory
tar -cPvf archive directory/../directory
echo separator
-tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
+tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_26
-#AT_START_27
-# 27. extrac04.at:23: extract + fnmatch
+#AT_STOP_28
+#AT_START_29
+# 29. extrac04.at:23: extract + fnmatch
at_setup_line='extrac04.at:23'
at_desc="extract + fnmatch"
-$at_quiet $as_echo_n " 27: $at_desc "
+$at_quiet $as_echo_n " 29: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "27. extrac04.at:23: testing ..."
+ $as_echo "29. extrac04.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_27
-#AT_START_28
-# 28. extrac05.at:30: extracting selected members from pax
+#AT_STOP_29
+#AT_START_30
+# 30. extrac05.at:30: extracting selected members from pax
at_setup_line='extrac05.at:30'
at_desc="extracting selected members from pax"
-$at_quiet $as_echo_n " 28: $at_desc "
+$at_quiet $as_echo_n " 30: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "28. extrac05.at:30: testing ..."
+ $as_echo "30. extrac05.at:30: testing ..."
$at_traceon
mkdir dir
cd dir
-tar xvfT ../archive ../../list || exit 1
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
cd ..
)"
mkdir dir
cd dir
-tar xvfT ../archive ../../list || exit 1
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
cd ..
) ) >"$at_stdout" 2>"$at_stder1"
mkdir dir
cd dir
-tar xvfT ../archive ../../list || exit 1
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
cd ..
) ) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_28
-#AT_START_29
-# 29. extrac06.at:33: mode of extracted directories
+#AT_STOP_30
+#AT_START_31
+# 31. extrac06.at:33: mode of extracted directories
at_setup_line='extrac06.at:33'
at_desc="mode of extracted directories"
-$at_quiet $as_echo_n " 29: $at_desc "
+$at_quiet $as_echo_n " 31: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "29. extrac06.at:33: testing ..."
+ $as_echo "31. extrac06.at:33: testing ..."
$at_traceon
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
genfile --stat=mode:777 directory
# ... and attempt to restore it twice
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
-tar xf arc directory
+tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory
# After both restores, the directory mode should be 755
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_29
-#AT_START_30
-# 30. extrac07.at:27: extracting symlinks to a read-only dir
+#AT_STOP_31
+#AT_START_32
+# 32. extrac07.at:27: extracting symlinks to a read-only dir
at_setup_line='extrac07.at:27'
at_desc="extracting symlinks to a read-only dir"
-$at_quiet $as_echo_n " 30: $at_desc "
+$at_quiet $as_echo_n " 32: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "30. extrac07.at:27: testing ..."
+ $as_echo "32. extrac07.at:27: testing ..."
$at_traceon
{ $at_traceoff
$as_echo "$at_srcdir/extrac07.at:30:
-mkdir v7
-(cd v7
-TEST_TAR_FORMAT=v7
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H v7\"
+TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
-chmod -w dir
+chmod a-w dir
echo Create the archive
tar cf archive dir || exit 1
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
( $at_traceon;
-mkdir v7
-(cd v7
-TEST_TAR_FORMAT=v7
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
-TAR_OPTIONS="-H v7"
+TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
-chmod -w dir
+chmod a-w dir
echo Create the archive
tar cf archive dir || exit 1
at_func_filter_trace $?
else
( :;
-mkdir v7
-(cd v7
-TEST_TAR_FORMAT=v7
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
-TAR_OPTIONS="-H v7"
+TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
-chmod -w dir
+chmod a-w dir
echo Create the archive
tar cf archive dir || exit 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
-if $at_failed; then
- :
-else
- ustar
-fi
-
-$at_failed && at_func_log_failure
-$at_traceon; }
-
- { $at_traceoff
-$as_echo "$at_srcdir/extrac07.at:30:
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H oldgnu\"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-)"
-echo extrac07.at:30 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H oldgnu"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H oldgnu"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Prepare the directory
-Create the archive
-Extract
-dir/
-dir/foo
-" | \
- $at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
-if $at_failed; then
- :
-else
- ustar
-fi
-
-$at_failed && at_func_log_failure
-$at_traceon; }
-
- { $at_traceoff
-$as_echo "$at_srcdir/extrac07.at:30:
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H ustar\"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-)"
-echo extrac07.at:30 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H ustar"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-mkdir ustar
-(cd ustar
-TEST_TAR_FORMAT=ustar
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H ustar"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Prepare the directory
-Create the archive
-Extract
-dir/
-dir/foo
-" | \
- $at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
-if $at_failed; then
- :
-else
- ustar
-fi
-
-$at_failed && at_func_log_failure
-$at_traceon; }
-
- { $at_traceoff
-$as_echo "$at_srcdir/extrac07.at:30:
-mkdir posix
-(cd posix
-TEST_TAR_FORMAT=posix
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H posix\"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-)"
-echo extrac07.at:30 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-mkdir posix
-(cd posix
-TEST_TAR_FORMAT=posix
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H posix"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-mkdir posix
-(cd posix
-TEST_TAR_FORMAT=posix
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H posix"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Prepare the directory
-Create the archive
-Extract
-dir/
-dir/foo
-" | \
- $at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
-if $at_failed; then
- :
-else
- ustar
-fi
-
-$at_failed && at_func_log_failure
-$at_traceon; }
-
- { $at_traceoff
-$as_echo "$at_srcdir/extrac07.at:30:
-mkdir gnu
-(cd gnu
-TEST_TAR_FORMAT=gnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H gnu\"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-)"
-echo extrac07.at:30 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-mkdir gnu
-(cd gnu
-TEST_TAR_FORMAT=gnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H gnu"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-mkdir gnu
-(cd gnu
-TEST_TAR_FORMAT=gnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS="-H gnu"
-export TAR_OPTIONS
-rm -rf *
-
-echo Prepare the directory
-mkdir dir
-genfile -f foo
-cd dir
-ln -s ../foo .
-cd ..
-chmod -w dir
-
-echo Create the archive
-tar cf archive dir || exit 1
-
-chmod +w dir
-
-echo Extract
-mkdir out
-tar -C out -xvf archive
-) ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Prepare the directory
-Create the archive
-Extract
-dir/
-dir/foo
-" | \
- $at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
-if $at_failed; then
- :
-else
- ustar
-fi
$at_failed && at_func_log_failure
$at_traceon; }
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_30
-#AT_START_31
-# 31. extrac08.at:33: restoring mode on existing directory
+#AT_STOP_32
+#AT_START_33
+# 33. extrac08.at:33: restoring mode on existing directory
at_setup_line='extrac08.at:33'
at_desc="restoring mode on existing directory"
-$at_quiet $as_echo_n " 31: $at_desc "
+$at_quiet $as_echo_n " 33: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "31. extrac08.at:33: testing ..."
+ $as_echo "33. extrac08.at:33: testing ..."
$at_traceon
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)"
echo extrac08.at:36 >"$at_check_line_file"
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stderr"
fi
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)"
echo extrac08.at:36 >"$at_check_line_file"
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stderr"
fi
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)"
echo extrac08.at:36 >"$at_check_line_file"
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stderr"
fi
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)"
echo extrac08.at:36 >"$at_check_line_file"
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stderr"
fi
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)"
echo extrac08.at:36 >"$at_check_line_file"
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
-tar xfv test.tar
+tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_31
-#AT_START_32
-# 32. label01.at:19: single-volume label
-at_setup_line='label01.at:19'
-at_desc="single-volume label"
-$at_quiet $as_echo_n " 32: $at_desc "
+#AT_STOP_33
+#AT_START_34
+# 34. extrac09.at:22: no need to save dir with unreadable . and ..
+at_setup_line='extrac09.at:22'
+at_desc="no need to save dir with unreadable . and .."
+$at_quiet $as_echo_n " 34: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "32. label01.at:19: testing ..."
+ $as_echo "34. extrac09.at:22: testing ..."
$at_traceon
{ $at_traceoff
-$as_echo "$at_srcdir/label01.at:22:
+$as_echo "$at_srcdir/extrac09.at:25:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TAR_OPTIONS
rm -rf *
-genfile --file foo
-genfile --file bar
-tar -cf archive --label=Test foo bar
-tar tf archive
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=\$?
+chmod a+r . ..
+cmp f extract/f || status=\$?
+exit \$status
)"
-echo label01.at:22 >"$at_check_line_file"
+echo extrac09.at:25 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
export TAR_OPTIONS
rm -rf *
-genfile --file foo
-genfile --file bar
-tar -cf archive --label=Test foo bar
-tar tf archive
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=$?
+chmod a+r . ..
+cmp f extract/f || status=$?
+exit $status
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
export TAR_OPTIONS
rm -rf *
-genfile --file foo
-genfile --file bar
-tar -cf archive --label=Test foo bar
-tar tf archive
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=$?
+chmod a+r . ..
+cmp f extract/f || status=$?
+exit $status
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Test
-foo
-bar
+echo >>"$at_stdout"; $as_echo "f
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/label01.at:22"
+at_func_check_status 0 $at_status "$at_srcdir/extrac09.at:25"
$at_failed && at_func_log_failure
$at_traceon; }
- { $at_traceoff
-$as_echo "$at_srcdir/label01.at:22:
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_34
+#AT_START_35
+# 35. extrac10.at:27: -C and delayed setting of metadata
+at_setup_line='extrac10.at:27'
+at_desc="-C and delayed setting of metadata"
+$at_quiet $as_echo_n " 35: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "35. extrac10.at:27: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac10.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H oldgnu\"
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+)"
+echo extrac10.at:30 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac10.at:30"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_35
+#AT_START_36
+# 36. extrac11.at:23: scarce file descriptors
+at_setup_line='extrac11.at:23'
+at_desc="scarce file descriptors"
+$at_quiet $as_echo_n " 36: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "36. extrac11.at:23: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac11.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir \$dirs dest1 dest2 dest3 || exit
+for dir in \$dirs; do
+ for file in X Y Z; do
+ echo \$file >\$dir/\$file || exit
+ files=\"\$files \$file\"
+ done
+done
+
+# Check that \"ulimit\" itself works.
+((ulimit -n 100 &&
+ tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ exit 77
+
+# Another test that \"ulimit\" itself works:
+# tar should fail when completely starved of file descriptors.
+((ulimit -n 4 &&
+ tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ exit 77
+
+# Tar should work when there are few, but enough, file descriptors.
+((ulimit -n 10 &&
+ tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+)"
+echo extrac11.at:26 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir $dirs dest1 dest2 dest3 || exit
+for dir in $dirs; do
+ for file in X Y Z; do
+ echo $file >$dir/$file || exit
+ files="$files $file"
+ done
+done
+
+# Check that "ulimit" itself works.
+((ulimit -n 100 &&
+ tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ exit 77
+
+# Another test that "ulimit" itself works:
+# tar should fail when completely starved of file descriptors.
+((ulimit -n 4 &&
+ tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ exit 77
+
+# Tar should work when there are few, but enough, file descriptors.
+((ulimit -n 10 &&
+ tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir $dirs dest1 dest2 dest3 || exit
+for dir in $dirs; do
+ for file in X Y Z; do
+ echo $file >$dir/$file || exit
+ files="$files $file"
+ done
+done
+
+# Check that "ulimit" itself works.
+((ulimit -n 100 &&
+ tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ exit 77
+
+# Another test that "ulimit" itself works:
+# tar should fail when completely starved of file descriptors.
+((ulimit -n 4 &&
+ tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ exit 77
+
+# Tar should work when there are few, but enough, file descriptors.
+((ulimit -n 10 &&
+ tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac11.at:26"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_36
+#AT_START_37
+# 37. extrac12.at:23: extract dot permissions
+at_setup_line='extrac12.at:23'
+at_desc="extract dot permissions"
+$at_quiet $as_echo_n " 37: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "37. extrac12.at:23: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac12.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+)"
+echo extrac12.at:26 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac12.at:26"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_37
+#AT_START_38
+# 38. extrac13.at:24: extract over symlinks
+at_setup_line='extrac13.at:24'
+at_desc="extract over symlinks"
+$at_quiet $as_echo_n " 38: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "38. extrac13.at:24: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac13.at:27:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff -c src/file1 dst1/file1 &&
+diff -c target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff -c src/file1 dst2/file1 &&
+diff -c target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff -c src/file1 dst3/file1 &&
+diff -c src/file1 dst3/target1
+)"
+echo extrac13.at:27 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff -c src/file1 dst1/file1 &&
+diff -c target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff -c src/file1 dst2/file1 &&
+diff -c target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff -c src/file1 dst3/file1 &&
+diff -c src/file1 dst3/target1
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff -c src/file1 dst1/file1 &&
+diff -c target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff -c src/file1 dst2/file1 &&
+diff -c target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff -c src/file1 dst3/file1 &&
+diff -c src/file1 dst3/target1
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac13.at:27"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_38
+#AT_START_39
+# 39. extrac14.at:23: extract -C symlink
+at_setup_line='extrac14.at:23'
+at_desc="extract -C symlink"
+$at_quiet $as_echo_n " 39: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "39. extrac14.at:23: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac14.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+)"
+echo extrac14.at:26 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac14.at:26"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_39
+#AT_START_40
+# 40. extrac15.at:23: extract parent mkdir failure
+at_setup_line='extrac15.at:23'
+at_desc="extract parent mkdir failure"
+$at_quiet $as_echo_n " 40: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "40. extrac15.at:23: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/extrac15.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+)"
+echo extrac15.at:26 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "tar: a/b: Cannot mkdir: Permission denied
+tar: a/b/c: Cannot open: No such file or directory
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac15.at:26"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_40
+#AT_START_41
+# 41. label01.at:19: single-volume label
+at_setup_line='label01.at:19'
+at_desc="single-volume label"
+$at_quiet $as_echo_n " 41: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "41. label01.at:19: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label01.at:22:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)"
+echo label01.at:22 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test
+foo
+bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label01.at:22"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label01.at:22:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_32
-#AT_START_33
-# 33. label02.at:19: multi-volume label
+#AT_STOP_41
+#AT_START_42
+# 42. label02.at:19: multi-volume label
at_setup_line='label02.at:19'
at_desc="multi-volume label"
-$at_quiet $as_echo_n " 33: $at_desc "
+$at_quiet $as_echo_n " 42: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "33. label02.at:19: testing ..."
+ $as_echo "42. label02.at:19: testing ..."
$at_traceon
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/label02.at:22:
+$as_echo "$at_srcdir/label02.at:22:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)"
+echo label02.at:22 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test Volume 1
+foo
+bar
+baz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label02.at:22"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label02.at:22:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)"
+echo label02.at:22 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test Volume 1
+foo
+bar
+baz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label02.at:22"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_42
+#AT_START_43
+# 43. label03.at:25: test-label option
+at_setup_line='label03.at:25'
+at_desc="test-label option"
+$at_quiet $as_echo_n " 43: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "43. label03.at:25: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label03.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+echo label03.at:28 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label03.at:28"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label03.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+echo label03.at:28 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label03.at:28"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label03.at:28:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+echo label03.at:28 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label03.at:28"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_43
+#AT_START_44
+# 44. label04.at:25: label with non-create option
+at_setup_line='label04.at:25'
+at_desc="label with non-create option"
+$at_quiet $as_echo_n " 44: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "44. label04.at:25: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label04.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
)"
-echo label02.at:22 >"$at_check_line_file"
+echo label04.at:28 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume \`New volume' does not match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label04.at:28"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label04.at:28:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
+)"
+echo label04.at:28 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Test Volume 1
-foo
-bar
-baz
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume \`New volume' does not match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/label02.at:22"
+at_func_check_status 0 $at_status "$at_srcdir/label04.at:28"
$at_failed && at_func_log_failure
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/label02.at:22:
+$as_echo "$at_srcdir/label04.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
)"
-echo label02.at:22 >"$at_check_line_file"
+echo label04.at:28 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
rm -rf *
exec <&-
-genfile --length 0 --file foo
-genfile --length 12288 --file bar
-genfile --length 12288 --file baz
-tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
-tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Test Volume 1
-foo
-bar
-baz
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume \`New volume' does not match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/label02.at:22"
+at_func_check_status 0 $at_status "$at_srcdir/label04.at:28"
$at_failed && at_func_log_failure
$at_traceon; }
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_33
-#AT_START_34
-# 34. backup01.at:33: extracting existing dir with --backup
+#AT_STOP_44
+#AT_START_45
+# 45. label05.at:22: label with non-create option
+at_setup_line='label05.at:22'
+at_desc="label with non-create option"
+$at_quiet $as_echo_n " 45: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "45. label05.at:22: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label05.at:25:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+echo label05.at:25 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label05.at:25"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label05.at:25:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+echo label05.at:25 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label05.at:25"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/label05.at:25:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+echo label05.at:25 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match \`My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/label05.at:25"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_45
+#AT_START_46
+# 46. backup01.at:33: extracting existing dir with --backup
at_setup_line='backup01.at:33'
at_desc="extracting existing dir with --backup"
-$at_quiet $as_echo_n " 34: $at_desc "
+$at_quiet $as_echo_n " 46: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "34. backup01.at:33: testing ..."
+ $as_echo "46. backup01.at:33: testing ..."
$at_traceon
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
)"
echo backup01.at:36 >"$at_check_line_file"
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
)"
echo backup01.at:36 >"$at_check_line_file"
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
)"
echo backup01.at:36 >"$at_check_line_file"
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
)"
echo backup01.at:36 >"$at_check_line_file"
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
)"
echo backup01.at:36 >"$at_check_line_file"
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
-tar xfv test.tar --backup
+tar xfv test.tar --backup --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_34
-#AT_START_35
-# 35. gzip.at:23: gzip
+#AT_STOP_46
+#AT_START_47
+# 47. gzip.at:23: gzip
at_setup_line='gzip.at:23'
at_desc="gzip"
-$at_quiet $as_echo_n " 35: $at_desc "
+$at_quiet $as_echo_n " 47: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "35. gzip.at:23: testing ..."
+ $as_echo "47. gzip.at:23: testing ..."
$at_traceon
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
-tar xfvz /dev/null
+tar xfvz /dev/null 2>err
+RC=\$?
+sed -n '/^tar:/p' err >&2
+exit \$RC
"
echo gzip.at:28 >"$at_check_line_file"
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
-tar xfvz /dev/null
+tar xfvz /dev/null 2>err
+RC=$?
+sed -n '/^tar:/p' err >&2
+exit $RC
) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
-tar xfvz /dev/null
+tar xfvz /dev/null 2>err
+RC=$?
+sed -n '/^tar:/p' err >&2
+exit $RC
) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "
-gzip: stdin: unexpected end of file
-tar: Child returned status 1
+echo >>"$at_stderr"; $as_echo "tar: Child returned status 1
tar: Error is not recoverable: exiting now
" | \
$at_diff - "$at_stderr" || at_failed=:
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_35
-#AT_START_36
-# 36. incremental.at:23: incremental
+#AT_STOP_47
+#AT_START_48
+# 48. incremental.at:23: incremental
at_setup_line='incremental.at:23'
at_desc="incremental"
-$at_quiet $as_echo_n " 36: $at_desc "
+$at_quiet $as_echo_n " 48: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "36. incremental.at:23: testing ..."
+ $as_echo "48. incremental.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_36
-#AT_START_37
-# 37. incr01.at:27: restore broken symlinks from incremental
+#AT_STOP_48
+#AT_START_49
+# 49. incr01.at:27: restore broken symlinks from incremental
at_setup_line='incr01.at:27'
at_desc="restore broken symlinks from incremental"
-$at_quiet $as_echo_n " 37: $at_desc "
+$at_quiet $as_echo_n " 49: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "37. incr01.at:27: testing ..."
+ $as_echo "49. incr01.at:27: testing ..."
$at_traceon
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
)"
echo incr01.at:30 >"$at_check_line_file"
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
)"
echo incr01.at:30 >"$at_check_line_file"
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
)"
echo incr01.at:30 >"$at_check_line_file"
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
mv directory orig
-tar xvfg archive.0 /dev/null
+tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
-tar xvfg archive.1 /dev/null
+tar xvfg archive.1 /dev/null --warning=no-timestamp
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_37
-#AT_START_38
-# 38. incr02.at:32: restoring timestamps from incremental
+#AT_STOP_49
+#AT_START_50
+# 50. incr02.at:32: restoring timestamps from incremental
at_setup_line='incr02.at:32'
at_desc="restoring timestamps from incremental"
-$at_quiet $as_echo_n " 38: $at_desc "
+$at_quiet $as_echo_n " 50: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "38. incr02.at:32: testing ..."
+ $as_echo "50. incr02.at:32: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_38
-#AT_START_39
-# 39. listed01.at:26: --listed for individual files
+#AT_STOP_50
+#AT_START_51
+# 51. listed01.at:26: --listed for individual files
at_setup_line='listed01.at:26'
at_desc="--listed for individual files"
-$at_quiet $as_echo_n " 39: $at_desc "
+$at_quiet $as_echo_n " 51: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "39. listed01.at:26: testing ..."
+ $as_echo "51. listed01.at:26: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_39
-#AT_START_40
-# 40. listed02.at:28: working --listed
+#AT_STOP_51
+#AT_START_52
+# 52. listed02.at:28: working --listed
at_setup_line='listed02.at:28'
at_desc="working --listed"
-$at_quiet $as_echo_n " 40: $at_desc "
+$at_quiet $as_echo_n " 52: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "40. listed02.at:28: testing ..."
+ $as_echo "52. listed02.at:28: testing ..."
$at_traceon
$at_failed && at_func_log_failure
$at_traceon; }
- { $at_traceoff
-$as_echo "$at_srcdir/listed02.at:31:
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
-export TEST_TAR_FORMAT
-TAR_OPTIONS=\"-H oldgnu\"
-export TAR_OPTIONS
-rm -rf *
-
+ { $at_traceoff
+$as_echo "$at_srcdir/listed02.at:31:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+echo Create directories
+
+mkdir tart
+sleep 1
+mkdir tart/c0
+sleep 1
+mkdir tart/c1
+sleep 1
+
+for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
+do
+ echo File \$file > \$file
+ sleep 1
+done
+
+sleep 1
+echo Creating main archive
+echo >&2 \"Creating main archive\"
+tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
+
+# The above prints two lines to stderr announcing the new directories c0 and c1.
+# Ensure that they appear in this script's stderr in sorted order.
+sort err 1>&2; rm -f err
+
+sleep 1
+echo Modifying filesystem
+rm tart/a1
+
+mv tart/b1 tart/b2
+mv tart/c1 tart/c2
+touch tart/c2/ca3
+
+echo Directory contents
+find tart -print | sort 2>/dev/null
+
+sleep 1
+echo Creating incremental archive
+echo >&2 \"Creating incremental archive\"
+cp -p tart.incr1 tart.incr2
+tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+
+sleep 1
+
+rm -rf tart/*
+echo Extracting main archive
+echo >&2 \"Extracting main archive\"
+tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
+echo Extracting incremental archive
+# This command should produce three messages about deletion
+# of the existing files, that may appear in any order. Piping
+# to sort makes sure we don't depend on any particular ordering.
+tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+
+echo Final files:
+find tart -print | sort 2>/dev/null
+)"
+echo listed02.at:31 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+echo Create directories
+
+mkdir tart
+sleep 1
+mkdir tart/c0
+sleep 1
+mkdir tart/c1
+sleep 1
+
+for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
+do
+ echo File $file > $file
+ sleep 1
+done
+
+sleep 1
+echo Creating main archive
+echo >&2 "Creating main archive"
+tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
+
+# The above prints two lines to stderr announcing the new directories c0 and c1.
+# Ensure that they appear in this script's stderr in sorted order.
+sort err 1>&2; rm -f err
+
+sleep 1
+echo Modifying filesystem
+rm tart/a1
+
+mv tart/b1 tart/b2
+mv tart/c1 tart/c2
+touch tart/c2/ca3
+
+echo Directory contents
+find tart -print | sort 2>/dev/null
+
+sleep 1
+echo Creating incremental archive
+echo >&2 "Creating incremental archive"
+cp -p tart.incr1 tart.incr2
+tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+
+sleep 1
+
+rm -rf tart/*
+echo Extracting main archive
+echo >&2 "Extracting main archive"
+tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
+echo Extracting incremental archive
+# This command should produce three messages about deletion
+# of the existing files, that may appear in any order. Piping
+# to sort makes sure we don't depend on any particular ordering.
+tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+
+echo Final files:
+find tart -print | sort 2>/dev/null
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+echo Create directories
+
+mkdir tart
+sleep 1
+mkdir tart/c0
+sleep 1
+mkdir tart/c1
+sleep 1
+
+for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
+do
+ echo File $file > $file
+ sleep 1
+done
+
+sleep 1
+echo Creating main archive
+echo >&2 "Creating main archive"
+tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
+
+# The above prints two lines to stderr announcing the new directories c0 and c1.
+# Ensure that they appear in this script's stderr in sorted order.
+sort err 1>&2; rm -f err
+
+sleep 1
+echo Modifying filesystem
+rm tart/a1
+
+mv tart/b1 tart/b2
+mv tart/c1 tart/c2
+touch tart/c2/ca3
+
+echo Directory contents
+find tart -print | sort 2>/dev/null
+
+sleep 1
+echo Creating incremental archive
+echo >&2 "Creating incremental archive"
+cp -p tart.incr1 tart.incr2
+tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+
+sleep 1
+
+rm -rf tart/*
+echo Extracting main archive
+echo >&2 "Extracting main archive"
+tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
+echo Extracting incremental archive
+# This command should produce three messages about deletion
+# of the existing files, that may appear in any order. Piping
+# to sort makes sure we don't depend on any particular ordering.
+tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+
+echo Final files:
+find tart -print | sort 2>/dev/null
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "Creating main archive
+tar: tart/c0: Directory is new
+tar: tart/c1: Directory is new
+tar: tart: Directory is new
+Creating incremental archive
+tar: tart/c2: Directory has been renamed from \`tart/c1'
+Extracting main archive
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Create directories
+Creating main archive
+tart/
+tart/c0/
+tart/c1/
+tart/a1
+tart/b1
+tart/c0/cq1
+tart/c0/cq2
+tart/c1/ca1
+tart/c1/ca2
+Modifying filesystem
+Directory contents
+tart
+tart/b2
+tart/c0
+tart/c0/cq1
+tart/c0/cq2
+tart/c2
+tart/c2/ca1
+tart/c2/ca2
+tart/c2/ca3
+Creating incremental archive
+tart/
+tart/c0/
+tart/c2/
+tart/b2
+tart/c2/ca3
+Extracting main archive
+tart/
+tart/c0/
+tart/c1/
+tart/a1
+tart/b1
+tart/c0/cq1
+tart/c0/cq2
+tart/c1/ca1
+tart/c1/ca2
+Extracting incremental archive
+tar: Deleting \`tart/a1'
+tar: Deleting \`tart/b1'
+tart/
+tart/b2
+tart/c0/
+tart/c2/
+tart/c2/ca3
+Final files:
+tart
+tart/b2
+tart/c0
+tart/c0/cq1
+tart/c0/cq2
+tart/c2
+tart/c2/ca1
+tart/c2/ca2
+tart/c2/ca3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/listed02.at:31"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
-test -z "`sort < /dev/null 2>&1`" || exit 77
-echo Create directories
-mkdir tart
-sleep 1
-mkdir tart/c0
-sleep 1
-mkdir tart/c1
-sleep 1
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_52
+#AT_START_53
+# 53. listed03.at:22: incremental dump when the parent directory is unreadable
+at_setup_line='listed03.at:22'
+at_desc="incremental dump when the parent directory is unreadable"
+$at_quiet $as_echo_n " 53: $at_desc"
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "53. listed03.at:22: testing ..."
+ $at_traceon
-for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
-do
- echo File \$file > \$file
- sleep 1
-done
-sleep 1
-echo Creating main archive
-echo >&2 \"Creating main archive\"
-tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
-# The above prints two lines to stderr announcing the new directories c0 and c1.
-# Ensure that they appear in this script's stderr in sorted order.
-sort err 1>&2; rm -f err
-sleep 1
-echo Modifying filesystem
-rm tart/a1
-mv tart/b1 tart/b2
-mv tart/c1 tart/c2
-touch tart/c2/ca3
+ { $at_traceoff
+$as_echo "$at_srcdir/listed03.at:25:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
-echo Directory contents
-find tart -print | sort 2>/dev/null
-sleep 1
-echo Creating incremental archive
-echo >&2 \"Creating incremental archive\"
-cp -p tart.incr1 tart.incr2
-tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
-sleep 1
-rm -rf tart/*
-echo Extracting main archive
-echo >&2 \"Extracting main archive\"
-tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
-echo Extracting incremental archive
-# This command should produce three messages about deletion
-# of the existing files, that may appear in any order. Piping
-# to sort makes sure we don't depend on any particular ordering.
-tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/a
+genfile --file dir/sub/a/file
+cd dir/sub
-echo Final files:
-find tart -print | sort 2>/dev/null
+chmod a-r ..
+tar -c -f archive.tar --listed-incremental=db.1 -v a
+status=\$?
+chmod a+r ..
+exit \$status
)"
-echo listed02.at:31 >"$at_check_line_file"
+echo listed03.at:25 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
( $at_traceon;
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
-TAR_OPTIONS="-H oldgnu"
+TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-echo Create directories
-
-mkdir tart
-sleep 1
-mkdir tart/c0
-sleep 1
-mkdir tart/c1
-sleep 1
-
-for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
-do
- echo File $file > $file
- sleep 1
-done
-
-sleep 1
-echo Creating main archive
-echo >&2 "Creating main archive"
-tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
-
-# The above prints two lines to stderr announcing the new directories c0 and c1.
-# Ensure that they appear in this script's stderr in sorted order.
-sort err 1>&2; rm -f err
-
-sleep 1
-echo Modifying filesystem
-rm tart/a1
-
-mv tart/b1 tart/b2
-mv tart/c1 tart/c2
-touch tart/c2/ca3
-
-echo Directory contents
-find tart -print | sort 2>/dev/null
-
-sleep 1
-echo Creating incremental archive
-echo >&2 "Creating incremental archive"
-cp -p tart.incr1 tart.incr2
-tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
-sleep 1
-rm -rf tart/*
-echo Extracting main archive
-echo >&2 "Extracting main archive"
-tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
-echo Extracting incremental archive
-# This command should produce three messages about deletion
-# of the existing files, that may appear in any order. Piping
-# to sort makes sure we don't depend on any particular ordering.
-tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/a
+genfile --file dir/sub/a/file
+cd dir/sub
-echo Final files:
-find tart -print | sort 2>/dev/null
+chmod a-r ..
+tar -c -f archive.tar --listed-incremental=db.1 -v a
+status=$?
+chmod a+r ..
+exit $status
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
-mkdir oldgnu
-(cd oldgnu
-TEST_TAR_FORMAT=oldgnu
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
-TAR_OPTIONS="-H oldgnu"
+TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-echo Create directories
-
-mkdir tart
-sleep 1
-mkdir tart/c0
-sleep 1
-mkdir tart/c1
-sleep 1
-
-for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
-do
- echo File $file > $file
- sleep 1
-done
-
-sleep 1
-echo Creating main archive
-echo >&2 "Creating main archive"
-tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1
-
-# The above prints two lines to stderr announcing the new directories c0 and c1.
-# Ensure that they appear in this script's stderr in sorted order.
-sort err 1>&2; rm -f err
-
-sleep 1
-echo Modifying filesystem
-rm tart/a1
-
-mv tart/b1 tart/b2
-mv tart/c1 tart/c2
-touch tart/c2/ca3
-
-echo Directory contents
-find tart -print | sort 2>/dev/null
-
-sleep 1
-echo Creating incremental archive
-echo >&2 "Creating incremental archive"
-cp -p tart.incr1 tart.incr2
-tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
-sleep 1
-rm -rf tart/*
-echo Extracting main archive
-echo >&2 "Extracting main archive"
-tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
-echo Extracting incremental archive
-# This command should produce three messages about deletion
-# of the existing files, that may appear in any order. Piping
-# to sort makes sure we don't depend on any particular ordering.
-tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/a
+genfile --file dir/sub/a/file
+cd dir/sub
-echo Final files:
-find tart -print | sort 2>/dev/null
+chmod a-r ..
+tar -c -f archive.tar --listed-incremental=db.1 -v a
+status=$?
+chmod a+r ..
+exit $status
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "Creating main archive
-tar: tart/c0: Directory is new
-tar: tart/c1: Directory is new
-tar: tart: Directory is new
-Creating incremental archive
-tar: tart/c2: Directory has been renamed from \`tart/c1'
-Extracting main archive
+echo >>"$at_stderr"; $as_echo "tar: a: Directory is new
" | \
$at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "Create directories
-Creating main archive
-tart/
-tart/c0/
-tart/c1/
-tart/a1
-tart/b1
-tart/c0/cq1
-tart/c0/cq2
-tart/c1/ca1
-tart/c1/ca2
-Modifying filesystem
-Directory contents
-tart
-tart/b2
-tart/c0
-tart/c0/cq1
-tart/c0/cq2
-tart/c2
-tart/c2/ca1
-tart/c2/ca2
-tart/c2/ca3
-Creating incremental archive
-tart/
-tart/c0/
-tart/c2/
-tart/b2
-tart/c2/ca3
-Extracting main archive
-tart/
-tart/c0/
-tart/c1/
-tart/a1
-tart/b1
-tart/c0/cq1
-tart/c0/cq2
-tart/c1/ca1
-tart/c1/ca2
-Extracting incremental archive
-tar: Deleting \`tart/a1'
-tar: Deleting \`tart/b1'
-tart/
-tart/b2
-tart/c0/
-tart/c2/
-tart/c2/ca3
-Final files:
-tart
-tart/b2
-tart/c0
-tart/c0/cq1
-tart/c0/cq2
-tart/c2
-tart/c2/ca1
-tart/c2/ca2
-tart/c2/ca3
+echo >>"$at_stdout"; $as_echo "a/
+a/file
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/listed02.at:31"
+at_func_check_status 0 $at_status "$at_srcdir/listed03.at:25"
$at_failed && at_func_log_failure
$at_traceon; }
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_40
-#AT_START_41
-# 41. incr03.at:28: renamed files in incrementals
+#AT_STOP_53
+#AT_START_54
+# 54. incr03.at:28: renamed files in incrementals
at_setup_line='incr03.at:28'
at_desc="renamed files in incrementals"
-$at_quiet $as_echo_n " 41: $at_desc "
+$at_quiet $as_echo_n " 54: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "41. incr03.at:28: testing ..."
+ $as_echo "54. incr03.at:28: testing ..."
$at_traceon
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)"
echo incr03.at:31 >"$at_check_line_file"
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)"
echo incr03.at:31 >"$at_check_line_file"
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)"
echo incr03.at:31 >"$at_check_line_file"
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar -tf archive.2 | sort
echo Directory after first restore
-tar -xf archive.1 -g db
+tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort
echo Directory after second restore
-tar -xf archive.2 -g db
+tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_41
-#AT_START_42
-# 42. incr04.at:29: proper icontents initialization
+#AT_STOP_54
+#AT_START_55
+# 55. incr04.at:29: proper icontents initialization
at_setup_line='incr04.at:29'
at_desc="proper icontents initialization"
-$at_quiet $as_echo_n " 42: $at_desc "
+$at_quiet $as_echo_n " 55: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "42. incr04.at:29: testing ..."
+ $as_echo "55. incr04.at:29: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_42
-#AT_START_43
-# 43. incr05.at:19: incremental dumps with -C
+#AT_STOP_55
+#AT_START_56
+# 56. incr05.at:19: incremental dumps with -C
at_setup_line='incr05.at:19'
at_desc="incremental dumps with -C"
-$at_quiet $as_echo_n " 43: $at_desc "
+$at_quiet $as_echo_n " 56: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "43. incr05.at:19: testing ..."
+ $as_echo "56. incr05.at:19: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_43
-#AT_START_44
-# 44. incr06.at:19: incremental dumps of nested directories
+#AT_STOP_56
+#AT_START_57
+# 57. incr06.at:19: incremental dumps of nested directories
at_setup_line='incr06.at:19'
at_desc="incremental dumps of nested directories"
-$at_quiet $as_echo_n " 44: $at_desc "
+$at_quiet $as_echo_n " 57: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "44. incr06.at:19: testing ..."
+ $as_echo "57. incr06.at:19: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_44
-#AT_START_45
-# 45. filerem01.at:34: file removed as we read it (ca. 22 seconds)
+#AT_STOP_57
+#AT_START_58
+# 58. filerem01.at:34: file removed as we read it (ca. 22 seconds)
at_setup_line='filerem01.at:34'
at_desc="file removed as we read it (ca. 22 seconds)"
-$at_quiet $as_echo_n " 45: $at_desc "
+$at_quiet $as_echo_n " 58: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "45. filerem01.at:34: testing ..."
+ $as_echo "58. filerem01.at:34: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_45
-#AT_START_46
-# 46. filerem02.at:24: toplevel file removed (ca. 24 seconds)
+#AT_STOP_58
+#AT_START_59
+# 59. filerem02.at:24: toplevel file removed (ca. 24 seconds)
at_setup_line='filerem02.at:24'
at_desc="toplevel file removed (ca. 24 seconds)"
-$at_quiet $as_echo_n " 46: $at_desc "
+$at_quiet $as_echo_n " 59: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "46. filerem02.at:24: testing ..."
+ $as_echo "59. filerem02.at:24: testing ..."
$at_traceon
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: dir2: Cannot stat: No such file or directory
-tar: dir2/file1: File removed before we read it
-tar: Exiting with failure status due to previous errors
-" | \
- $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: dir2: Cannot stat: No such file or directory
-tar: dir2/file1: File removed before we read it
-tar: Exiting with failure status due to previous errors
-" | \
- $at_diff - "$at_stderr" || at_failed=:
+echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27"
+# Ignore stdout and stderr because their contents depend on
+# the file system implementation.
+
# Timing information: see filerem01.at
$at_traceoff
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_46
-#AT_START_47
-# 47. rename01.at:24: renamed dirs in incrementals
+#AT_STOP_59
+#AT_START_60
+# 60. rename01.at:24: renamed dirs in incrementals
at_setup_line='rename01.at:24'
at_desc="renamed dirs in incrementals"
-$at_quiet $as_echo_n " 47: $at_desc "
+$at_quiet $as_echo_n " 60: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "47. rename01.at:24: testing ..."
+ $as_echo "60. rename01.at:24: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_47
-#AT_START_48
-# 48. rename02.at:24: move between hierarchies
+#AT_STOP_60
+#AT_START_61
+# 61. rename02.at:24: move between hierarchies
at_setup_line='rename02.at:24'
at_desc="move between hierarchies"
-$at_quiet $as_echo_n " 48: $at_desc "
+$at_quiet $as_echo_n " 61: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "48. rename02.at:24: testing ..."
+ $as_echo "61. rename02.at:24: testing ..."
$at_traceon
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
mv foo old
-tar xfg arch.1 /dev/null 2>tmperr
+tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_48
-#AT_START_49
-# 49. rename03.at:23: cyclic renames
+#AT_STOP_61
+#AT_START_62
+# 62. rename03.at:23: cyclic renames
at_setup_line='rename03.at:23'
at_desc="cyclic renames"
-$at_quiet $as_echo_n " 49: $at_desc "
+$at_quiet $as_echo_n " 62: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "49. rename03.at:23: testing ..."
+ $as_echo "62. rename03.at:23: testing ..."
$at_traceon
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo \"Begin directory listing 1\"
find foo | sort
echo \"End directory listing 1\"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2
-tar xfg arch.1 /dev/null
+tar xfg arch.1 /dev/null --warning=no-timestamp
echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"
-tar xfgv arch.2 /dev/null
+tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_49
-#AT_START_50
-# 50. rename04.at:27: renamed directory containing subdirectories
+#AT_STOP_62
+#AT_START_63
+# 63. rename04.at:27: renamed directory containing subdirectories
at_setup_line='rename04.at:27'
at_desc="renamed directory containing subdirectories"
-$at_quiet $as_echo_n " 50: $at_desc "
+$at_quiet $as_echo_n " 63: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "50. rename04.at:27: testing ..."
+ $as_echo "63. rename04.at:27: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_50
-#AT_START_51
-# 51. rename05.at:24: renamed subdirectories
+#AT_STOP_63
+#AT_START_64
+# 64. rename05.at:24: renamed subdirectories
at_setup_line='rename05.at:24'
at_desc="renamed subdirectories"
-$at_quiet $as_echo_n " 51: $at_desc "
+$at_quiet $as_echo_n " 64: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "51. rename05.at:24: testing ..."
+ $as_echo "64. rename05.at:24: testing ..."
$at_traceon
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)"
echo rename05.at:27 >"$at_check_line_file"
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)"
echo rename05.at:27 >"$at_check_line_file"
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)"
echo rename05.at:27 >"$at_check_line_file"
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
mv dir orig
decho First restore
-tar -xf archive.1 -g db.1
+tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort
decho Second restore
-tar -xf archive.2 -g db.2
+tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_51
-#AT_START_52
-# 52. chtype.at:27: changed file types in incrementals
+#AT_STOP_64
+#AT_START_65
+# 65. chtype.at:27: changed file types in incrementals
at_setup_line='chtype.at:27'
at_desc="changed file types in incrementals"
-$at_quiet $as_echo_n " 52: $at_desc "
+$at_quiet $as_echo_n " 65: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "52. chtype.at:27: testing ..."
+ $as_echo "65. chtype.at:27: testing ..."
$at_traceon
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)"
echo chtype.at:30 >"$at_check_line_file"
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)"
echo chtype.at:30 >"$at_check_line_file"
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)"
echo chtype.at:30 >"$at_check_line_file"
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
rm -r directory
echo Restore archive.1
-tar -xf archive.1 --listed-incremental=/dev/null
+tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
-tar -xf archive.2 --listed-incremental=/dev/null
+tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_52
-#AT_START_53
-# 53. ignfail.at:23: ignfail
+#AT_STOP_65
+#AT_START_66
+# 66. ignfail.at:23: ignfail
at_setup_line='ignfail.at:23'
at_desc="ignfail"
-$at_quiet $as_echo_n " 53: $at_desc "
+$at_quiet $as_echo_n " 66: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "53. ignfail.at:23: testing ..."
+ $as_echo "66. ignfail.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_53
-#AT_START_54
-# 54. link01.at:33: link count gt 2
+#AT_STOP_66
+#AT_START_67
+# 67. link01.at:33: link count gt 2
at_setup_line='link01.at:33'
at_desc="link count gt 2"
-$at_quiet $as_echo_n " 54: $at_desc "
+$at_quiet $as_echo_n " 67: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "54. link01.at:33: testing ..."
+ $as_echo "67. link01.at:33: testing ..."
$at_traceon
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
)"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
)"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
)"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
)"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
)"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
-tar xf archive
+tar xf archive --warning=no-timestamp
ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_54
-#AT_START_55
-# 55. link02.at:32: preserve hard links with --remove-files
+#AT_STOP_67
+#AT_START_68
+# 68. link02.at:32: preserve hard links with --remove-files
at_setup_line='link02.at:32'
at_desc="preserve hard links with --remove-files"
-$at_quiet $as_echo_n " 55: $at_desc "
+$at_quiet $as_echo_n " 68: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "55. link02.at:32: testing ..."
+ $as_echo "68. link02.at:32: testing ..."
$at_traceon
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stder1"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stderr"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stder1"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stderr"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stder1"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stderr"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stder1"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stderr"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stder1"
rm -rf *
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
) ) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_55
-#AT_START_56
-# 56. link03.at:24: working -l with --remove-files
+#AT_STOP_68
+#AT_START_69
+# 69. link03.at:24: working -l with --remove-files
at_setup_line='link03.at:24'
at_desc="working -l with --remove-files"
-$at_quiet $as_echo_n " 56: $at_desc "
+$at_quiet $as_echo_n " 69: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "56. link03.at:24: testing ..."
+ $as_echo "69. link03.at:24: testing ..."
$at_traceon
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "archive.1
+archive.2
+testing archive.2
+file1
+file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/link03.at:34:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+)"
+echo link03.at:34 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "archive.1
+archive.2
+testing archive.2
+file1
+file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/link03.at:34:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+)"
+echo link03.at:34 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "archive.1
+archive.2
+testing archive.2
+file1
+file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/link03.at:34:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+)"
+echo link03.at:34 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "archive.1
+archive.2
+testing archive.2
+file1
+file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+ { $at_traceoff
+$as_echo "$at_srcdir/link03.at:34:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+)"
+echo link03.at:34 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.1
+tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
+
+echo archive.2
+tar -c -f archive.2 -l --remove-files file1 file2 file3
+echo testing archive.2
+tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+genfile -l 64 -f file1
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+ln file1 file2
+ln file2 file3
+ln file3 file4
echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
$at_diff - "$at_stdout" || at_failed=:
at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_69
+#AT_START_70
+# 70. link04.at:29: link count is 1 but multiple occurrences
+at_setup_line='link04.at:29'
+at_desc="link count is 1 but multiple occurrences"
+$at_quiet $as_echo_n " 70: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "70. link04.at:29: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/link04.at:32:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
+
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
+
+echo ==
+
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
+)"
+echo link04.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
+
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
+
+echo ==
+
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
+
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
+
+echo ==
+
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/link04.at:32"
+
$at_failed && at_func_log_failure
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/link03.at:34:
+$as_echo "$at_srcdir/link04.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
)"
-echo link03.at:34 >"$at_check_line_file"
+echo link04.at:32 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
-" | \
- $at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "archive.1
-archive.2
-testing archive.2
-file1
-file1
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+at_func_check_status 0 $at_status "$at_srcdir/link04.at:32"
$at_failed && at_func_log_failure
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/link03.at:34:
+$as_echo "$at_srcdir/link04.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
)"
-echo link03.at:34 >"$at_check_line_file"
+echo link04.at:32 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+echo ==
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
-" | \
- $at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "archive.1
-archive.2
-testing archive.2
-file1
-file1
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+at_func_check_status 0 $at_status "$at_srcdir/link04.at:32"
$at_failed && at_func_log_failure
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/link03.at:34:
+$as_echo "$at_srcdir/link04.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
-
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
)"
-echo link03.at:34 >"$at_check_line_file"
+echo link04.at:32 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
-" | \
- $at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "archive.1
-archive.2
-testing archive.2
-file1
-file1
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+at_func_check_status 0 $at_status "$at_srcdir/link04.at:32"
$at_failed && at_func_log_failure
$at_traceon; }
{ $at_traceoff
-$as_echo "$at_srcdir/link03.at:34:
+$as_echo "$at_srcdir/link04.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
)"
-echo link03.at:34 >"$at_check_line_file"
+echo link04.at:32 >"$at_check_line_file"
if { echo 'Not enabling shell tracing (command contains an embedded newline)'
false; }; then
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
export TAR_OPTIONS
rm -rf *
+mkdir dir
+echo TEST > dir/file
+ln -s file dir/symlink || exit 77
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
-
-echo archive.1
-tar -c -f archive.1 -l --remove-files file1 file2 file3 file4
+tar cf archive dir dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+' | sort
-genfile -l 64 -f file1
-link file1 file2
-link file2 file3
-link file3 file4
+echo ==
-echo archive.2
-tar -c -f archive.2 -l --remove-files file1 file2 file3
-echo testing archive.2
-tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
+tar chf archive dir
+tar tvf archive | sed '
+ s,.*[0-9] dir/,dir/,
+ s,file,FOO,g
+ s,symlink,FOO,g
+' | sort
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
at_failed=false
-echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'.
-" | \
- $at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "archive.1
-archive.2
-testing archive.2
-file1
-file1
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/
+dir/file
+dir/file link to dir/file
+dir/symlink -> file
+dir/symlink link to dir/symlink
+==
+dir/
+dir/FOO
+dir/FOO link to dir/FOO
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/link03.at:34"
+at_func_check_status 0 $at_status "$at_srcdir/link04.at:32"
$at_failed && at_func_log_failure
$at_traceon; }
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_56
-#AT_START_57
-# 57. longv7.at:24: long names in V7 archives
+#AT_STOP_70
+#AT_START_71
+# 71. longv7.at:24: long names in V7 archives
at_setup_line='longv7.at:24'
at_desc="long names in V7 archives"
-$at_quiet $as_echo_n " 57: $at_desc "
+$at_quiet $as_echo_n " 71: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "57. longv7.at:24: testing ..."
+ $as_echo "71. longv7.at:24: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_57
-#AT_START_58
-# 58. long01.at:28: long file names divisible by block size
+#AT_STOP_71
+#AT_START_72
+# 72. long01.at:28: long file names divisible by block size
at_setup_line='long01.at:28'
at_desc="long file names divisible by block size"
-$at_quiet $as_echo_n " 58: $at_desc "
+$at_quiet $as_echo_n " 72: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "58. long01.at:28: testing ..."
+ $as_echo "72. long01.at:28: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_58
-#AT_START_59
-# 59. lustar01.at:21: ustar: unsplittable file name
+#AT_STOP_72
+#AT_START_73
+# 73. lustar01.at:21: ustar: unsplittable file name
at_setup_line='lustar01.at:21'
at_desc="ustar: unsplittable file name"
-$at_quiet $as_echo_n " 59: $at_desc "
+$at_quiet $as_echo_n " 73: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "59. lustar01.at:21: testing ..."
+ $as_echo "73. lustar01.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_59
-#AT_START_60
-# 60. lustar02.at:21: ustar: unsplittable path name
+#AT_STOP_73
+#AT_START_74
+# 74. lustar02.at:21: ustar: unsplittable path name
at_setup_line='lustar02.at:21'
at_desc="ustar: unsplittable path name"
-$at_quiet $as_echo_n " 60: $at_desc "
+$at_quiet $as_echo_n " 74: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "60. lustar02.at:21: testing ..."
+ $as_echo "74. lustar02.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_60
-#AT_START_61
-# 61. lustar03.at:21: ustar: splitting long names
+#AT_STOP_74
+#AT_START_75
+# 75. lustar03.at:21: ustar: splitting long names
at_setup_line='lustar03.at:21'
at_desc="ustar: splitting long names"
-$at_quiet $as_echo_n " 61: $at_desc "
+$at_quiet $as_echo_n " 75: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "61. lustar03.at:21: testing ..."
+ $as_echo "75. lustar03.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_61
-#AT_START_62
-# 62. multiv01.at:23: multivolume dumps from pipes
+#AT_STOP_75
+#AT_START_76
+# 76. multiv01.at:23: multivolume dumps from pipes
at_setup_line='multiv01.at:23'
at_desc="multivolume dumps from pipes"
-$at_quiet $as_echo_n " 62: $at_desc "
+$at_quiet $as_echo_n " 76: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "62. multiv01.at:23: testing ..."
+ $as_echo "76. multiv01.at:23: testing ..."
$at_traceon
mkdir extract-dir-pipe
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
- -C extract-dir-pipe -x --multi-volume \\
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\
--tape-length=\$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
- -C extract-dir-pipe -x --multi-volume \\
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\
--tape-length=\$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
- -C extract-dir-pipe -x --multi-volume \\
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\
--tape-length=\$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
- -C extract-dir-pipe -x --multi-volume \
+ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
--tape-length=$TAPE_LENGTH --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_62
-#AT_START_63
-# 63. multiv02.at:28: skipping a straddling member
+#AT_STOP_76
+#AT_START_77
+# 77. multiv02.at:28: skipping a straddling member
at_setup_line='multiv02.at:28'
at_desc="skipping a straddling member"
-$at_quiet $as_echo_n " 63: $at_desc "
+$at_quiet $as_echo_n " 77: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "63. multiv02.at:28: testing ..."
+ $as_echo "77. multiv02.at:28: testing ..."
$at_traceon
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)"
echo multiv02.at:31 >"$at_check_line_file"
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)"
echo multiv02.at:31 >"$at_check_line_file"
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)"
echo multiv02.at:31 >"$at_check_line_file"
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
-tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
+tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_63
-#AT_START_64
-# 64. multiv03.at:30: MV archive & long filenames
+#AT_STOP_77
+#AT_START_78
+# 78. multiv03.at:30: MV archive & long filenames
at_setup_line='multiv03.at:30'
at_desc="MV archive & long filenames"
-$at_quiet $as_echo_n " 64: $at_desc "
+$at_quiet $as_echo_n " 78: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "64. multiv03.at:30: testing ..."
+ $as_echo "78. multiv03.at:30: testing ..."
$at_traceon
echo separator-2
mv \$BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp \$BFILE bfile
)"
echo multiv03.at:33 >"$at_check_line_file"
echo separator-2
mv $BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo separator-2
mv $BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stderr"
fi
echo separator-2
mv \$BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp \$BFILE bfile
)"
echo multiv03.at:33 >"$at_check_line_file"
echo separator-2
mv $BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
echo separator-2
mv $BFILE bfile
-tar -M -x -f arch.1 -f arch.2 || exit 1
+tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_64
-#AT_START_65
-# 65. multiv04.at:36: split directory members in a MV archive
+#AT_STOP_78
+#AT_START_79
+# 79. multiv04.at:36: split directory members in a MV archive
at_setup_line='multiv04.at:36'
at_desc="split directory members in a MV archive"
-$at_quiet $as_echo_n " 65: $at_desc "
+$at_quiet $as_echo_n " 79: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "65. multiv04.at:36: testing ..."
+ $as_echo "79. multiv04.at:36: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_65
-#AT_START_66
-# 66. multiv05.at:26: Restoring after an out of sync volume
+#AT_STOP_79
+#AT_START_80
+# 80. multiv05.at:26: Restoring after an out of sync volume
at_setup_line='multiv05.at:26'
at_desc="Restoring after an out of sync volume"
-$at_quiet $as_echo_n " 66: $at_desc "
+$at_quiet $as_echo_n " 80: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "66. multiv05.at:26: testing ..."
+ $as_echo "80. multiv05.at:26: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_66
-#AT_START_67
-# 67. multiv06.at:27: Multivolumes with L=record_size
+#AT_STOP_80
+#AT_START_81
+# 81. multiv06.at:27: Multivolumes with L=record_size
at_setup_line='multiv06.at:27'
at_desc="Multivolumes with L=record_size"
-$at_quiet $as_echo_n " 67: $at_desc "
+$at_quiet $as_echo_n " 81: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "67. multiv06.at:27: testing ..."
+ $as_echo "81. multiv06.at:27: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_67
-#AT_START_68
-# 68. multiv07.at:26: volumes split at an extended header
+#AT_STOP_81
+#AT_START_82
+# 82. multiv07.at:26: volumes split at an extended header
at_setup_line='multiv07.at:26'
at_desc="volumes split at an extended header"
-$at_quiet $as_echo_n " 68: $at_desc "
+$at_quiet $as_echo_n " 82: $at_desc "
at_xfail=no
test -f \$XFAILFILE && at_xfail=yes
test -f $XFAILFILE && at_xfail=yes
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "68. multiv07.at:26: testing ..."
+ $as_echo "82. multiv07.at:26: testing ..."
$at_traceon
test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77
+exec <&-
+
cd \$TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar
"
test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77
+exec <&-
+
cd $TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar
) >"$at_stdout" 2>"$at_stder1"
test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77
+exec <&-
+
cd $TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar
) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_68
-#AT_START_69
-# 69. old.at:23: old archives
+#AT_STOP_82
+#AT_START_83
+# 83. multiv08.at:23: multivolume header creation
+at_setup_line='multiv08.at:23'
+at_desc="multivolume header creation"
+$at_quiet $as_echo_n " 83: $at_desc "
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "83. multiv08.at:23: testing ..."
+ $at_traceon
+
+
+
+
+
+ { $at_traceoff
+$as_echo "$at_srcdir/multiv08.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 9472 --file a
+genfile --length 9984 --file b
+decho Creating
+tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b
+decho Testing
+tar -tMR -f A.tar -f B.tar -f C.tar
+)"
+echo multiv08.at:26 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 9472 --file a
+genfile --length 9984 --file b
+decho Creating
+tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b
+decho Testing
+tar -tMR -f A.tar -f B.tar -f C.tar
+) ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --length 9472 --file a
+genfile --length 9984 --file b
+decho Creating
+tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b
+decho Testing
+tar -tMR -f A.tar -f B.tar -f C.tar
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "Creating
+Testing
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Creating
+Testing
+block 0: a
+block 21: b
+block 43: ** Block of NULs **
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/multiv08.at:26"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_83
+#AT_START_84
+# 84. old.at:23: old archives
at_setup_line='old.at:23'
at_desc="old archives"
-$at_quiet $as_echo_n " 69: $at_desc "
+$at_quiet $as_echo_n " 84: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "69. old.at:23: testing ..."
+ $as_echo "84. old.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_69
-#AT_START_70
-# 70. recurse.at:21: recurse
+#AT_STOP_84
+#AT_START_85
+# 85. recurse.at:21: recurse
at_setup_line='recurse.at:21'
at_desc="recurse"
-$at_quiet $as_echo_n " 70: $at_desc "
+$at_quiet $as_echo_n " 85: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "70. recurse.at:21: testing ..."
+ $as_echo "85. recurse.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_70
-#AT_START_71
-# 71. same-order01.at:26: working -C with --same-order
+#AT_STOP_85
+#AT_START_86
+# 86. same-order01.at:26: working -C with --same-order
at_setup_line='same-order01.at:26'
at_desc="working -C with --same-order"
-$at_quiet $as_echo_n " 71: $at_desc "
+$at_quiet $as_echo_n " 86: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "71. same-order01.at:26: testing ..."
+ $as_echo "86. same-order01.at:26: testing ..."
$at_traceon
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
)"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
)"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
)"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
)"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stderr"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
)"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
tar cf archive file1 file2
mkdir directory
-tar -xf archive --same-order -C directory || exit 1
+tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1
ls directory|sort
) ) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_71
-#AT_START_72
-# 72. same-order02.at:25: multiple -C options
+#AT_STOP_86
+#AT_START_87
+# 87. same-order02.at:25: multiple -C options
at_setup_line='same-order02.at:25'
at_desc="multiple -C options"
-$at_quiet $as_echo_n " 72: $at_desc "
+$at_quiet $as_echo_n " 87: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "72. same-order02.at:25: testing ..."
+ $as_echo "87. same-order02.at:25: testing ..."
$at_traceon
mkdir to
HERE=\`pwd\`
-tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \\
+ -C \$HERE/en file1 \\
+ -C \$HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=\`pwd\`
-tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \\
+ -C \$HERE/en file1 \\
+ -C \$HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=\`pwd\`
-tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \\
+ -C \$HERE/en file1 \\
+ -C \$HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=\`pwd\`
-tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \\
+ -C \$HERE/en file1 \\
+ -C \$HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=\`pwd\`
-tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \\
+ -C \$HERE/en file1 \\
+ -C \$HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
mkdir to
HERE=`pwd`
-tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
+tar -xf archive --same-order --warning=no-timestamp \
+ -C $HERE/en file1 \
+ -C $HERE/to file2 || exit 1
ls en
echo separator
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_72
-#AT_START_73
-# 73. shortrec.at:25: short records
+#AT_STOP_87
+#AT_START_88
+# 88. shortrec.at:25: short records
at_setup_line='shortrec.at:25'
at_desc="short records"
-$at_quiet $as_echo_n " 73: $at_desc "
+$at_quiet $as_echo_n " 88: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "73. shortrec.at:25: testing ..."
+ $as_echo "88. shortrec.at:25: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_73
-#AT_START_74
-# 74. sparse01.at:21: sparse files
+#AT_STOP_88
+#AT_START_89
+# 89. sparse01.at:21: sparse files
at_setup_line='sparse01.at:21'
at_desc="sparse files"
-$at_quiet $as_echo_n " 74: $at_desc "
+$at_quiet $as_echo_n " 89: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "74. sparse01.at:21: testing ..."
+ $as_echo "89. sparse01.at:21: testing ..."
$at_traceon
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stder1"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stderr"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stder1"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stderr"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stder1"
tar tfv archive
echo separator
mkdir directory
-tar Cxf directory archive
+tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stderr"
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_74
-#AT_START_75
-# 75. sparse02.at:21: extracting sparse file over a pipe
+#AT_STOP_89
+#AT_START_90
+# 90. sparse02.at:21: extracting sparse file over a pipe
at_setup_line='sparse02.at:21'
at_desc="extracting sparse file over a pipe"
-$at_quiet $as_echo_n " 75: $at_desc "
+$at_quiet $as_echo_n " 90: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "75. sparse02.at:21: testing ..."
+ $as_echo "90. sparse02.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_75
-#AT_START_76
-# 76. sparse03.at:21: storing sparse files > 8G
+#AT_STOP_90
+#AT_START_91
+# 91. sparse03.at:21: storing sparse files > 8G
at_setup_line='sparse03.at:21'
at_desc="storing sparse files > 8G"
-$at_quiet $as_echo_n " 76: $at_desc "
+$at_quiet $as_echo_n " 91: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "76. sparse03.at:21: testing ..."
+ $as_echo "91. sparse03.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_76
-#AT_START_77
-# 77. sparsemv.at:21: sparse files in MV archives
+#AT_STOP_91
+#AT_START_92
+# 92. sparsemv.at:21: sparse files in MV archives
at_setup_line='sparsemv.at:21'
at_desc="sparse files in MV archives"
-$at_quiet $as_echo_n " 77: $at_desc "
+$at_quiet $as_echo_n " 92: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "77. sparsemv.at:21: testing ..."
+ $as_echo "92. sparsemv.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_77
-#AT_START_78
-# 78. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
+#AT_STOP_92
+#AT_START_93
+# 93. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
at_setup_line='spmvp00.at:21'
at_desc="sparse files in PAX MV archives, v.0.0"
-$at_quiet $as_echo_n " 78: $at_desc "
+$at_quiet $as_echo_n " 93: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "78. spmvp00.at:21: testing ..."
+ $as_echo "93. spmvp00.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_78
-#AT_START_79
-# 79. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
+#AT_STOP_93
+#AT_START_94
+# 94. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
at_setup_line='spmvp01.at:21'
at_desc="sparse files in PAX MV archives, v.0.1"
-$at_quiet $as_echo_n " 79: $at_desc "
+$at_quiet $as_echo_n " 94: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "79. spmvp01.at:21: testing ..."
+ $as_echo "94. spmvp01.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_79
-#AT_START_80
-# 80. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
+#AT_STOP_94
+#AT_START_95
+# 95. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
at_setup_line='spmvp10.at:21'
at_desc="sparse files in PAX MV archives, v.1.0"
-$at_quiet $as_echo_n " 80: $at_desc "
+$at_quiet $as_echo_n " 95: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "80. spmvp10.at:21: testing ..."
+ $as_echo "95. spmvp10.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_80
-#AT_START_81
-# 81. update.at:28: update unchanged directories
+#AT_STOP_95
+#AT_START_96
+# 96. update.at:28: update unchanged directories
at_setup_line='update.at:28'
at_desc="update unchanged directories"
-$at_quiet $as_echo_n " 81: $at_desc "
+$at_quiet $as_echo_n " 96: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "81. update.at:28: testing ..."
+ $as_echo "96. update.at:28: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_81
-#AT_START_82
-# 82. update01.at:29: update directories
+#AT_STOP_96
+#AT_START_97
+# 97. update01.at:29: update directories
at_setup_line='update01.at:29'
at_desc="update directories"
-$at_quiet $as_echo_n " 82: $at_desc "
+$at_quiet $as_echo_n " 97: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "82. update01.at:29: testing ..."
+ $as_echo "97. update01.at:29: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_82
-#AT_START_83
-# 83. update02.at:26: update changed files
+#AT_STOP_97
+#AT_START_98
+# 98. update02.at:26: update changed files
at_setup_line='update02.at:26'
at_desc="update changed files"
-$at_quiet $as_echo_n " 83: $at_desc "
+$at_quiet $as_echo_n " 98: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "83. update02.at:26: testing ..."
+ $as_echo "98. update02.at:26: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_83
-#AT_START_84
-# 84. volume.at:23: volume
+#AT_STOP_98
+#AT_START_99
+# 99. volume.at:23: volume
at_setup_line='volume.at:23'
at_desc="volume"
-$at_quiet $as_echo_n " 84: $at_desc "
+$at_quiet $as_echo_n " 99: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "84. volume.at:23: testing ..."
+ $as_echo "99. volume.at:23: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_84
-#AT_START_85
-# 85. volsize.at:29: volume header size
+#AT_STOP_99
+#AT_START_100
+# 100. volsize.at:29: volume header size
at_setup_line='volsize.at:29'
at_desc="volume header size"
-$at_quiet $as_echo_n " 85: $at_desc "
+$at_quiet $as_echo_n "100: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "85. volsize.at:29: testing ..."
+ $as_echo "100. volsize.at:29: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_85
-#AT_START_86
-# 86. comprec.at:21: compressed format recognition
+#AT_STOP_100
+#AT_START_101
+# 101. comprec.at:21: compressed format recognition
at_setup_line='comprec.at:21'
at_desc="compressed format recognition"
-$at_quiet $as_echo_n " 86: $at_desc "
+$at_quiet $as_echo_n "101: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "86. comprec.at:21: testing ..."
+ $as_echo "101. comprec.at:21: testing ..."
$at_traceon
tar cfz archive file1
echo \"separator\"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
)"
echo comprec.at:25 >"$at_check_line_file"
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar cfz archive file1
echo \"separator\"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
)"
echo comprec.at:25 >"$at_check_line_file"
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar cfz archive file1
echo \"separator\"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
)"
echo comprec.at:25 >"$at_check_line_file"
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar cfz archive file1
echo \"separator\"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
)"
echo comprec.at:25 >"$at_check_line_file"
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stderr"
fi
tar cfz archive file1
echo \"separator\"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
)"
echo comprec.at:25 >"$at_check_line_file"
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
tar cfz archive file1
echo "separator"
mv file1 orig
-tar xfv archive
+tar xfv archive --warning=no-timestamp
cmp orig file1
) ) >"$at_stdout" 2>"$at_stderr"
fi
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_86
-#AT_START_87
-# 87. shortfile.at:26: short input files
+#AT_STOP_101
+#AT_START_102
+# 102. shortfile.at:26: short input files
at_setup_line='shortfile.at:26'
at_desc="short input files"
-$at_quiet $as_echo_n " 87: $at_desc "
+$at_quiet $as_echo_n "102: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "87. shortfile.at:26: testing ..."
+ $as_echo "102. shortfile.at:26: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_87
-#AT_START_88
-# 88. shortupd.at:29: updating short archives
+#AT_STOP_102
+#AT_START_103
+# 103. shortupd.at:29: updating short archives
at_setup_line='shortupd.at:29'
at_desc="updating short archives"
-$at_quiet $as_echo_n " 88: $at_desc "
+$at_quiet $as_echo_n "103: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "88. shortupd.at:29: testing ..."
+ $as_echo "103. shortupd.at:29: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_88
-#AT_START_89
-# 89. truncate.at:29: truncate
+#AT_STOP_103
+#AT_START_104
+# 104. truncate.at:29: truncate
at_setup_line='truncate.at:29'
at_desc="truncate"
-$at_quiet $as_echo_n " 89: $at_desc "
+$at_quiet $as_echo_n "104: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "89. truncate.at:29: testing ..."
+ $as_echo "104. truncate.at:29: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_89
-#AT_START_90
-# 90. grow.at:24: grow
+#AT_STOP_104
+#AT_START_105
+# 105. grow.at:24: grow
at_setup_line='grow.at:24'
at_desc="grow"
-$at_quiet $as_echo_n " 90: $at_desc "
+$at_quiet $as_echo_n "105: $at_desc "
at_xfail=no
test -f $XFAILFILE && at_xfail=yes
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "90. grow.at:24: testing ..."
+ $as_echo "105. grow.at:24: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_90
-#AT_START_91
-# 91. remfiles01.at:28: remove-files with compression
+#AT_STOP_105
+#AT_START_106
+# 106. remfiles01.at:28: remove-files with compression
at_setup_line='remfiles01.at:28'
at_desc="remove-files with compression"
-$at_quiet $as_echo_n " 91: $at_desc "
+$at_quiet $as_echo_n "106: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "91. remfiles01.at:28: testing ..."
+ $as_echo "106. remfiles01.at:28: testing ..."
$at_traceon
{ $at_traceoff
$as_echo "$at_srcdir/remfiles01.at:32:
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
sed -n '/(child)/p' err >&2
rm err
find . | sort
-exit \$EC
+# Gzip exit code is propagated to the shell. Usually it is
+# 141. We convert all non-zero exits to 2 to make it predictable.
+test \$EC && exit 2
"
echo remfiles01.at:32 >"$at_check_line_file"
false; }; then
( $at_traceon;
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
sed -n '/(child)/p' err >&2
rm err
find . | sort
-exit $EC
+# Gzip exit code is propagated to the shell. Usually it is
+# 141. We convert all non-zero exits to 2 to make it predictable.
+test $EC && exit 2
) >"$at_stdout" 2>"$at_stder1"
at_func_filter_trace $?
else
( :;
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
sed -n '/(child)/p' err >&2
rm err
find . | sort
-exit $EC
+# Gzip exit code is propagated to the shell. Usually it is
+# 141. We convert all non-zero exits to 2 to make it predictable.
+test $EC && exit 2
) >"$at_stdout" 2>"$at_stderr"
fi
at_status=$?
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_91
-#AT_START_92
-# 92. remfiles02.at:28: remove-files with compression: grand-child
+#AT_STOP_106
+#AT_START_107
+# 107. remfiles02.at:28: remove-files with compression: grand-child
at_setup_line='remfiles02.at:28'
at_desc="remove-files with compression: grand-child"
-$at_quiet $as_echo_n " 92: $at_desc "
+$at_quiet $as_echo_n "107: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "92. remfiles02.at:28: testing ..."
+ $as_echo "107. remfiles02.at:28: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_92
-#AT_START_93
-# 93. gtarfail.at:21: gtarfail
+#AT_STOP_107
+#AT_START_108
+# 108. remfiles03.at:28: remove-files with symbolic links
+at_setup_line='remfiles03.at:28'
+at_desc="remove-files with symbolic links"
+$at_quiet $as_echo_n "108: $at_desc "
+at_xfail=no
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "108. remfiles03.at:28: testing ..."
+ $at_traceon
+
+
+
+{ $at_traceoff
+$as_echo "$at_srcdir/remfiles03.at:31:
+mkdir a
+mkdir a/b
+ln -s b a/c || exit 77
+tar --remove-files -cf a.tar a
+genfile --stat a
+"
+echo remfiles03.at:31 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+mkdir a
+mkdir a/b
+ln -s b a/c || exit 77
+tar --remove-files -cf a.tar a
+genfile --stat a
+ ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+mkdir a
+mkdir a/b
+ln -s b a/c || exit 77
+tar --remove-files -cf a.tar a
+genfile --stat a
+ ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+echo >>"$at_stderr"; $as_echo "genfile: stat(a) failed: No such file or directory
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/remfiles03.at:31"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_108
+#AT_START_109
+# 109. sigpipe.at:19: sigpipe handling
+at_setup_line='sigpipe.at:19'
+at_desc="sigpipe handling"
+$at_quiet $as_echo_n "109: $at_desc "
+at_xfail=no
+echo "# -*- compilation -*-" >> "$at_group_log"
+(
+ $as_echo "109. sigpipe.at:19: testing ..."
+ $at_traceon
+
+
+
+# Description: Tar 1.23 ignored sigpipe which lead to spurious "write
+# error" diagnostics when piping output to another programs.
+# Reported-by: "Dmitry V. Levin" <ldv@altlinux.org>
+# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html
+# <20100319184141.GC30047@wo.int.altlinux.org>
+
+{ $at_traceoff
+$as_echo "$at_srcdir/sigpipe.at:28:
+genfile --length 2048 --file first
+genfile --length 2048 --file second
+genfile --length 2049 --file third
+
+tar cf archive first second third
+
+tar tf archive | :
+"
+echo sigpipe.at:28 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+ false; }; then
+ ( $at_traceon;
+genfile --length 2048 --file first
+genfile --length 2048 --file second
+genfile --length 2049 --file third
+
+tar cf archive first second third
+
+tar tf archive | :
+ ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+else
+ ( :;
+genfile --length 2048 --file first
+genfile --length 2048 --file second
+genfile --length 2049 --file third
+
+tar cf archive first second third
+
+tar tf archive | :
+ ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/sigpipe.at:28"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+ $at_traceoff
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_109
+#AT_START_110
+# 110. gtarfail.at:21: gtarfail
at_setup_line='gtarfail.at:21'
at_desc="gtarfail"
-$at_quiet $as_echo_n " 93: $at_desc "
+$at_quiet $as_echo_n "110: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "93. gtarfail.at:21: testing ..."
+ $as_echo "110. gtarfail.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_93
-#AT_START_94
-# 94. gtarfail2.at:21: gtarfail2
+#AT_STOP_110
+#AT_START_111
+# 111. gtarfail2.at:21: gtarfail2
at_setup_line='gtarfail2.at:21'
at_desc="gtarfail2"
-$at_quiet $as_echo_n " 94: $at_desc "
+$at_quiet $as_echo_n "111: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "94. gtarfail2.at:21: testing ..."
+ $as_echo "111. gtarfail2.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_94
-#AT_START_95
-# 95. multi-fail.at:21: multi-fail
+#AT_STOP_111
+#AT_START_112
+# 112. multi-fail.at:21: multi-fail
at_setup_line='multi-fail.at:21'
at_desc="multi-fail"
-$at_quiet $as_echo_n " 95: $at_desc "
+$at_quiet $as_echo_n "112: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "95. multi-fail.at:21: testing ..."
+ $as_echo "112. multi-fail.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_95
-#AT_START_96
-# 96. ustar-big-2g.at:21: ustar-big-2g
+#AT_STOP_112
+#AT_START_113
+# 113. ustar-big-2g.at:21: ustar-big-2g
at_setup_line='ustar-big-2g.at:21'
at_desc="ustar-big-2g"
-$at_quiet $as_echo_n " 96: $at_desc "
+$at_quiet $as_echo_n "113: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "96. ustar-big-2g.at:21: testing ..."
+ $as_echo "113. ustar-big-2g.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_96
-#AT_START_97
-# 97. ustar-big-8g.at:21: ustar-big-8g
+#AT_STOP_113
+#AT_START_114
+# 114. ustar-big-8g.at:21: ustar-big-8g
at_setup_line='ustar-big-8g.at:21'
at_desc="ustar-big-8g"
-$at_quiet $as_echo_n " 97: $at_desc "
+$at_quiet $as_echo_n "114: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "97. ustar-big-8g.at:21: testing ..."
+ $as_echo "114. ustar-big-8g.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_97
-#AT_START_98
-# 98. pax-big-10g.at:21: pax-big-10g
+#AT_STOP_114
+#AT_START_115
+# 115. pax-big-10g.at:21: pax-big-10g
at_setup_line='pax-big-10g.at:21'
at_desc="pax-big-10g"
-$at_quiet $as_echo_n " 98: $at_desc "
+$at_quiet $as_echo_n "115: $at_desc "
at_xfail=no
echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "98. pax-big-10g.at:21: testing ..."
+ $as_echo "115. pax-big-10g.at:21: testing ..."
$at_traceon
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat "$at_status_file"`
-#AT_STOP_98
+#AT_STOP_115
m4_define([AT_TAR_WITH_HOOK],[
m4_pushdef([AT_TAR_CHECK_HOOK],[$1])
$2
-
+
m4_popdef([AT_TAR_CHECK_HOOK])])
m4_define([TAR_IGNREC_HOOK],[
AT_CHECK([grep -v '^.*tar: Record size = ' stderr; exit 0])
])
-
+
m4_define([RE_CHECK],[
AT_DATA([$1.re],[$2])
awk '{print NR " " $[]0}' $1 > $[]$.1
m4_include([append02.at])
m4_include([xform-h.at])
+m4_include([xform01.at])
m4_include([exclude.at])
m4_include([exclude01.at])
m4_include([exclude03.at])
m4_include([exclude04.at])
m4_include([exclude05.at])
+m4_include([exclude06.at])
m4_include([delete01.at])
m4_include([delete02.at])
m4_include([extrac06.at])
m4_include([extrac07.at])
m4_include([extrac08.at])
+m4_include([extrac09.at])
+m4_include([extrac10.at])
+m4_include([extrac11.at])
+m4_include([extrac12.at])
+m4_include([extrac13.at])
+m4_include([extrac14.at])
+m4_include([extrac15.at])
m4_include([label01.at])
m4_include([label02.at])
+m4_include([label03.at])
+m4_include([label04.at])
+m4_include([label05.at])
m4_include([backup01.at])
m4_include([incr02.at])
m4_include([listed01.at])
m4_include([listed02.at])
+m4_include([listed03.at])
m4_include([incr03.at])
m4_include([incr04.at])
m4_include([incr05.at])
m4_include([link01.at])
m4_include([link02.at])
m4_include([link03.at])
+m4_include([link04.at])
m4_include([longv7.at])
m4_include([long01.at])
m4_include([multiv05.at])
m4_include([multiv06.at])
m4_include([multiv07.at])
+m4_include([multiv08.at])
m4_include([old.at])
m4_include([remfiles01.at])
m4_include([remfiles02.at])
+m4_include([remfiles03.at])
+
+m4_include([sigpipe.at])
m4_include([star/gtarfail.at])
m4_include([star/gtarfail2.at])
AT_CLEANUP
# End of volsize.at
-
-
[],[],[gnu, oldgnu])
AT_CLEANUP
-
# Process this file with autom4te to create testsuite. -*- Autotest -*-
# Test suite for GNU tar.
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
AT_SETUP([transforming hard links on create])
AT_KEYWORDS([transform xform xform-h])
-m4_define([xform],[
+m4_pushdef([xformtest],[
echo "$1"
tar cf archive --transform="s,^basedir/,,$2" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'
echo "hello" > basedir/test
ln basedir/test basedir/test_link
-xform(Default transform scope)
-xform(Transforming hard links,h)
-xform(Not transforming hard links,H)
+xformtest(Default transform scope)
+xformtest(Transforming hard links,h)
+xformtest(Not transforming hard links,H)
],
[0],
[Default transform scope
basedir/test
])
+m4_popdef([xformtest])
+
AT_CLEANUP
# End of xform-h.at
\ No newline at end of file
--- /dev/null
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# 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.
+
+# Transformations should not apply to GNU volume labels.
+# Reported by: Thomas Graf <hausmeister@askja.de>
+# References: <4C72AB8D.3070706@askja.de>
+# http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00035.html
+
+AT_SETUP([transformations and GNU volume labels])
+AT_KEYWORDS([transform xform xform01 volume])
+
+AT_TAR_CHECK([
+genfile --file file
+tar -cf archive.tar -V /label/ file
+tar tf archive.tar
+],
+[0],
+[/label/
+file
+],
+[],[],[],[gnu])
+
+AT_CLEANUP
+
+
+