diff options
author | Heiko Schocher <hs@denx.de> | 2014-01-25 07:27:12 +0100 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-02-21 11:33:19 -0500 |
commit | 06109f498faeae023f30254ed145030458ef1c41 (patch) | |
tree | 1f09ebe1b3e5dc459302096875c11c1d97987611 | |
parent | f9f4d809a0897317a0235661e934b69040e93e14 (diff) | |
download | u-boot-imx-06109f498faeae023f30254ed145030458ef1c41.zip u-boot-imx-06109f498faeae023f30254ed145030458ef1c41.tar.gz u-boot-imx-06109f498faeae023f30254ed145030458ef1c41.tar.bz2 |
common, itest: pass u-boot env variables to itest.s
compare two U-Boot Environment variables with itest.s, example:
=> print tmp ver
tmp=U-Boot 2013.10-g75e
ver=U-Boot 2013.10-g75eb4bc (Jan 21 2014 - 10:35:39)MPC83XX
=> print check_ub_ver
check_ub_ver=if itest.s \${tmp} == \${ver}; then echo equal; else echo diff ;fi
=> run check_ub_ver
diff
=> setenv tmp U-Boot 2013.10-g75eb4bc (Jan 21 2014 - 10:35:39)MPC83XX
=> print tmp ver
tmp=U-Boot 2013.10-g75eb4bc (Jan 21 2014 - 10:35:39)MPC83XX
ver=U-Boot 2013.10-g75eb4bc (Jan 21 2014 - 10:35:39)MPC83XX
=> run check_ub_ver
equal
Signed-off-by: Heiko Schocher <hs@denx.de>
-rw-r--r-- | common/cmd_itest.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/common/cmd_itest.c b/common/cmd_itest.c index 29f8076..ae2527b 100644 --- a/common/cmd_itest.c +++ b/common/cmd_itest.c @@ -71,6 +71,19 @@ static char * evalstr(char *s) /* if the parameter starts with a * then assume a string pointer else its a literal */ if (s[0] == '*') { return (char *)simple_strtoul(&s[1], NULL, 16); + } else if (s[0] == '$') { + int i = 2; + + if (s[1] != '{') + return NULL; + + while (s[i] != '}') { + if (s[i] == 0) + return NULL; + i++; + } + s[i] = 0; + return getenv((const char *)&s[2]); } else { return s; } |