From: Pierre Aubert
Date: Tue, 8 Oct 2013 12:20:27 +0000 (+0200)
Subject: env: fix the env export varname
X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=9a8323311ca500579b86905fcf539f17c193ce25;p=u-boot.git
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
---
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 0d4d02cfe0..5bcc324675 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 c5a2b08bec..4356b234ec 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;