X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fincremen.c;h=e4645fa1f16a5b007b3603672f220e9531c34e96;hb=ae00dc0d37baef4504408c9ce03997781b735d41;hp=48de66805defe2be728eb72e36e5d318dbbea4db;hpb=08a8d2dec63967653c7f54a1b4b7cb49c3c12679;p=chaz%2Ftar diff --git a/src/incremen.c b/src/incremen.c index 48de668..e4645fa 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -648,15 +648,11 @@ get_gnu_dumpdir () to = archive_dir; set_next_block_after (current_header); - if (multi_volume_option) - { - assign_string (&save_name, current_stat_info.orig_file_name); - save_totsize = current_stat_info.stat.st_size; - } + mv_begin (¤t_stat_info); + for (; size > 0; size -= copied) { - if (multi_volume_option) - save_sizeleft = size; + mv_size_left (size); data_block = find_next_block (); if (!data_block) ERROR ((1, 0, _("Unexpected EOF in archive"))); @@ -668,8 +664,8 @@ get_gnu_dumpdir () set_next_block_after ((union block *) (data_block->buffer + copied - 1)); } - if (multi_volume_option) - assign_string (&save_name, 0); + + mv_end (); current_stat_info.stat.st_size = 0; /* For skip_member() and friends to work correctly */ @@ -685,6 +681,12 @@ purge_directory (char const *directory_name) char *current_dir; char *cur, *arc; + if (!current_stat_info.dumpdir) + { + skip_member (); + return; + } + current_dir = savedir (directory_name); if (!current_dir)