Revert "boot cmds: convert to getenv_yesno() with autostart"
This reverts commit 5a442c0addc69d0c4b58e98e5aec1cf07576debb.
This commit changed the behaviour of getenv_yesno() (both the default
behaviour and the documented behaviour for abbreviated arguments)
which resulted in problems in several areas.
Signed-off-by: Wolfgang Denk <wd@denx.de>
diff --git a/common/cmd_fdc.c b/common/cmd_fdc.c
index d373480..cdb050c 100644
--- a/common/cmd_fdc.c
+++ b/common/cmd_fdc.c
@@ -721,6 +721,7 @@
image_header_t *hdr; /* used for fdc boot */
unsigned char boot_drive;
int i,nrofblk;
+ char *ep;
int rcode = 0;
#if defined(CONFIG_FIT)
const void *fit_hdr = NULL;
@@ -823,7 +824,7 @@
load_addr = addr;
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
diff --git a/common/cmd_fdos.c b/common/cmd_fdos.c
index 238abdd..2af4ca0 100644
--- a/common/cmd_fdos.c
+++ b/common/cmd_fdos.c
@@ -99,7 +99,7 @@
size, load_addr);
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
local_args[1] = NULL;
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index f6278812..df7bdf5 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -496,7 +496,7 @@
load_addr = addr;
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index c547a68..6783645 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -711,7 +711,7 @@
ulong offset, ulong addr, char *cmd)
{
int r;
- char *s;
+ char *ep, *s;
size_t cnt;
image_header_t *hdr;
#if defined(CONFIG_FIT)
@@ -787,7 +787,7 @@
load_addr = addr;
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep, "yes") == 0)) {
char *local_args[2];
local_args[0] = cmd;
diff --git a/common/cmd_net.c b/common/cmd_net.c
index 00e0ea8..8c6f5c8 100644
--- a/common/cmd_net.c
+++ b/common/cmd_net.c
@@ -211,7 +211,7 @@
flush_cache(load_addr, size);
/* Loading ok, check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((s = getenv("autostart")) != NULL) && (strcmp(s,"yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
local_args[1] = NULL;
diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
index 63a46de..be4fe74 100644
--- a/common/cmd_scsi.c
+++ b/common/cmd_scsi.c
@@ -327,7 +327,7 @@
flush_cache (addr, (cnt+1)*info.blksz);
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
local_args[1] = NULL;
diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index 8439198..b04a8df 100644
--- a/common/cmd_usb.c
+++ b/common/cmd_usb.c
@@ -488,7 +488,7 @@
flush_cache(addr, (cnt+1)*info.blksz);
/* Check if we should attempt an auto-start */
- if (getenv_yesno("autostart")) {
+ if (((ep = getenv("autostart")) != NULL) && (strcmp(ep, "yes") == 0)) {
char *local_args[2];
local_args[0] = argv[0];
local_args[1] = NULL;