static PyObject* Package_get_groups(PackageObject* self) {
char** groups = pakfire_package_get_strings(self->package, PAKFIRE_PKG_GROUPS);
- PyObject* ret = PyUnicodeList_FromStringArray(groups);
+ PyObject* ret = PyUnicodeList_FromStringArray((const char**)groups);
// Cleanup
if (groups)
char** build_arches = pakfire_package_get_strings(self->package, PAKFIRE_PKG_BUILD_ARCHES);
// Make a new list
- PyObject* ret = PyUnicodeList_FromStringArray(build_arches);
+ PyObject* ret = PyUnicodeList_FromStringArray((const char**)build_arches);
// Cleanup
if (build_arches)
PyObject* PyExc_CheckFileVerificationError;
static PyObject* Pakfire_supported_arches(void) {
- int r;
+ const char** arches = NULL;
// Fetch all architectures
- const char** arches = pakfire_supported_arches();
+ arches = pakfire_supported_arches();
if (!arches) {
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
- // Create a new list
- PyObject* list = PyList_New(0);
- if (!list)
- return NULL;
-
- // Append all architectures
- for (const char** arch = arches; *arch; arch++) {
- PyObject* object = PyUnicode_FromString(*arch);
- if (!object)
- goto ERROR;
-
- // Append to list
- r = PyList_Append(list, object);
- if (r) {
- Py_DECREF(object);
- goto ERROR;
- }
-
- Py_DECREF(object);
- }
-
- return list;
-
-ERROR:
- Py_DECREF(list);
- return NULL;
+ return PyUnicodeList_FromStringArray(arches);
}
static PyObject* Pakfire_version_compare(PyObject* self, PyObject* args) {
#include "package.h"
#include "util.h"
-PyObject* PyUnicodeList_FromStringArray(char** l) {
+PyObject* PyUnicodeList_FromStringArray(const char** l) {
PyObject* list = NULL;
PyObject* s = NULL;
int r;
#include <pakfire/filelist.h>
#include <pakfire/packagelist.h>
-PyObject* PyUnicodeList_FromStringArray(char** l);
+PyObject* PyUnicodeList_FromStringArray(const char** l);
PyObject* PyList_FromPackageList(struct pakfire_packagelist* packagelist);
PyObject* PyList_FromFileList(struct pakfire_filelist* filelist);