#include <pakfire/archive.h>
#include <pakfire/compress.h>
+#include <pakfire/ctx.h>
#include <pakfire/dependencies.h>
#include <pakfire/digest.h>
#include <pakfire/file.h>
#define MAX_FOLLOW_SYMLINKS 10
struct pakfire_archive {
+ struct pakfire_ctx* ctx;
struct pakfire* pakfire;
int nrefs;
pakfire_package_unref(archive->package);
if (archive->metadata)
json_object_put(archive->metadata);
- pakfire_unref(archive->pakfire);
+ if (archive->pakfire)
+ pakfire_unref(archive->pakfire);
+ if (archive->ctx)
+ pakfire_ctx_unref(archive->ctx);
free(archive);
}
if (!a)
return ENOMEM;
+ // Store a reference to the context
+ a->ctx = pakfire_ctx(pakfire);
+
a->pakfire = pakfire_ref(pakfire);
a->nrefs = 1;