X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgenconf%2Fconfnode.c;h=22aa068eccc8b046647cddfa68a22cdf46a6e410;hb=d8c2f3c983f787ff68e9ef8737804b86dba0a7cf;hp=6a859530ae736cc1312a769405b61b306186e9a6;hpb=bbaad1e5a8537b1226e261ed7a468c1e48fc0851;p=libcmdline.git diff --git a/src/genconf/confnode.c b/src/genconf/confnode.c index 6a85953..22aa068 100644 --- a/src/genconf/confnode.c +++ b/src/genconf/confnode.c @@ -439,7 +439,7 @@ void confnode_display_short(const struct confnode *n) if (n->ops->display_short) n->ops->display_short(n); else - printf("------ %s\n", n->prompt); + printf("------ %s\n", n->prompt); } /* Print a detailed view of the node. */ @@ -447,6 +447,7 @@ void confnode_display_long(const struct confnode *n) { const char *nodetype; char value[MAX_VALUE_SIZE]; + char default_value[MAX_VALUE_SIZE]; const char *quote = ""; if (n->ops->display_long) { @@ -454,7 +455,6 @@ void confnode_display_long(const struct confnode *n) return; } - value[0] = '\0'; /* XXX get_value */ nodetype = confnode_get_type_str(n); printf("%s <%s>\n", nodetype, n->name); printf(" path "); @@ -462,9 +462,23 @@ void confnode_display_long(const struct confnode *n) if (n->flags & CONFNODE_F_QUOTE_VALUE) quote = "\""; + + /* display real value */ + if (confnode_get_value(n, value, sizeof(value)) < 0) + snprintf(value, sizeof(value), "invalid"); printf(" value %s%s%s\n", quote, value, quote); - printf(" wanted %s%s%s\n", quote, n->value, quote); - printf(" default %s%s%s\n", quote, n->default_value, quote); + + /* display user value */ + if (!strcmp(n->value, "")) + printf(" user NONE\n"); + else + printf(" user %s%s%s\n", quote, n->value, quote); + + /* display default value */ + confnode_get_default_strvalue(n, default_value, MAX_VALUE_SIZE); + printf(" default %s%s%s\n", quote, default_value, quote); + + /* check and display deps */ confnode_check_deps(n, 1); }