commit a5a09e44b2ca3fa86ecf401f3907dff8c2012d98 from: Omar Polo date: Thu Jan 21 16:07:12 2021 UTC use strtonum commit - 5c342d059f884b73823e5a466902a3826b17e6c7 commit + a5a09e44b2ca3fa86ecf401f3907dff8c2012d98 blob - e5ad04bdeb44f3af2815d0aa3b4a3f2f9c558ad3 blob + bfdf9a8bd5dd7b74e9a1ef3f7f007b85cca7fbdd --- gmid.c +++ gmid.c @@ -199,16 +199,13 @@ yyerror(const char *msg) int parse_portno(const char *p) { - char *ep; - long lval; + char *errstr; + int n; - errno = 0; - lval = strtol(p, &ep, 10); - if (p[0] == '\0' || *ep != '\0') - fatal("not a number: %s", p); - if (lval < 0 || lval > UINT16_MAX) - fatal("port number out of range for domain %s: %ld", p, lval); - return lval; + n = strtonum(p, 0, UINT16_MAX, &errstr); + if (errstr != NULL) + errx(1, "port number is %s: %s", errstr, p); + return n; } void