]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: add new udev_builtin_add_propertyf() helper
authorLennart Poettering <lennart@poettering.net>
Mon, 6 Mar 2023 10:52:33 +0000 (11:52 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 9 Mar 2023 15:40:55 +0000 (16:40 +0100)
src/udev/udev-builtin.c
src/udev/udev-builtin.h

index c98c6fa714fcc6a815827a3c141df8c23ced4bf9..566641e4007f925543d4d4916a955f85534f24cd 100644 (file)
@@ -134,3 +134,21 @@ int udev_builtin_add_property(sd_device *dev, bool test, const char *key, const
 
         return 0;
 }
+
+int udev_builtin_add_propertyf(sd_device *dev, bool test, const char *key, const char *valf, ...) {
+        _cleanup_free_ char *val = NULL;
+        va_list ap;
+        int r;
+
+        assert(dev);
+        assert(key);
+        assert(valf);
+
+        va_start(ap, valf);
+        r = vasprintf(&val, valf, ap);
+        va_end(ap);
+        if (r < 0)
+                return log_oom_debug();
+
+        return udev_builtin_add_property(dev, test, key, val);
+}
index bcfec03aaeb01ae043f0e4334c09495a19f644cd..490b2dbe96af67632e41ea3e1a3f0e5ce8527502 100644 (file)
@@ -6,6 +6,8 @@
 #include "sd-device.h"
 #include "sd-netlink.h"
 
+#include "macro.h"
+
 typedef enum UdevBuiltinCommand {
 #if HAVE_BLKID
         UDEV_BUILTIN_BLKID,
@@ -78,5 +80,6 @@ int udev_builtin_run(sd_device *dev, sd_netlink **rtnl, UdevBuiltinCommand cmd,
 void udev_builtin_list(void);
 bool udev_builtin_should_reload(void);
 int udev_builtin_add_property(sd_device *dev, bool test, const char *key, const char *val);
+int udev_builtin_add_propertyf(sd_device *dev, bool test, const char *key, const char *valf, ...) _printf_(4, 5);
 int udev_builtin_hwdb_lookup(sd_device *dev, const char *prefix, const char *modalias,
                              const char *filter, bool test);