aboutsummaryrefslogtreecommitdiff
path: root/src/archive/zzip_archive_plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/archive/zzip_archive_plugin.c')
-rw-r--r--src/archive/zzip_archive_plugin.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/archive/zzip_archive_plugin.c b/src/archive/zzip_archive_plugin.c
index ba89e82b..1174629a 100644
--- a/src/archive/zzip_archive_plugin.c
+++ b/src/archive/zzip_archive_plugin.c
@@ -32,6 +32,8 @@
#include <string.h>
struct zzip_archive {
+ struct archive_file base;
+
ZZIP_DIR *dir;
ZZIP_FILE *file;
size_t length;
@@ -55,6 +57,8 @@ zzip_archive_open(const char *pathname)
struct zzip_archive *context = g_malloc(sizeof(*context));
ZZIP_DIRENT dirent;
+ archive_file_init(&context->base, &zzip_archive_plugin);
+
// open archive
context->list = NULL;
context->dir = zzip_dir_open(pathname, NULL);
@@ -71,7 +75,7 @@ zzip_archive_open(const char *pathname)
}
}
- return (struct archive_file *)context;
+ return &context->base;
}
static void