From: Nick Rosbrook Date: Tue, 8 Oct 2024 14:19:42 +0000 (-0400) Subject: varlink-util: add varlink_many_notify X-Git-Tag: v258-rc1~1462^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=428c99997d19a132e231313ed09625ddcebbd38c;p=thirdparty%2Fsystemd.git varlink-util: add varlink_many_notify We already have varlink_many_notifyb. Just re-factor it slightly and add a plain varlink_many_notify. --- diff --git a/src/libsystemd/sd-varlink/varlink-util.c b/src/libsystemd/sd-varlink/varlink-util.c index 22f1a94f0b5..899b8ea929f 100644 --- a/src/libsystemd/sd-varlink/varlink-util.c +++ b/src/libsystemd/sd-varlink/varlink-util.c @@ -89,6 +89,19 @@ int varlink_callb_and_log( return varlink_call_and_log(v, method, parameters, ret_parameters); } +int varlink_many_notify(Set *s, sd_json_variant *parameters) { + sd_varlink *link; + int r = 1; + + if (set_isempty(s)) + return 0; + + SET_FOREACH(link, s) + RET_GATHER(r, sd_varlink_notify(link, parameters)); + + return r; +} + int varlink_many_notifyb(Set *s, ...) { int r; @@ -105,12 +118,7 @@ int varlink_many_notifyb(Set *s, ...) { if (r < 0) return r; - r = 1; - sd_varlink *link; - SET_FOREACH(link, s) - RET_GATHER(r, sd_varlink_notify(link, parameters)); - - return r; + return varlink_many_notify(s, parameters); } int varlink_many_reply(Set *s, sd_json_variant *parameters) { diff --git a/src/libsystemd/sd-varlink/varlink-util.h b/src/libsystemd/sd-varlink/varlink-util.h index 351f3951b07..124b16263e8 100644 --- a/src/libsystemd/sd-varlink/varlink-util.h +++ b/src/libsystemd/sd-varlink/varlink-util.h @@ -13,6 +13,7 @@ int varlink_callb_and_log(sd_varlink *v, const char *method, sd_json_variant **r #define varlink_callbo_and_log(v, method, ret_parameters, ...) \ varlink_callb_and_log((v), (method), (ret_parameters), SD_JSON_BUILD_OBJECT(__VA_ARGS__)) +int varlink_many_notify(Set *s, sd_json_variant *parameters); int varlink_many_notifyb(Set *s, ...); #define varlink_many_notifybo(s, ...) \ varlink_many_notifyb((s), SD_JSON_BUILD_OBJECT(__VA_ARGS__))