From 7e1be3986b3b8229f0162431b6e02c24e04a5dba Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 7 Oct 2019 14:53:50 +0200 Subject: Cleanup: move read_data function to libtar Its the only user. The other code doesn't touch raw file descriptors anymore. Signed-off-by: David Oberhollenzer --- include/tar.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/tar.h') diff --git a/include/tar.h b/include/tar.h index e86d775..319f035 100644 --- a/include/tar.h +++ b/include/tar.h @@ -138,4 +138,13 @@ void clear_header(tar_header_decoded_t *hdr); */ int padd_file(int outfd, sqfs_u64 size); + +/* + A wrapper around the read() system call. It retries the read if it is + interrupted by a signal or less than the desired size was read. Returns 0 + on success. Writes to stderr on failure using 'errstr' as a perror style + error prefix. +*/ +int read_retry(const char *errstr, int fd, void *buffer, size_t size); + #endif /* TAR_H */ -- cgit v1.2.3