From 2cfb961768f9f896a75b6981d63a957d121f1cdc Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 27 Mar 2011 19:15:32 +0200 Subject: move all device data to its own table to prevent namespace collisions --- ubus.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'ubus.c') 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); -- cgit v1.2.3