09 Aug, 2010
1 commit
-
Most of the files have U_BOOT_CMD on a separate line,
but a few didn't and had the first line on the same line
as U_BOOT_CMD.This changes these files by adding a line break and a tab
Signed-off-by: Frans Meulenbroeks
25 Jul, 2010
1 commit
-
Lots of code use this construct:
cmd_usage(cmdtp);
return 1;Change cmd_usage() let it return 1 - then we can replace all these
ocurrances byreturn cmd_usage(cmdtp);
This fixes a few places with incorrect return code handling, too.
Signed-off-by: Wolfgang Denk
05 Jul, 2010
1 commit
-
The hush shell dynamically allocates (and re-allocates) memory for the
argument strings in the "char *argv[]" argument vector passed to
commands. Any code that modifies these pointers will cause serious
corruption of the malloc data structures and crash U-Boot, so make
sure the compiler can check that no such modifications are being done
by changing the code into "char * const argv[]".This modification is the result of debugging a strange crash caused
after adding a new command, which used the following argument
processing code which has been working perfectly fine in all Unix
systems since version 6 - but not so in U-Boot:int main (int argc, char **argv)
{
while (--argc > 0 && **++argv == '-') {
/* ====> */ while (*++*argv) {
switch (**argv) {
case 'd':
debug++;
break;
...
default:
usage ();
}
}
}
...
}The line marked "====>" will corrupt the malloc data structures and
usually cause U-Boot to crash when the next command gets executed by
the shell. With the modification, the compiler will prevent this with
an
error: increment of read-only location '*argv'N.B.: The code above can be trivially rewritten like this:
while (--argc > 0 && **++argv == '-') {
char *arg = *argv;
while (*++arg) {
switch (*arg) {
...Signed-off-by: Wolfgang Denk
Acked-by: Mike Frysinger
13 Jun, 2009
1 commit
-
Many of the help messages were not really helpful; for example, many
commands that take no arguments would not print a correct synopsis
line, but "No additional help available." which is not exactly wrong,
but not helpful either.Commit ``Make "usage" messages more helpful.'' changed this
partially. But it also became clear that lots of "Usage" and "Help"
messages (fields "usage" and "help" in struct cmd_tbl_s respective)
were actually redundant.This patch cleans this up - for example:
Before:
=> help dtt
dtt - Digital Thermometer and ThermostatUsage:
dtt - Read temperature from digital thermometer and thermostat.After:
=> help dtt
dtt - Read temperature from Digital Thermometer and ThermostatUsage:
dttSigned-off-by: Wolfgang Denk
28 Jan, 2009
2 commits
-
Remove command name from all command "usage" fields and update
common/command.c to display "name - usage" instead of
just "usage". Also remove newlines from command usage fields.Signed-off-by: Peter Tyser
-
Signed-off-by: Peter Tyser
07 Dec, 2008
1 commit
-
When running `strings` on really long strings, the stack tends to get
smashed due to printf(). Switch to puts() instead since we're only passing
the data through.Signed-off-by: Mike Frysinger
14 Oct, 2008
1 commit
-
We don't need CONFIG_CFG_STRINGS anymore now that we have the define
CONFIG_CMD_STRINGS and Makefile control.Signed-off-by: Mike Frysinger
05 Feb, 2008
1 commit
-
Signed-off-by: Mike Frysinger