summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-11-26 13:53:42 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-11-29 20:55:50 +0100
commita94db01cdce44acc50c7ad8ebcb9040b0020fabd (patch)
tree7437bd7b7980597970f151772fda2436afe79350
parent248e5f1cbed581c1bf6288831b6888e2166fb952 (diff)
downloadbarebox-a94db01cdce44acc50c7ad8ebcb9040b0020fabd.tar.gz
barebox-a94db01cdce44acc50c7ad8ebcb9040b0020fabd.tar.xz
introduce some env helpers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--common/env.c22
-rw-r--r--include/environment.h3
2 files changed, 25 insertions, 0 deletions
diff --git a/common/env.c b/common/env.c
index 05ed71418e..e57a520a35 100644
--- a/common/env.c
+++ b/common/env.c
@@ -251,3 +251,25 @@ int export(const char *varname)
return 0;
}
EXPORT_SYMBOL(export);
+
+void export_env_ull(const char *name, unsigned long long val)
+{
+ char *valstr = asprintf("%lld", val);
+
+ setenv(name, valstr);
+ export(name);
+
+ kfree(valstr);
+}
+EXPORT_SYMBOL(export_env_ull);
+
+unsigned long long getenv_ull(const char *name)
+{
+ const char *valstr = getenv(name);
+
+ if (!valstr)
+ return 0;
+
+ return simple_strtoull(valstr, NULL, 0);
+}
+EXPORT_SYMBOL(getenv_ull);
diff --git a/include/environment.h b/include/environment.h
index da032e21d6..6d38755ae7 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -59,6 +59,9 @@ static inline int setenv(const char *var, const char *val)
}
#endif
+void export_env_ull(const char *name, unsigned long long val);
+unsigned long long getenv_ull(const char *name);
+
int env_pop_context(void);
int env_push_context(void);