
Hello Kim,
Kim Phillips:
On Wed, 28 Jan 2009 10:38:42 +0100 Heiko Schocher hs@denx.de wrote:
+++ b/common/cmd_nvedit.c @@ -75,7 +75,12 @@ DECLARE_GLOBAL_DATA_PTR; static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE; #define N_BAUDRATES (sizeof(baudrate_table) / sizeof(baudrate_table[0]))
+static int env_id = 1;
+int get_env_id (void) +{
- return env_id;
+}
does getting env_id really need be a function?
not absolute, but accesing this var from another file by a function seems better to me.
diff --git a/net/eth.c b/net/eth.c index b7ef09f..d1d73cb 100644 --- a/net/eth.c +++ b/net/eth.c @@ -28,7 +28,11 @@
#if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
+static char *act = 0; +static int env_changed_id = 0;
/* +*
please don't mess with the already good comment coding style.
Argh, sorry.
- CPU and board-specific Ethernet initializations. Aliased function
- signals caller to move on
*/ @@ -439,13 +443,16 @@ void eth_try_another(int first_restart) #ifdef CONFIG_NET_MULTI void eth_set_current(void) {
char *act; struct eth_device* old_current;
if (!eth_current) /* XXX no current */ return;
act = getenv("ethact");
- if ((*act == 0) || (env_changed_id < get_env_id()))
If I'm not mistaken, this will unintentionally dereference address 0 the first time this is executed.
Hmm.. must think about it.
thanks Heiko