X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fextract.c;h=d391e3e3372c0340b58e398203f2b5e6197ce5fe;hb=27094c4fc38ca12426ab9f99c1790121f99b0322;hp=15fb9f2525c20b546bcb61e5e241329ca7eba949;hpb=973b6112902adbe0a16dfec69c405ca90a843cee;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index 15fb9f2..d391e3e 100644 --- a/src/extract.c +++ b/src/extract.c @@ -193,7 +193,7 @@ check_time (char const *file_name, struct timespec t) if (t.tv_sec <= 0) WARN ((0, 0, _("%s: implausibly old time stamp %s"), file_name, tartime (t, true))); - else if (timespec_cmp (start_time, t) < 0) + else if (timespec_cmp (volume_start_time, t) < 0) { struct timespec now; gettime (&now); @@ -871,7 +871,7 @@ create_placeholder_file (char *file_name, bool is_symlink, int *interdir_made) if (h && ! h->after_links && strncmp (file_name, h->file_name, h->file_name_len) == 0 && ISSLASH (file_name[h->file_name_len]) - && (base_name (file_name) == file_name + h->file_name_len + 1)) + && (last_component (file_name) == file_name + h->file_name_len + 1)) { do { @@ -1023,19 +1023,13 @@ extract_fifo (char *file_name, int typeflag) } #endif -static int -extract_mangle_wrapper (char *file_name, int typeflag) -{ - extract_mangle (); - return 0; -} - static int extract_volhdr (char *file_name, int typeflag) { if (verbose_option) fprintf (stdlis, _("Reading %s\n"), quote (current_stat_info.file_name)); skip_member (); + return 0; } static int @@ -1120,10 +1114,6 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun) *fun = extract_volhdr; break; - case GNUTYPE_NAMES: - *fun = extract_mangle_wrapper; - break; - case GNUTYPE_MULTIVOL: ERROR ((0, 0, _("%s: Cannot extract -- file is continued from another volume"), @@ -1330,10 +1320,10 @@ rename_directory (char *src, char *dst) e = errno; } break; - + case EXDEV: /* FIXME: Fall back to recursive copying */ - + default: break; } @@ -1345,7 +1335,7 @@ rename_directory (char *src, char *dst) } return true; } - + void fatal_exit (void) {