fputs("\n", stdout);
} else if (ctl->output & OUTPUT_JSON) {
+ if (num == 1 && devname)
+ ul_jsonwrt_value_s(ctl->json_fmt, "device", devname);
ul_jsonwrt_value_s_sized(ctl->json_fmt, name, value, valsz);
} else {
return;
}
- if (ctl->output == OUTPUT_JSON) {
- ul_jsonwrt_init(ctl->json_fmt, stdout, 0);
+ if (ctl->output == OUTPUT_JSON)
ul_jsonwrt_open(ctl->json_fmt, NULL, UL_JSON_OBJECT);
- }
iter = blkid_tag_iterate_begin(dev);
while (blkid_tag_next(iter, &type, &value) == 0) {
*/
blkid_dev dev;
+ if (ctl.output & OUTPUT_JSON)
+ ul_jsonwrt_init(ctl.json_fmt, stdout, 0);
+
if (!search_type)
errx(BLKID_EXIT_OTHER,
_("The lookup option requires a "
blkid_dev_iterate iter;
blkid_dev dev;
+ if (ctl.output & OUTPUT_JSON) {
+ ul_jsonwrt_init(ctl.json_fmt, stdout, 0);
+ ul_jsonwrt_array_open(ctl.json_fmt, NULL);
+ }
+
blkid_probe_all(cache);
iter = blkid_dev_iterate_begin(cache);
err = 0;
}
blkid_dev_iterate_end(iter);
+
+ if (ctl.output == OUTPUT_JSON) {
+ ul_jsonwrt_array_close(ctl.json_fmt);
+ fprintf(stdout, "\n");
+ }
+
/* Add all specified devices to cache (optionally display tags) */
} else for (i = 0; i < numdev; i++) {
blkid_dev dev = blkid_get_dev(cache, devices[i],
BLKID_DEV_NORMAL);
+ if (ctl.output & OUTPUT_JSON)
+ ul_jsonwrt_init(ctl.json_fmt, stdout, 0);
+
if (dev) {
if (search_type &&
!blkid_dev_has_tag(dev, search_type,