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>
master
Heiko Schocher 10 years ago committed by Tom Rini
parent f9f4d809a0
commit 06109f498f
  1. 13
      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;
}

Loading…
Cancel
Save