From 2f172ede7115d0a2730a3b689131042ba559e272 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 19 Jun 2019 15:04:17 +0200 Subject: Split generic tar code off to static library Signed-off-by: David Oberhollenzer --- tar/skip.c | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 tar/skip.c (limited to 'tar/skip.c') diff --git a/tar/skip.c b/tar/skip.c deleted file mode 100644 index 69208b2..0000000 --- a/tar/skip.c +++ /dev/null @@ -1,48 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -#include "util.h" -#include "tar.h" - -#include - -static int skip_bytes(int fd, uint64_t size) -{ - unsigned char buffer[1024]; - ssize_t ret; - size_t diff; - - while (size != 0) { - diff = sizeof(buffer); - if (diff > size) - diff = size; - - ret = read_retry(fd, buffer, diff); - - if (ret < 0) { - perror("reading tar record data"); - return -1; - } - - if ((size_t)ret < diff) { - fputs("unexpected end of file\n", stderr); - return -1; - } - - size -= diff; - } - - return 0; -} - -int skip_padding(int fd, uint64_t size) -{ - size_t tail = size % 512; - - return tail ? skip_bytes(fd, 512 - tail) : 0; -} - -int skip_entry(int fd, uint64_t size) -{ - size_t tail = size % 512; - - return skip_bytes(fd, tail ? (size + 512 - tail) : size); -} -- cgit v1.2.3