struct pakfire_package* pakfire_packagelist_get(struct pakfire_packagelist* list, unsigned int index);
void pakfire_packagelist_push(struct pakfire_packagelist* list, struct pakfire_package* pkg);
-void pakfire_packagelist_push_if_not_exists(struct pakfire_packagelist* list, struct pakfire_package* pkg);
#ifdef PAKFIRE_PRIVATE
pakfire_packagelist_create;
pakfire_packagelist_get;
pakfire_packagelist_push;
- pakfire_packagelist_push_if_not_exists;
pakfire_packagelist_ref;
pakfire_packagelist_sort;
pakfire_packagelist_unref;
return NULL;
}
-static int pakfire_packagelist_has(struct pakfire_packagelist* list, struct pakfire_package* pkg) {
- for (unsigned int i = 0; i < list->count; i++) {
- if (pakfire_package_eq(pkg, list->elements[i]))
- return 1;
- }
-
- return 0;
-}
-
PAKFIRE_EXPORT void pakfire_packagelist_push(struct pakfire_packagelist* list, struct pakfire_package* pkg) {
list->elements = solv_extend(list->elements, list->count, 1, sizeof(pkg), BLOCK_SIZE);
list->elements[list->count++] = pakfire_package_ref(pkg);
}
-
-PAKFIRE_EXPORT void pakfire_packagelist_push_if_not_exists(struct pakfire_packagelist* list, struct pakfire_package* pkg) {
- if (pakfire_packagelist_has(list, pkg))
- return;
-
- pakfire_packagelist_push(list, pkg);
-}