cmd: bcb: Extract '__bcb_set' from 'do_bcb_set' for internal needs
Enriching the functionality of U-Boot 'bcb' may assume using the existing sub-commands as building blocks for the next ones. A clean way to achive the above is to expose a number of static routines, each mapped to an existing user command (e.g. load/set/store), with a user/caller-friendly prototype (i.e. do not force the caller to wrap an integer into a string). This second patch makes '__bcb_set' available for internal needs. No functional change intended. Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com> Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
This commit is contained in:
parent
24e85bbd69
commit
02ebe6deae
1 changed files with 11 additions and 6 deletions
17
cmd/bcb.c
17
cmd/bcb.c
|
@ -178,22 +178,21 @@ static int do_bcb_load(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
return __bcb_load(devnum, argv[2]);
|
||||
}
|
||||
|
||||
static int do_bcb_set(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
static int __bcb_set(char *fieldp, char *valp)
|
||||
{
|
||||
int size, len;
|
||||
char *field, *str, *found;
|
||||
|
||||
if (bcb_field_get(argv[1], &field, &size))
|
||||
if (bcb_field_get(fieldp, &field, &size))
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
len = strlen(argv[2]);
|
||||
len = strlen(valp);
|
||||
if (len >= size) {
|
||||
printf("Error: sizeof('%s') = %d >= %d = sizeof(bcb.%s)\n",
|
||||
argv[2], len, size, argv[1]);
|
||||
valp, len, size, fieldp);
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
str = argv[2];
|
||||
str = valp;
|
||||
|
||||
field[0] = '\0';
|
||||
while ((found = strsep(&str, ":"))) {
|
||||
|
@ -205,6 +204,12 @@ static int do_bcb_set(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
static int do_bcb_set(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char * const argv[])
|
||||
{
|
||||
return __bcb_set(argv[1], argv[2]);
|
||||
}
|
||||
|
||||
static int do_bcb_clear(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue