diff options
author | benno <benno@openbsd.org> | 2017-05-28 10:00:00 +0000 |
---|---|---|
committer | benno <benno@openbsd.org> | 2017-05-28 10:00:00 +0000 |
commit | f68d7b96f98f1f51cec302c35093e0ab39d57628 (patch) | |
tree | 220283e949b6d4061e44f751617d66dcea033470 /usr.sbin/traceroute | |
parent | Remove unused flag IWM_FLAG_STOPPED. (diff) | |
download | wireguard-openbsd-f68d7b96f98f1f51cec302c35093e0ab39d57628.tar.xz wireguard-openbsd-f68d7b96f98f1f51cec302c35093e0ab39d57628.zip |
move as many globals as possible into the main function - thats the
only place where they are used.
Only exception: v6flags - make it an argument to usage()
ok florian@
Diffstat (limited to 'usr.sbin/traceroute')
-rw-r--r-- | usr.sbin/traceroute/traceroute.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/usr.sbin/traceroute/traceroute.c b/usr.sbin/traceroute/traceroute.c index 6b0909fbd71..b664dd71fa2 100644 --- a/usr.sbin/traceroute/traceroute.c +++ b/usr.sbin/traceroute/traceroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: traceroute.c,v 1.151 2017/01/24 14:07:41 florian Exp $ */ +/* $OpenBSD: traceroute.c,v 1.152 2017/05/28 10:00:00 benno Exp $ */ /* $NetBSD: traceroute.c,v 1.10 1995/05/21 15:50:45 mycroft Exp $ */ /* @@ -270,26 +270,13 @@ u_char *outpacket; /* last inbound (icmp) packet */ int rcvsock; /* receive (icmp) socket file descriptor */ int sndsock; /* send (udp) socket file descriptor */ -static struct msghdr rcvmhdr; -static struct iovec rcviov[2]; - int rcvhlim; struct in6_pktinfo *rcvpktinfo; int datalen; /* How much data */ -static int headerlen; /* How long packet's header is */ char *hostname; -static int nprobes = 3; -static u_int8_t max_ttl = IPDEFTTL; -static u_int8_t first_ttl = 1; - -static int options; /* socket options */ -static int xflag; /* show ICMP extension header */ -static int tflag; /* tos flag was set */ -static int v6flag; - u_short ident; u_int16_t srcport; u_int16_t port = 32768+666;/* start udp dest port # for probe packets */ @@ -302,7 +289,7 @@ int dump; int Aflag; /* lookup ASN */ int last_tos; -void usage(void); +void usage(int); #define TRACEROUTE_USER "_traceroute" @@ -333,6 +320,23 @@ main(int argc, char *argv[]) u_int rtableid = 0; socklen_t len; + int headerlen; /* How long packet's header is */ + + int nprobes = 3; + u_int8_t max_ttl = IPDEFTTL; + u_int8_t first_ttl = 1; + + int options = 0; /* socket options */ + int xflag = 0; /* show ICMP extension header */ + int tflag = 0; /* tos flag was set */ + int v6flag = 0; + + struct msghdr rcvmhdr; + struct iovec rcviov[2]; + + memset(&rcvmhdr, 0, sizeof(rcvmhdr)); + memset(&rcviov, 0, sizeof(rcviov)); + rcvsock4 = rcvsock6 = sndsock4 = sndsock6 = -1; v4sock_errno = v6sock_errno = 0; @@ -541,13 +545,13 @@ main(int argc, char *argv[]) xflag = 1; break; default: - usage(); + usage(v6flag); } argc -= optind; argv += optind; if (argc < 1 || argc > 2) - usage(); + usage(v6flag); setvbuf(stdout, NULL, _IOLBF, 0); @@ -926,7 +930,7 @@ main(int argc, char *argv[]) } void -usage(void) +usage(int v6flag) { if (v6flag) { fprintf(stderr, "usage: traceroute6 [-AcDdIlnSv] [-f first_hop] " |