diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2012-12-11 22:16:22 -0600 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-12-13 11:46:55 -0700 |
commit | ec8a252cd492a7a409d6912aebeff34bb9e1e1e1 (patch) | |
tree | 346bb7bedd1dfe13f531725e7e0edaa2d80df1a8 /common | |
parent | 7afcf3a55b5f484b3d3442053fae8186a3fb92d7 (diff) |
env: Use getenv_yesno() more generally
Move the getenv_yesno() to env_common.c and change most checks for
'y' or 'n' to use this helper.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/env_common.c | 14 | ||||
-rw-r--r-- | common/image.c | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/common/env_common.c b/common/env_common.c index a960aa8033c..067fe3f4c1a 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -81,6 +81,20 @@ const uchar *env_get_addr(int index) return &default_environment[index]; } +/* + * Read an environment variable as a boolean + * Return -1 if variable does not exist (default to true) + */ +int getenv_yesno(const char *var) +{ + char *s = getenv(var); + + if (s == NULL) + return -1; + return (*s == '1' || *s == 'y' || *s == 'Y' || *s == 't' || *s == 'T') ? + 1 : 0; +} + void set_default_env(const char *s) { int flags = 0; diff --git a/common/image.c b/common/image.c index e93b6e89cf9..69e888c5d50 100644 --- a/common/image.c +++ b/common/image.c @@ -416,12 +416,6 @@ static const image_header_t *image_get_ramdisk(ulong rd_addr, uint8_t arch, /* Shared dual-format routines */ /*****************************************************************************/ #ifndef USE_HOSTCC -int getenv_yesno(char *var) -{ - char *s = getenv(var); - return (s && (*s == 'n')) ? 0 : 1; -} - ulong getenv_bootm_low(void) { char *s = getenv("bootm_low"); |