Add command for handling DDR ECC registers on MPC8349EE MDS board.
[oweals/u-boot.git] / common / main.c
index 0869426f17dd1830f6a4e8514e7179f37ddc40c4..445cb18491b0688eaad32a774583a5203ac1c21b 100644 (file)
@@ -26,7 +26,9 @@
 #include <common.h>
 #include <watchdog.h>
 #include <command.h>
-#include <malloc.h>
+#ifdef CONFIG_MODEM_SUPPORT
+#include <malloc.h>            /* for free() prototype */
+#endif
 
 #ifdef CFG_HUSH_PARSER
 #include <hush.h>
@@ -345,7 +347,7 @@ void main_loop (void)
 #ifdef CONFIG_MODEM_SUPPORT
        debug ("DEBUG: main_loop:   do_mdm_init=%d\n", do_mdm_init);
        if (do_mdm_init) {
-               uchar *str = strdup(getenv("mdm_cmd"));
+               char *str = strdup(getenv("mdm_cmd"));
                setenv ("preboot", str);  /* set or delete definition */
                if (str != NULL)
                        free (str);
@@ -432,7 +434,7 @@ void main_loop (void)
            s = getenv("menucmd");
            if (s) {
 # ifndef CFG_HUSH_PARSER
-               run_command (s, bd, 0);
+               run_command (s, 0);
 # else
                parse_string_outer(s, FLAG_PARSE_SEMICOLON |
                                    FLAG_EXIT_FROM_LOOP);
@@ -917,7 +919,10 @@ int run_command (const char *cmd, int flag)
                process_macros (token, finaltoken);
 
                /* Extract arguments */
-               argc = parse_line (finaltoken, argv);
+               if ((argc = parse_line (finaltoken, argv)) == 0) {
+                       rc = -1;        /* no command at all */
+                       continue;
+               }
 
                /* Look up command in command table */
                if ((cmdtp = find_cmd(argv[0])) == NULL) {
@@ -943,9 +948,9 @@ int run_command (const char *cmd, int flag)
                                puts ("'bootd' recursion detected\n");
                                rc = -1;
                                continue;
-                       }
-                       else
+                       } else {
                                flag |= CMD_FLAG_BOOTD;
+                       }
                }
 #endif /* CFG_CMD_BOOTD */