X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fextract.c;h=3d8ba10dbf539f50e3407eb0b56e8dd47213b997;hb=28b44aaacb45680aa6640e0a6d7ceab04cfdbf11;hp=327b67f0e136e3ba9bbe70c90f3149d13b31139a;hpb=cd7bdd4076ca154575bbef85eb2157e59befcfe2;p=chaz%2Ftar diff --git a/src/extract.c b/src/extract.c index 327b67f..3d8ba10 100644 --- a/src/extract.c +++ b/src/extract.c @@ -297,7 +297,7 @@ set_mode (char const *file_name, static void check_time (char const *file_name, struct timespec t) { - if (t.tv_sec <= 0) + if (t.tv_sec < 0) WARNOPT (WARN_TIMESTAMP, (0, 0, _("%s: implausibly old time stamp %s"), file_name, tartime (t, true))); @@ -1341,7 +1341,7 @@ extract_symlink (char *file_name, int typeflag) if (!warned_once) { warned_once = 1; - WARNOPT (WARN_SYMBOLIC_CAST, + WARNOPT (WARN_SYMLINK_CAST, (0, 0, _("Attempting extraction of symbolic links as hard links"))); } @@ -1421,6 +1421,13 @@ extract_failure (char *file_name, int typeflag) return 1; } +static int +extract_skip (char *file_name, int typeflag) +{ + skip_member (); + return 0; +} + typedef int (*tar_extractor_t) (char *file_name, int typeflag); @@ -1501,7 +1508,7 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun) ERROR ((0, 0, _("%s: Cannot extract -- file is continued from another volume"), quotearg_colon (current_stat_info.file_name))); - *fun = extract_failure; + *fun = extract_skip; break; case GNUTYPE_LONGNAME: