i cant remember why i was looking at this, but strtoll annoys me.
ok?
Index: main.c
===================================================================
RCS file: /cvs/src/usr.bin/make/main.c,v
retrieving revision 1.119
diff -u -p -r1.119 main.c
--- main.c 4 Jan 2016 10:59:23 -0000 1.119
+++ main.c 19 Apr 2017 01:39:22 -0000
@@ -310,14 +310,14 @@ MainParseArgs(int argc, char **argv)
Lst_AtEnd(&makefiles, optarg);
break;
case 'j': {
- char *endptr;
+ const char *errstr;
forceJobs = true;
- maxJobs = strtol(optarg, &endptr, 0);
- if (endptr == optarg) {
+ maxJobs = strtonum(optarg, 1, INT_MAX, &errstr);
+ if (errstr != NULL) {
fprintf(stderr,
- "make: illegal argument to -j option --
%s -- not a number\n",
- optarg);
+ "make: illegal argument to -j option"
+ " -- %s -- %s\n", optarg, errstr);
usage();
}
record_option(c, optarg);