Commit Graph

1018 Commits

Author SHA1 Message Date
Sergey Poznyakoff
fe576585e6 (decode_xform): Exempt symbolic links from component
stripping and name suffix normalization.
2007-06-01 21:24:30 +00:00
Sergey Poznyakoff
080a6b2ac5 Update calls to transform_member_name 2007-06-01 21:24:08 +00:00
Sergey Poznyakoff
f236f33643 (xform_type): New data type
(transform_member_name): Last argument is of xform_type type
All callers updated
2007-06-01 21:23:53 +00:00
Sergey Poznyakoff
967fcb9318 (decx): Unknown pax keywords produce a warning,not error. 2007-05-30 19:15:17 +00:00
Paul Eggert
12b3a5d5b1 * src/misc.c (set_file_atime): Use gl_futimens, not futimens,
due to gnulib change.

SCALAR(0x828a248)

SCALAR(0x828a404)
2007-05-29 16:48:23 +00:00
Sergey Poznyakoff
250db35f17 Global extended_header removed, use new xheader calls instead. 2007-05-19 17:03:28 +00:00
Sergey Poznyakoff
6f929b2c89 (buffer_write_global_xheader): New function
Update to use new xheader calls.
2007-05-19 17:03:01 +00:00
Sergey Poznyakoff
64cddf2fbc (xheader_init): New function
(xheader_decode_global,xheader_store,xheader_read)
(xheader_write_global,xheader_write,xheader_string_begin)
(xheader_string_add,xheader_string_end): Take xhdr as first
argument.
2007-05-19 17:02:46 +00:00
Sergey Poznyakoff
ccdbafb276 (struct xheader): New definition
(struct tar_stat_info): New member xhdr (extended header).
2007-05-19 17:02:29 +00:00
Sergey Poznyakoff
bd222d606a (buffer_write_global_xheader): New function
(struct xheader): Move definition to tar.h
(extended_header): Remove global
(xheader_init): New function
(xheader_decode_global,xheader_store,xheader_read)
(xheader_write_global,xheader_write,xheader_string_begin)
(xheader_string_add,xheader_string_end): Take xhdr as first
argument.
2007-05-19 17:02:13 +00:00
Sergey Poznyakoff
17ef61b2fd (dump_file0): Original ctime cannot be used as a directory change indicator if --remove-files is given. 2007-05-18 08:22:21 +00:00
Paul Eggert
f32828d577 Adjust to latest Gnulib.
* lib/.cvsignore: Add dirfd.c, dirfd.h, float+.h, mbscasecmp.c,
stdio.h, stdio_.h, stdlib.h, stdlib_.h, time.h, time_.h, unistd.h.
Remove exit.h, getcwd.h, mempcpy.h, memrchr.h, mkdtemp.h, stpcpy.h,
strcase.h, strchrnul.h, strdup.h, strndup.h, strnlen.h, time_r.h,
vsnprintf.h.
* m4/.cvsignore: Remove localedir.h.  Sort.
2007-04-13 00:51:07 +00:00
Sergey Poznyakoff
ca856c2585 (main): Don't call closeopen. 2007-04-03 21:52:42 +00:00
Sergey Poznyakoff
18641602c1 Don't include <sys/time.h>, <sys/resource.h>; no longer needed. 2007-04-03 21:52:20 +00:00
Sergey Poznyakoff
8bdbc08a89 (closeopen): Remove decl. 2007-04-03 21:52:01 +00:00
Sergey Poznyakoff
5d4f057e31 (sys_exec_info_script): Store the inter-communication fd in the environment variable TAR_FD 2007-04-03 21:38:00 +00:00
Sergey Poznyakoff
d989864712 (main): Move closeopen after decode_options to allow shell process substitution to work. 2007-04-03 12:18:40 +00:00
Sergey Poznyakoff
983d328ff2 Restore accidentally deleted lines 2007-03-30 19:28:22 +00:00
Sergey Poznyakoff
586c684815 (transform_name_fp): Change signature. All callers updated. 2007-03-30 19:20:52 +00:00
Sergey Poznyakoff
bbf7dec45e Fix indentation 2007-03-30 19:19:56 +00:00
Sergey Poznyakoff
ebc522d521 (all_names_found): Remove check for matching_flags. 2007-03-30 19:18:35 +00:00
Sergey Poznyakoff
ad85f632c6 (transform_member_name): New function
(decode_header): Use transform_member_name
2007-03-30 19:18:24 +00:00
Sergey Poznyakoff
062b37115f (extract_link, extract_symlink): Use
transform_member_name instead of safer_name_suffix so that
--transform and --strip-components affect links as well.
2007-03-30 19:18:10 +00:00
Sergey Poznyakoff
6261c58ae8 (transform_name_fp): Change signature
(transform_member_name): New function
2007-03-30 19:17:44 +00:00
Sergey Poznyakoff
1d26fff0f3 Do not include mkdtemp.h 2007-03-30 08:50:08 +00:00
Paul Eggert
5c890a6003 Adjust to recent gnulib changes.
* lib/.cvsignore: Add fchownat.c, rmt-command.h, strerror.c, string.h,
string_.h, sys, sys_time_.h, unistd_.h, wchar_.h, wctype_.h.
Remove localedir.h, size_max.h, xsize.h.
* src/xheader.c: Don't include stpcpy.h; no longer needed, now that
gnulib string.h defines stpcpy on all platforms.
2007-01-26 23:02:40 +00:00
Sergey Poznyakoff
66e9b9cd6c New options --exclude-caches-all, --exclude-caches-under, --exclude-tag-all, --exclude-tag-under 2007-01-23 10:25:21 +00:00
Sergey Poznyakoff
b9588c4722 (struct exclude_tag): rename to exclusion_tag
(check_exclusion_tags): New function
(cachedir_file_p): New function (from check_cache_directory)
(dump_dir0,dump_file0): Use check_exclusion_tags
2007-01-23 10:25:06 +00:00
Sergey Poznyakoff
9a41b3b3db (exclude_caches_option): Remove
(enum exclusion_tag_type): New data type
(add_exclude_tag): Rename to add_exclusion_tag
(cachedir_file_p): New prototype
2007-01-23 10:24:43 +00:00
Sergey Poznyakoff
99527fa17b (sparse_skip_file,pax_dump_header_1)
(pax_decode_header): Keep track of the number of bytes written.
2007-01-19 15:42:26 +00:00
Sergey Poznyakoff
1a1cfaafa6 (list_dumpdir): Minor fixes. 2007-01-04 20:05:32 +00:00
Sergey Poznyakoff
445d95be07 (diff_dumpdir): Compare directory contents using
dumpdir_cmp.  Do not free dumpdir_buffer, it will leave the
incremental directory table in the inconsistent state and trigger
full dump.
(read_and_process): Process dumpdirs no matter what the archive
format.
2007-01-04 20:05:05 +00:00
Sergey Poznyakoff
e24d8574a8 (read_and_process): Fix type of "size" 2007-01-04 16:15:10 +00:00
Paul Eggert
8e3f3adf98 Port to Forte Developer 7 C 5.4 and C99.
* src/common.h (add_exclude_tag): Add decl; C99 requires this
and Forte warns about it.
* src/incremen.c: Include <mkdtemp.h> for mkdtemp prototype,
for same reason.
* src/misc.c (get_max_open_files): Rewrite to avoid code that
Forte C complains about as being unreachable.
* src/xheader.c (mtime_code): Rewrite to avoid Forte error
reported by Trond Hasle Amundsen.

* src/incremen.c (compare_dirnames): Rewrite to avoid casts.
* src/utf8.c (string_ascii_p): Likewise.
* src/xheader.c (mtime_coder, volume_size_coder, volume_offset_coder):
Likewise.

SCALAR(0x8283218)
2006-12-12 23:56:24 +00:00
Sergey Poznyakoff
cdb77dcd7b (extract_file): Call skip_member if open fails.
Patch proposed by Jan-Benedict Glaw <jbglaw@lug-owl.de>
2006-12-07 14:33:54 +00:00
Sergey Poznyakoff
9bf87b195e (dump_dir0): Move checks for exclude tags to
dump_file0.
(dump_dir): Move calls to ensure_slash to dump_file0
2006-12-07 14:33:42 +00:00
Paul Eggert
908d78d208 * NEWS: Fix some race conditions with tar -x --same-owner.
* src/extract.c (ARCHIVED_PERMSTATS): Add a comment saying that
S_IRWXG | S_IRWXO might be masked out.
(set_mode): Set the mode if some bits were masked out originally.
(set_stat): Don't chmod before chown, as that might temporarily
grant permissions that we don't want to grant.  The chmod was
there only to work around broken hosts, so add a comment advising
users not to use those broken hosts instead.
(repair_delayed_set_stat, extract_dir):
Remember to mask out current umask before inverting permissions.
(extract_dir): If the owner might change, or if the mode has
special bits, create the directory 700 at first, but restore it later.
(open_output_file): New arg mode; all uses changed.
(extract_file, extract_node, extract_fifo): If the owner might
change, omit group and other bits at first, but restore them after
changing the owner.
2006-12-04 21:35:56 +00:00
Sergey Poznyakoff
07902e9f9a (xheader_read): Remove unused variable 2006-11-30 09:53:20 +00:00
Sergey Poznyakoff
137ebf41fd (dump_dir0): Implement --exclude-tag option 2006-11-30 09:40:47 +00:00
Paul Eggert
49ea4c5057 * NEWS: Remove support for mangled names.
* doc/tar.texi (verbose tutorial): Likewise.
* src/Makefile.am (tar_SOURCES): Remove mangle.c.
* src/common.h (extract_mangle): Remove decl.
* src/extract.c (extract_mangle_wrapper): Remove.
(prepare_to_extract): Remove support for mangled names.
* src/list.c (read_and, print_header): Likewise.
* src/mangle.c: Remove.
* src/tar.h (GNUTYPE_NAMES): Remove.
2006-11-30 06:39:29 +00:00
Paul Eggert
c930802f31 Port to latest gnulib. There were a lot of changes, so the
simplest way to get this up and running was to switch to coreutils
bootstrap procedure.  I noticed one feature missing after this
merge: the ability to update a single .po file.  I can add that
later if need be.
* README-cvs, bootstrap.conf: New files.
* lib/.cvsignore: Remove Makefile.am, printf-parse.c, vasnprintf.c.
* lib/printf-parse.c, lib/vasnprintf.c: New files, from coreutils,
to override gnulib, so that we don't need xsize.h.
* bootstrap: Replace with coreutils bootstrap, except add support
for paxutils.
* configure.ac (gl_USE_SYSTEM_EXTENSIONS): Remove, as gl_EARLY now
does this.
(gl_EARLY, gl_INIT): Add.
(tar_GNULIB): Remove.
* gnulib.modules: Add configmake.
* lib/Makefile.tmpl: Remove, replacing with....
* lib/Makefile.am: New file.
* src/Makefile.am (tar.o): Remove dependency: Automake does this
for us.
* src/tar.c: Include <configmake.h> and <rmt-command.h>, not
<localedir.h>.
2006-11-30 00:14:10 +00:00
Paul Eggert
ca14885884 Remove trailing white space. 2006-11-29 18:28:45 +00:00
Paul Eggert
01d6188297 Remove trailing white space. 2006-11-29 18:16:27 +00:00
Sergey Poznyakoff
304d8b9f0c (start_header): Pass mtime as a call-specific data to xheader_store. 2006-11-13 10:39:51 +00:00
Sergey Poznyakoff
6712656eb2 (mtime_coder): Treat non-null data as a pointer to struct timespec, overriding st->mtime 2006-11-13 10:39:15 +00:00
Sergey Poznyakoff
b0765e257c (enum read_file_list_state.file_list_skip): New value
(read_name_from_file): Skip zero-length entries
2006-11-01 00:23:24 +00:00
Sergey Poznyakoff
7aed52718f Call last_component instead of base_name. The latter returns a malloced string since 2006-03-11. 2006-10-31 20:18:50 +00:00
Sergey Poznyakoff
603c1d60a6 Fix help output formatting. Thanks Benno Schulenberg. 2006-10-17 08:13:43 +00:00
Sergey Poznyakoff
372638ae7a Do not attempt to close stderr after call to close_stdout. 2006-10-14 21:11:43 +00:00
Sergey Poznyakoff
c455373e5b (dump_regular_file,dump_file0): Set exit_status to
TAREXIT_DIFFERS if the file being dumped was truncated or
otherwise changed.
2006-10-14 21:11:27 +00:00