]> git.ipfire.org Git - people/ms/pakfire.git/blobdiff - src/libpakfire/mount.c
mount: Use the parse helpers to log /proc/self/mounts
[people/ms/pakfire.git] / src / libpakfire / mount.c
index 494c25852921b3dd166f6ccc91933449586a508d..1f248468bc21732ea0a9086cdbd543fc1a1a884c 100644 (file)
@@ -32,6 +32,7 @@
 #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>
@@ -240,18 +241,6 @@ ERROR:
        return r;
 }
 
-static int __pakfire_is_mountpoint(struct pakfire* pakfire,
-               struct libmnt_fs* fs, const void* data) {
-       const char* path = (const char*)data;
-
-       return mnt_fs_streq_target(fs, path);
-}
-
-int pakfire_is_mountpoint(struct pakfire* pakfire, const char* path) {
-       return pakfire_mount_foreach(pakfire, MNT_ITER_FORWARD,
-               __pakfire_is_mountpoint, path);
-}
-
 static int pakfire_mount(struct pakfire* pakfire, const char* source, const char* target,
                const char* fstype, unsigned long mflags, const void* data) {
        const char* options = (const char*)data;
@@ -286,11 +275,19 @@ static int __pakfire_mount_print(struct pakfire* pakfire,
        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;
+
+       // 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_mount_foreach(pakfire, MNT_ITER_FORWARD,
-               __pakfire_mount_print, NULL);
+       return pakfire_parse_file("/proc/self/mounts", __pakfire_mount_list, ctx);
 }
 
 static int pakfire_populate_dev(struct pakfire* pakfire, int flags) {