summaryrefslogtreecommitdiff
path: root/nuttx/tools
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-04-20 17:29:10 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-04-20 17:29:10 -0600
commita8e43d6e4dfc6f2ae1da21776cf770c095dd282b (patch)
tree64cadbf132e22ed1f9737269ebf3dc655ca75653 /nuttx/tools
parent60e400c82f6bf3479b0b2c36f3579c656f686ed0 (diff)
downloadpx4-nuttx-a8e43d6e4dfc6f2ae1da21776cf770c095dd282b.tar.gz
px4-nuttx-a8e43d6e4dfc6f2ae1da21776cf770c095dd282b.tar.bz2
px4-nuttx-a8e43d6e4dfc6f2ae1da21776cf770c095dd282b.zip
Yet more kconfg2html logic
Diffstat (limited to 'nuttx/tools')
-rw-r--r--nuttx/tools/kconfig2html.c65
1 files changed, 62 insertions, 3 deletions
diff --git a/nuttx/tools/kconfig2html.c b/nuttx/tools/kconfig2html.c
index 539e44ffe..532522c16 100644
--- a/nuttx/tools/kconfig2html.c
+++ b/nuttx/tools/kconfig2html.c
@@ -77,6 +77,7 @@ enum token_type_e
TOKEN_HEX,
TOKEN_STRING,
TOKEN_DEFAULT,
+ TOKEN_RANGE,
TOKEN_SELECT,
TOKEN_DEPENDS,
TOKEN_ON,
@@ -138,6 +139,8 @@ struct config_s
char *cname;
char *cdesc;
char *cdefault;
+ char *clower;
+ char *cupper;
char *cselect[MAX_SELECT];
int cnselect;
int cndependencies;
@@ -188,6 +191,7 @@ static struct reserved_s g_reserved[] =
{TOKEN_HEX, "hex"},
{TOKEN_STRING, "string"},
{TOKEN_DEFAULT, "default"},
+ {TOKEN_RANGE, "range"},
{TOKEN_SELECT, "select"},
{TOKEN_DEPENDS, "depends"},
{TOKEN_ON, "on"},
@@ -1006,6 +1010,24 @@ static inline char *process_config(FILE *stream, const char *configname,
}
break;
+ case TOKEN_RANGE:
+ {
+ char *value = strtok_r(NULL, " ,", &g_lasts);
+ if (value)
+ {
+ config.clower = strdup(value);
+
+ value = strtok_r(NULL, " ", &g_lasts);
+ if (value)
+ {
+ config.cupper = strdup(value);
+ }
+ }
+
+ token = NULL;
+ }
+ break;
+
case TOKEN_SELECT:
{
char *value;
@@ -1129,6 +1151,26 @@ static inline char *process_config(FILE *stream, const char *configname,
body(" <li><i>Default</i>: %s</li>\n", config.cdefault);
}
+ /* Print the range of values of the configuration variable */
+
+ if (config.clower || config.cupper)
+ {
+ body(" <li><i>Range</i>:\n");
+ if (config.clower)
+ {
+ body(" %s", config.clower);
+ }
+
+ body(" -", config.clower);
+
+ if (config.cupper)
+ {
+ body(" %s", config.cupper);
+ }
+
+ body("</li>\n");
+ }
+
/* Print the default value of the configuration variable auto-selected by this setting */
if (config.cnselect > 0)
@@ -1204,6 +1246,16 @@ static inline char *process_config(FILE *stream, const char *configname,
free(config.cdefault);
}
+ if (config.clower)
+ {
+ free(config.clower);
+ }
+
+ if (config.cupper)
+ {
+ free(config.cupper);
+ }
+
if (config.cnselect > 0)
{
for (i = 0; i < config.cnselect; i++)
@@ -1473,13 +1525,13 @@ static inline char *process_menu(FILE *stream, const char *kconfigdir)
/* Output menu information */
paranum = get_paranum();
- if (menuname)
+ if (menu.mname)
{
output("<li><a href=\"#menu_%d\">%s Menu: %s</a></li>\n",
- g_menu_number, paranum, menuname);
+ g_menu_number, paranum, menu.mname);
output("<ul>\n");
body("\n<h1><a name=\"menu_%d\">%s Menu: %s</a></h1>\n",
- g_menu_number, paranum, menuname);
+ g_menu_number, paranum, menu.mname);
}
else
{
@@ -1514,6 +1566,13 @@ static inline char *process_menu(FILE *stream, const char *kconfigdir)
pop_dependency();
}
+ /* Free any allocated memory */
+
+ if (menu.mname)
+ {
+ free(menu.mname);
+ }
+
/* Increment the nesting level */
incr_level();