ref: c8e8158a382789f58d8edca196b5a50498680d91
parent: 5aa5f7eff940f54bef1baa5f589b354232f02e24
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Feb 11 18:29:53 EST 2019
ip/ipconfig: use new parseipandmask() function
--- a/sys/src/cmd/ip/ipconfig/main.c
+++ b/sys/src/cmd/ip/ipconfig/main.c
@@ -118,12 +118,11 @@
usage();
/* fall through */
case 2:
- /*
- * can't test for parseipmask()==-1 cuz 255.255.255.255
- * looks like that.
- */
- if (strcmp(argv[1], "0") != 0)
- parseipmask(conf.mask, argv[1]);
+ if (strcmp(argv[1], "0") != 0){+ if (parseipandmask(conf.laddr, conf.mask, argv[0], argv[1]) == -1)
+ usage();
+ break;
+ }
/* fall through */
case 1:
if (parseip(conf.laddr, argv[0]) == -1)
@@ -742,15 +741,13 @@
uchar dst[IPaddrlen], mask[IPaddrlen];
if(isv4(gaddr)){- parseip(dst, "0.0.0.0");
- parseipmask(mask, "0.0.0.0");
+ parseipandmask(dst, mask, "0.0.0.0", "0.0.0.0");
if(src == nil)
src = dst;
if(smask == nil)
smask = mask;
} else {- parseip(dst, "2000::");
- parseipmask(mask, "/3");
+ parseipandmask(dst, mask, "2000::", "/3");
if(src == nil)
src = IPnoaddr;
if(smask == nil)
@@ -1022,7 +1019,7 @@
}
if(strcmp(nt->attr, "ipmask") == 0) {nt = uniquent(nt);
- parseipmask(conf.mask, nt->val); /* could be -1 */
+ parseipmask(conf.mask, nt->val, isv4(myip));
continue;
}
if(parseip(ip, nt->val) == -1) {--
⑨