From: Michael Tremer Date: Wed, 30 Jun 2021 14:24:28 +0000 (+0000) Subject: packagelist: Change type from PakfirePackageList to struct pakfire_packagelist X-Git-Tag: 0.9.28~1159 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6098f82f57bd4fb622ac3b4872f9113275774398;p=pakfire.git packagelist: Change type from PakfirePackageList to struct pakfire_packagelist Signed-off-by: Michael Tremer --- diff --git a/src/_pakfire/pakfire.c b/src/_pakfire/pakfire.c index 0bc990686..40c389870 100644 --- a/src/_pakfire/pakfire.c +++ b/src/_pakfire/pakfire.c @@ -464,7 +464,7 @@ static PyObject* Pakfire_whatprovides(PakfireObject* self, PyObject* args, PyObj if (name_only) flags |= PAKFIRE_NAME_ONLY; - PakfirePackageList list = pakfire_whatprovides(self->pakfire, provides, flags); + struct pakfire_packagelist* list = pakfire_whatprovides(self->pakfire, provides, flags); PyObject* obj = PyList_FromPackageList(list); pakfire_packagelist_unref(list); @@ -478,7 +478,7 @@ static PyObject* Pakfire_search(PakfireObject* self, PyObject* args) { if (!PyArg_ParseTuple(args, "s", &what)) return NULL; - PakfirePackageList list = pakfire_search(self->pakfire, what, 0); + struct pakfire_packagelist* list = pakfire_search(self->pakfire, what, 0); PyObject* obj = PyList_FromPackageList(list); pakfire_packagelist_unref(list); diff --git a/src/_pakfire/util.c b/src/_pakfire/util.c index 94fbfd287..db8c136fb 100644 --- a/src/_pakfire/util.c +++ b/src/_pakfire/util.c @@ -83,7 +83,7 @@ PyObject* performance_index(PyObject* self, PyObject* args) { return PyLong_FromUnsignedLong(iterations); } -PyObject* PyList_FromPackageList(PakfirePackageList packagelist) { +PyObject* PyList_FromPackageList(struct pakfire_packagelist* packagelist) { PyObject* list = PyList_New(0); int count = pakfire_packagelist_count(packagelist); diff --git a/src/_pakfire/util.h b/src/_pakfire/util.h index 0a0172358..7669acf46 100644 --- a/src/_pakfire/util.h +++ b/src/_pakfire/util.h @@ -23,13 +23,10 @@ #include -#include -#include - -#include "pakfire.h" +#include extern PyObject* performance_index(PyObject* self, PyObject* args); -PyObject* PyList_FromPackageList(PakfirePackageList packagelist); +PyObject* PyList_FromPackageList(struct pakfire_packagelist* packagelist); #endif /* PYTHON_PAKFIRE_UTIL_H */ diff --git a/src/libpakfire/include/pakfire/packagelist.h b/src/libpakfire/include/pakfire/packagelist.h index 955fe1488..fac3f0b70 100644 --- a/src/libpakfire/include/pakfire/packagelist.h +++ b/src/libpakfire/include/pakfire/packagelist.h @@ -21,25 +21,27 @@ #ifndef PAKFIRE_PACKAGELIST_H #define PAKFIRE_PACKAGELIST_H -#include - #include -PakfirePackageList pakfire_packagelist_create(Pakfire pakfire); -PakfirePackageList pakfire_packagelist_ref(PakfirePackageList list); -PakfirePackageList pakfire_packagelist_unref(PakfirePackageList list); +struct pakfire_packagelist; + +struct pakfire_packagelist* pakfire_packagelist_create(Pakfire pakfire); +struct pakfire_packagelist* pakfire_packagelist_ref(struct pakfire_packagelist* list); +struct pakfire_packagelist* pakfire_packagelist_unref(struct pakfire_packagelist* list); -size_t pakfire_packagelist_count(PakfirePackageList list); -void pakfire_packagelist_sort(PakfirePackageList list); -int pakfire_packagelist_has(PakfirePackageList list, PakfirePackage pkg); -PakfirePackage pakfire_packagelist_get(PakfirePackageList list, unsigned int index); +size_t pakfire_packagelist_count(struct pakfire_packagelist* list); +void pakfire_packagelist_sort(struct pakfire_packagelist* list); +int pakfire_packagelist_has(struct pakfire_packagelist* list, PakfirePackage pkg); +PakfirePackage pakfire_packagelist_get(struct pakfire_packagelist* list, unsigned int index); -void pakfire_packagelist_push(PakfirePackageList list, PakfirePackage pkg); -void pakfire_packagelist_push_if_not_exists(PakfirePackageList list, PakfirePackage pkg); +void pakfire_packagelist_push(struct pakfire_packagelist* list, PakfirePackage pkg); +void pakfire_packagelist_push_if_not_exists(struct pakfire_packagelist* list, PakfirePackage pkg); #ifdef PAKFIRE_PRIVATE -PakfirePackageList pakfire_packagelist_from_queue(Pakfire pakfire, Queue* q); +#include + +struct pakfire_packagelist* pakfire_packagelist_from_queue(Pakfire pakfire, Queue* q); #endif diff --git a/src/libpakfire/include/pakfire/pakfire.h b/src/libpakfire/include/pakfire/pakfire.h index 407c0e8be..8bff00247 100644 --- a/src/libpakfire/include/pakfire/pakfire.h +++ b/src/libpakfire/include/pakfire/pakfire.h @@ -62,8 +62,8 @@ int pakfire_version_compare(Pakfire pakfire, const char* evr1, const char* evr2) struct pakfire_repolist* pakfire_get_repos(Pakfire pakfire); PakfireRepo pakfire_get_repo(Pakfire pakfire, const char* name); -PakfirePackageList pakfire_whatprovides(Pakfire pakfire, const char* provides, int flags); -PakfirePackageList pakfire_search(Pakfire pakfire, const char* what, int flags); +struct pakfire_packagelist* pakfire_whatprovides(Pakfire pakfire, const char* provides, int flags); +struct pakfire_packagelist* pakfire_search(Pakfire pakfire, const char* what, int flags); // Logging diff --git a/src/libpakfire/include/pakfire/types.h b/src/libpakfire/include/pakfire/types.h index 5335ccefb..f33dec2a6 100644 --- a/src/libpakfire/include/pakfire/types.h +++ b/src/libpakfire/include/pakfire/types.h @@ -29,7 +29,6 @@ typedef struct _PakfireArchiveSignature* PakfireArchiveSignature; typedef struct _PakfireFilelist* PakfireFilelist; typedef struct _PakfireKey* PakfireKey; typedef struct _PakfirePackage* PakfirePackage; -typedef struct _PakfirePackageList* PakfirePackageList; typedef struct _PakfireParser* PakfireParser; typedef struct _PakfireRepo* PakfireRepo; typedef struct _PakfireSolution* PakfireSolution; diff --git a/src/libpakfire/packagelist.c b/src/libpakfire/packagelist.c index c794daa3b..7bab1c074 100644 --- a/src/libpakfire/packagelist.c +++ b/src/libpakfire/packagelist.c @@ -35,15 +35,16 @@ #define BLOCK_SIZE 31 -struct _PakfirePackageList { +struct pakfire_packagelist { Pakfire pakfire; + int nrefs; + PakfirePackage* elements; size_t count; - int nrefs; }; -PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_create(Pakfire pakfire) { - PakfirePackageList list = calloc(1, sizeof(*list)); +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_packagelist_create(Pakfire pakfire) { + struct pakfire_packagelist* list = calloc(1, sizeof(*list)); if (list) { DEBUG(pakfire, "Allocated PackageList at %p\n", list); list->pakfire = pakfire_ref(pakfire); @@ -53,13 +54,13 @@ PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_create(Pakfire pakfire) { return list; } -PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_ref(PakfirePackageList list) { +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_packagelist_ref(struct pakfire_packagelist* list) { list->nrefs++; return list; } -static void pakfire_packagelist_free(PakfirePackageList list) { +static void pakfire_packagelist_free(struct pakfire_packagelist* list) { DEBUG(list->pakfire, "Releasing PackageList at %p\n", list); pakfire_unref(list->pakfire); @@ -71,7 +72,7 @@ static void pakfire_packagelist_free(PakfirePackageList list) { free(list); } -PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_unref(PakfirePackageList list) { +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_packagelist_unref(struct pakfire_packagelist* list) { if (!list) return NULL; @@ -82,7 +83,7 @@ PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_unref(PakfirePackageList l return NULL; } -PAKFIRE_EXPORT size_t pakfire_packagelist_count(PakfirePackageList list) { +PAKFIRE_EXPORT size_t pakfire_packagelist_count(struct pakfire_packagelist* list) { return list->count; } @@ -90,18 +91,18 @@ PAKFIRE_EXPORT int _packagelist_cmp(const void* pkg1, const void* pkg2) { return pakfire_package_cmp(*(PakfirePackage*)pkg1, *(PakfirePackage*)pkg2); } -PAKFIRE_EXPORT void pakfire_packagelist_sort(PakfirePackageList list) { +PAKFIRE_EXPORT void pakfire_packagelist_sort(struct pakfire_packagelist* list) { qsort(list->elements, list->count, sizeof(*list->elements), _packagelist_cmp); } -PAKFIRE_EXPORT PakfirePackage pakfire_packagelist_get(PakfirePackageList list, unsigned int index) { +PAKFIRE_EXPORT PakfirePackage pakfire_packagelist_get(struct pakfire_packagelist* list, unsigned int index) { if (index < list->count) return pakfire_package_ref(list->elements[index]); return NULL; } -PAKFIRE_EXPORT int pakfire_packagelist_has(PakfirePackageList list, PakfirePackage pkg) { +PAKFIRE_EXPORT int pakfire_packagelist_has(struct pakfire_packagelist* list, PakfirePackage pkg) { for (unsigned int i = 0; i < list->count; i++) { PakfirePackage _pkg = list->elements[i]; @@ -112,20 +113,20 @@ PAKFIRE_EXPORT int pakfire_packagelist_has(PakfirePackageList list, PakfirePacka return 0; } -PAKFIRE_EXPORT void pakfire_packagelist_push(PakfirePackageList list, PakfirePackage pkg) { +PAKFIRE_EXPORT void pakfire_packagelist_push(struct pakfire_packagelist* list, PakfirePackage 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(PakfirePackageList list, PakfirePackage pkg) { +PAKFIRE_EXPORT void pakfire_packagelist_push_if_not_exists(struct pakfire_packagelist* list, PakfirePackage pkg) { if (pakfire_packagelist_has(list, pkg)) return; pakfire_packagelist_push(list, pkg); } -PAKFIRE_EXPORT PakfirePackageList pakfire_packagelist_from_queue(Pakfire pakfire, Queue* q) { - PakfirePackageList list = pakfire_packagelist_create(pakfire); +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_packagelist_from_queue(Pakfire pakfire, Queue* q) { + struct pakfire_packagelist* list = pakfire_packagelist_create(pakfire); Pool* pool = pakfire_get_solv_pool(pakfire); Id p, pp; diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index b83065678..d89981cb2 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -1285,8 +1285,8 @@ PakfireRepo pakfire_get_installed_repo(Pakfire pakfire) { return pakfire_repo_create_from_repo(pakfire, pakfire->pool->installed); } -static PakfirePackageList pakfire_pool_dataiterator(Pakfire pakfire, const char* what, int key, int flags) { - PakfirePackageList list = pakfire_packagelist_create(pakfire); +static struct pakfire_packagelist* pakfire_pool_dataiterator(Pakfire pakfire, const char* what, int key, int flags) { + struct pakfire_packagelist* list = pakfire_packagelist_create(pakfire); pakfire_pool_apply_changes(pakfire); int di_flags = 0; @@ -1311,9 +1311,9 @@ static PakfirePackageList pakfire_pool_dataiterator(Pakfire pakfire, const char* return list; } -static PakfirePackageList pakfire_search_name(Pakfire pakfire, const char* name, int flags) { +static struct pakfire_packagelist* pakfire_search_name(Pakfire pakfire, const char* name, int flags) { if (!flags) { - PakfirePackageList list = pakfire_packagelist_create(pakfire); + struct pakfire_packagelist* list = pakfire_packagelist_create(pakfire); pakfire_pool_apply_changes(pakfire); Id id = pool_str2id(pakfire->pool, name, 0); @@ -1337,9 +1337,9 @@ static PakfirePackageList pakfire_search_name(Pakfire pakfire, const char* name, return pakfire_pool_dataiterator(pakfire, name, SOLVABLE_NAME, flags); } -static PakfirePackageList pakfire_search_provides(Pakfire pakfire, const char* provides, int flags) { +static struct pakfire_packagelist* pakfire_search_provides(Pakfire pakfire, const char* provides, int flags) { if (!flags) { - PakfirePackageList list = pakfire_packagelist_create(pakfire); + struct pakfire_packagelist* list = pakfire_packagelist_create(pakfire); pakfire_pool_apply_changes(pakfire); Id id = pool_str2id(pakfire->pool, provides, 0); @@ -1359,7 +1359,7 @@ static PakfirePackageList pakfire_search_provides(Pakfire pakfire, const char* p return pakfire_pool_dataiterator(pakfire, provides, SOLVABLE_PROVIDES, flags); } -PAKFIRE_EXPORT PakfirePackageList pakfire_whatprovides(Pakfire pakfire, const char* what, int flags) { +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_whatprovides(Pakfire pakfire, const char* what, int flags) { // Refresh repositories int r = pakfire_refresh(pakfire, 0); if (r) @@ -1374,7 +1374,7 @@ PAKFIRE_EXPORT PakfirePackageList pakfire_whatprovides(Pakfire pakfire, const ch } } -PAKFIRE_EXPORT PakfirePackageList pakfire_search(Pakfire pakfire, const char* what, int flags) { +PAKFIRE_EXPORT struct pakfire_packagelist* pakfire_search(Pakfire pakfire, const char* what, int flags) { // Refresh repositories int r = pakfire_refresh(pakfire, 0); if (r)