diff options
Diffstat (limited to 'ubi-utils/src/ubidetach.c')
-rw-r--r-- | ubi-utils/src/ubidetach.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/ubi-utils/src/ubidetach.c b/ubi-utils/src/ubidetach.c index dfd6485..5ee55f1 100644 --- a/ubi-utils/src/ubidetach.c +++ b/ubi-utils/src/ubidetach.c @@ -82,8 +82,7 @@ static const struct option long_options[] = { static int parse_opt(int argc, char * const argv[]) { while (1) { - int key; - char *endp; + int key, error = 0; key = getopt_long(argc, argv, "p:m:d:hV", long_options, NULL); if (key == -1) @@ -94,15 +93,15 @@ static int parse_opt(int argc, char * const argv[]) args.dev = optarg; break; case 'd': - args.devn = strtoul(optarg, &endp, 0); - if (*endp != '\0' || endp == optarg || args.devn < 0) + args.devn = simple_strtoul(optarg, &error); + if (error || args.devn < 0) return errmsg("bad UBI device number: \"%s\"", optarg); break; case 'm': - args.mtdn = strtoul(optarg, &endp, 0); - if (*endp != '\0' || endp == optarg || args.mtdn < 0) + args.mtdn = simple_strtoul(optarg, &error); + if (error || args.mtdn < 0) return errmsg("bad MTD device number: \"%s\"", optarg); break; |