From e3ef871d6a80d72db02c9ab1ef492e8f58c2ddeb Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 16 Jul 2019 21:02:58 +0200 Subject: cleanup: move error handling into read_retry If read_retry fails to read the expected amount of data (EOF or otherwise), it is almost always an error. This commit renames read_retry to read_data and moves error handling into the function, making a lot of error handling code redundant. Signed-off-by: David Oberhollenzer --- lib/tar/skip.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'lib/tar/skip.c') diff --git a/lib/tar/skip.c b/lib/tar/skip.c index 69208b2..28c02be 100644 --- a/lib/tar/skip.c +++ b/lib/tar/skip.c @@ -7,7 +7,6 @@ static int skip_bytes(int fd, uint64_t size) { unsigned char buffer[1024]; - ssize_t ret; size_t diff; while (size != 0) { @@ -15,17 +14,8 @@ static int skip_bytes(int fd, uint64_t size) 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); + if (read_data("reading tar record padding", fd, buffer, diff)) return -1; - } size -= diff; } -- cgit v1.2.3