From: Lennart Poettering Date: Mon, 6 Mar 2023 10:52:33 +0000 (+0100) Subject: udev: add new udev_builtin_add_propertyf() helper X-Git-Tag: v254-rc1~1072^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=85737dd378f4f93432ad6298209333a9baea53f5;p=thirdparty%2Fsystemd.git udev: add new udev_builtin_add_propertyf() helper --- diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index c98c6fa714f..566641e4007 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -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); +} diff --git a/src/udev/udev-builtin.h b/src/udev/udev-builtin.h index bcfec03aaeb..490b2dbe96a 100644 --- a/src/udev/udev-builtin.h +++ b/src/udev/udev-builtin.h @@ -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);