[U-Boot] [PATCH v3 1/4] Add run_command_list() to run a list of commands
Simon Glass
sjg at chromium.org
Wed Apr 4 09:12:27 CEST 2012
Hi Mike,
On Sun, Apr 1, 2012 at 12:48 PM, Mike Frysinger <vapier at gentoo.org> wrote:
> On Saturday 31 March 2012 03:30:55 Simon Glass wrote:
>> --- a/common/cmd_pxe.c
>> +++ b/common/cmd_pxe.c
>>
>> + return run_command_list(localcmd, strlen(localcmd), 0);
>
> should be -1 instead of strlen()
done
>
>> +int run_command_list(const char *cmd, int len, int flag)
>> +{
>> + int need_buff = 1;
>> + char *buff = (char *)cmd; /* cast away const */
>> + int rcode = 0;
>> +
>> + if (len == -1) {
>> + len = strlen(cmd);
>> +#ifdef CONFIG_SYS_HUSH_PARSER
>> + /* hush will never change our string */
>> + need_buff = 0;
>> +#else
>> + /* the built-in parser will change our string if it sees \n */
>> + need_buff = strchr(cmd, '\n') != NULL;
>> +#endif
>> + }
>
> we have memchr(), so you should be able to split the len==-1 and the need_buff
> logic into two sep steps
Are you saying that we should do this check if len is not -1 also?
I am only doing it when len is not specified, since if a length is
provided we must allocate. This is used by the source command, which
does not necessary have a nul-terminated string.
* Note that if 'len' is not -1, then the command does not need to be nul
* terminated, Memory will be allocated for the command in that case.
Sorry if I am missing your point.
>
> also, should you handle the case where '\n' is the very last char ? or not
> bother ?
Do you mean not allocate in that case? I don't think it is a common
situation is it?
> -mike
Regards,
Simon
More information about the U-Boot
mailing list