The function set_default_vars() in common.c adds H_INTERACTIVE to the
h_import() flag, but the function has no way of telling if the command
actually was user directed like this flag suggest. The flag should be
set by the calling function do_env_default() in nvedit.c instead, where
the command is certainty user directed.

Move the H_INTERACTIVE flag from set_default_vars() to do_env_default().

Signed-off-by: Yaniv Levinsky <yaniv.levin...@compulab.co.il>
Acked-by: Igor Grinberg <grinb...@compulab.co.il>
---
 cmd/nvedit.c | 2 +-
 env/common.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 1955dee0d0..8b73c606ca 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -780,7 +780,7 @@ int envmatch(uchar *s1, int i2)
 static int do_env_default(cmd_tbl_t *cmdtp, int flag,
                          int argc, char * const argv[])
 {
-       int all = 0, env_flag = 0;
+       int all = 0, env_flag = H_INTERACTIVE;
 
        debug("Initial value for argc=%d\n", argc);
        while (--argc > 0 && **++argv == '-') {
diff --git a/env/common.c b/env/common.c
index 6cf5eddaf6..05183a4af0 100644
--- a/env/common.c
+++ b/env/common.c
@@ -97,7 +97,7 @@ int set_default_vars(int nvars, char * const vars[], int 
flags)
         * Special use-case: import from default environment
         * (and use \0 as a separator)
         */
-       flags |= H_NOCLEAR | H_INTERACTIVE;
+       flags |= H_NOCLEAR;
        return himport_r(&env_htab, (const char *)default_environment,
                                sizeof(default_environment), '\0',
                                flags, 0, nvars, vars);
-- 
2.17.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to