summaryrefslogtreecommitdiffstats
path: root/commands/magicvar.c
diff options
context:
space:
mode:
Diffstat (limited to 'commands/magicvar.c')
-rw-r--r--commands/magicvar.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/commands/magicvar.c b/commands/magicvar.c
index d92788a60f..cf1fe45d9d 100644
--- a/commands/magicvar.c
+++ b/commands/magicvar.c
@@ -1,21 +1,49 @@
#include <common.h>
#include <command.h>
+#include <getopt.h>
+#include <environment.h>
#include <magicvar.h>
static int do_magicvar(int argc, char *argv[])
{
struct magicvar *m;
+ int opt;
+ int verbose = 0;
+
+ while ((opt = getopt(argc, argv, "v")) > 0) {
+ switch (opt) {
+ case 'v':
+ verbose = 1;
+ break;
+ default:
+ return COMMAND_ERROR_USAGE;
+ }
+ }
for (m = &__barebox_magicvar_start;
m != &__barebox_magicvar_end;
- m++)
+ m++) {
printf("%-32s %s\n", m->name, m->description);
+ if (verbose) {
+ const char *val = getenv(m->name);
+ if (val && strlen(val))
+ printf(" %s\n", val);
+ }
+ }
return 0;
}
+
+BAREBOX_CMD_HELP_START(magicvar)
+BAREBOX_CMD_HELP_TEXT("Options:")
+BAREBOX_CMD_HELP_OPT ("-v", "verbose (list all value if there is one)")
+BAREBOX_CMD_HELP_END
+
BAREBOX_CMD_START(magicvar)
.cmd = do_magicvar,
BAREBOX_CMD_DESC("list information about magic variables")
+ BAREBOX_CMD_OPTS("[-v]")
+ BAREBOX_CMD_HELP(cmd_magicvar_help)
BAREBOX_CMD_GROUP(CMD_GRP_ENV)
BAREBOX_CMD_END