commit - 5c342d059f884b73823e5a466902a3826b17e6c7
commit + a5a09e44b2ca3fa86ecf401f3907dff8c2012d98
blob - e5ad04bdeb44f3af2815d0aa3b4a3f2f9c558ad3
blob + bfdf9a8bd5dd7b74e9a1ef3f7f007b85cca7fbdd
--- gmid.c
+++ gmid.c
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