cmd: nvedit: set H_INTERACTIVE in do_env_default

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.levinsky@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
lime2-spi
Yaniv Levinsky 6 years ago committed by Tom Rini
parent 477f8116d5
commit 5a04264ecf
  1. 2
      cmd/nvedit.c
  2. 2
      env/common.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 == '-') {

2
env/common.c vendored

@ -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);

Loading…
Cancel
Save