]> git.ipfire.org Git - pakfire.git/commitdiff
python: Drop Pakfire reference from Archive
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:11:20 +0000 (15:11 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 20 Jan 2018 14:11:20 +0000 (15:11 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/archive.c
src/_pakfire/archive.h

index f66d86bf3095419a6628cd8927f1faa47451c2cc..36ba7f4cfbc0b1db141efc6d29689740ea20ef8e 100644 (file)
@@ -29,7 +29,6 @@
 static PyObject* Archive_new(PyTypeObject* type, PyObject* args, PyObject* kwds) {
        ArchiveObject* self = (ArchiveObject *)type->tp_alloc(type, 0);
        if (self) {
-               self->pakfire = NULL;
                self->archive = NULL;
        }
 
@@ -37,10 +36,7 @@ static PyObject* Archive_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
 }
 
 static void Archive_dealloc(ArchiveObject* self) {
-       if (self->archive)
-               pakfire_archive_unref(self->archive);
-
-       Py_DECREF(self->pakfire);
+       pakfire_archive_unref(self->archive);
 
        Py_TYPE(self)->tp_free((PyObject *)self);
 }
@@ -52,11 +48,9 @@ static int Archive_init(ArchiveObject* self, PyObject* args, PyObject* kwds) {
        if (!PyArg_ParseTuple(args, "O!s", &PakfireType, &pakfire, &filename))
                return -1;
 
-       self->pakfire = pakfire;
-       Py_INCREF(self->pakfire);
-
-       self->archive = pakfire_archive_open(self->pakfire->pakfire, filename);
-       assert(self->archive);
+       self->archive = pakfire_archive_open(pakfire->pakfire, filename);
+       if (!self->archive)
+               return -1;
 
        return 0;
 }
index 89cca394f205652ea41e25aad1d8e66953c5aec4..8dfef97467f9b226ef48e8b85f58cc16906aec48 100644 (file)
@@ -29,7 +29,6 @@
 
 typedef struct {
        PyObject_HEAD
-       PakfireObject* pakfire;
        PakfireArchive archive;
 } ArchiveObject;