#include <pakfire/compress.h>
#include <pakfire/config.h>
#include <pakfire/constants.h>
+#include <pakfire/ctx.h>
#include <pakfire/downloader.h>
#include <pakfire/file.h>
#include <pakfire/filelist.h>
};
struct pakfire_repo {
+ struct pakfire_ctx* ctx;
struct pakfire* pakfire;
int nrefs;
if (repo->mirrorlist)
pakfire_mirrorlist_unref(repo->mirrorlist);
- pakfire_unref(repo->pakfire);
+ if (repo->pakfire)
+ pakfire_unref(repo->pakfire);
+ if (repo->ctx)
+ pakfire_ctx_unref(repo->ctx);
free(repo);
}
if (!rep)
return 1;
+ // Store a reference to the context
+ rep->ctx = pakfire_ctx(pakfire);
+
rep->pakfire = pakfire_ref(pakfire);
rep->nrefs = 1;