mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 09:45:42 +08:00
Update to FreeBSD 9.3
This commit is contained in:
@@ -106,8 +106,7 @@ in_getaddr(const char *s, int which)
|
||||
struct netent *np;
|
||||
|
||||
sin->sin_len = sizeof(*sin);
|
||||
if (which != MASK)
|
||||
sin->sin_family = AF_INET;
|
||||
sin->sin_family = AF_INET;
|
||||
|
||||
if (which == ADDR) {
|
||||
char *p = NULL;
|
||||
@@ -126,6 +125,7 @@ in_getaddr(const char *s, int which)
|
||||
*p = '/';
|
||||
errx(1, "%s: bad value (width %s)", s, errstr);
|
||||
}
|
||||
min->sin_family = AF_INET;
|
||||
min->sin_len = sizeof(*min);
|
||||
min->sin_addr.s_addr = htonl(~((1LL << (32 - masklen)) - 1) &
|
||||
0xffffffff);
|
||||
|
@@ -62,7 +62,7 @@ setifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
|
||||
|
||||
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
|
||||
errx(1, "setifgroup: group name too long");
|
||||
if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1)
|
||||
if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1 && errno != EEXIST)
|
||||
err(1," SIOCAIFGROUP");
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ unsetifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
|
||||
|
||||
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
|
||||
errx(1, "unsetifgroup: group name too long");
|
||||
if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1)
|
||||
if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1 && errno != ENOENT)
|
||||
err(1, "SIOCDIFGROUP");
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
# @(#)keywords 8.2 (Berkeley) 3/19/94
|
||||
# $FreeBSD$
|
||||
|
||||
4
|
||||
6
|
||||
add
|
||||
atalk
|
||||
blackhole
|
||||
|
@@ -177,7 +177,7 @@ usage(const char *cp)
|
||||
if (cp != NULL)
|
||||
warnx("bad keyword: %s", cp);
|
||||
(void) fprintf(stderr,
|
||||
"usage: route [-dnqtv] command [[modifiers] args]\n");
|
||||
"usage: route [-46dnqtv] command [[modifiers] args]\n");
|
||||
exit(EX_USAGE);
|
||||
/* NOTREACHED */
|
||||
}
|
||||
@@ -263,8 +263,24 @@ main(int argc, char **argv)
|
||||
if (argc < 2)
|
||||
usage(NULL);
|
||||
|
||||
while ((ch = getopt(argc, argv, "nqdtv")) != -1)
|
||||
while ((ch = getopt(argc, argv, "46nqdtv")) != -1)
|
||||
switch(ch) {
|
||||
case '4':
|
||||
#ifdef INET
|
||||
c->af = AF_INET;
|
||||
c->aflen = sizeof(struct sockaddr_in);
|
||||
#else
|
||||
errx(1, "IPv4 support is not compiled in");
|
||||
#endif
|
||||
break;
|
||||
case '6':
|
||||
#ifdef INET6
|
||||
c->af = AF_INET6;
|
||||
c->aflen = sizeof(struct sockaddr_in6);
|
||||
#else
|
||||
errx(1, "IPv6 support is not compiled in");
|
||||
#endif
|
||||
break;
|
||||
case 'n':
|
||||
c->nflag = 1;
|
||||
break;
|
||||
@@ -485,10 +501,12 @@ flushroutes(struct rt_ctx *c, int argc, char *argv[])
|
||||
if (**argv != '-')
|
||||
usage(*argv);
|
||||
switch (keyword(*argv + 1)) {
|
||||
case K_4:
|
||||
case K_INET:
|
||||
c->af = AF_INET;
|
||||
break;
|
||||
#ifdef INET6
|
||||
case K_6:
|
||||
case K_INET6:
|
||||
c->af = AF_INET6;
|
||||
break;
|
||||
@@ -903,11 +921,13 @@ newroute(struct rt_ctx *c, int argc, char **argv)
|
||||
c->af = AF_LINK;
|
||||
c->aflen = sizeof(struct sockaddr_dl);
|
||||
break;
|
||||
case K_4:
|
||||
case K_INET:
|
||||
c->af = AF_INET;
|
||||
c->aflen = sizeof(struct sockaddr_in);
|
||||
break;
|
||||
#ifdef INET6
|
||||
case K_6:
|
||||
case K_INET6:
|
||||
c->af = AF_INET6;
|
||||
c->aflen = sizeof(struct sockaddr_in6);
|
||||
|
Reference in New Issue
Block a user