X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fcreate.c;h=7b20c02b79786df884a27b0d970dadc19ed4f7aa;hb=57bfbbde90dfcc18ee6b1e27c01ba915ecc56312;hp=768c0eb1227f4bec2d9ee16703ad20b389942391;hpb=37f0faf1c07ccd1fc8e881ad2fcf35ba67fd5857;p=chaz%2Ftar diff --git a/src/create.c b/src/create.c index 768c0eb..7b20c02 100644 --- a/src/create.c +++ b/src/create.c @@ -1041,7 +1041,7 @@ dump_regular_file (int fd, struct tar_stat_info *st) while (size_left > 0) { size_t bufsize, count; - + mv_size_left (size_left); blk = find_next_block (); @@ -1616,6 +1616,7 @@ dump_file0 (struct tar_stat_info *st, const char *p, case dump_status_ok: case dump_status_short: mv_end (); + file_count_links (st); break; case dump_status_fail: @@ -1625,8 +1626,6 @@ dump_file0 (struct tar_stat_info *st, const char *p, abort (); } - file_count_links (st); - ok = status == dump_status_ok; } @@ -1706,7 +1705,8 @@ dump_file0 (struct tar_stat_info *st, const char *p, } buffer[size] = '\0'; assign_string (&st->link_name, buffer); - transform_name (&st->link_name); + if (transform_symlinks_option) + transform_name (&st->link_name); if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) < size) write_long_link (st);