return __mount(pakfire, src, mountpoint, NULL, flags|MS_BIND, NULL);
}
-PAKFIRE_EXPORT int pakfire_clean(Pakfire pakfire) {
+static int pakfire_foreach_repo(Pakfire pakfire, int (*func)(PakfireRepo repo)) {
PakfireRepo repo;
+
Repo* solv_repo;
int i;
int r;
Pool* pool = pakfire->pool;
- // Cleanup all repositories
+ // Run func for every repository
FOR_REPOS(i, solv_repo) {
repo = pakfire_repo_create_from_repo(pakfire, solv_repo);
if (!repo)
return 1;
- // Perform cleanup
- r = pakfire_repo_clean(repo);
+ // Run callback
+ r = func(repo);
pakfire_repo_unref(repo);
// Raise any errors
return 0;
}
+PAKFIRE_EXPORT int pakfire_clean(Pakfire pakfire) {
+ return pakfire_foreach_repo(pakfire, pakfire_repo_clean);
+}
+
static int pakfire_copy(Pakfire pakfire, const char* src, const char* dst) {
char buffer[512 * 1024];
struct archive* reader = NULL;