]> git.ipfire.org Git - pakfire.git/commitdiff
python: Use strings functions to free strings in Package
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 27 Jan 2025 16:28:08 +0000 (16:28 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 27 Jan 2025 16:28:08 +0000 (16:28 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/python/package.c

index bec769c94292c8752b47e71187259201cb17659a..fc0e939685dcae369ee6d24453880e0c9bffdcaf 100644 (file)
@@ -26,6 +26,7 @@
 #include <pakfire/filelist.h>
 #include <pakfire/package.h>
 #include <pakfire/repo.h>
+#include <pakfire/string.h>
 #include <pakfire/util.h>
 
 #include "errors.h"
@@ -244,12 +245,8 @@ static PyObject* Package_get_groups(PackageObject* self) {
        PyObject* ret = PyUnicodeList_FromStringArray(groups);
 
        // Cleanup
-       if (groups) {
-               for (char** group = groups; *group; group++)
-                       free(*group);
-
-               free(groups);
-       }
+       if (groups)
+               pakfire_strings_free(groups);
 
        return ret;
 }
@@ -312,12 +309,8 @@ static PyObject* Package_get_build_arches(PackageObject* self) {
        PyObject* ret = PyUnicodeList_FromStringArray(build_arches);
 
        // Cleanup
-       if (build_arches) {
-               for (char** build_arch = build_arches; *build_arch; build_arch++) {
-                       free(*build_arch);
-               }
-               free(build_arches);
-       }
+       if (build_arches)
+               pakfire_strings_free(build_arches);
 
        return ret;
 }
@@ -391,11 +384,9 @@ static PyObject* Package_get_provides(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }
@@ -405,11 +396,9 @@ static PyObject* Package_get_requires(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }
@@ -419,11 +408,9 @@ static PyObject* Package_get_obsoletes(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }
@@ -433,11 +420,9 @@ static PyObject* Package_get_conflicts(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }
@@ -447,11 +432,9 @@ static PyObject* Package_get_recommends(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }
@@ -461,11 +444,9 @@ static PyObject* Package_get_suggests(PackageObject* self) {
 
        PyObject* list = PyList_FromRelationList(deps);
 
-       if (deps) {
-               for (char** dep = deps; *dep; dep++)
-                       free(*dep);
-               free(deps);
-       }
+       // Cleanup
+       if (deps)
+               pakfire_strings_free(deps);
 
        return list;
 }