From 83bd483f3db1df4b69c1612030e1a1be05b303ad Mon Sep 17 00:00:00 2001 From: Dees_Troy Date: Sat, 4 May 2013 12:39:56 +0000 Subject: Support encrypted backup files Also includes features merged from: Update twrpTar by kokotas Revised function entryExists(). Added function to get archive's uncompressed size. Added option to exclude item(s) from the archive. Revised forks() http://review.teamw.in/#/c/590/ Change-Id: I01fa2c81643161984eff2625247af75990684bd9 --- tarWrite.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tarWrite.c') diff --git a/tarWrite.c b/tarWrite.c index f5af4491b..7d46014bd 100644 --- a/tarWrite.c +++ b/tarWrite.c @@ -29,11 +29,13 @@ int flush = 0, eot_count = -1; unsigned char *write_buffer; unsigned buffer_size = 4096; unsigned buffer_loc = 0; +int buffer_status = 0; void reinit_libtar_buffer(void) { flush = 0; eot_count = -1; buffer_loc = 0; + buffer_status = 1; } void init_libtar_buffer(unsigned new_buff_size) { @@ -45,7 +47,9 @@ void init_libtar_buffer(unsigned new_buff_size) { } void free_libtar_buffer(void) { - free(write_buffer); + if (buffer_status > 0) + free(write_buffer); + buffer_status = 0; } ssize_t write_libtar_buffer(int fd, const void *buffer, size_t size) { @@ -89,4 +93,5 @@ ssize_t write_libtar_buffer(int fd, const void *buffer, size_t size) { void flush_libtar_buffer(int fd) { eot_count = 0; + buffer_status = 2; } -- cgit v1.2.3