summaryrefslogtreecommitdiffstats
path: root/common/env.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/env.c')
-rw-r--r--common/env.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/common/env.c b/common/env.c
index d673b061ab..7a213cadb2 100644
--- a/common/env.c
+++ b/common/env.c
@@ -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);