]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cli_simple.c
JFFS2: Speed up and fix comparison functions
[karo-tx-uboot.git] / common / cli_simple.c
index 0610615ea5ab05ea82efa7e172dd5fb9a23c5e0b..00a8d2f48b33d767d69310345eb900345b6197ab 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <bootretry.h>
 #include <cli.h>
 #include <linux/ctype.h>
 
@@ -19,7 +20,7 @@
        debug_cond(DEBUG_PARSER, fmt, ##args)
 
 
-int parse_line(char *line, char *argv[])
+int cli_simple_parse_line(char *line, char *argv[])
 {
        int nargs = 0;
 
@@ -56,7 +57,7 @@ int parse_line(char *line, char *argv[])
        return nargs;
 }
 
-static void process_macros(const char *input, char *output)
+void cli_simple_process_macros(const char *input, char *output)
 {
        char c, prev;
        const char *varname_start = NULL;
@@ -67,7 +68,7 @@ static void process_macros(const char *input, char *output)
        /* 1 = waiting for '(' or '{' */
        /* 2 = waiting for ')' or '}' */
        /* 3 = waiting for '''  */
-       char *output_start = output;
+       char __maybe_unused *output_start = output;
 
        debug_parser("[PROCESS_MACROS] INPUT len %zd: \"%s\"\n", strlen(input),
                     input);
@@ -235,10 +236,10 @@ int cli_simple_run_command(const char *cmd, int flag)
                debug_parser("token: \"%s\"\n", token);
 
                /* find macros in this token and replace them */
-               process_macros(token, finaltoken);
+               cli_simple_process_macros(token, finaltoken);
 
                /* Extract arguments */
-               argc = parse_line(finaltoken, argv);
+               argc = cli_simple_parse_line(finaltoken, argv);
                if (argc == 0) {
                        rc = -1;        /* no command at all */
                        continue;
@@ -255,7 +256,7 @@ int cli_simple_run_command(const char *cmd, int flag)
        return rc ? rc : repeatable;
 }
 
-void cli_loop(void)
+void cli_simple_loop(void)
 {
        static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
 
@@ -264,15 +265,13 @@ void cli_loop(void)
        int rc = 1;
 
        for (;;) {
-#ifdef CONFIG_BOOT_RETRY_TIME
                if (rc >= 0) {
                        /* Saw enough of a valid command to
                         * restart the timeout.
                         */
-                       reset_cmd_timeout();
+                       bootretry_reset_cmd_timeout();
                }
-#endif
-               len = readline(CONFIG_SYS_PROMPT);
+               len = cli_readline(CONFIG_SYS_PROMPT);
 
                flag = 0;       /* assume no special flags for now */
                if (len > 0)
@@ -296,7 +295,7 @@ void cli_loop(void)
                if (len == -1)
                        puts("<INTERRUPT>\n");
                else
-                       rc = run_command(lastcommand, flag);
+                       rc = run_command_repeatable(lastcommand, flag);
 
                if (rc <= 0) {
                        /* invalid command or not repeatable, forget it */
@@ -332,7 +331,7 @@ int cli_simple_run_command_list(char *cmd, int flag)
                ++next;
        }
        if (rcode == 0 && *line)
-               rcode = (cli_simple_run_command(line, 0) >= 0);
+               rcode = (cli_simple_run_command(line, 0) < 0);
 
        return rcode;
 }