diff options
| author | Joe Hershberger <joe.hershberger@ni.com> | 2012-12-11 22:16:23 -0600 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2012-12-13 11:46:55 -0700 | 
| commit | be11235ab802844e12d84921a38fd8ae4ddda080 (patch) | |
| tree | 3ae5bb11aec34357c28bb46ed9ed66ad94f9f63f /common | |
| parent | ec8a252cd492a7a409d6912aebeff34bb9e1e1e1 (diff) | |
| download | olio-uboot-2014.01-be11235ab802844e12d84921a38fd8ae4ddda080.tar.xz olio-uboot-2014.01-be11235ab802844e12d84921a38fd8ae4ddda080.zip | |
env: Hide '.' variables in env print by default
When printing all variables with env print, don't print variables that
begin with '.'.  If env print is called with a '-a' switch, then
include variables that begin with '.' (just like the ls command).
Variables printed explicitly will be printed even without the -a.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'common')
| -rw-r--r-- | common/cmd_nvedit.c | 26 | ||||
| -rw-r--r-- | common/env_dataflash.c | 2 | ||||
| -rw-r--r-- | common/env_eeprom.c | 2 | ||||
| -rw-r--r-- | common/env_fat.c | 2 | ||||
| -rw-r--r-- | common/env_flash.c | 4 | ||||
| -rw-r--r-- | common/env_mmc.c | 2 | ||||
| -rw-r--r-- | common/env_nand.c | 4 | ||||
| -rw-r--r-- | common/env_nvram.c | 2 | ||||
| -rw-r--r-- | common/env_onenand.c | 2 | ||||
| -rw-r--r-- | common/env_sf.c | 4 | 
10 files changed, 29 insertions, 21 deletions
| diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index da5689ca6..022ad3942 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -106,7 +106,7 @@ int get_env_id(void)   *   * Returns 0 in case of error, or length of printed string   */ -static int env_print(char *name) +static int env_print(char *name, int flag)  {  	char *res = NULL;  	size_t len; @@ -116,7 +116,7 @@ static int env_print(char *name)  		e.key = name;  		e.data = NULL; -		hsearch_r(e, FIND, &ep, &env_htab, 0); +		hsearch_r(e, FIND, &ep, &env_htab, flag);  		if (ep == NULL)  			return 0;  		len = printf("%s=%s\n", ep->key, ep->data); @@ -124,7 +124,7 @@ static int env_print(char *name)  	}  	/* print whole list */ -	len = hexport_r(&env_htab, '\n', &res, 0, 0, NULL); +	len = hexport_r(&env_htab, '\n', flag, &res, 0, 0, NULL);  	if (len > 0) {  		puts(res); @@ -141,10 +141,17 @@ static int do_env_print(cmd_tbl_t *cmdtp, int flag, int argc,  {  	int i;  	int rcode = 0; +	int env_flag = H_HIDE_DOT; + +	if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'a') { +		argc--; +		argv++; +		env_flag &= ~H_HIDE_DOT; +	}  	if (argc == 1) {  		/* print all env vars */ -		rcode = env_print(NULL); +		rcode = env_print(NULL, env_flag);  		if (!rcode)  			return 1;  		printf("\nEnvironment size: %d/%ld bytes\n", @@ -153,8 +160,9 @@ static int do_env_print(cmd_tbl_t *cmdtp, int flag, int argc,  	}  	/* print selected env vars */ +	env_flag &= ~H_HIDE_DOT;  	for (i = 1; i < argc; ++i) { -		int rc = env_print(argv[i]); +		int rc = env_print(argv[i], env_flag);  		if (!rc) {  			printf("## Error: \"%s\" not defined\n", argv[i]);  			++rcode; @@ -807,7 +815,7 @@ NXTARG:		;  	argv++;  	if (sep) {		/* export as text file */ -		len = hexport_r(&env_htab, sep, &addr, size, argc, argv); +		len = hexport_r(&env_htab, sep, 0, &addr, size, argc, argv);  		if (len < 0) {  			error("Cannot export environment: errno = %d\n", errno);  			return 1; @@ -825,7 +833,7 @@ NXTARG:		;  	else			/* export as raw binary data */  		res = addr; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, argc, argv); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, argc, argv);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; @@ -1037,7 +1045,7 @@ static char env_help_text[] =  #if defined(CONFIG_CMD_IMPORTENV)  	"env import [-d] [-t | -b | -c] addr [size] - import environment\n"  #endif -	"env print [name ...] - print environment\n" +	"env print [-a | name ...] - print environment\n"  #if defined(CONFIG_CMD_RUN)  	"env run var [...] - run commands in an environment variable\n"  #endif @@ -1069,7 +1077,7 @@ U_BOOT_CMD_COMPLETE(  U_BOOT_CMD_COMPLETE(  	printenv, CONFIG_SYS_MAXARGS, 1,	do_env_print,  	"print environment variables", -	"\n    - print values of all environment variables\n" +	"[-a]\n    - print [all] values of all environment variables\n"  	"printenv name ...\n"  	"    - print value of environment variable 'name'",  	var_complete diff --git a/common/env_dataflash.c b/common/env_dataflash.c index 3c5af37bf..38c96157b 100644 --- a/common/env_dataflash.c +++ b/common/env_dataflash.c @@ -60,7 +60,7 @@ int saveenv(void)  	char	*res;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_eeprom.c b/common/env_eeprom.c index b66bba29f..45c935b6d 100644 --- a/common/env_eeprom.c +++ b/common/env_eeprom.c @@ -139,7 +139,7 @@ int saveenv(void)  	BUG_ON(env_ptr != NULL);  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_fat.c b/common/env_fat.c index 6ef531821..c0f18ab97 100644 --- a/common/env_fat.c +++ b/common/env_fat.c @@ -61,7 +61,7 @@ int saveenv(void)  	int err;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_flash.c b/common/env_flash.c index aa970d440..e07d336a4 100644 --- a/common/env_flash.c +++ b/common/env_flash.c @@ -142,7 +142,7 @@ int saveenv(void)  		goto done;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		goto done; @@ -275,7 +275,7 @@ int saveenv(void)  		goto done;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		goto done; diff --git a/common/env_mmc.c b/common/env_mmc.c index a2ff90bf4..ce2167121 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -130,7 +130,7 @@ int saveenv(void)  	}  	res = (char *)&env_new->data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		ret = 1; diff --git a/common/env_nand.c b/common/env_nand.c index 79e803370..22e72a20b 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -186,7 +186,7 @@ int saveenv(void)  		return 1;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; @@ -239,7 +239,7 @@ int saveenv(void)  		return 1;  	res = (char *)&env_new->data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_nvram.c b/common/env_nvram.c index 6483db39d..eab0e7be0 100644 --- a/common/env_nvram.c +++ b/common/env_nvram.c @@ -90,7 +90,7 @@ int saveenv(void)  	int	rcode = 0;  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_onenand.c b/common/env_onenand.c index da3507125..faa903d2f 100644 --- a/common/env_onenand.c +++ b/common/env_onenand.c @@ -95,7 +95,7 @@ int saveenv(void)  	};  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; diff --git a/common/env_sf.c b/common/env_sf.c index bbd472fcf..d9e908546 100644 --- a/common/env_sf.c +++ b/common/env_sf.c @@ -79,7 +79,7 @@ int saveenv(void)  	}  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		return 1; @@ -277,7 +277,7 @@ int saveenv(void)  	}  	res = (char *)&env_new.data; -	len = hexport_r(&env_htab, '\0', &res, ENV_SIZE, 0, NULL); +	len = hexport_r(&env_htab, '\0', 0, &res, ENV_SIZE, 0, NULL);  	if (len < 0) {  		error("Cannot export environment: errno = %d\n", errno);  		goto done; |