autoscr: Fix one-character lines and non-newline terminated scripts
authorPetri Lehtinen <petri.lehtinen@inoi.fi>
Wed, 10 Sep 2008 06:43:49 +0000 (09:43 +0300)
committerWolfgang Denk <wd@denx.de>
Wed, 10 Sep 2008 09:09:39 +0000 (11:09 +0200)
When not using hush, the autoscr command now executes lines that are
only one character long. It also runs the last line of scripts even if
it does not end in a newline.

Signed-off-by: Petri Lehtinen <petri.lehtinen@inoi.fi>
common/cmd_autoscript.c

index c2e7e665aadd992a0b8023abb6c3c9fb7674a919..0439da2cd3befd4481cbfcf5001243335f74bf3e 100644 (file)
@@ -180,7 +180,7 @@ autoscript (ulong addr, const char *fit_uname)
                        if (*next == '\n') {
                                *next = '\0';
                                /* run only non-empty commands */
-                               if ((next - line) > 1) {
+                               if (*line) {
                                        debug ("** exec: \"%s\"\n",
                                                line);
                                        if (run_command (line, 0) < 0) {
@@ -192,6 +192,8 @@ autoscript (ulong addr, const char *fit_uname)
                        }
                        ++next;
                }
+               if (rcode == 0 && *line)
+                       rcode = (run_command(line, 0) >= 0);
        }
 #endif
        free (cmd);