Lines Matching defs:bsdtar

59 #include "bsdtar.h"
63 struct bsdtar *bsdtar;
68 static void read_archive(struct bsdtar *bsdtar, char mode, struct archive *);
73 tar_mode_t(struct bsdtar *bsdtar)
75 read_archive(bsdtar, 't', NULL);
76 if (unmatched_inclusions_warn(bsdtar->matching,
78 bsdtar->return_value = 1;
82 tar_mode_x(struct bsdtar *bsdtar)
89 if ((bsdtar->flags & OPTFLAG_NUMERIC_OWNER) == 0)
91 archive_write_disk_set_options(writer, bsdtar->extract_flags);
93 read_archive(bsdtar, 'x', writer);
95 if (unmatched_inclusions_warn(bsdtar->matching,
97 bsdtar->return_value = 1;
105 struct bsdtar *bsdtar = progress_data->bsdtar;
114 if (bsdtar->verbose)
141 read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
150 while (*bsdtar->argv) {
151 if (archive_match_include_pattern(bsdtar->matching,
152 *bsdtar->argv) != ARCHIVE_OK)
154 archive_error_string(bsdtar->matching));
155 bsdtar->argv++;
158 if (bsdtar->names_from_file != NULL)
160 bsdtar->matching, bsdtar->names_from_file,
161 (bsdtar->flags & OPTFLAG_NULL)) != ARCHIVE_OK)
163 archive_error_string(bsdtar->matching));
166 if (cset_read_support_filter_program(bsdtar->cset, a) == 0)
190 if (ARCHIVE_OK != archive_read_set_options(a, bsdtar->option_options))
192 if (bsdtar->flags & OPTFLAG_IGNORE_ZEROS)
196 if (bsdtar->passphrase != NULL)
197 r = archive_read_add_passphrase(a, bsdtar->passphrase);
199 r = archive_read_set_passphrase_callback(a, bsdtar,
203 if (archive_read_open_filename(a, bsdtar->filename,
204 bsdtar->bytes_per_block))
208 do_chdir(bsdtar);
212 progress_data.bsdtar = bsdtar;
218 if (mode == 'x' && (bsdtar->flags & OPTFLAG_CHROOT)) {
229 if (mode == 'x' && (bsdtar->flags & OPTFLAG_STDOUT)) {
237 if ((bsdtar->flags & OPTFLAG_FAST_READ) &&
238 archive_match_path_unmatched_inclusions(bsdtar->matching) == 0)
248 bsdtar->return_value = 1;
259 bsdtar->return_value = 1;
263 if (bsdtar->uid >= 0) {
264 archive_entry_set_uid(entry, bsdtar->uid);
267 if (bsdtar->gid >= 0) {
268 archive_entry_set_gid(entry, bsdtar->gid);
271 if (bsdtar->uname)
272 archive_entry_set_uname(entry, bsdtar->uname);
273 if (bsdtar->gname)
274 archive_entry_set_gname(entry, bsdtar->gname);
285 if (archive_match_excluded(bsdtar->matching, entry))
291 out = (bsdtar->flags & OPTFLAG_STDOUT) ?
300 if (bsdtar->verbose < 2)
304 list_item_verbose(bsdtar, out, entry);
321 bsdtar->return_value = 1;
327 if (edit_pathname(bsdtar, entry))
330 if ((bsdtar->flags & OPTFLAG_INTERACTIVE) &&
334 if (bsdtar->verbose > 1) {
337 list_item_verbose(bsdtar, stderr, entry);
339 } else if (bsdtar->verbose > 0) {
347 /* TODO siginfo_printinfo(bsdtar, 0); */
349 if (bsdtar->flags & OPTFLAG_STDOUT)
354 if (!bsdtar->verbose)
359 if (!bsdtar->verbose)
361 bsdtar->return_value = 1;
363 if (bsdtar->verbose)
375 bsdtar->return_value = 1;
377 if (bsdtar->verbose > 2)