From 3afffc2a59cfc3888a84b2b2305b5312393ff4e8 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 6 Nov 2019 10:44:26 +0100 Subject: Remove raw file descriptors from unpack write paths Instead, use stdio FILE pointers. On POSIX systems, use fileno to get the file descriptor and hopefully create sparase files. Signed-off-by: David Oberhollenzer --- include/tar.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'include/tar.h') diff --git a/include/tar.h b/include/tar.h index c5d48ef..8f9f55c 100644 --- a/include/tar.h +++ b/include/tar.h @@ -12,6 +12,7 @@ #include #include +#include typedef struct sparse_map_t { struct sparse_map_t *next; @@ -118,7 +119,7 @@ typedef struct { The counter is an incremental record counter used if additional headers need to be generated. */ -int write_tar_header(int fd, const struct stat *sb, const char *name, +int write_tar_header(FILE *fp, const struct stat *sb, const char *name, const char *slink_target, const tar_xattr_t *xattr, unsigned int counter); @@ -136,7 +137,7 @@ void clear_header(tar_header_decoded_t *hdr); Write zero bytes to an output file to padd it to the tar record size. Returns 0 on success. On failure, prints error message to stderr. */ -int padd_file(int outfd, sqfs_u64 size); +int padd_file(FILE *fp, sqfs_u64 size); /* @@ -153,6 +154,6 @@ int read_retry(const char *errstr, int fd, void *buffer, size_t size); on success. Writes to stderr on failure using 'errstr' as a perror style error prefix. */ -int write_retry(const char *errstr, int fd, const void *data, size_t size); +int write_retry(const char *errstr, FILE *fp, const void *data, size_t size); #endif /* TAR_H */ -- cgit v1.2.3