aboutsummaryrefslogtreecommitdiff
path: root/src/archive/bz2_archive_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-12-16 16:28:26 +0100
committerMax Kellermann <max@duempel.org>2009-12-16 17:09:58 +0100
commit0bc8c0c1da4490aad502dddbbc7c60564c4083a7 (patch)
tree3a7b9ed55fbbdb757e4822e7ea262237d0562dbc /src/archive/bz2_archive_plugin.c
parent74156d5bed810209a777ba6ade7ef279691f3091 (diff)
archive_plugin: wrap method calls
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
Diffstat (limited to 'src/archive/bz2_archive_plugin.c')
-rw-r--r--src/archive/bz2_archive_plugin.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/archive/bz2_archive_plugin.c b/src/archive/bz2_archive_plugin.c
index 766c558e..e8e5c556 100644
--- a/src/archive/bz2_archive_plugin.c
+++ b/src/archive/bz2_archive_plugin.c
@@ -40,6 +40,8 @@
#define BZ_BUFSIZE 5000
struct bz2_archive_file {
+ struct archive_file base;
+
char *name;
bool reset;
struct input_stream istream;
@@ -102,6 +104,7 @@ bz2_open(const char *pathname)
int len;
context = g_malloc(sizeof(*context));
+ archive_file_init(&context->base, &bz2_archive_plugin);
//open archive
if (!input_stream_open(&context->istream, pathname, NULL)) {
@@ -118,7 +121,7 @@ bz2_open(const char *pathname)
context->name[len - 4] = 0; //remove .bz2 suffix
}
- return (struct archive_file *) context;
+ return &context->base;
}
static void