[U-Boot] [PATCH 1/2] Create a single cmd_call() function to handle command execution
Simon Glass
sjg at chromium.org
Wed Oct 26 01:05:02 CEST 2011
Hi Mike,
On Tue, Oct 25, 2011 at 6:57 AM, Mike Frysinger <vapier at gentoo.org> wrote:
> On Mon, Oct 24, 2011 at 23:52, Simon Glass wrote:
>> +int cmd_call(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + int result;
>> +
>> + result = (cmdtp->cmd)(cmdtp, flag, argc, argv);
>> + if (result)
>> + debug("Command failed, result=%d", result);
>> + return result;
>> +}
>
> i don't think this goes for enough. it should integrate the "if (argc
>> cmdtp->maxargs) return cmd_usage(cmdtp);".
>
Yes, that might turn this into a patch worth accepting on its merits.
> and perhaps even the find_cmd(argv[0]) lookup ...
> -mike
>
How about if the commands return error codes, one of which means
'print usage'? Then we might remove 265 calls to cmd_usage and even
reduce code size :-O
Continuing down the slippery slope, for find_cmd() there is sometimes
a secondary command, and there are also argument to decode. We could
devise a printf-style command description to specify the arguments for
many/most commands. Even less code. More complicated.
Regards,
Simon
More information about the U-Boot
mailing list