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>
This commit is contained in:
parent
f9f4d809a0
commit
06109f498f
1 changed files with 13 additions and 0 deletions
|
@ -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…
Reference in a new issue