X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fextract.c;h=26c83b1bb4e100b30a076a711e551b8a4f16ea4e;hb=c930802f313aa29b479edc6f9782897db608ce64;hp=15fb9f2525c20b546bcb61e5e241329ca7eba949;hpb=973b6112902adbe0a16dfec69c405ca90a843cee;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index 15fb9f2..26c83b1 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 { @@ -1036,6 +1036,7 @@ 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 @@ -1330,10 +1331,10 @@ rename_directory (char *src, char *dst) e = errno; } break; - + case EXDEV: /* FIXME: Fall back to recursive copying */ - + default: break; } @@ -1345,7 +1346,7 @@ rename_directory (char *src, char *dst) } return true; } - + void fatal_exit (void) {