int pakfire_bind(struct pakfire* pakfire, const char* src, const char* dst, int flags);
-int pakfire_mount_list(struct pakfire* pakfire);
+int pakfire_mount_list(struct pakfire_ctx* ctx);
enum pakfire_mount_flags {
PAKFIRE_MOUNT_LOOP_DEVICES = (1 << 0),
#include <pakfire/arch.h>
#include <pakfire/logging.h>
#include <pakfire/pakfire.h>
+#include <pakfire/parse.h>
#include <pakfire/path.h>
#include <pakfire/mount.h>
#include <pakfire/string.h>
return 0;
}
-int pakfire_mount_list(struct pakfire* pakfire) {
- DEBUG(pakfire, "Mountpoints:\n");
+static int __pakfire_mount_list(char* line, size_t length, void* data) {
+ struct pakfire_ctx* ctx = data;
- return pakfire_mount_foreach(pakfire, MNT_ITER_FORWARD,
- __pakfire_mount_print, NULL);
+ // Send the line to the logger
+ CTX_DEBUG(ctx, " %.*s", (int)length, line);
+
+ return 0;
+}
+
+int pakfire_mount_list(struct pakfire_ctx* ctx) {
+ CTX_DEBUG(ctx, "Mountpoints:\n");
+
+ return pakfire_parse_file("/proc/self/mounts", __pakfire_mount_list, ctx);
}
static int pakfire_populate_dev(struct pakfire* pakfire, int flags) {