Section names, option names, list names can only be identifiers, so they don't
need to be quoted.
Strip quotes except from values.
Signed-off-by: Philip Prindeville <[email protected]>
Index: package/uci/patches/100-unnecessary-quotes.patch
===================================================================
--- package/uci/patches/100-unnecessary-quotes.patch (revision 0)
+++ package/uci/patches/100-unnecessary-quotes.patch (revision 0)
@@ -0,0 +1,31 @@
+--- uci-2011-11-14.1/file.c.orig 2011-11-14 06:14:41.000000000 -0700
++++ uci-2011-11-14.1/file.c 2012-02-22 17:11:09.846419638 -0700
+@@ -561,23 +561,23 @@ static void uci_export_package(struct uc
+ struct uci_element *s, *o, *i;
+
+ if (header)
+- fprintf(stream, "package '%s'\n", uci_escape(ctx, p->e.name));
++ fprintf(stream, "package %s\n", uci_escape(ctx, p->e.name));
+ uci_foreach_element(&p->sections, s) {
+ struct uci_section *sec = uci_to_section(s);
+- fprintf(stream, "\nconfig '%s'", uci_escape(ctx, sec->type));
++ fprintf(stream, "\nconfig %s", uci_escape(ctx, sec->type));
+ if (!sec->anonymous || (ctx->flags & UCI_FLAG_EXPORT_NAME))
+- fprintf(stream, " '%s'", uci_escape(ctx, sec->e.name));
++ fprintf(stream, " %s", uci_escape(ctx, sec->e.name));
+ fprintf(stream, "\n");
+ uci_foreach_element(&sec->options, o) {
+ struct uci_option *opt = uci_to_option(o);
+ switch(opt->type) {
+ case UCI_TYPE_STRING:
+- fprintf(stream, "\toption '%s'",
uci_escape(ctx, opt->e.name));
++ fprintf(stream, "\toption %s", uci_escape(ctx,
opt->e.name));
+ fprintf(stream, " '%s'\n", uci_escape(ctx,
opt->v.string));
+ break;
+ case UCI_TYPE_LIST:
+ uci_foreach_element(&opt->v.list, i) {
+- fprintf(stream, "\tlist '%s'",
uci_escape(ctx, opt->e.name));
++ fprintf(stream, "\tlist %s",
uci_escape(ctx, opt->e.name));
+ fprintf(stream, " '%s'\n",
uci_escape(ctx, i->name));
+ }
+ break;
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel