+static void uci_show_value(struct uci_option *o)
+{
+ struct uci_element *e;
+ bool sep = false;
+
+ switch(o->type) {
+ case UCI_TYPE_STRING:
+ printf("%s\n", o->v.string);
+ break;
+ case UCI_TYPE_LIST:
+ uci_foreach_element(&o->v.list, e) {
+ printf("%s%s", (sep ? delimiter : ""), e->name);
+ sep = true;
+ }
+ printf("\n");
+ break;
+ default:
+ printf("<unknown>\n");
+ break;
+ }
+}
+
+static void uci_show_option(struct uci_option *o)
+{
+ printf("%s.%s.%s=",
+ o->section->package->e.name,
+ o->section->e.name,
+ o->e.name);
+ uci_show_value(o);
+}
+