From: Felix Fietkau Date: Sun, 27 Mar 2011 17:15:32 +0000 (+0200) Subject: move all device data to its own table to prevent namespace collisions X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=2cfb961768f9f896a75b6981d63a957d121f1cdc move all device data to its own table to prevent namespace collisions --- diff --git a/ubus.c b/ubus.c index 2bb42f1..601a116 100644 --- a/ubus.c +++ b/ubus.c @@ -145,15 +145,22 @@ static int netifd_handle_status(struct ubus_context *ctx, struct ubus_object *ob blobmsg_add_u8(&b, "autostart", iface->autostart); if (iface->main_dev.dev) { struct device *dev = iface->main_dev.dev; + const char *field; + void *devinfo; + /* use a different field for virtual devices */ if (dev->avl.key) - blobmsg_add_string(&b, "device", dev->ifname); + field = "device"; else - /* use a different field for virtual devices */ - blobmsg_add_string(&b, "link", dev->ifname); + field = "link"; + + devinfo = blobmsg_open_table(&b, field); + blobmsg_add_string(&b, "name", dev->ifname); if (dev->type->dump_status) dev->type->dump_status(dev, &b); + + blobmsg_close_table(&b, devinfo); } ubus_send_reply(ctx, req, b.head);