]> Dogcows Code - chaz/tar/log
chaz/tar
9 years agoBugfixes
Sergey Poznyakoff [Fri, 11 Jul 2014 05:09:30 +0000 (08:09 +0300)] 
Bugfixes

* gnulib.modules: Add faccessat
* src/checkpoint.c: Include termios.h

9 years agotar: document xgetcwd test case better
Nathan Stratton Treadway [Sun, 29 Jun 2014 06:57:37 +0000 (23:57 -0700)] 
tar: document xgetcwd test case better

* src/misc.c (normalize_filename): Add commentary for clarity.
* tests/extrac09.at: Retitle test case and add comments for clarity.

9 years agoFix typos in ChangeLog
Sergey Poznyakoff [Tue, 24 Jun 2014 08:53:35 +0000 (11:53 +0300)] 
Fix typos in ChangeLog

* ChangeLog.CVS: Fix typos.
* ChangeLog.amend: New file.
* Makefile.am: Define changelog_amend_file.

10 years agotar: do not dereference NULL pointer with '--remove-files .'
Paul Eggert [Tue, 29 Apr 2014 21:22:07 +0000 (14:22 -0700)] 
tar: do not dereference NULL pointer with '--remove-files .'

Problem reported by Thorsten Hirsch in:
http://lists.gnu.org/archive/html/bug-tar/2014-04/msg00011.html
* src/unlink.c (flush_deferred_unlinks):
Do not attempt to find the parent of "." when "." is
at the top level.
* tests/remfiles10.at: New file.
* tests/Makefile.am (TESTSUITE_AT):
* tests/testsuite.at: Add it.

10 years agoRefuse to write archive contents to a tty.
Sergey Poznyakoff [Thu, 27 Mar 2014 05:06:02 +0000 (07:06 +0200)] 
Refuse to write archive contents to a tty.

* NEWS: Update.
* src/buffer.c (_open_archive): Refuse to write to a tty.
* tests/iotty.at: Test output to a tty.

10 years agofix an eternal loop in handle_option
Vitezslav Cizek [Wed, 26 Mar 2014 21:01:22 +0000 (23:01 +0200)] 
fix an eternal loop in handle_option

* src/names.c (handle_option): increment loop counter

10 years agoFail if archive comes from a terminal.
Sergey Poznyakoff [Thu, 20 Mar 2014 14:28:25 +0000 (16:28 +0200)] 
Fail if archive comes from a terminal.

Based on patch from Pavel Raiskup <praiskup@redhat.com>.

* gnulib.modules: Add new modules.
* src/buffer.c (_open_archive): Refuse to read archive from a tty.
* tests/Makefile.am (TESTSUITE_AT): Add iotty.at
(check_PROGRAMS): New program ttyemu
* tests/testsuite.at: Include iotty.at
* tests/iotty.at: New file.
* tests/ttyemu.c: New file.

10 years agotar: port to Solaris 9
Paul Eggert [Thu, 13 Mar 2014 04:01:32 +0000 (21:01 -0700)] 
tar: port to Solaris 9

Problem reported by Jesse C in:
http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00034.html
* gnulib.modules: Add strtoimax and strtoumax, since tar invokes
these functions directly and they don't exist on Solaris 9.

10 years agoTest the --[no-]recursive options (see commit 2bd9c153_.
Sergey Poznyakoff [Tue, 25 Feb 2014 08:37:09 +0000 (10:37 +0200)] 
Test the --[no-]recursive options (see commit 2bd9c153_.

* tests/recurs02.at: New test case.
* tests/Makefile.am: Add new file.
* tests/testsuite.at: Add new file.

10 years agoSupport exclusion patterns from various VCS ignore lists.
Sergey Poznyakoff [Fri, 21 Feb 2014 15:57:26 +0000 (17:57 +0200)] 
Support exclusion patterns from various VCS ignore lists.

* src/Makefile.am (tar_SOURCES): Add exclist.c
* src/common.h (EXCL_DEFAULT, EXCL_RECURSIVE)
(EXCL_NON_RECURSIVE): New flags.
(excfile_add, info_attach_exclist)
(info_cleanup_exclist,info_free_exclist)
(exclude_vcs_ignores): New prototypes.
* src/create.c (dump_dir0): Call info_attach_exclist.
* src/exclist.c: New file.
* src/incremen.c (scan_directory): Call info_attach_exclist.
* src/names.c (excluded_name): Moved to exclist.c. Change signature.
All uses updated.
* src/tar.c: New options: --exclude-ignore, --exclude-ignore-recursive
and --exclude-vcs-ignores.
(tar_stat_destroy): Free exclist.
* src/tar.h (tar_stat_info): New member exclude_list.

* NEWS: Document new exclusion options.
* doc/tar.texi: Likewise.
* doc/tar.1: Likewise.

10 years agoFix in testsuite
Sergey Poznyakoff [Fri, 14 Feb 2014 11:03:58 +0000 (13:03 +0200)] 
Fix in testsuite

* acls03.at: Fix improper invocation of setfacl.

10 years agotestsuite: add test for buggy default ACLs
Pavel Raiskup [Mon, 3 Feb 2014 13:00:56 +0000 (14:00 +0100)] 
testsuite: add test for buggy default ACLs

* tests/Makefile.am: Mention acls03.at.
* tests/testsuite.at: Likewise.
* tests/acls03.at: New testcase.

10 years agoacls: bugfix for default ACLs extraction
Pavel Raiskup [Mon, 3 Feb 2014 09:32:24 +0000 (10:32 +0100)] 
acls: bugfix for default ACLs extraction

When --acls option is on (regardless of tarball contents or
tarball format), we should explicitly set OR delete default ACLs
for extracted directories.  Prior to this update, we always
created arbitrary default ACLs based standard file permissions.

* configure.ac (with_posix_acls): Check also for acl_free and
acl_delete_def_file to mark IEEE 1003.1e ACLs as supported.
* src/xattrs.c (acl_delete_def_file_at): New function.
(xattrs__acls_set): Do not treat acls_option at all;  Delete
default ACLs if appropriate.

References:
http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html
Thanks: Juan J. Martínez and Mark Steinborn

10 years agotar: imply --xattrs when --xattrs-{inc,exc}lude used
Pavel Raiskup [Thu, 23 May 2013 09:36:23 +0000 (11:36 +0200)] 
tar: imply --xattrs when --xattrs-{inc,exc}lude used

Options --xattrs-include=MASK and --xattrs-exclude=MASK now turn
on the --xattrs option.

Fix also bug in printing in xattrs.c - don't print when option is
negative.

* src/tar.c (set_xattr_option): New static function.
(parse_opt): Call new function when --xatrrs, --xattrs-include or
--xattrs-exclude option is used.
* src/xattrs.c (xattrs_print, xattrs_print_char): Expect positive
values in options.

10 years agoTHANKS: Add Anthony G. Basile.
Sergey Poznyakoff [Fri, 14 Feb 2014 09:02:40 +0000 (11:02 +0200)] 
THANKS: Add Anthony G. Basile.

10 years agoUse correct headers/libraries when providing xattr support
Sergey Poznyakoff [Fri, 14 Feb 2014 08:55:26 +0000 (10:55 +0200)] 
Use correct headers/libraries when providing xattr support

See https://savannah.gnu.org/patch/index.php?8252. Patch provided
by Anthony G. Basile.

* acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Look for <sys/xattr.h>
first and then for <attr/xattr.h>.  Link against libattr.so if
needed.
* lib/xattr-at.h: Include sys/xattr.h or attr/xattr.h, depending
on which one is detected.
* src/Makefile.am [TAR_LIB_ATTR] (tar_LDADD): Link against -lattr.

10 years agoMinor change
Sergey Poznyakoff [Fri, 14 Feb 2014 08:44:19 +0000 (10:44 +0200)] 
Minor change

* src/tar.c (decode_options): Silently ignore --one-top-level
if used with a non-reading command.

10 years agoNew option --sort=ORDER
Sergey Poznyakoff [Thu, 13 Feb 2014 22:11:57 +0000 (00:11 +0200)] 
New option --sort=ORDER

This option makes tar sort the entries of directories that will be
added to an archive according to ORDER (none, name, or order).

Based on proposition by Dick Streefland (https://savannah.gnu.org/patch/?7892).

* src/common.h (savedir_sort_order): New global.
* src/create.c: Pass savedir_sort_order to streamsavedir.
* src/misc.c: Likewise.
* src/tar.c: New option --sort.

* NEWS: Update.
* doc/tar.texi: Document the --sort option.
* doc/tar.1: Likewise.

10 years agoFix the testsuite
Sergey Poznyakoff [Thu, 13 Feb 2014 21:58:35 +0000 (23:58 +0200)] 
Fix the testsuite

* tests/opcomp01.at: Update expected error messages.
* tests/opcomp03.at: Likewise.

10 years agoFix --one-top-level used together with --list.
Sergey Poznyakoff [Thu, 13 Feb 2014 17:11:36 +0000 (19:11 +0200)] 
Fix --one-top-level used together with --list.

* src/extract.c: Move one_top_level stuff to tar.c (decode_options).
* src/tar.c (option_conflict_error): New function.
(decode_options): Use option_conflict_error to complain about
conflicting options in a uniform manner.
Process one_top_level options here.
(request_stdin): Fix error message.
* tests/onetop04.at: New testcase: check --one-top-level with --list.
* tests/Makefile.am: Add new testcase.
* tests/testsuite.at: Add new testcase.

10 years agoFix NEWS
Sergey Poznyakoff [Thu, 13 Feb 2014 08:29:19 +0000 (10:29 +0200)] 
Fix NEWS

* NEWS: Remove duplicate description of the --one-top-level option.

10 years agoconfigure.ac: look for host-prefixed ar
Sergey Poznyakoff [Wed, 12 Feb 2014 13:07:13 +0000 (15:07 +0200)] 
configure.ac: look for host-prefixed ar

See https://savannah.gnu.org/patch/?8183

10 years agoBugfix
Sergey Poznyakoff [Mon, 10 Feb 2014 17:51:55 +0000 (19:51 +0200)] 
Bugfix

* src/suffix.c (find_compression_suffix): Fix eventual coredump.

10 years agoFix docs.
Sergey Poznyakoff [Mon, 10 Feb 2014 16:46:24 +0000 (18:46 +0200)] 
Fix docs.

10 years agoUpdate docs.
Sergey Poznyakoff [Mon, 10 Feb 2014 16:23:31 +0000 (18:23 +0200)] 
Update docs.

* NEWS: Document --one-top-level
* THANKS: Mention Connor Behan

10 years agoUpdate copyright years.
Sergey Poznyakoff [Thu, 30 Jan 2014 11:54:15 +0000 (13:54 +0200)] 
Update copyright years.

10 years agoImprove one-top-level functionality
Sergey Poznyakoff [Tue, 28 Jan 2014 09:04:20 +0000 (11:04 +0200)] 
Improve one-top-level functionality

Make sure the changes become visible with --show-transformed-names.

* src/common.h (strip_compression_suffix): New function.
(one_top_level): Rename to one_top_level_dir. All uses changed.
* src/extract.c (extr_init): Use strip_compression_suffix.
Bail out if unable to determine top-level directory.
(maybe_prepend_name): Remove. All uses removed.
* src/tar.c (options): --one-top-level takes optional argument.
(parse_opt): Handle it.
* src/list.c (enforce_one_top_level): New function.
(transform_stat_info): Call enforce_one_top_level if required.
* src/suffix.c (compression_suffixes): List "tar" (no compression);
terminate with NULL entry.
(find_compression_suffix): New static.
(strip_compression_suffix): New function.

* doc/tar.1: Update.
* doc/tar.texi: Update.

* tests/onetop01.at: New testcase.
* tests/onetop02.at: New testcase.
* tests/onetop03.at: New testcase.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.

10 years agoDetect tarbombs while extracting
Connor Behan [Mon, 27 Jan 2014 12:42:09 +0000 (14:42 +0200)] 
Detect tarbombs while extracting

* src/common.h (one_top_level_option): New global.
(one_top_level): New global.
* src/extract.c (extr_init): If one_top_level_option is set, determine
the name one_top_level that might have to be prepended.
(extract_archive): If one_top_level_option is set, prepend one_top_level
to all names that don't already start with it.
* src/tar.c (ONE_TOP_LEVEL_OPTION): New contant.
(options): New option --one-top-level.
(parse_opt): Handle this option.
(decode_options): Make it conflict with --absolute-names.

10 years agoDon't install rmt.8 if rmt is not built.
Sergey Poznyakoff [Mon, 27 Jan 2014 12:32:46 +0000 (14:32 +0200)] 
Don't install rmt.8 if rmt is not built.

* doc/Makefile.am [PU_RMT_COND]: Define RMT_8
(dist_man_MANS): use RMT_8 instead of the hardcoded rmt.8

10 years agoProvide tar(1) and rmt(8) manpages.
Sergey Poznyakoff [Mon, 27 Jan 2014 11:20:11 +0000 (13:20 +0200)] 
Provide tar(1) and rmt(8) manpages.

* NEWS: Update.
* doc/Makefile.am: Add manpages.
* doc/tar.1: New file.

* src/tar.c (tar_help_filter): Handle LZOP_OPTION.

10 years agoMake sure transformed file names retain trailing slash in listing.
Sergey Poznyakoff [Thu, 23 Jan 2014 16:04:36 +0000 (18:04 +0200)] 
Make sure transformed file names retain trailing slash in listing.

* src/list.c (simple_print_header): Print trailing slash
if using the transformed name.
Use had_trailing_slash instead of analyzing last byte if temp_name

10 years agocheckpoint actions: further improvements.
Sergey Poznyakoff [Wed, 22 Jan 2014 15:19:55 +0000 (17:19 +0200)] 
checkpoint actions: further improvements.

* NEWS: Update.
* doc/tar.texi: Update.
* src/buffer.c (print_stats): Avoid use of additional string buffer.
Allow for text to be NULL.
Call gettext if it is not.
(format_total_stats): Don't use gettext when calling print_stats.
* src/checkpoint.c (def_format): Change default format.
(format_checkpoint_string): Implement optional arguments for
T conversion.
(finish_checkpoint_actions): Rename to checkpoint_flush_actions,
make extern.  All uses changed.
* src/common.h (checkpoint_flush_actions): New proto.
* src/tar.c (main): Set error_hook

10 years agoImprove checkpoint interface.
Sergey Poznyakoff [Wed, 22 Jan 2014 05:28:02 +0000 (07:28 +0200)] 
Improve checkpoint interface.

* src/buffer.c (format_total_stats): The format arg is const
All uses updated.
(default_total_format): const
* src/checkpoint.c (tty, tty_cleanup): New static.
(format_checkpoint_string): New "canned" format %c
(checkpoint_finish): New function.
* src/common.h (checkpoint_finish): New proto.
* src/tar.c (main): Call checkpoint_finish.`

10 years agoImplement statistics display in checkpoint actions.
Sergey Poznyakoff [Tue, 21 Jan 2014 11:05:16 +0000 (13:05 +0200)] 
Implement statistics display in checkpoint actions.

* NEWS: Update.
* configure.ac: Version 1.27.90
* gnulib.modules: Add fprintftime.
* doc/tar.texi: Document the "totals" action and new format specifiers
for echo and ttyout checkpoint actions.
* src/buffer.c (compute_duration): Return computed value.
(print_stats): Don't print trailing newline.  Return number of
characters output.
(format_total_stats): New function.
(print_total_stats): Rewrite via format_total_stats.
* src/checkpoint.c (checkpoint_opcode) <cop_totals>: New opcode.
(checkpoint_compile_action): Handle cop_totals.
(expand_checkpoint_string): Remove.
(format_checkpoint_string): New function to be used instead of
expand_checkpoint_string.  All callers updated.
* src/common.h (TF_READ,TF_WRITE)
(TF_DELETED): New constants.
(format_total_stats,print_total_stats): New protos.

10 years agoRemove shar archives from distribution.
Sergey Poznyakoff [Fri, 10 Jan 2014 09:37:50 +0000 (11:37 +0200)] 
Remove shar archives from distribution.

These are going to phase out in automake 2.0

10 years agoFix the use of --no-recursion and --recursion options.
Sergey Poznyakoff [Thu, 9 Jan 2014 22:13:15 +0000 (00:13 +0200)] 
Fix the use of --no-recursion and --recursion options.

Each option remains in effect until cancelled by the next ocurrence
of its counterpart, as stated in the documentation.

* src/names.c (name_next_elt): Restore recursion_option from the
value of matching_flags.

10 years agoMinor bugfixes
Sergey Poznyakoff [Thu, 9 Jan 2014 15:22:08 +0000 (17:22 +0200)] 
Minor bugfixes

* src/compare.c (diff_dumpdir): Close descriptor if fstat failed.
(diff_multivol): Make sure the descriptor is closed and eventual
errors reported if lseek fails.
Both reported by Jiri Kukacka.

10 years agotar: work aruond IBM XL C bug
Paul Eggert [Tue, 7 Jan 2014 19:15:56 +0000 (11:15 -0800)] 
tar: work aruond IBM XL C bug

* src/incremen.c (show_snapshot_field_ranges)
(write_directory_file_entry): Use simpler array size expression,
one that evaluates to the same value.  This works around a compiler
bug with IBM XL C.  Problem reported by Yannick Bergeron in
<http://lists.gnu.org/archive/html/bug-tar/2014-01/msg00009.html>.

10 years agotar: update ancient configure cruft
Paul Eggert [Fri, 3 Jan 2014 19:48:40 +0000 (11:48 -0800)] 
tar: update ancient configure cruft

* configure.ac: Use AC_PROG_CC_STDC, not just AC_PROG_CC.
Remove obsolete macros AC_ISC_POSIX, AC_HEADER_SYS_WAIT,
AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC, AC_TYPE_SIGNAL,
AC_TYPE_SIZE_T.
* lib/prepargs.c (IN_CTYPE_DOMAIN): Remove.  All uses removed.
* src/list.c (from_header): Use isspace, not ISSPACE.
* src/system.c (pipe_handler, sys_exec_info_script):
* src/tar.c (sigstat):
Use void, not RETSIGTYPE.

10 years agoVersion 1.27.1
Sergey Poznyakoff [Sun, 17 Nov 2013 16:37:50 +0000 (18:37 +0200)] 
Version 1.27.1

10 years agoFix star compatibility (sparse headers)
Sergey Poznyakoff [Sun, 17 Nov 2013 15:35:01 +0000 (17:35 +0200)] 
Fix star compatibility (sparse headers)

* src/sparse.c (star_get_sparse_info): Update file->dumped_size

10 years agoFix GNU long link header.
Sergey Poznyakoff [Sun, 17 Nov 2013 15:29:53 +0000 (17:29 +0200)] 
Fix GNU long link header.

* src/create.c (write_gnu_long_link): Set timestamp to
0 for backward compatibility.  Bug reported by David Barri.
* THANKS: Update.

10 years agoFix unquoting of input file names.
Sergey Poznyakoff [Sun, 17 Nov 2013 15:26:15 +0000 (17:26 +0200)] 
Fix unquoting of input file names.

* src/names.c (read_next_name): Unquote file names coming from the
-T argument.  Bug reported by Nicolas Dudebout.
* THANKS: Update.

10 years agobuild: fix bug where 'configure --with-posix-acls' disables ACLs
Paul Eggert [Thu, 24 Oct 2013 01:38:34 +0000 (18:38 -0700)] 
build: fix bug where 'configure --with-posix-acls' disables ACLs

Reported by Lars Wendler in
<http://lists.gnu.org/archive/html/bug-tar/2013-10/msg00022.html>.
* configure.ac (with_posix_acls): Fix typo.

10 years agoFix core dump on Solaris 10 when "." isn't readable.
Paul Eggert [Wed, 23 Oct 2013 02:16:26 +0000 (19:16 -0700)] 
Fix core dump on Solaris 10 when "." isn't readable.

Reported by Peter Kruse in
<http://lists.gnu.org/archive/html/bug-tar/2013-10/msg00017.html>.
This doesn't fix all the Solaris 10 test failures, just the core dump.
* src/common.h, src/misc.c (tar_getcdpath): Now static.
* src/misc.c (normalize_filename): Report a fatal error
if cdpath is null, since we don't know the absolute name
of the working directory in that case.  FIXME: there should
be no need to know absolute file names.
(chdir_arg): Simplify wd allocation.
Don't assume that xgetcwd returns non-null.

10 years agoVersion 1.27
Sergey Poznyakoff [Sat, 5 Oct 2013 21:02:17 +0000 (00:02 +0300)] 
Version 1.27

* NEWS: Update.
* configure.ac: Update.

10 years agoMinor fixes.
Sergey Poznyakoff [Sat, 5 Oct 2013 20:27:20 +0000 (23:27 +0300)] 
Minor fixes.

* src/names.c: Include argp.h
* tests/testsuite.at (AT_XATTRS_UTILS_PREREQ)
(AT_SELINUX_UTILS_PREREQ,AT_ACLS_UTILS_PREREQ)
(AT_CAPABILITIES_UTILS_PREREQ)
(AT_XATTRS_PREREQ,AT_SELINUX_PREREQ)
(AT_ACLS_PREREQ): Use POSIX-compatible syntax for
mktemp.
* tests/incr08.at: Fix find usage.

10 years agoXfail the remfiles09b test.
Sergey Poznyakoff [Sat, 5 Oct 2013 06:29:55 +0000 (09:29 +0300)] 
Xfail the remfiles09b test.

* tests/remfiles09b.at: Turn into expected failure.

10 years agoTiny change
Nathan Stratton Treadway [Sat, 5 Oct 2013 06:28:52 +0000 (09:28 +0300)] 
Tiny change

* scripts/tar-snapshot-edit: Mention --show-snapshot-field-ranges option

10 years agoTiny change
Pavel Raiskup [Sat, 5 Oct 2013 06:26:52 +0000 (09:26 +0300)] 
Tiny change

* configure.ac (RSH): Define as AC_ARG_VAR.

10 years agoFix namespace contamination in testsuite.
Sergey Poznyakoff [Sat, 5 Oct 2013 06:10:35 +0000 (09:10 +0300)] 
Fix namespace contamination in testsuite.

* tests/append01.at: Use m4_pushdef/m4_popdef to define local macros.
* tests/delete03.at: Likewise.
* tests/exclude06.at: Likewise.
* tests/incr04.at: Likewise.
* tests/link03.at: Likewise.
* tests/long01.at: Likewise.
* tests/longv7.at: Likewise.
* tests/lustar01.at: Likewise.
* tests/lustar02.at: Likewise.
* tests/lustar03.at: Likewise.
* tests/multiv05.at: Likewise.
* tests/sparse04.at: Likewise.

10 years agoProvide comprehensive testcases for various file removal modes.
Nathan Stratton Treadway [Sat, 5 Oct 2013 05:53:08 +0000 (08:53 +0300)] 
Provide comprehensive testcases for various file removal modes.

* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.
* tests/incr09.at: Add description.
* tests/remfiles04a.at: New file.
* tests/remfiles05.at: Rename to ...
* tests/remfiles04b.at: ... this.
* tests/remfiles04.at: Rename to ...
* tests/remfiles04c.at: ... this.
* tests/remfiles05a.at: New file.
* tests/remfiles05b.at: New file.
* tests/remfiles06.at: Rename to ...
* tests/remfiles05c.at: ... this.
* tests/remfiles06a.at: New file.
* tests/remfiles06b.at: New file.
* tests/remfiles06c.at: New file.
* tests/remfiles07a.at: New file.
* tests/remfiles07b.at: New file.
* tests/remfiles07c.at: New file.
* tests/remfiles08a.at: New file.
* tests/remfiles08b.at: New file.
* tests/remfiles08c.at: New file.
* tests/remfiles08.at: Rename to ...
* tests/remfiles09a.at: ... this.
* tests/remfiles09b.at: New file.
* tests/remfiles07.at: Rename to ...
* tests/remfiles09c.at: ... this.

10 years agoTiny changes.
Sergey Poznyakoff [Thu, 3 Oct 2013 19:41:04 +0000 (22:41 +0300)] 
Tiny changes.

* src/misc.c: Fix comments, rename wd.cwd to wd.abspath (Nathan Stratton
Treadway);
* src/tar.c (options): Reword description of the --starting-file and
--preserve-order options.
(decode_options): Both --starting-file and --preserve-order have meaning
only when used together with an archive reading command. (Pavel Raiskup).

10 years agoRevamp tar_getcwd/normalize_filename stuff.
Sergey Poznyakoff [Tue, 1 Oct 2013 18:48:30 +0000 (21:48 +0300)] 
Revamp tar_getcwd/normalize_filename stuff.

The changes are based on the discussion with Nathan.

* src/common.h (normalize_filename): Take two arguments. All
callers updated.
(tar_getcwd): Replaced with ..
(tar_getcdpath): New proto.
* src/misc.c (normalize_filename): Take two arguments.
(chdir_arg): Populate cwd along with creating the
structure.
(tar_getcwd): Removed.
(tar_getcdpath): New function.

* tests/incr09.at: New test case.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise.

10 years agoBugfix
Sergey Poznyakoff [Thu, 26 Sep 2013 21:59:18 +0000 (00:59 +0300)] 
Bugfix

* tests/remfiles08.at: Restore missing find

10 years agoUse relative addressing in deferred unlinks.
Sergey Poznyakoff [Thu, 26 Sep 2013 12:41:47 +0000 (15:41 +0300)] 
Use relative addressing in deferred unlinks.

* src/common.h (tar_dirname): New function.
* src/misc.c (normalize_filename_x): Make extern.
(tar_dirname): New function.
(tar_getcwd): Take into account absoulte pathnames.
* src/unlink.c (deferred_unlink) <dir_idx>: New member; keeps the
value of chdir_current at the moment of structure allocation.
(flush_deferred_unlinks): Use chdir_do and relative addressing.
(queue_deferred_unlink): Initialize dir_idx.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Add new tests.
* tests/remfiles06.at: Fix description.
* tests/remfiles07.at: Fix description.
* tests/remfiles08.at: New test case.

10 years agoImprove tar-snapshot-edit
Nathan Stratton Treadway [Wed, 25 Sep 2013 15:02:05 +0000 (18:02 +0300)] 
Improve tar-snapshot-edit

Support architecture-specific field ranges for the "-c" function.
Better handle negative or larger-than-32-bit field values even
when running in 32-bit Perl (for the default "print a summary"
function)

10 years agoImprove tar_getcwd
Sergey Poznyakoff [Wed, 25 Sep 2013 12:58:43 +0000 (15:58 +0300)] 
Improve tar_getcwd

* src/common.h (tar_getcwd): Return pointer is const.
* src/misc.c (wd) <cwd>: New member.
(chdir_arg): Initialize cwd.
(tar_getcwd): Use cwd member to cache the result.  Take into
account absolute pathnames,
(normalize_filename): Don't free the value
returned from tar_getcwd.
* src/names.c (name_next_elt): Remove leftover call chdir().
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise.

* tests/incr08.at: New testcase.
* tests/remfiles04.at: New testcase.
* tests/remfiles05.at: New testcase.
* tests/remfiles06.at: New testcase.
* tests/remfiles07.at: New testcase.

10 years agoFix normalize_filename.
Sergey Poznyakoff [Tue, 24 Sep 2013 11:01:13 +0000 (14:01 +0300)] 
Fix normalize_filename.

The function did not take into account eventual -C options, which
in particular led to various problems when using -C and --remove-files
together.

* src/common.h (namebuf_add_dir,namebuf_finish)
(tar_getcwd): New prototypes.
* src/misc.c (namebuf_add_dir,namebuf_finish)
(tar_getcwd): New functions.
(normalize_filename): Use tar_getcwd.

10 years agoChanges for compatibility with Slackware installation scripts.
Sergey Poznyakoff [Mon, 23 Sep 2013 16:35:29 +0000 (19:35 +0300)] 
Changes for compatibility with Slackware installation scripts.

* src/buffer.c (short_read): the "Record size" message
is controlled by the WARN_RECORD_SIZE warning_option bit.
* src/common.h (keep_directory_symlink_option): New global.
(WARN_RECORD_SIZE): New constant.
(WARN_VERBOSE_WARNINGS): Add WARN_RECORD_SIZE.
* src/extract.c (extract_dir): If keep_directory_symlink_option is
set, follow symlinks to directories.
* src/suffix.c (compression_suffixes): Add support for txz
suffix.
* src/tar.c (KEEP_DIRECTORY_SYMLINK_OPTION): New constant.
(options): New option --keep-directory-symlink.
(parse_opt): Handle this option.
* src/warning.c: Implement "record-size" warning control.

* NEWS: Update.
* doc/tar.texi: Document new features.

10 years agoFix error message (complements 0ea6e686)
Sergey Poznyakoff [Sat, 21 Sep 2013 12:07:01 +0000 (15:07 +0300)] 
Fix error message (complements 0ea6e686)

* src/tar.c (set_subcommand_option): Mention --delete in the error message.

10 years agoImprove the incr07 test
Sergey Poznyakoff [Sun, 15 Sep 2013 17:38:57 +0000 (20:38 +0300)] 
Improve the incr07 test

10 years agoImplement the --show-snapshot-field-ranges option
Nathan Stratton Treadway [Sun, 15 Sep 2013 13:02:30 +0000 (16:02 +0300)] 
Implement the --show-snapshot-field-ranges option

* src/common.h (show_snapshot_field_ranges): New prototype.
* src/incremen.c (show_snapshot_field_ranges): New function.
* src/tar.c: New option --show-snapshot-field-ranges.
* doc/snapshot.texi: Document the --show-snapshot-field-ranges
option.
* doc/tar.texi: Likewise.

10 years agoTake into account chdir_fd when extracting from incremental dumps.
Sergey Poznyakoff [Sun, 15 Sep 2013 07:13:45 +0000 (10:13 +0300)] 
Take into account chdir_fd when extracting from incremental dumps.

* src/common.h (tar_savedir): New prototype.
* src/misc.c (tar_savedir): New function.
(remove_any_file): Use tar_savedir.
* src/incremen.c (try_purge_directory): Use tar_savedir.
* src/update.c (update_archive): Use tar_savedir.
* tests/incr07.at: New testcase.
* tests/Makefile.am (TESTSUITE_AT): Add new test.
* tests/testsuite.at: Likewise.
* THANKS: Updated.

10 years agoMinor fix
Sergey Poznyakoff [Sun, 15 Sep 2013 05:56:31 +0000 (08:56 +0300)] 
Minor fix

* src/tar.c (main): Mention --delete in the error message.
* THANKS: Update

10 years ago* src/names.c (file_list_name): Properly prototype.
Paul Eggert [Fri, 13 Sep 2013 18:09:29 +0000 (11:09 -0700)] 
* src/names.c (file_list_name): Properly prototype.

10 years agotar: don't warn about zero timestamps
Paul Eggert [Fri, 13 Sep 2013 18:08:34 +0000 (11:08 -0700)] 
tar: don't warn about zero timestamps

* src/extract.c (check_time): Suppress warniing when t.tv_sec == 0.
Problem reported by Denis Excoffier.

10 years agoMinor fix in the testsuite.
Pavel Raiskup [Mon, 19 Aug 2013 11:26:18 +0000 (14:26 +0300)] 
Minor fix in the testsuite.

* tests/T-cd.at: sort the 'tar cf' output.

10 years agoImprove error diagnostics
Sergey Poznyakoff [Sat, 17 Aug 2013 10:48:24 +0000 (13:48 +0300)] 
Improve error diagnostics

* src/names.c (file_list_name): New static function.
(add_file_id): If a filelist is being read twice, print the names
of the files that caused it.
* tests/T-rec.at: New test case.
* tests/Makefile.am: Add new file.
* tests/testsuite.at: Include new file.

10 years agoRevamp initial name collection functions to ensure proper argument ordering.
Sergey Poznyakoff [Fri, 16 Aug 2013 19:54:40 +0000 (22:54 +0300)] 
Revamp initial name collection functions to ensure proper argument ordering.

* src/names.c (NELT_NOOP): New constant
(name_elt) <next,prev>: New members.
(name_array,allocated_entries,entries,scanned): Remove.
(check_name_alloc): Remove function.
(name_elt_alloc): New static.
(name_list_adjust,name_list_advance): New functions.
(name_add_name,name_add_dir)
(name_add_file): Use new allocation functions.
(read_next_name): Advance list head pointer as necessary
before returning.
(name_next_elt): Read elements from list.
* tests/T-cd.at: New file.
* tests/T-mult.at: New file.
* tests/T-nest.at: New file.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.

10 years agoDon't treat attempts to read an already read file list as fatal errors.
Sergey Poznyakoff [Fri, 16 Aug 2013 12:17:22 +0000 (15:17 +0300)] 
Don't treat attempts to read an already read file list as fatal errors.

* src/names.c (add_file_id): Report error and return 1 if the file
has already been read.
(read_next_name): Don't try to open file if add_file_id returns 1.
(name_next_elt): Simplify conditional.

10 years agoMinor change.
Sergey Poznyakoff [Fri, 16 Aug 2013 11:29:51 +0000 (14:29 +0300)] 
Minor change.

* src/names.c (name_next_elt): Simplify conditional.

10 years agoFix use of uninitialized memory
Pavel Raiskup [Thu, 15 Aug 2013 10:56:04 +0000 (13:56 +0300)] 
Fix use of uninitialized memory

* src/names.c (name_add_file): Initialize the ep->v.file.fp pointer
after structure allocation.

10 years agoMinor changes
Sergey Poznyakoff [Mon, 5 Aug 2013 12:14:08 +0000 (15:14 +0300)] 
Minor changes

* src/names.c (handle_option): Use program_invocation_short_name
instead of the constant string.
(read_next_name): Remove unused variable.

10 years agoUpdate the docs.
Sergey Poznyakoff [Sun, 4 Aug 2013 16:39:42 +0000 (19:39 +0300)] 
Update the docs.

* doc/tar.texi: Parsing of the options found in the file list
follows the same rules as for command line.  Remove the obsolete
description.  This complements 26538c9b.

10 years agoFix interacton of --verbose and --append.
Sergey Poznyakoff [Sun, 4 Aug 2013 16:00:46 +0000 (19:00 +0300)] 
Fix interacton of --verbose and --append.

* src/buffer.c (_open_archive): don't overwrite existing archive
if given the --verify option.
* tests/append04.at: New file.
* tests/Makefile.am: Add new testcase.
* tests/testsuite.at: Add new testcase.
* THANKS: Update.

10 years agoBugfix.
Sergey Poznyakoff [Sun, 4 Aug 2013 15:45:15 +0000 (18:45 +0300)] 
Bugfix.

* src/names.c (read_name_from_file): Fix a typo. Remove
unused variable.

10 years agoReduce memory consuption when handling the -T option.
Sergey Poznyakoff [Sun, 4 Aug 2013 11:26:35 +0000 (14:26 +0300)] 
Reduce memory consuption when handling the -T option.

The commit cdb27293 made the -T option more flexible, but
incurred a very considerable memory overhead by storing
all file names in the argument array.  In case of very
big file lists this caused tar to run out of memory.  This
was reported by Christian Wetzel <wetzel@phoenix-pacs.de>
on March 14, 2013
(http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00018.html).

On the other hand, Michal Žeidl discovered that tar misfunctioned
when given empty file lists or lists with the trailing newline
misssing in the last entry.  This was reported by Pavel Raiskup
on July 23
(http://lists.gnu.org/archive/html/bug-tar/2013-07/msg00009.html and
msg00010.html).

This change fixes both issues.

* src/common.h (name_add_file,request_stdin): New prototype.
(more_options): New prototype.
* src/names.c (NELT_FILE): New entry type.
(name_elt) <file>: New union member.
(name_add_file): New function.
(read_name_from_file): New function, a rewrite of
the same function from tar.c
(read_next_name,copy_name): New static functions.
(name_next_elt): Handle NELT_FILE entries.
* src/tar.c (request_stdin): Make extern.
(read_name_from_file,add_file_id)
(update_argv): Removed.
(parse_opt): Change handling of the -T option.
(more_options): New function.

* tests/T-null.at: Rewrite test.
* tests/T-zfile.at: New file.
* tests/T-nonl.at: New file.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.

* THANKS: Update.

10 years agoFix the compatibility check for the --occurrence option.
Sergey Poznyakoff [Sat, 29 Jun 2013 12:05:21 +0000 (15:05 +0300)] 
Fix the compatibility check for the --occurrence option.

* src/tar.c (SUBCL_OCCUR): New class.
(subcommand_class): Update.
(decode_options): Accept the --occurrence option
with any subcommand from the SUBCL_OCCUR class.

10 years agotestsuite: do not resist on file order in archive
Pavel Raiskup [Wed, 26 Jun 2013 15:35:41 +0000 (17:35 +0200)] 
testsuite: do not resist on file order in archive

On my Fedora 19 box, the exclude08 & exclude11 tests failed before
this fix.  The reason was that the directory traversing chosen the
file order differently than the testsuite expected.

* tests/exclude08.at: Sort the tarball content output.
* tests/exclude09.at: Likewise.
* tests/exclude10.at: Likewise.
* tests/exclude11.at: Likewise.
* tests/exclude12.at: Likewise.
* tests/exclude13.at: Likewise.
* tests/exclude14.at: Likewise.
* tests/exclude15.at: Likewise.
* tests/exclude16.at: Likewise.

10 years agoImprove checks for incompatible options.
Sergey Poznyakoff [Sat, 29 Jun 2013 07:31:37 +0000 (10:31 +0300)] 
Improve checks for incompatible options.

* src/common.h (READ_LIKE_SUBCOMMAND): Remove define.
* src/tar.c (IS_SUBCOMMAND_CLASS): New macro.
(decode_options): Use IS_SUBCOMMAND_CLASS in checking
option compatibility.
Accept the --verify option only with subcommands that
write to the archive.

* tests/opcomp01.at: New test case.
* tests/opcomp02.at: New test case.
* tests/opcomp03.at: New test case.
* tests/opcomp04.at: New test case.
* tests/opcomp05.at: New test case.
* tests/opcomp06.at: New test case.
* tests/Makefile.am: Add new testcases.
* tests/testsuite.at: Likewise.

10 years agotar: port to Mingw Shell
Paul Eggert [Fri, 28 Jun 2013 05:33:04 +0000 (22:33 -0700)] 
tar: port to Mingw Shell

* src/extract.c (extract_symlink) [!HAVE_SYMLINK]:
Fix typo by replacing WARN_SYMBOLIC_CAST with WARN_SYMLINK_CAST.
Problem reported by kaka in
<http://lists.gnu.org/archive/html/bug-tar/2013-06/msg00008.html>.

10 years agomaint: revert previous change
Paul Eggert [Mon, 6 May 2013 13:22:59 +0000 (06:22 -0700)] 
maint: revert previous change

It wasn't actually needed.  Reported by Stefano Lattarini in
<http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00041.html>.
* configure.ac (AM_GNU_GETTEXT_VERSION): Decrease from 0.18.2 back to 0.16.

11 years agomaint: port to bleeding-edge Automake by assuming Gettext 0.18.2
Paul Eggert [Thu, 25 Apr 2013 04:22:11 +0000 (21:22 -0700)] 
maint: port to bleeding-edge Automake by assuming Gettext 0.18.2

Reported by Stefano Lattarini in
<http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00009.html>.
* configure.ac (AM_GNU_GETTEXT_VERSION): Increase from 0.16 to 0.18.2.
README-alpha says that we do not make any efforts to accommodate
older versions of Gettext.

11 years agotar: port to --without-xattrs --enable-gcc-warnings
Paul Eggert [Thu, 25 Apr 2013 04:06:38 +0000 (21:06 -0700)] 
tar: port to --without-xattrs --enable-gcc-warnings

Reported by Pavel Raiskup in
<http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00029.html>.
* src/xattrs.c (xattrs__fd_set) [!HAVE_XATTRS]: Omit.

11 years agodoc: port to texinfo 5
Paul Eggert [Thu, 25 Apr 2013 01:43:40 +0000 (18:43 -0700)] 
doc: port to texinfo 5

* doc/tar.texi (Reports, assumptions, Mixing):
Put FIXMEs at line start.

11 years agoContinue extracting from a separate volume after skipping a partial member.
Sergey Poznyakoff [Tue, 12 Mar 2013 21:11:32 +0000 (23:11 +0200)] 
Continue extracting from a separate volume after skipping a partial member.

Reported by Göran Udeborg on 2013-03-09.

* src/extract.c (extract_skip): New function.
(prepare_to_extract): Set extractor to extract_skip if starting
at a partial member.

11 years agoFix interaction of various --exclude-tag options with --listed-incremental.
Sergey Poznyakoff [Sun, 10 Mar 2013 09:29:04 +0000 (11:29 +0200)] 
Fix interaction of various --exclude-tag options with --listed-incremental.

* src/incremen.c (procdir): Set directory->tagfile in
the exclusion_tag_contents case.
(makedumpdir): Mark all entries as ignored if directory->tagfile
is set.
Free new_dump before returning.
(maketagdumpdir): New function.
(scan_directory): If directory->children is set to
NO_CHILDREN and directory->tagfile is set, create a
dumpdir consisting of the tagfile only.

* tests/exclude08.at: New testcase.
* tests/exclude09.at: New testcase.
* tests/exclude10.at: New testcase.
* tests/exclude11.at: New testcase.
* tests/exclude12.at: New testcase.
* tests/exclude13.at: New testcase.
* tests/exclude14.at: New testcase.
* tests/exclude15.at: New testcase.
* tests/exclude16.at: New testcase.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Include new tests.
* tests/atlocal.in (mkexcltest): New function.
* tests/chtype.at: Update keywords.
* tests/filerem01.at: Likewise.
* tests/filerem02.at: Likewise.
* tests/incremental.at: Likewise.
* tests/multiv04.at: Likewise.

11 years agotar: remove lint
Paul Eggert [Wed, 20 Feb 2013 16:09:38 +0000 (08:09 -0800)] 
tar: remove lint

* lib/wordsplit.c (_wsplit_error): Mark with printf attribute.
(expvar): "Use" defstr to pacify GCC.
* src/system.c (xexec): Now _Noreturn, to pacify GCC.
(run_decompress_program): Add cast to pacify GCC.
(sys_exec_command, sys_exec_info_script, sys_exec_checkpoint_script):
Remove unused variables.

11 years agoPass command line arguments to external commands.
Sergey Poznyakoff [Sun, 10 Feb 2013 12:40:23 +0000 (14:40 +0200)] 
Pass command line arguments to external commands.

Any option taking a command name as its argument accepts
additional arguments as well.

* lib/wordsplit.c: New file.
* lib/wordsplit.h: New file.
* lib/Makefile.am: Add new files.
* src/system.c (xexec): New function.
(run_decompress_program): Use wordsplit.
(sys_child_open_for_compress,sys_exec_command)
(sys_exec_info_script)
(sys_exec_checkpoint_script): Use xexec to invoke external
command.

* NEWS: Update.
* doc/tar.texi: Update.

11 years agotar: improve compile-time diagnostics
Nathan Stratton Treadway [Tue, 29 Jan 2013 06:11:05 +0000 (22:11 -0800)] 
tar: improve compile-time diagnostics

* src/misc.c (sysinttostr, strtosysint): Improve #error wording.

11 years agotar: improve quality of diagnostics with incrementals
Paul Eggert [Sun, 27 Jan 2013 16:41:32 +0000 (08:41 -0800)] 
tar: improve quality of diagnostics with incrementals

Inspired by a prototype by Nathan Stratton Treadway in
<http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00000.html>.
* src/incremen.c (read_num): Rewrite by merging read_negative_num
and read_unsigned_num.  Use strtosysint rather than rolling this
stuff ourselves.  Change return type to bool.  All uses changed.
(read_negative_num, read_unsigned_num): Remove.
(read_num, read_timespec, read_incr_db_2): Improve quality of
diagnostics, e.g., by supplying byte offset of error.

11 years agotar: fix bug with sparse files with effective size of 8 GiB or more
Paul Eggert [Sat, 26 Jan 2013 17:52:55 +0000 (09:52 -0800)] 
tar: fix bug with sparse files with effective size of 8 GiB or more

Reported by Pavel Raiskup in
<http://lists.gnu.org/archive/html/bug-tar/2013-01/msg00001.html>.
* NEWS: Document the fix.
* src/sparse.c (pax_start_header): New function.
(pax_dump_header_0, pax_dump_header_1): Use it.

11 years agomaint: update copyrights for 2013 and as per current GNU standards
Paul Eggert [Mon, 31 Dec 2012 21:14:19 +0000 (06:14 +0900)] 
maint: update copyrights for 2013 and as per current GNU standards

11 years agomaint: remove unnecessary file
Paul Eggert [Mon, 31 Dec 2012 20:19:50 +0000 (12:19 -0800)] 
maint: remove unnecessary file

* src/configure.in: Remove.  This file has been obsolete for a while.

11 years agomaint: don't enable warnings by default unless GCC 4.6 or later
Paul Eggert [Mon, 24 Dec 2012 01:10:38 +0000 (17:10 -0800)] 
maint: don't enable warnings by default unless GCC 4.6 or later

* configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
(gl_gcc_warnings): By default, disable warnings for GCC versions
before 4.6.  This works around a failure when building from git on
Ubuntu 10, reported privately by Nathan Stratton Treadway.

11 years agoHandle incremental format 2 with negative numbers, too.
Paul Eggert [Sun, 23 Dec 2012 06:27:38 +0000 (22:27 -0800)] 
Handle incremental format 2 with negative numbers, too.

* src/incremen.c (read_unsigned_num): Last arg is intmax_t *, not
uintmax_t, for consistency with other readers.  All callers changed.
Avoid signed integer overflow.
(read_num):

11 years agoFix some problems with negative and out-of-range integers.
Paul Eggert [Sun, 23 Dec 2012 04:41:23 +0000 (20:41 -0800)] 
Fix some problems with negative and out-of-range integers.

Original problem reported for HP-UX LVM v2.2 by Michael White in
<http://lists.gnu.org/archive/html/bug-tar/2012-10/msg00000.html>.
This patch fixes some other gotchas that I noticed.
* gnulib.modules: Add extern-inline.
* src/common.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(COMMON_INLINE, max, min): New macros.
(represent_uintmax, valid_timespec): New inline functions.
(SYSINT_BUFSIZE): New constant.
(sysinttostr, strtosysint, decode_timespec): New decls.
* src/create.c (start_private_header): Silently bring the time_t
value into range; it is now the caller's responsibility to deal
with any overflow error.  Use uid 0 and gid 0 rather than the
user's uid/gid, since the faked header isn't "owned" by the user
and the uid/gid could in theory be out of range.  Leave major and
minor zeroed.
(FILL): Remove.
(write_gnu_long_link): Let start_private_header zero things out.
* src/create.c (write_gnu_long_link, write_extended):
* src/xheader.c (xheader_write_global):
Use start_time, not current time; no point hammering on the clock.
* src/compare.c (diff_multivol): Check that offset, size are in range.
* src/incremen.c (read_incr_db_01, write_directory_file_entry):
Allow negative time_t, dev_t, and ino_t.
* src/list.c (max): Remove (moved to common.h).
(read_header): Check that size is in range.
(from_header): Return intmax_t, not uintmax_t, to allow negative.
All callers changed.  At compile time, check assumptions about
intmax_t and uintmax_t.  Use bool for booleans.  Avoid overflow
hassles on picky hosts.
(mode_from_header): Last arg is now bool *, not unsigned *.
All callers changed.
(simple_print_header): Do not assume UID, GID fit in 'long'.
* src/list.c (from_header):
* src/xheader.c (out_of_range_header):
Arg is now a plain minimum value, not minus minval converted to
uintmax_t.  All callers changed.
* src/misc.c (COMMON_INLINE): New macro.
(sysinttostr, strtosysint, decode_timespec): New functions.
* src/sparse.c (oldgnu_add_sparse, oldgnu_fixup_header)
(star_fixup_header):
Check for offset overflow.
(decode_num): Clear errno before calling strtoumax.
* src/tar.c (expand_pax_option): Don't discard nanoseconds.
* src/xheader.c (assign_time_option): Allow negative time_t.
(decode_record): Simplify, since out-of-range string is guaranteed
to produce a value exceeding len_max.
(xheader_read): Last arg is off_t, not size_t.
Caller should diagnose negative arg, as needed.
Check that it's in range.
(enum decode_time_status): Remove.
(_decode_time): Remove, folding into decode_time.
(decode_time): Return bool, not enum decode_time_status.
Rely on decode_timespec to do most of the work.
(code_signed_num): New function.
(code_num): Use it.
(decode_signed_num): New function.
(decode_num): Use it.
(gid_coder, gid_decoder, uid_coder, uid_decoder, sparse_map_decoder)
(sparse_map_decoder): Code and decode negative values.
(sparse_map_decoder): Improve check for out-of-range values.
* tests/time01.at: New file.
* tests/Makefile.am (TESTSUITE_AT): Add it.
* tests/testsuite.at: Include it.

11 years agoPort use of mkdirat etc. to Solaris 10.
Paul Eggert [Sat, 22 Dec 2012 21:24:51 +0000 (13:24 -0800)] 
Port use of mkdirat etc. to Solaris 10.

* gnulib.modules (fchmodat, fchownat, fstatat, mkdirat, unlinkat):
Add.  These were split out in gnulib, so we now need to request
them separately.  mkdirat, for example, is not in Solaris 10.

11 years agoPort ACL configuration to Solaris 10.
Paul Eggert [Sat, 22 Dec 2012 20:58:32 +0000 (12:58 -0800)] 
Port ACL configuration to Solaris 10.

* configure.ac (with_posix_acls): Fix misspellings.
Stop checking at the first failure, to speed up 'configure'.

This page took 0.058375 seconds and 4 git commands to generate.