]> git.ipfire.org Git - pakfire.git/commitdiff
mount: Use the parse helpers to log /proc/self/mounts
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Nov 2023 18:34:10 +0000 (18:34 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Nov 2023 18:34:10 +0000 (18:34 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/include/pakfire/mount.h
src/libpakfire/jail.c
src/libpakfire/mount.c

index c924664e6b6ab1099b6a9beb3d9b70c480d6ffcc..8e3bd854148753bfce9627b69b50c115aad8d827 100644 (file)
@@ -34,7 +34,7 @@ int pakfire_make_ramdisk(struct pakfire* pakfire, char* path, const char* args);
 
 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),
index e47fe7e8845beba8e473c4d9f6fdbd59d468253b..d9b8cd7a688c42edc168cc44050a985a80e667ec 100644 (file)
@@ -1474,7 +1474,7 @@ static int pakfire_jail_mount(struct pakfire_jail* jail, struct pakfire_jail_exe
        }
 
        // Log all mountpoints
-       pakfire_mount_list(jail->pakfire);
+       pakfire_mount_list(jail->ctx);
 
        return 0;
 }
index b467fa137ec0c16eb338297272206ac51b96990e..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>
@@ -274,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;
 
-       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) {