case 'O':
args.vid_hdr_offs = strtoul(optarg, &endp, 0);
- if (endp == optarg || args.vid_hdr_offs < 0)
+ if (args.vid_hdr_offs < 0 || *endp != '\0' || endp == optarg)
return errmsg("bad VID header offset: \"%s\"", optarg);
break;
case 'e':
args.ec = strtoull(optarg, &endp, 0);
- if (endp == optarg || args.ec <= 0 || *endp != '\0')
+ if (args.ec <= 0 || *endp != '\0' || endp == optarg)
return errmsg("bad erase counter value: \"%s\"", optarg);
if (args.ec >= EC_MAX)
return errmsg("too high erase %llu, counter, max is %u", args.ec, EC_MAX);
case 'x':
args.ubi_ver = strtoul(optarg, &endp, 0);
- if (endp == optarg || args.ubi_ver < 0)
+ if (args.ubi_ver < 0 || *endp != '\0' || endp == optarg)
return errmsg("bad UBI version: \"%s\"", optarg);
break;
case 'O':
args.vid_hdr_offs = strtoul(optarg, &endp, 0);
- if (endp == optarg || args.vid_hdr_offs < 0)
+ if (*endp != '\0' || endp == optarg || args.vid_hdr_offs < 0)
return errmsg("bad VID header offset: \"%s\"", optarg);
break;
case 'e':
args.ec = strtoul(optarg, &endp, 0);
- if (endp == optarg || args.ec < 0)
+ if (*endp != '\0' || endp == optarg || args.ec < 0)
return errmsg("bad erase counter value: \"%s\"", optarg);
break;
case 'x':
args.ubi_ver = strtoul(optarg, &endp, 0);
- if (endp == optarg || args.ubi_ver < 0)
+ if (*endp != '\0' || endp == optarg || args.ubi_ver < 0)
return errmsg("bad UBI version: \"%s\"", optarg);
break;