summaryrefslogtreecommitdiffstats
path: root/sbin/route
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1996-01-02 20:09:22 +0000
committerwollman <wollman@FreeBSD.org>1996-01-02 20:09:22 +0000
commit631e2e6321aa83558552c2b7c44070627e8f7f3d (patch)
tree6a564de4cc5ad5f4a1634d3006c2c488f4176e5c /sbin/route
parent4aba64e2ff52bc71eafce7e43f1d0e1458cda32d (diff)
downloadFreeBSD-src-631e2e6321aa83558552c2b7c44070627e8f7f3d.zip
FreeBSD-src-631e2e6321aa83558552c2b7c44070627e8f7f3d.tar.gz
Clean up GCC warnings, condition out some compatibility cruft, add $Id$.
Pointed-out-by: jmb
Diffstat (limited to 'sbin/route')
-rw-r--r--sbin/route/route.c112
1 files changed, 51 insertions, 61 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c
index 469c8a3..1c763c7 100644
--- a/sbin/route/route.c
+++ b/sbin/route/route.c
@@ -33,13 +33,17 @@
*/
#ifndef lint
-static char copyright[] =
+static const char copyright[] =
"@(#) Copyright (c) 1983, 1989, 1991, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
+/*
static char sccsid[] = "@(#)route.c 8.3 (Berkeley) 3/19/94";
+*/
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
#include <sys/param.h>
@@ -66,6 +70,8 @@ static char sccsid[] = "@(#)route.c 8.3 (Berkeley) 3/19/94";
#include <stdlib.h>
#include <string.h>
#include <paths.h>
+#include <err.h>
+#include <sysexits.h>
struct keytab {
char *kt_cp;
@@ -99,30 +105,19 @@ void flushroutes(), newroute(), monitor(), sockaddr(), sodump(), bprintf();
void print_getmsg(), print_rtmsg(), pmsg_common(), pmsg_addrs(), mask_addr();
int getaddr(), rtmsg(), x25_makemask();
extern char *inet_ntoa(), *iso_ntoa(), *link_ntoa();
+extern int ccitt_addr __P((char *, struct sockaddr_x25 *));
+
+__dead void usage __P((const char *)) __dead2;
__dead void
usage(cp)
- char *cp;
+ const char *cp;
{
if (cp)
- (void) fprintf(stderr, "route: botched keyword: %s\n", cp);
+ warnx("bad keyword: %s", cp);
(void) fprintf(stderr,
"usage: route [ -nqv ] cmd [[ -<qualifers> ] args ]\n");
- exit(1);
- /* NOTREACHED */
-}
-
-void
-quit(s)
- char *s;
-{
- int sverrno = errno;
-
- (void) fprintf(stderr, "route: ");
- if (s)
- (void) fprintf(stderr, "%s: ", s);
- (void) fprintf(stderr, "%s\n", strerror(sverrno));
- exit(1);
+ exit(EX_USAGE);
/* NOTREACHED */
}
@@ -172,7 +167,7 @@ main(argc, argv)
else
s = socket(PF_ROUTE, SOCK_RAW, 0);
if (s < 0)
- quit("socket");
+ err(EX_OSERR, "socket");
if (*argv)
switch (keyword(*argv)) {
case K_GET:
@@ -214,8 +209,7 @@ flushroutes(argc, argv)
register struct rt_msghdr *rtm;
if (uid) {
- errno = EACCES;
- quit("must be root to alter routing table");
+ errx(EX_NOPERM, "must be root to alter routing table");
}
shutdown(s, 0); /* Don't want to read back our messages */
if (argc > 1) {
@@ -249,11 +243,11 @@ bad: usage(*argv);
mib[4] = NET_RT_DUMP;
mib[5] = 0; /* no flags */
if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0)
- quit("route-sysctl-estimate");
+ err(EX_OSERR, "route-sysctl-estimate");
if ((buf = malloc(needed)) == NULL)
- quit("malloc");
+ err(EX_OSERR, "malloc");
if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0)
- quit("actual retrieval of routing table");
+ err(EX_OSERR, "route-sysctl-get");
lim = buf + needed;
if (verbose)
(void) printf("Examining routing table from sysctl\n");
@@ -276,9 +270,7 @@ bad: usage(*argv);
rtm->rtm_seq = seqno;
rlen = write(s, next, rtm->rtm_msglen);
if (rlen < (int)rtm->rtm_msglen) {
- (void) fprintf(stderr,
- "route: write to routing socket: %s\n",
- strerror(errno));
+ warn("write to routing socket");
(void) printf("got only %d for rlen\n", rlen);
break;
}
@@ -342,7 +334,8 @@ routename(sa)
if (cp)
strcpy(line, cp);
else {
-#define C(x) ((x) & 0xff)
+ /* XXX - why not inet_ntoa()? */
+#define C(x) (unsigned)((x) & 0xff)
in.s_addr = ntohl(in.s_addr);
(void) sprintf(line, "%u.%u.%u.%u", C(in.s_addr >> 24),
C(in.s_addr >> 16), C(in.s_addr >> 8), C(in.s_addr));
@@ -505,8 +498,7 @@ newroute(argc, argv)
struct hostent *hp = 0;
if (uid) {
- errno = EACCES;
- quit("must be root to alter routing table");
+ errx(EX_NOPERM, "must be root to alter routing table");
}
cmd = argv[0];
if (*cmd != 'g')
@@ -626,6 +618,7 @@ newroute(argc, argv)
gateway = *argv;
(void) getaddr(RTA_GATEWAY, *argv, &hp);
} else {
+#ifdef CRUFT
int ret = atoi(*argv);
if (ret == 0) {
@@ -643,6 +636,7 @@ newroute(argc, argv)
iflag = 0;
continue;
}
+#endif
(void) getaddr(RTA_NETMASK, *argv, 0);
}
}
@@ -873,8 +867,7 @@ netdone:
bcopy(hp->h_addr, (char *)&su->sin.sin_addr, hp->h_length);
return (1);
}
- (void) fprintf(stderr, "%s: bad value\n", s);
- exit(1);
+ errx(EX_NOHOST, "bad address: %s");
}
int
@@ -935,7 +928,8 @@ ns_print(sns)
else
*cport = 0;
- (void) sprintf(mybuf,"%XH.%s%s", ntohl(net.long_e), host, cport);
+ (void) sprintf(mybuf,"%lxH.%s%s", (unsigned long)ntohl(net.long_e),
+ host, cport);
return (mybuf);
}
@@ -954,11 +948,11 @@ interfaces()
mib[4] = NET_RT_IFLIST;
mib[5] = 0; /* no flags */
if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0)
- quit("route-sysctl-estimate");
+ err(EX_OSERR, "route-sysctl-estimate");
if ((buf = malloc(needed)) == NULL)
- quit("malloc");
+ err(EX_OSERR, "malloc");
if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0)
- quit("actual retrieval of interface table");
+ err(EX_OSERR, "actual retrieval of interface table");
lim = buf + needed;
for (next = buf; next < lim; next += rtm->rtm_msglen) {
rtm = (struct rt_msghdr *)next;
@@ -1013,8 +1007,8 @@ rtmsg(cmd, flags)
else if (cmd == 'g') {
cmd = RTM_GET;
if (so_ifp.sa.sa_family == 0) {
- so_ifp.sa.sa_family == AF_LINK;
- so_ifp.sa.sa_len == sizeof(struct sockaddr_dl);
+ so_ifp.sa.sa_family = AF_LINK;
+ so_ifp.sa.sa_len = sizeof(struct sockaddr_dl);
rtm_addrs |= RTA_IFP;
}
} else
@@ -1050,9 +1044,7 @@ rtmsg(cmd, flags)
l = read(s, (char *)&m_rtmsg, sizeof(m_rtmsg));
} while (l > 0 && (rtm.rtm_seq != seq || rtm.rtm_pid != pid));
if (l < 0)
- (void) fprintf(stderr,
- "route: read from routing socket: %s\n",
- strerror(errno));
+ warn("read from routing socket");
else
print_getmsg(&rtm, l);
}
@@ -1157,8 +1149,8 @@ print_rtmsg(rtm, msglen)
pmsg_addrs((char *)(ifam + 1), ifam->ifam_addrs);
break;
default:
- (void) printf("pid: %d, seq %d, errno %d, flags:",
- rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);
+ (void) printf("pid: %ld, seq %d, errno %d, flags:",
+ (long)rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);
bprintf(stdout, rtm->rtm_flags, routeflags);
pmsg_common(rtm);
}
@@ -1177,19 +1169,17 @@ print_getmsg(rtm, msglen)
(void) printf(" route to: %s\n", routename(&so_dst));
if (rtm->rtm_version != RTM_VERSION) {
- (void)fprintf(stderr,
- "routing message version %d not understood\n",
- rtm->rtm_version);
+ warnx("routing message version %d not understood",
+ rtm->rtm_version);
return;
}
if (rtm->rtm_msglen > msglen) {
- (void)fprintf(stderr,
- "message length mismatch, in packet %d, returned %d\n",
- rtm->rtm_msglen, msglen);
+ warnx("message length mismatch, in packet %d, returned %d\n",
+ rtm->rtm_msglen, msglen);
}
if (rtm->rtm_errno) {
- (void) fprintf(stderr, "RTM_GET: %s (errno %d)\n",
- strerror(rtm->rtm_errno), rtm->rtm_errno);
+ errno = rtm->rtm_errno;
+ warn("message indicates error %d", errno);
return;
}
cp = ((char *)(rtm + 1));
@@ -1239,16 +1229,16 @@ print_getmsg(rtm, msglen)
(void) printf("\n%s\n", "\
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire");
- printf("%8d%c ", rtm->rtm_rmx.rmx_recvpipe, lock(RPIPE));
- printf("%8d%c ", rtm->rtm_rmx.rmx_sendpipe, lock(SPIPE));
- printf("%8d%c ", rtm->rtm_rmx.rmx_ssthresh, lock(SSTHRESH));
- printf("%8d%c ", msec(rtm->rtm_rmx.rmx_rtt), lock(RTT));
- printf("%8d%c ", msec(rtm->rtm_rmx.rmx_rttvar), lock(RTTVAR));
- printf("%8d%c ", rtm->rtm_rmx.rmx_hopcount, lock(HOPCOUNT));
- printf("%8d%c ", rtm->rtm_rmx.rmx_mtu, lock(MTU));
+ printf("%8ld%c ", rtm->rtm_rmx.rmx_recvpipe, lock(RPIPE));
+ printf("%8ld%c ", rtm->rtm_rmx.rmx_sendpipe, lock(SPIPE));
+ printf("%8ld%c ", rtm->rtm_rmx.rmx_ssthresh, lock(SSTHRESH));
+ printf("%8ld%c ", msec(rtm->rtm_rmx.rmx_rtt), lock(RTT));
+ printf("%8ld%c ", msec(rtm->rtm_rmx.rmx_rttvar), lock(RTTVAR));
+ printf("%8ld%c ", rtm->rtm_rmx.rmx_hopcount, lock(HOPCOUNT));
+ printf("%8ld%c ", rtm->rtm_rmx.rmx_mtu, lock(MTU));
if (rtm->rtm_rmx.rmx_expire)
rtm->rtm_rmx.rmx_expire -= time(0);
- printf("%8d%c\n", rtm->rtm_rmx.rmx_expire, lock(EXPIRE));
+ printf("%8ld%c\n", rtm->rtm_rmx.rmx_expire, lock(EXPIRE));
#undef lock
#undef msec
#define RTA_IGN (RTA_DST|RTA_GATEWAY|RTA_NETMASK|RTA_IFP|RTA_IFA|RTA_BRD)
@@ -1307,7 +1297,7 @@ bprintf(fp, b, s)
if (b == 0)
return;
- while (i = *s++) {
+ while ((i = *s++) != 0) {
if (b & (1 << (i-1))) {
if (gotsome == 0)
i = '<';
@@ -1379,7 +1369,7 @@ sockaddr(addr, sa)
register char *cp = (char *)sa;
int size = sa->sa_len;
char *cplim = cp + size;
- register int byte = 0, state = VIRGIN, new;
+ register int byte = 0, state = VIRGIN, new = 0 /* foil gcc */;
bzero(cp, size);
cp++;
OpenPOWER on IntegriCloud