diff options
Diffstat (limited to 'common/env.c')
-rw-r--r-- | common/env.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/common/env.c b/common/env.c index 5ac1e62b8c..7a213cadb2 100644 --- a/common/env.c +++ b/common/env.c @@ -80,7 +80,7 @@ int env_push_context(void) */ int env_pop_context(void) { - struct env_context *c = context; + struct env_context *c; if (context->parent) { c = context->parent; @@ -127,7 +127,7 @@ static const char *dev_getenv(const char *name) { const char *pos, *val, *dot, *varname; char *devname; - struct device_d *dev; + struct device *dev; pos = name; @@ -215,7 +215,7 @@ static int dev_setenv(const char *name, const char *val) { const char *pos, *dot, *varname; char *devname; - struct device_d *dev; + struct device *dev; pos = name; @@ -343,19 +343,30 @@ const char *getenv_nonempty(const char *var) } EXPORT_SYMBOL(getenv_nonempty); -int getenv_ull(const char *var , unsigned long long *val) +static int getenv_ull_base(const char *var, int base, unsigned long long *val) { const char *valstr = getenv(var); if (!valstr || !*valstr) return -EINVAL; - *val = simple_strtoull(valstr, NULL, 0); + *val = simple_strtoull(valstr, NULL, base); return 0; } + +int getenv_ull(const char *var , unsigned long long *val) +{ + return getenv_ull_base(var, 0, val); +} EXPORT_SYMBOL(getenv_ull); +int getenv_ullx(const char *var , unsigned long long *val) +{ + return getenv_ull_base(var, 16, val); +} +EXPORT_SYMBOL(getenv_ullx); + int getenv_ul(const char *var , unsigned long *val) { const char *valstr = getenv(var); |