Improve davinci_nand.c command argument parsing.

This commit is contained in:
Zachary T Welch 2009-10-22 22:33:12 -07:00
parent 75b601b1f3
commit 7b49739790
1 changed files with 4 additions and 5 deletions

View File

@ -638,7 +638,6 @@ static int davinci_nand_device_command(struct command_context_s *cmd_ctx,
unsigned long chip, aemif; unsigned long chip, aemif;
enum ecc eccmode; enum ecc eccmode;
int chipsel; int chipsel;
char *ep;
/* arguments: /* arguments:
* - "davinci" * - "davinci"
@ -661,8 +660,8 @@ static int davinci_nand_device_command(struct command_context_s *cmd_ctx,
goto fail; goto fail;
} }
chip = strtoul(argv[2], &ep, 0); COMMAND_PARSE_NUMBER(ulong, argv[2], chip);
if (*ep || chip == 0 || chip == ULONG_MAX) { if (chip == 0) {
LOG_ERROR("Invalid NAND chip address %s", argv[2]); LOG_ERROR("Invalid NAND chip address %s", argv[2]);
goto fail; goto fail;
} }
@ -678,8 +677,8 @@ static int davinci_nand_device_command(struct command_context_s *cmd_ctx,
goto fail; goto fail;
} }
aemif = strtoul(argv[4], &ep, 0); COMMAND_PARSE_NUMBER(ulong, argv[4], aemif);
if (*ep || aemif == 0 || aemif == ULONG_MAX) { if (aemif == 0) {
LOG_ERROR("Invalid AEMIF controller address %s", argv[4]); LOG_ERROR("Invalid AEMIF controller address %s", argv[4]);
goto fail; goto fail;
} }