summaryrefslogtreecommitdiff
path: root/libarchive/archive_virtual.c
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@acm.org>2013-04-06 12:17:52 -0700
committerTim Kientzle <kientzle@acm.org>2013-04-06 12:17:52 -0700
commit3ae99fbc24d504ebefdcf83e9758e6337dbd387d (patch)
tree9a8426c25156336e8ace247ac18b3039597bcd66 /libarchive/archive_virtual.c
parent627d1f745416468e9ab3b4b020ca3fb118a89a93 (diff)
downloadlibarchive-3ae99fbc24d504ebefdcf83e9758e6337dbd387d.tar.gz
Expose the generic archive_free hook
Diffstat (limited to 'libarchive/archive_virtual.c')
-rw-r--r--libarchive/archive_virtual.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/libarchive/archive_virtual.c b/libarchive/archive_virtual.c
index 0c4155f2..de2595a9 100644
--- a/libarchive/archive_virtual.c
+++ b/libarchive/archive_virtual.c
@@ -55,6 +55,14 @@ archive_filter_bytes(struct archive *a, int n)
}
int
+archive_free(struct archive *a)
+{
+ if (a == NULL)
+ return (ARCHIVE_OK);
+ return ((a->vtable->archive_free)(a));
+}
+
+int
archive_write_close(struct archive *a)
{
return ((a->vtable->archive_close)(a));
@@ -76,9 +84,7 @@ archive_write_fail(struct archive *a)
int
archive_write_free(struct archive *a)
{
- if (a == NULL)
- return (ARCHIVE_OK);
- return ((a->vtable->archive_free)(a));
+ return archive_free(a);
}
#if ARCHIVE_VERSION_NUMBER < 4000000
@@ -93,9 +99,7 @@ archive_write_finish(struct archive *a)
int
archive_read_free(struct archive *a)
{
- if (a == NULL)
- return (ARCHIVE_OK);
- return ((a->vtable->archive_free)(a));
+ return archive_free(a);
}
#if ARCHIVE_VERSION_NUMBER < 4000000