summaryrefslogtreecommitdiffstats
path: root/defaultenv/defaultenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'defaultenv/defaultenv.c')
-rw-r--r--defaultenv/defaultenv.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/defaultenv/defaultenv.c b/defaultenv/defaultenv.c
index dc0e484c88..3b4efcfd36 100644
--- a/defaultenv/defaultenv.c
+++ b/defaultenv/defaultenv.c
@@ -50,10 +50,20 @@ static void defaultenv_add_base(void)
defaultenv_append_directory(defaultenv_2_dfu);
if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC))
defaultenv_append_directory(defaultenv_1);
+}
+
+static void defaultenv_add_external(void)
+{
+ static int external_added;
+
+ if (external_added)
+ return;
+
+ external_added = 1;
/*
- * The traditional environment given with CONFIG_DEFAULT_ENVIRONMENT_PATH.
- * Once all users are converted to bbenv-y this can go.
+ * The traditional or external environment given with
+ * CONFIG_DEFAULT_ENVIRONMENT_PATH.
*/
defaultenv_append((void *)default_environment,
default_environment_size, "defaultenv");
@@ -141,6 +151,8 @@ int defaultenv_load(const char *dir, unsigned flags)
defaultenv_add_base();
+ defaultenv_add_external();
+
list_for_each_entry(df, &defaultenv_list, list) {
ret = defaultenv_load_one(df, dir, flags);
if (ret)