You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <system.h>
return dump_status_short;
}
size_left -= count;
-
- set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
-
+ if (count)
+ set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
+
if (count != bufsize)
{
char buf[UINTMAX_STRSIZE_BOUND];
STRINGIFY_BIGINT (size_left, buf)));
if (! ignore_failed_read_option)
exit_status = TAREXIT_FAILURE;
- pad_archive (size_left);
+ pad_archive (size_left - (bufsize-count));
return dump_status_short;
}
}
/* Calculate the hash of a link. */
-static unsigned
-hash_link (void const *entry, unsigned n_buckets)
+static size_t
+hash_link (void const *entry, size_t n_buckets)
{
struct link const *l = entry;
uintmax_t num = l->dev ^ l->ino;