diff options
author | Tim Kientzle <kientzle@gmail.com> | 2010-04-17 21:20:13 -0400 |
---|---|---|
committer | Tim Kientzle <kientzle@gmail.com> | 2010-04-17 21:20:13 -0400 |
commit | 9dc6eec37c2f71cd5a9e2fc680c90f2ce73530fd (patch) | |
tree | 7fea4f33d561e74d30352482968276bb0e65bb11 /libarchive/archive_write_set_format_ustar.c | |
parent | 5e8e019bb1abc71529aa37f0cf86d73d8db68101 (diff) | |
download | libarchive-9dc6eec37c2f71cd5a9e2fc680c90f2ce73530fd.tar.gz |
Introduce a shared __archive_write_nulls() method and remove
the duplicate copies of this function.
SVN-Revision: 2262
Diffstat (limited to 'libarchive/archive_write_set_format_ustar.c')
-rw-r--r-- | libarchive/archive_write_set_format_ustar.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/libarchive/archive_write_set_format_ustar.c b/libarchive/archive_write_set_format_ustar.c index 12de03e0..f17aa3ae 100644 --- a/libarchive/archive_write_set_format_ustar.c +++ b/libarchive/archive_write_set_format_ustar.c @@ -151,7 +151,6 @@ static int archive_write_ustar_header(struct archive_write *, static int format_256(int64_t, char *, int); static int format_number(int64_t, char *, int size, int max, int strict); static int format_octal(int64_t, char *, int); -static int write_nulls(struct archive_write *a, size_t); /* * Set output format to 'ustar' format. @@ -522,7 +521,7 @@ format_octal(int64_t v, char *p, int s) static int archive_write_ustar_close(struct archive_write *a) { - return (write_nulls(a, 512*2)); + return (__archive_write_nulls(a, 512*2)); } static int @@ -543,28 +542,12 @@ archive_write_ustar_finish_entry(struct archive_write *a) int ret; ustar = (struct ustar *)a->format_data; - ret = write_nulls(a, + ret = __archive_write_nulls(a, ustar->entry_bytes_remaining + ustar->entry_padding); ustar->entry_bytes_remaining = ustar->entry_padding = 0; return (ret); } -static int -write_nulls(struct archive_write *a, size_t padding) -{ - int ret; - size_t to_write; - - while (padding > 0) { - to_write = padding < a->null_length ? padding : a->null_length; - ret = __archive_write_output(a, a->nulls, to_write); - if (ret != ARCHIVE_OK) - return (ret); - padding -= to_write; - } - return (ARCHIVE_OK); -} - static ssize_t archive_write_ustar_data(struct archive_write *a, const void *buff, size_t s) { |