Commit Graph

465 Commits

Author SHA1 Message Date
Sergey Poznyakoff
7645d20465 (read_header): Minor change. 2003-09-04 13:59:03 +00:00
Sergey Poznyakoff
08780d289d Fixed deletion from the POSIX archives. 2003-09-04 13:58:42 +00:00
Sergey Poznyakoff
3f998f69b9 (decode_record): Reversed the return condition. 2003-09-04 09:37:48 +00:00
Sergey Poznyakoff
aea0a1d970 Support for "linkpath" extended keyword 2003-09-04 09:37:05 +00:00
Sergey Poznyakoff
0ba3b75ad4 Use DEFAULT_ARCHIVE_FORMAT macro
(archive_format_string): New function.
(usage): Updated help output.
2003-09-03 11:03:07 +00:00
Paul Eggert
10edb315da (struct xhdr_tab.keyword): Now pointer to const.
(struct xhdr_tab.coder, struct xhdr_tab.decoder, locate_handler,
decode_record, xheader_store, xheader_print, code_string, code_time,
code_num, dummy_coder, dummy_decoder, atime_coder, atime_decoder,
gid_coder, gid_decoder, gname_coder, gname_decoder, linkpath_coder,
linkpath_decoder, ctime_coder, ctime_decoder, mtime_coder,
mtime_decoder, path_coder, path_decoder, size_coder, size_decoder,
uid_coder, uid_decoder, uname_coder, uname_decoder):
Use pointers to const when possible.
(xhdr_tab): Now const.

(struct xhdr_tab.decoder, dummy_decoder,
atime_decoder, gid_decoder, gname_decoder, linkpath_decoder,
ctime_decoder, mtime_decoder, path_decoder, size_decoder,
uid_decoder, uname_decoder): Remove unused keyword arg.
All uses changed.

(xhdr_tab, format_uintmax): Now static.

(dummy_coder, dummy_decoder, atime_coder,
atime_decoder, gid_coder, gid_decoder, gname_coder, gname_decoder,
linkpath_coder, linkpath_decoder, mtime_coder, mtime_decoder,
ctime_coder, ctime_decoder, path_coder, path_decoder, size_coder,
size_decoder, uid_coder, uid_decoder, uname_coder, uname_decoder):
Remove forward decls; no longer needed.
(xhdr_tab): Move to end, so that the forward decls aren't needed.
Add a forward declaration.

(decode_record): Return bool, not int.

(decode_record): Fix misspelling in diagnostic
"extended headed" -> "extended header".

(decode_record, xheader_decode):
Do not use decls like "char *p, *q;".
2003-09-03 06:22:34 +00:00
Paul Eggert
df06a57b8c (update_archive): Abort if HEADER_SUCCESS_EXTENDED occurs,
as it's not possible.
Pass false to read_header, not 0.
2003-09-03 06:20:41 +00:00
Paul Eggert
14e8c10222 (struct fmttab.name): Now char const *. All uses changed.
(fmttab): Now const.  All uses changed.  Avoid GCC warning by
not eliding initializers.
(set_archive_format): Report an error if no format name matches,
instead of returning an undefined value.
(set_archive_format): Now static.
2003-09-03 06:19:00 +00:00
Paul Eggert
a546fc7c21 (read_and): Abort if HEADER_SUCCESS_EXTENDED occurs, as it's not
possible.  Pass false to read_header, not 0.
2003-09-03 06:15:32 +00:00
Paul Eggert
86a9b9261d (delete_archive_members): Handle case of
HEADER_SUCCESS_EXTENDED followed by HEADER_FAILURE.
Pass true/false to read_header, not 1/0.
2003-09-03 06:14:37 +00:00
Paul Eggert
7653d2f6b8 (write_extended): Remove unused local 'bufsize'. 2003-09-03 06:13:26 +00:00
Paul Eggert
2c390b2c21 (verify_volume): read_header (0) -> read_header (false), since
read_header accepts a bool.
2003-09-03 06:11:52 +00:00
Paul Eggert
c4d396f8d1 (destroy_stat, xheader_decode, xheader_store,
xheader_read, xheader_finish, xheader_destroy): Add decls;
required in C99.
2003-09-03 06:10:55 +00:00
Sergey Poznyakoff
99a5f5d4f9 (xhdr_tab): Reserved GNU keywords (commented out for the time being) 2003-09-03 00:03:32 +00:00
Sergey Poznyakoff
01decb5737 (list_archive): Always decode the header. This
is necessary so the extended header is processed and the correct
filename is printed no matter what the state of verbose_option.
2003-09-03 00:03:09 +00:00
Sergey Poznyakoff
ce059f3cc8 (start_header): Store long file names
in "path" keyword of an extended header if in POSIX
mode.
(finish_header): print header before calling write_extended().
2003-09-03 00:02:32 +00:00
Sergey Poznyakoff
4189af3785 Implemented coder functions. 2003-09-01 17:03:33 +00:00
Sergey Poznyakoff
33b63ebe94 (OLDGNU_COMPATIBILITY): Removed
(struct extra_header): Removed unused structure.
(union block.extra_header): Removed unused member.
2003-09-01 17:03:07 +00:00
Sergey Poznyakoff
879ae47aa1 New option --format 2003-09-01 17:02:45 +00:00
Sergey Poznyakoff
53eec8f039 (print_header): Take user/group from current_stat_info. 2003-09-01 17:02:11 +00:00
Sergey Poznyakoff
83c68b4e40 (gid_to_gname,gname_to_gid,uid_to_uname,uname_to_uid): Changed prototypes 2003-09-01 17:01:35 +00:00
Sergey Poznyakoff
cb3ec64970 (string_to_chars): New function.
(write_extended): New function
(start_header): Create extended POSIX headers if necessary.
(finish_header): Likewise.
2003-09-01 17:00:26 +00:00
Sergey Poznyakoff
72e5a9beb6 (MAXOCTAL11,MAXOCTAL7): New defines
(string_to_chars): New functions
(struct xheader): Changed structure
(gid_to_gname,gname_to_gid,uid_to_uname,uname_to_uid): Changed
prototypes.
2003-09-01 16:59:56 +00:00
Sergey Poznyakoff
518748f939 Use current_stat_info 2003-08-31 22:55:21 +00:00
Sergey Poznyakoff
db783659b0 (destroy_stat): New function. 2003-08-31 22:45:58 +00:00
Sergey Poznyakoff
d858a433c8 Use current_stat_info 2003-08-31 22:41:32 +00:00
Sergey Poznyakoff
096bc2bffd (decode_header): Added initial support for POSIX extended
and STAR headers.
(skip_member): Check oldgnu_header only if current_format is set
to OLDGNU_FORMAT.
2003-08-31 22:40:34 +00:00
Sergey Poznyakoff
6f12dbc264 (orig_file_name,current_file_name)
(current_trailing_slash,current_link_name): Removed variables.
(current_stat_info): New variable
(current_stat): Removed
(extended_header): New variable
(decode_header): Changed prototype.
2003-08-31 22:39:43 +00:00
Sergey Poznyakoff
450636adfa (decode_header): Added initial support for POSIX extended
and STAR headers.
(skip_member): Check oldgnu_header only if current_format is set
to OLDGNU_FORMAT
2003-08-31 22:38:55 +00:00
Sergey Poznyakoff
4e59b9d7e3 Added xheader.c 2003-08-31 22:36:09 +00:00
Sergey Poznyakoff
5be0f2ba49 New file 2003-08-31 22:35:35 +00:00
Sergey Poznyakoff
a687cf05b7 Removed support for the obsolete command line options. 2003-07-28 11:40:35 +00:00
Sergey Poznyakoff
d52a1bb366 New option --check-links.
Changed semantics of -o to comply to UNIX98 when extracting and
to its previous semantics otherwise.
(main): Call check_links if --check-links. was given.
2003-07-27 12:01:59 +00:00
Sergey Poznyakoff
2adfef0149 (print_header): Use orig_file_name. 2003-07-27 12:01:04 +00:00
Sergey Poznyakoff
bee35fc152 /tmp/F 2003-07-27 12:00:31 +00:00
Sergey Poznyakoff
1fef6258aa (check_links_option): New variable
(orig_file_name): New variable
(check_links): New proto.
2003-07-27 11:59:58 +00:00
Sergey Poznyakoff
7219c538eb (print_header): Revised 2003-07-25 15:05:41 +00:00
Sergey Poznyakoff
4f48e61fcf (print_header): Print trailing slash if
current_trailing_slash was set (extrac03.sh,extrac04.sh tests).
2003-07-24 14:48:08 +00:00
Sergey Poznyakoff
eb66edaa9f (flush_read): Fixed behavior on short
reads right after opening the new archive (multiv01.sh test).
(new_volume): Special handling for "-".
2003-07-24 14:45:29 +00:00
Sergey Poznyakoff
31d9c7e2a4 (chdir_do): Fixed call to restore_cwd 2003-07-24 14:44:51 +00:00
Sergey Poznyakoff
4dc30d7397 Added to the repository 2003-07-24 14:43:30 +00:00
Paul Eggert
4c690508bd Add comment about what other letters are used. 2003-07-05 08:19:48 +00:00
Paul Eggert
42d05fcb6e Do not include <print-copyr.h>.
Include <getdate.h>.
(get_date): Remove decl.
(ATIME_PRESERVE_OPTION, CHECKPOINT_OPTION, FORCE_LOCAL_OPTION,
IGNORE_FAILED_READ_OPTION, INDEX_FILE_OPTION, NO_OVERWRITE_DIR_OPTION,
NUMERIC_OWNER_OPTION, RECURSIVE_UNLINK_OPTION, REMOVE_FILES_OPTION,
SHOW_OMITTED_DIRS_OPTION, TOTALS_OPTION): New constants.
(long_options, decode_options): Use them.
(OVERWRITE_DIR_OPTION): Remove.
(long_options): New options --index-file, --no-overwrite-dir.
Remove --overwrite-dir option.
(usage): Use PACKAGE_BUGREPORT.
(decode_options): Terminate new argv properly.
Use PACKAGE_NAME, PACKAGE_VERSION.
If verbose, report how we grokked any textual date option.
(main): Add support for index-file.
2003-07-05 08:18:46 +00:00
Paul Eggert
40835c2c55 Use newer form for bug report and version. 2003-07-05 07:55:34 +00:00
Paul Eggert
1722082cfe Remove PARAMS. 2003-07-05 07:21:49 +00:00
Paul Eggert
45dd602433 Don't include print-copyr.h.
(prepare_input_buffer): Renamed from prepare_record_buffer.
New arg FD.  All uses changed.
Do not read more than INT_MAX bytes at once,
since it breaks on some brain damaged Tru64 hosts.
Do not mix int and size_t pointers.  Divide size by two
when retrying instead of subtracting 1024; for speed.
(main): Use gettext to translate (C), not print_copyright.
2003-07-05 07:21:19 +00:00
Paul Eggert
935cd4f515 (namelist_match): Allow partial matches only if recursive.
(hash_string_hasher): Renamed from hash_avoided_name.
(hash_string_compare): Renamed from compare_avoided_anames.
(hash_string_insert, hash_string_lookup): New functions.
(add_avoided_name, is_avoided_name): Use them.
(safer_name_suffix): New function.
(contains_dot_dot): Moved here from misc.c.  Now returns bool, not int.
2003-07-05 07:17:20 +00:00
Paul Eggert
f29b54b237 (read_and): Give full type for procedure arg.
(read_header): Strip trailing slashes, setting current_trailing_slash.
(tartime): Avoid int overflow when printing year (!).
(print_header): New arg specifing block ordinal.  All uses changed.
Print link as 'h' type.  Give labels for long links and names.
2003-07-05 07:00:54 +00:00
Paul Eggert
675c5a2f24 (we_are_root): Now bool, not int.
(check_time): Warn about implausibly old time stamps.
(set_stat): Use utimbuf, not stat_info.
(preprare_to_extract): New arg DIRECTORY.
(fill_in_sparse_array): Moved here from compare.c.
(extract_sparse_file): Now returns off_t, giving size left.
Truncate file at end.
(extract_archive): Use safer_name_suffix rather than rolling our own.
Use fill_in_sparse_array rather than rolling our own.
Strip trailing slashes more effectively.
Check for unsafe names.
2003-07-05 06:53:31 +00:00
Paul Eggert
ea202e1adf (relativize): Remove; replaced by safer_name_suffix.
All callers changed.
(start_header): Clear devmajor and devminor fields, too.
(finish_header): New arg block_ordinal.
(init_sparsearray): Now extern.  Set sp_array_size to
SPARSES_IN_OLDGNU_HEADER if it is zero.
(dump_file): Keep link table as a hash.
Do not count "file changed as we read it" as a failure.
2003-07-05 06:43:30 +00:00