- a = blobmsg_open_array(&bb, "devices");
- vlist_for_each_element(&devices, device, node) {
- void *t = blobmsg_open_table(&bb, "");
- struct blob_attr *v;
- char *mp;
- int rem;
-
- blob_for_each_attr(v, device->msg, rem)
- blobmsg_add_blob(&bb, v);
-
- mp = _find_mount_point(device->name);
- if (mp) {
- blobmsg_add_string(&bb, "mount", mp);
- free(mp);
- } else if (device->autofs && device->target) {
- blobmsg_add_string(&bb, "mount", device->target);
+ if (device) {
+ block_info_dump(&bb, device);
+ } else {
+ void *a;
+
+ a = blobmsg_open_array(&bb, "devices");
+ vlist_for_each_element(&devices, device, node) {
+ void *t;
+
+ t = blobmsg_open_table(&bb, "");
+ block_info_dump(&bb, device);
+ blobmsg_close_table(&bb, t);