PakfirePackageList packagelist = pakfire_relation_providers(self->relation);
PyObject* list = PyList_New(0);
- PakfirePackage package;
- int i;
+ for (unsigned int i = 0; i < pakfire_packagelist_count(packagelist); i++) {
+ PakfirePackage package = pakfire_packagelist_get(packagelist, i);
- FOR_PACKAGELIST(package, packagelist, i) {
PyObject* obj = new_package(self->pool, pakfire_package_id(package));
PyList_Append(list, obj);
+
+ pakfire_package_unref(package);
+ Py_DECREF(obj);
}
+
pakfire_packagelist_free(packagelist);
return list;
PakfirePackageList packagelist = pakfire_selector_providers(self->selector);
PyObject* list = PyList_New(0);
- PakfirePackage package;
- int i;
+ for (unsigned int i = 0; i < pakfire_packagelist_count(packagelist); i++) {
+ PakfirePackage package = pakfire_packagelist_get(packagelist, i);
- FOR_PACKAGELIST(package, packagelist, i) {
PyObject* obj = new_package(self->pool, pakfire_package_id(package));
PyList_Append(list, obj);
+
+ pakfire_package_unref(package);
+ Py_DECREF(obj);
}
+
pakfire_packagelist_free(packagelist);
return list;
PyObject* item = new_package(pool, pakfire_package_id(package));
PyList_Append(list, item);
+
+ pakfire_package_unref(package);
Py_DECREF(item);
}
void pakfire_packagelist_push(PakfirePackageList list, PakfirePackage pkg);
void pakfire_packagelist_push_if_not_exists(PakfirePackageList list, PakfirePackage pkg);
-#define FOR_PACKAGELIST(pkg, list, i) \
- for (i = 0; (pkg = pakfire_packagelist_get(list, i)) != NULL; i++)
-
#ifdef PAKFIRE_PRIVATE
struct _PakfirePackageList {
PAKFIRE_EXPORT PakfirePackage pakfire_packagelist_get(PakfirePackageList list, int index) {
if (index < list->count)
- return list->elements[index];
+ return pakfire_package_ref(list->elements[index]);
return NULL;
}
for (unsigned int i = 0; i < c; i++) {
PakfirePackage pkg = pakfire_packagelist_get(list, i);
pakfire_transaction_add_package(str, width, pkg);
+ pakfire_package_unref(pkg);
}
// newline