[U-Boot] [RFC 1/2] cmd: Remove CONFIG_SYS_MAXARGS
John Schmoller
jschmoller at xes-inc.com
Fri Mar 12 16:51:47 CET 2010
CONFIG_SYS_MAXARGS is an arbitrary limit on the number of arguments
which can be input at the command line. Remove that arbitrary limit.
Setting maxargs in the cmdtp to 0 will result in the ability to enter
as many arguments as you can hold in CONFIG_SYS_CBSIZE.
Signed-off-by: John Schmoller <jschmoller at xes-inc.com>
---
board/amcc/makalu/cmd_pll.c | 2 +-
board/esd/du440/du440.c | 4 +-
board/fads/fads.h | 1 -
board/freescale/common/pixis.c | 4 +-
board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c | 2 +-
board/pxa255_idp/pxa_idp.c | 2 +-
common/cmd_boot.c | 2 +-
common/cmd_bootm.c | 4 +-
common/cmd_diag.c | 2 +-
common/cmd_display.c | 2 +-
common/cmd_echo.c | 2 +-
common/cmd_help.c | 4 +-
common/cmd_mp.c | 2 +-
common/cmd_nand.c | 2 +-
common/cmd_nvedit.c | 8 ++--
common/cmd_onenand.c | 2 +-
common/cmd_test.c | 6 ++--
common/command.c | 36 ++-------------------
common/hush.c | 5 ++-
common/kgdb.c | 2 +-
common/main.c | 41 +++++++++++++++++++------
cpu/arm_cortexa8/mx51/clock.c | 2 +-
cpu/mpc512x/diu.c | 2 +-
cpu/mpc512x/iim.c | 2 +-
include/command.h | 2 +-
include/common.h | 4 ++-
26 files changed, 71 insertions(+), 76 deletions(-)
diff --git a/board/amcc/makalu/cmd_pll.c b/board/amcc/makalu/cmd_pll.c
index 9bae67e..5cadb4a 100644
--- a/board/amcc/makalu/cmd_pll.c
+++ b/board/amcc/makalu/cmd_pll.c
@@ -236,7 +236,7 @@ ret:
}
U_BOOT_CMD(
- pllalter, CONFIG_SYS_MAXARGS, 1, do_pll_alter,
+ pllalter, 0, 1, do_pll_alter,
"change pll frequence",
"pllalter <selection> - change pll frequence \n\n\
** New freq take effect after reset. ** \n\
diff --git a/board/esd/du440/du440.c b/board/esd/du440/du440.c
index 111cce5..0c3d976 100644
--- a/board/esd/du440/du440.c
+++ b/board/esd/du440/du440.c
@@ -841,7 +841,7 @@ int do_time(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return ret;
}
U_BOOT_CMD(
- time, CONFIG_SYS_MAXARGS, 1, do_time,
+ time, 0, 1, do_time,
"run command and output execution time",
""
);
@@ -891,7 +891,7 @@ int do_gfxdemo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
U_BOOT_CMD(
- gfxdemo, CONFIG_SYS_MAXARGS, 1, do_gfxdemo,
+ gfxdemo, 0, 1, do_gfxdemo,
"demo",
""
);
diff --git a/board/fads/fads.h b/board/fads/fads.h
index 4ab4b26..c7d2b2d 100644
--- a/board/fads/fads.h
+++ b/board/fads/fads.h
@@ -140,7 +140,6 @@
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
#endif
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buffer Size */
-#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
#define CONFIG_SYS_LOAD_ADDR 0x00100000
diff --git a/board/freescale/common/pixis.c b/board/freescale/common/pixis.c
index 7210512..b4b5d78 100644
--- a/board/freescale/common/pixis.c
+++ b/board/freescale/common/pixis.c
@@ -354,7 +354,7 @@ int pixis_set_sgmii(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- pixis_set_sgmii, CONFIG_SYS_MAXARGS, 1, pixis_set_sgmii,
+ pixis_set_sgmii, 0, 1, pixis_set_sgmii,
"pixis_set_sgmii"
" - Enable or disable SGMII mode for a given TSEC \n",
"\npixis_set_sgmii [TSEC num] <on|off|switch>\n"
@@ -550,7 +550,7 @@ pixis_reset_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
U_BOOT_CMD(
- pixis_reset, CONFIG_SYS_MAXARGS, 1, pixis_reset_cmd,
+ pixis_reset, 0, 1, pixis_reset_cmd,
"Reset the board using the FPGA sequencer",
" pixis_reset\n"
" pixis_reset [altbank]\n"
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c b/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
index 4186a2e..6b8fd28 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
@@ -138,7 +138,7 @@ int mpc8610diu_init_show_bmp(cmd_tbl_t *cmdtp,
}
U_BOOT_CMD(
- diufb, CONFIG_SYS_MAXARGS, 1, mpc8610diu_init_show_bmp,
+ diufb, 0, 1, mpc8610diu_init_show_bmp,
"Init or Display BMP file",
"init\n - initialize DIU\n"
"addr\n - display bmp at address 'addr'"
diff --git a/board/pxa255_idp/pxa_idp.c b/board/pxa255_idp/pxa_idp.c
index 05e30ec..72ef9e6 100644
--- a/board/pxa255_idp/pxa_idp.c
+++ b/board/pxa255_idp/pxa_idp.c
@@ -128,7 +128,7 @@ int do_idpcmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(idpcmd, CONFIG_SYS_MAXARGS, 0, do_idpcmd,
+U_BOOT_CMD(idpcmd, 0, 0, do_idpcmd,
"custom IDP command",
"no args at this time"
);
diff --git a/common/cmd_boot.c b/common/cmd_boot.c
index bfc1db2..1aa6081 100644
--- a/common/cmd_boot.c
+++ b/common/cmd_boot.c
@@ -63,7 +63,7 @@ int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
/* -------------------------------------------------------------------- */
U_BOOT_CMD(
- go, CONFIG_SYS_MAXARGS, 1, do_go,
+ go, 0, 1, do_go,
"start application at address 'addr'",
"addr [arg ...]\n - start application at address 'addr'\n"
" passing 'arg' as arguments"
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 23ab0c4..55f5a42 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -984,7 +984,7 @@ static void *boot_get_kernel (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]
}
U_BOOT_CMD(
- bootm, CONFIG_SYS_MAXARGS, 1, do_bootm,
+ bootm, 0, 1, do_bootm,
"boot application image from memory",
"[addr [arg ...]]\n - boot application image stored in memory\n"
"\tpassing arguments 'arg ...'; when booting a Linux kernel,\n"
@@ -1133,7 +1133,7 @@ static int image_info (ulong addr)
}
U_BOOT_CMD(
- iminfo, CONFIG_SYS_MAXARGS, 1, do_iminfo,
+ iminfo, 0, 1, do_iminfo,
"print header information for application image",
"addr [addr ...]\n"
" - print header information for application image starting at\n"
diff --git a/common/cmd_diag.c b/common/cmd_diag.c
index 0436c49..c39b16c 100644
--- a/common/cmd_diag.c
+++ b/common/cmd_diag.c
@@ -65,7 +65,7 @@ int do_diag (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
/***************************************************/
U_BOOT_CMD(
- diag, CONFIG_SYS_MAXARGS, 0, do_diag,
+ diag, 0, 0, do_diag,
"perform board diagnostics",
" - print list of available tests\n"
"diag [test1 [test2]]\n"
diff --git a/common/cmd_display.c b/common/cmd_display.c
index 3422395..6851329 100644
--- a/common/cmd_display.c
+++ b/common/cmd_display.c
@@ -70,7 +70,7 @@ int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
/***************************************************/
U_BOOT_CMD(
- display, CONFIG_SYS_MAXARGS, 1, do_display,
+ display, 0, 1, do_display,
"display string on dot matrix display",
"[<string>]\n"
" - with <string> argument: display <string> on dot matrix display\n"
diff --git a/common/cmd_echo.c b/common/cmd_echo.c
index 3ec4d48..0f96efb 100644
--- a/common/cmd_echo.c
+++ b/common/cmd_echo.c
@@ -51,7 +51,7 @@ int do_echo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- echo, CONFIG_SYS_MAXARGS, 1, do_echo,
+ echo, 0, 1, do_echo,
"echo args to console",
"[args..]\n"
" - echo args to console; \\c suppresses newline"
diff --git a/common/cmd_help.c b/common/cmd_help.c
index e860dfb..c729f79 100644
--- a/common/cmd_help.c
+++ b/common/cmd_help.c
@@ -32,7 +32,7 @@ int do_help(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- help, CONFIG_SYS_MAXARGS, 1, do_help,
+ help, 0, 1, do_help,
"print command description/usage",
"\n"
" - print brief description of all commands\n"
@@ -42,7 +42,7 @@ U_BOOT_CMD(
/* This does not use the U_BOOT_CMD macro as ? can't be used in symbol names */
cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = {
- "?", CONFIG_SYS_MAXARGS, 1, do_help,
+ "?", 0, 1, do_help,
"alias for 'help'",
#ifdef CONFIG_SYS_LONGHELP
""
diff --git a/common/cmd_mp.c b/common/cmd_mp.c
index d78c209..b8ddbf3 100644
--- a/common/cmd_mp.c
+++ b/common/cmd_mp.c
@@ -84,7 +84,7 @@ cpu_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
#endif
U_BOOT_CMD(
- cpu, CONFIG_SYS_MAXARGS, 1, cpu_cmd,
+ cpu, 0, 1, cpu_cmd,
"Multiprocessor CPU boot manipulation and release",
"<num> reset - Reset cpu <num>\n"
"cpu <num> status - Status of cpu <num>\n"
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 075a8af..430c115 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -475,7 +475,7 @@ usage:
return 1;
}
-U_BOOT_CMD(nand, CONFIG_SYS_MAXARGS, 1, do_nand,
+U_BOOT_CMD(nand, 0, 1, do_nand,
"NAND sub-system",
"info - show available NAND devices\n"
"nand device [dev] - show or set current device\n"
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index eb89e9e..6020e85 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -638,7 +638,7 @@ U_BOOT_CMD(
#endif
U_BOOT_CMD(
- printenv, CONFIG_SYS_MAXARGS, 1, do_printenv,
+ printenv, 0, 1, do_printenv,
"print environment variables",
"\n - print values of all environment variables\n"
"printenv name ...\n"
@@ -646,7 +646,7 @@ U_BOOT_CMD(
);
U_BOOT_CMD(
- setenv, CONFIG_SYS_MAXARGS, 0, do_setenv,
+ setenv, 0, 0, do_setenv,
"set environment variables",
"name value ...\n"
" - set environment variable 'name' to 'value ...'\n"
@@ -657,7 +657,7 @@ U_BOOT_CMD(
#if defined(CONFIG_CMD_ASKENV)
U_BOOT_CMD(
- askenv, CONFIG_SYS_MAXARGS, 1, do_askenv,
+ askenv, 0, 1, do_askenv,
"get environment variables from stdin",
"name [message] [size]\n"
" - get environment variable 'name' from stdin (max 'size' chars)\n"
@@ -674,7 +674,7 @@ U_BOOT_CMD(
#if defined(CONFIG_CMD_RUN)
int do_run (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
U_BOOT_CMD(
- run, CONFIG_SYS_MAXARGS, 1, do_run,
+ run, 0, 1, do_run,
"run commands in an environment variable",
"var [...]\n"
" - run the commands in the environment variable(s) 'var'"
diff --git a/common/cmd_onenand.c b/common/cmd_onenand.c
index 565257c..7701e21 100644
--- a/common/cmd_onenand.c
+++ b/common/cmd_onenand.c
@@ -481,7 +481,7 @@ usage:
}
U_BOOT_CMD(
- onenand, CONFIG_SYS_MAXARGS, 1, do_onenand,
+ onenand, 0, 1, do_onenand,
"OneNAND sub-system",
"info - show available OneNAND devices\n"
"onenand bad - show bad blocks\n"
diff --git a/common/cmd_test.c b/common/cmd_test.c
index d886f89..88ed2ba 100644
--- a/common/cmd_test.c
+++ b/common/cmd_test.c
@@ -145,7 +145,7 @@ int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- test, CONFIG_SYS_MAXARGS, 1, do_test,
+ test, 0, 1, do_test,
"minimal test like /bin/sh",
"[args..]"
);
@@ -156,7 +156,7 @@ int do_false(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- false, CONFIG_SYS_MAXARGS, 1, do_false,
+ false, 0, 1, do_false,
"do nothing, unsuccessfully",
NULL
);
@@ -167,7 +167,7 @@ int do_true(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- true, CONFIG_SYS_MAXARGS, 1, do_true,
+ true, 0, 1, do_true,
"do nothing, successfully",
NULL
);
diff --git a/common/command.c b/common/command.c
index 0c66b7a..f0db2ed 100644
--- a/common/command.c
+++ b/common/command.c
@@ -268,36 +268,6 @@ static int complete_cmdv(int argc, char *argv[], char last_char, int maxv, char
return n_found;
}
-static int make_argv(char *s, int argvsz, char *argv[])
-{
- int argc = 0;
-
- /* split into argv */
- while (argc < argvsz - 1) {
-
- /* skip any white space */
- while ((*s == ' ') || (*s == '\t'))
- ++s;
-
- if (*s == '\0') /* end of s, no more args */
- break;
-
- argv[argc++] = s; /* begin of argument string */
-
- /* find end of string */
- while (*s && (*s != ' ') && (*s != '\t'))
- ++s;
-
- if (*s == '\0') /* end of s, no more args */
- break;
-
- *s++ = '\0'; /* terminate current arg */
- }
- argv[argc] = NULL;
-
- return argc;
-}
-
static void print_argv(const char *banner, const char *leader, const char *sep, int linemax, char *argv[])
{
int ll = leader != NULL ? strlen(leader) : 0;
@@ -352,7 +322,7 @@ static char tmp_buf[CONFIG_SYS_CBSIZE]; /* copy of console I/O buffer */
int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp)
{
int n = *np, col = *colp;
- char *argv[CONFIG_SYS_MAXARGS + 1]; /* NULL terminated */
+ char **argv; /* NULL terminated */
char *cmdv[20];
char *s, *t;
const char *sep;
@@ -373,7 +343,9 @@ int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp)
strcpy(tmp_buf, buf);
/* separate into argv */
- argc = make_argv(tmp_buf, sizeof(argv)/sizeof(argv[0]), argv);
+ argc = arg_count(tmp_buf);
+ *argv = (char *)malloc(sizeof(char *) * argc);
+ parse_line(tmp_buf, argv, argc);
/* do the completion and return the possible completions */
i = complete_cmdv(argc, argv, last_char, sizeof(cmdv)/sizeof(cmdv[0]), cmdv);
diff --git a/common/hush.c b/common/hush.c
index 06c5ff8..1837a7f 100644
--- a/common/hush.c
+++ b/common/hush.c
@@ -1694,7 +1694,8 @@ static int run_pipe_real(struct pipe *pi)
}
#endif
/* found - check max args */
- if ((child->argc - i) > cmdtp->maxargs) {
+ if (cmdtp->maxargs &&
+ (child->argc - i) > cmdtp->maxargs) {
cmd_usage(cmdtp);
return -1;
}
@@ -3627,7 +3628,7 @@ int do_showvar (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- showvar, CONFIG_SYS_MAXARGS, 1, do_showvar,
+ showvar, 0, 1, do_showvar,
"print local hushshell variables",
"\n - print values of all hushshell variables\n"
"showvar name ...\n"
diff --git a/common/kgdb.c b/common/kgdb.c
index 0531452..ac47c59 100644
--- a/common/kgdb.c
+++ b/common/kgdb.c
@@ -593,7 +593,7 @@ do_kgdb(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- kgdb, CONFIG_SYS_MAXARGS, 1, do_kgdb,
+ kgdb, 0, 1, do_kgdb,
"enter gdb remote debug mode",
"[arg0 arg1 .. argN]\n"
" - executes a breakpoint so that kgdb mode is\n"
diff --git a/common/main.c b/common/main.c
index 7ac657f..e767694 100644
--- a/common/main.c
+++ b/common/main.c
@@ -30,9 +30,7 @@
#include <common.h>
#include <watchdog.h>
#include <command.h>
-#ifdef CONFIG_MODEM_SUPPORT
#include <malloc.h> /* for free() prototype */
-#endif
#ifdef CONFIG_SYS_HUSH_PARSER
#include <hush.h>
@@ -1112,15 +1110,35 @@ static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen)
}
/****************************************************************************/
+int arg_count(char *line)
+{
+ int argc = 0;
+
+ while (*line != '\0') {
+
+ while ((*line == ' ') || (*line == '\t')) {
+ ++line;
+ }
-int parse_line (char *line, char *argv[])
+ argc++;
+
+ /* find end of string */
+ while (*line && (*line != ' ') && (*line != '\t')) {
+ ++line;
+ }
+ }
+
+ return argc;
+}
+
+int parse_line (char *line, char *argv[], uint argc)
{
int nargs = 0;
#ifdef DEBUG_PARSER
printf ("parse_line: \"%s\"\n", line);
#endif
- while (nargs < CONFIG_SYS_MAXARGS) {
+ while (nargs < argc) {
/* skip any white space */
while ((*line == ' ') || (*line == '\t')) {
@@ -1153,8 +1171,6 @@ int parse_line (char *line, char *argv[])
*line++ = '\0'; /* terminate current arg */
}
- printf ("** Too many args (max. %d) **\n", CONFIG_SYS_MAXARGS);
-
#ifdef DEBUG_PARSER
printf ("parse_line: nargs=%d\n", nargs);
#endif
@@ -1298,8 +1314,9 @@ int run_command (const char *cmd, int flag)
char *sep; /* end of token (separator) in cmdbuf */
char finaltoken[CONFIG_SYS_CBSIZE];
char *str = cmdbuf;
- char *argv[CONFIG_SYS_MAXARGS + 1]; /* NULL terminated */
- int argc, inquotes;
+ char **argv;
+ uint argc;
+ int inquotes;
int repeatable = 1;
int rc = 0;
@@ -1365,7 +1382,9 @@ int run_command (const char *cmd, int flag)
process_macros (token, finaltoken);
/* Extract arguments */
- if ((argc = parse_line (finaltoken, argv)) == 0) {
+ argc = arg_count(finaltoken);
+ argv = (char **)malloc(sizeof(char *) * argc);
+ if (parse_line (finaltoken, argv, argc) == 0) {
rc = -1; /* no command at all */
continue;
}
@@ -1378,7 +1397,7 @@ int run_command (const char *cmd, int flag)
}
/* found - check max args */
- if (argc > cmdtp->maxargs) {
+ if (cmdtp->maxargs && argc > cmdtp->maxargs) {
cmd_usage(cmdtp);
rc = -1;
continue;
@@ -1407,6 +1426,8 @@ int run_command (const char *cmd, int flag)
repeatable &= cmdtp->repeatable;
+ free(argv);
+
/* Did the user stop this? */
if (had_ctrlc ())
return -1; /* if stopped then not repeatable */
diff --git a/cpu/arm_cortexa8/mx51/clock.c b/cpu/arm_cortexa8/mx51/clock.c
index 38480ac..b594caf 100644
--- a/cpu/arm_cortexa8/mx51/clock.c
+++ b/cpu/arm_cortexa8/mx51/clock.c
@@ -288,7 +288,7 @@ int do_mx51_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
/***************************************************/
U_BOOT_CMD(
- clockinfo, CONFIG_SYS_MAXARGS, 1, do_mx51_showclocks,
+ clockinfo, 0, 1, do_mx51_showclocks,
"display mx51 clocks\n",
""
);
diff --git a/cpu/mpc512x/diu.c b/cpu/mpc512x/diu.c
index a24f395..bbb8421 100644
--- a/cpu/mpc512x/diu.c
+++ b/cpu/mpc512x/diu.c
@@ -126,7 +126,7 @@ int mpc5121diu_init_show_bmp(cmd_tbl_t *cmdtp,
}
U_BOOT_CMD(
- diufb, CONFIG_SYS_MAXARGS, 1, mpc5121diu_init_show_bmp,
+ diufb, 0, 1, mpc5121diu_init_show_bmp,
"Init or Display BMP file",
"init\n - initialize DIU\n"
"addr\n - display bmp at address 'addr'"
diff --git a/cpu/mpc512x/iim.c b/cpu/mpc512x/iim.c
index 8f2eb37..ae3de0b 100644
--- a/cpu/mpc512x/iim.c
+++ b/cpu/mpc512x/iim.c
@@ -374,7 +374,7 @@ int do_ads5121_fuse(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
U_BOOT_CMD(
- fuse, CONFIG_SYS_MAXARGS, 0, do_ads5121_fuse,
+ fuse, 0, 0, do_ads5121_fuse,
" - Read, Sense, Override or Program Fuses\n",
"bank <n> - sets active Fuse Bank to 0 or 1\n"
" no args shows current active bank\n"
diff --git a/include/command.h b/include/command.h
index 55caa6e..a40586d 100644
--- a/include/command.h
+++ b/include/command.h
@@ -45,7 +45,7 @@
struct cmd_tbl_s {
char *name; /* Command Name */
- int maxargs; /* maximum number of arguments */
+ uint maxargs; /* maximum number of arguments */
int repeatable; /* autorepeat allowed? */
/* Implementation function */
int (*cmd)(struct cmd_tbl_s *, int, int, char *[]);
diff --git a/include/common.h b/include/common.h
index a133e34..6c15c02 100644
--- a/include/common.h
+++ b/include/common.h
@@ -1,3 +1,4 @@
+
/*
* (C) Copyright 2000-2009
* Wolfgang Denk, DENX Software Engineering, wd at denx.de.
@@ -226,7 +227,8 @@ void main_loop (void);
int run_command (const char *cmd, int flag);
int readline (const char *const prompt);
int readline_into_buffer (const char *const prompt, char * buffer);
-int parse_line (char *, char *[]);
+int arg_count(char *);
+int parse_line (char *, char *[], uint);
void init_cmd_timeout(void);
void reset_cmd_timeout(void);
--
1.6.0.4
More information about the U-Boot
mailing list