From 581fe6c8176c6ea4ad998566df0746bf7b56456f Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Thu, 2 Oct 2014 13:02:41 +0200 Subject: sd-bus: sync kdbus.h (ABI break) struct kdbus_cmd_conn_info takes a list of items now instead of a string. Fix the only user in SD of that ioctl. --- src/libsystemd/sd-bus/bus-control.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/libsystemd/sd-bus/bus-control.c') diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c index 4ad44469b5..d9a53c702f 100644 --- a/src/libsystemd/sd-bus/bus-control.c +++ b/src/libsystemd/sd-bus/bus-control.c @@ -389,13 +389,17 @@ static int bus_get_owner_kdbus( if (r < 0) return r; if (r > 0) { - size = offsetof(struct kdbus_cmd_conn_info, name); + size = offsetof(struct kdbus_cmd_conn_info, items); cmd = alloca0_align(size, 8); cmd->id = id; } else { - size = offsetof(struct kdbus_cmd_conn_info, name) + strlen(name) + 1; + size_t item_size = KDBUS_ITEM_HEADER_SIZE + strlen(name) + 1; + + size = offsetof(struct kdbus_cmd_conn_info, items) + item_size; cmd = alloca0_align(size, 8); - strcpy(cmd->name, name); + cmd->items[0].size = item_size; + cmd->items[0].type = KDBUS_ITEM_NAME; + strcpy(cmd->items[0].str, name); } cmd->size = size; -- cgit v1.2.3-54-g00ecf