Improve davinci_nand.c command argument parsing.
authorZachary T Welch <zw@superlucidity.net>
Fri, 23 Oct 2009 05:33:12 +0000 (22:33 -0700)
committerZachary T Welch <zw@superlucidity.net>
Fri, 6 Nov 2009 02:19:18 +0000 (18:19 -0800)
src/flash/davinci_nand.c

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