From 9a8323311ca500579b86905fcf539f17c193ce25 Mon Sep 17 00:00:00 2001 From: Pierre Aubert Date: Tue, 8 Oct 2013 14:20:27 +0200 Subject: [PATCH] env: fix the env export varname The env export command doesn't export the first variable of the list since commit 5a31ea04c9ee5544fbb70ad7597ea4b294840eab "env grep" - reimplement command using hexport_r() Signed-off-by: Pierre Aubert --- common/cmd_nvedit.c | 6 ++---- lib/hashtable.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 0d4d02c..5bcc324 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -157,10 +157,8 @@ static int do_env_grep(cmd_tbl_t *cmdtp, int flag, grep_how = H_MATCH_SUBSTR; /* default: substring search */ grep_what = H_MATCH_BOTH; /* default: grep names and values */ - while (argc > 1 && **(argv + 1) == '-') { - char *arg = *++argv; - - --argc; + while (--argc > 0 && **++argv == '-') { + char *arg = *argv; while (*++arg) { switch (*arg) { #ifdef CONFIG_REGEX diff --git a/lib/hashtable.c b/lib/hashtable.c index c5a2b08..4356b23 100644 --- a/lib/hashtable.c +++ b/lib/hashtable.c @@ -564,7 +564,7 @@ static int match_entry(ENTRY *ep, int flag, int arg; void *priv = NULL; - for (arg = 1; arg < argc; ++arg) { + for (arg = 0; arg < argc; ++arg) { #ifdef CONFIG_REGEX struct slre slre;