From 9b67de66810c5bff9d69b69d01f96d4d3be12bca Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 31 Mar 2010 18:27:03 +0200 Subject: u-boot-tools: Implement fw_getenv for console usage --- env/Makefile | 1 + env/fw_env_main.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) (limited to 'env') diff --git a/env/Makefile b/env/Makefile index 2004a39..9158bee 100644 --- a/env/Makefile +++ b/env/Makefile @@ -13,6 +13,7 @@ romfs: test -e $(ROMFSDIR)/etc/fw_env.config || $(ROMFSINST) -d /etc/fw_env.config $(ROMFSINST) -s fw_env /bin/fw_printenv $(ROMFSINST) -s fw_env /bin/fw_setenv + $(ROMFSINST) -s fw_env /bin/fw_getenv clean: -rm -f *.o fw_env *.gdb diff --git a/env/fw_env_main.c b/env/fw_env_main.c index 7f631c4..3e022ed 100644 --- a/env/fw_env_main.c +++ b/env/fw_env_main.c @@ -46,6 +46,7 @@ #define CMD_PRINTENV "fw_printenv" #define CMD_SETENV "fw_setenv" +#define CMD_GETENV "fw_getenv" int main(int argc, char *argv[]) @@ -71,6 +72,19 @@ main(int argc, char *argv[]) return (EXIT_SUCCESS); + } else if (strcmp(cmdname, CMD_GETENV) == 0) { + + if (argc > 1) { + while (--argc) { + char *val = fw_getenv(argv[argc]); + + if (val) + printf("%s\n", val); + else + fprintf(stderr, "%s: no such variable in environment\n", argv[argc]); + } + } + return (EXIT_SUCCESS); } fprintf (stderr, -- cgit v1.2.3-54-g00ecf