#include <pakfire/request.h>
-int pakfire_problem_create(struct pakfire_problem** problem, struct pakfire_request* request, Id id);
+int pakfire_problem_create(struct pakfire_problem** problem, Pakfire pakfire,
+ struct pakfire_request* request, Id id);
Pakfire pakfire_problem_get_pakfire(struct pakfire_problem* problem);
Id pakfire_problem_get_id(struct pakfire_problem* problem);
#include <solv/solver.h>
-Pakfire pakfire_request_get_pakfire(struct pakfire_request* request);
Solver* pakfire_request_get_solver(struct pakfire_request* request);
#endif
}
PAKFIRE_EXPORT int pakfire_problem_create(struct pakfire_problem** problem,
- struct pakfire_request* request, Id id) {
+ Pakfire pakfire, struct pakfire_request* request, Id id) {
struct pakfire_problem* p = calloc(1, sizeof(*problem));
if (!p)
return 1;
- p->pakfire = pakfire_request_get_pakfire(request);
+ p->pakfire = pakfire_ref(pakfire);
p->nrefs = 1;
p->request = pakfire_request_ref(request);
break;
// Create problem
- int r = pakfire_problem_create(&problem, request, p);
+ int r = pakfire_problem_create(&problem, request->pakfire, request, p);
if (r)
goto ERROR;