return r;
}
-static int __pakfire_archive_extract(struct pakfire_archive* archive, const char* path, int flags) {
+static int __pakfire_archive_extract(struct pakfire_archive* archive,
+ const char* path, int flags, struct pakfire_progress* parent) {
struct pakfire_package* pkg = NULL;
char prefix[PATH_MAX] = "/";
struct archive* writer = NULL;
// Create the progress indicator
r = pakfire_progress_create(&archive->progress,
- archive->ctx, PAKFIRE_PROGRESS_SHOW_PERCENTAGE, NULL);
+ archive->ctx, PAKFIRE_PROGRESS_SHOW_PERCENTAGE, parent);
if (r < 0)
goto ERROR;
}
int pakfire_archive_extract(struct pakfire_archive* archive,
- const char* path, const int flags) {
- return __pakfire_archive_extract(archive, path, flags);
+ const char* path, const int flags, struct pakfire_progress* parent) {
+ return __pakfire_archive_extract(archive, path, flags, parent);
}
const char* pakfire_archive_get_path(struct pakfire_archive* archive) {
#include <pakfire/linter.h>
#include <pakfire/package.h>
#include <pakfire/pakfire.h>
+#include <pakfire/progress.h>
#include <pakfire/repo.h>
#include <pakfire/scriptlet.h>
FILE* pakfire_archive_read(struct pakfire_archive* archive, const char* filename, int flags);
int pakfire_archive_extract(struct pakfire_archive* archive,
- const char* path, const int flags);
+ const char* path, const int flags, struct pakfire_progress* parent);
const char* pakfire_archive_get_path(struct pakfire_archive* archive);
return NULL;
// Extract payload
- errno = -pakfire_archive_extract(self->archive, path, flags);
+ errno = -pakfire_archive_extract(self->archive, path, flags, NULL);
if (errno) {
PyErr_SetFromErrno(PyExc_OSError);
return NULL;