From: Yu Watanabe Date: Mon, 16 Feb 2026 02:20:20 +0000 (+0900) Subject: network: use voffsetof() at more places X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a48145203c1bc587b364993c15b779d1026771c2;p=thirdparty%2Fsystemd.git network: use voffsetof() at more places --- diff --git a/src/network/networkd-manager-varlink.c b/src/network/networkd-manager-varlink.c index a0a7a5b5f5b..5e0d8866857 100644 --- a/src/network/networkd-manager-varlink.c +++ b/src/network/networkd-manager-varlink.c @@ -92,24 +92,23 @@ static int vl_method_get_namespace_id(sd_varlink *link, sd_json_variant *paramet SD_JSON_BUILD_PAIR_CONDITION(nsid != UINT32_MAX, "NamespaceNSID", SD_JSON_BUILD_UNSIGNED(nsid))); } -typedef struct InterfaceInfo { - int ifindex; - const char *ifname; -} InterfaceInfo; - static int dispatch_interface(sd_varlink *vlink, sd_json_variant *parameters, Manager *manager, Link **ret) { + struct { + int ifindex; + const char *ifname; + } info = {}; + Link *link = NULL; + int r; + static const sd_json_dispatch_field dispatch_table[] = { - { "InterfaceIndex", _SD_JSON_VARIANT_TYPE_INVALID, json_dispatch_ifindex, offsetof(InterfaceInfo, ifindex), SD_JSON_RELAX }, - { "InterfaceName", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, offsetof(InterfaceInfo, ifname), 0 }, + { "InterfaceIndex", _SD_JSON_VARIANT_TYPE_INVALID, json_dispatch_ifindex, voffsetof(info, ifindex), SD_JSON_RELAX }, + { "InterfaceName", SD_JSON_VARIANT_STRING, sd_json_dispatch_const_string, voffsetof(info, ifname), 0 }, {} }; - InterfaceInfo info = {}; - Link *link = NULL; - int r; - assert(vlink); assert(manager); + assert(ret); r = sd_varlink_dispatch(vlink, parameters, dispatch_table, &info); if (r != 0)