Blob Blame History Raw
--- netkit-rwho-0.15/ruptime/ruptime.c.alpha	Sun Aug  1 16:44:17 1999
+++ netkit-rwho-0.15/ruptime/ruptime.c	Thu Aug 26 16:06:43 1999
@@ -91,7 +91,7 @@
 	struct dirent *dp;
 	int aflg, cc, ch, f, maxloadav;
 	unsigned i;
-	char buf[sizeof(struct whod)];
+	struct whod buf;
 	int (*cmp)(const void *, const void *) = hscmp;
 	time_t correction;
 
@@ -134,7 +134,7 @@
 			    dp->d_name, strerror(errno));
 			continue;
 		}
-		cc = read(f, buf, sizeof(struct whod));
+		cc = read(f, &buf, sizeof(buf));
 		(void)close(f);
 		if (cc < WHDRSIZE)
 			continue;
@@ -142,7 +142,7 @@
 			morehosts();
 			hsp = hs + nhosts;
 		}
-		wd = (struct whod *)buf;
+		wd = &buf;
 		snprintf(hsp->hs_hostname, sizeof(hsp->hs_hostname),
 			 "%s", wd->wd_hostname);
 		/*
@@ -168,7 +168,8 @@
 		for (i = 0; i < 2; i++)
 			if (wd->wd_loadav[i] > maxloadav)
 				maxloadav = wd->wd_loadav[i];
-		we = (struct whoent *)(buf+cc);
+		cc -= WHDRSIZE;
+		we = &buf.wd_we[cc/sizeof(buf.wd_we[0])];
 		while (--we >= wd->wd_we)
 			if (aflg || we->we_idle < 3600)
 				hsp->hs_nusers++;
--- netkit-rwho-0.15/rwho/Makefile.alpha	Sun Aug  1 02:00:13 1999
+++ netkit-rwho-0.15/rwho/Makefile	Thu Aug 26 15:59:23 1999
@@ -3,8 +3,6 @@
 include ../MCONFIG
 include ../MRULES
 
-CFLAGS += -I../include
-
 rwho: rwho.o
 	$(CC) $(LDFLAGS) $^ $(LIBS) -o $@
 
--- netkit-rwho-0.15/rwhod/rwhod.c.alpha	Sun Aug  1 17:03:21 1999
+++ netkit-rwho-0.15/rwhod/rwhod.c	Thu Aug 26 15:59:23 1999
@@ -106,7 +106,7 @@
 struct	neighbor {
 	struct	neighbor *n_next;
 	char	*n_name;		/* interface name */
-	char	*n_addr;		/* who to send to */
+	struct in_addr *n_addr;		/* who to send to */
 	int	n_addrlen;		/* size of address */
 	int	n_flags;		/* should forward?, interface flags */
 };
@@ -219,7 +219,7 @@
 	for (;;) {
 		struct whod wd;
 		int cc, whod;
-		size_t len = sizeof(from);
+		int len = sizeof(from);
 
 		memset(&wd, 0, sizeof(wd));
 		cc = recvfrom(sk, (char *)&wd, sizeof(struct whod), 0,
@@ -495,15 +495,15 @@
 static int
 configure(int s)
 {
-	char buf[BUFSIZ], *cp, *cplim;
+	struct ifreq buf[BUFSIZ/sizeof(struct ifreq)];
+	struct ifreq ifreq, *cp, *cplim, *ifr;
 	struct ifconf ifc;
-	struct ifreq ifreq, *ifr;
 	struct sockaddr_in *sn;
 	register struct neighbor *np;
 
 	ifc.ifc_len = sizeof (buf);
-	ifc.ifc_buf = buf;
-	if (ioctl(s, SIOCGIFCONF, (char *)&ifc) < 0) {
+	ifc.ifc_buf = (char *)buf;
+	if (ioctl(s, SIOCGIFCONF, &ifc) < 0) {
 		syslog(LOG_ERR, "ioctl (get interface configuration)");
 		return (0);
 	}
@@ -514,10 +514,9 @@
 #else
 #define size(p) (sizeof (p))
 #endif
-	cplim = buf + ifc.ifc_len; /*skip over if's with big ifr_addr's */
-	for (cp = buf; cp < cplim;
-			cp += sizeof (ifr->ifr_name) + size(ifr->ifr_addr)) {
-		ifr = (struct ifreq *)cp;
+	cplim = buf + ifc.ifc_len/sizeof( *cplim); /*skip over if's with big ifr_addr's */
+	for (cp = buf; cp < cplim; ++cp) {
+		ifr = cp;
 		for (np = neighbors; np != NULL; np = np->n_next)
 			if (np->n_name &&
 			    strcmp(ifr->ifr_name, np->n_name) == 0)
@@ -541,8 +540,8 @@
 			free((char *)np);
 			continue;
 		}
-		bcopy((char *)&ifr->ifr_addr, np->n_addr, np->n_addrlen);
-		if (ioctl(s, SIOCGIFFLAGS, (char *)&ifreq) < 0) {
+		bcopy(&ifr->ifr_addr, np->n_addr, np->n_addrlen);
+		if (ioctl(s, SIOCGIFFLAGS, &ifreq) < 0) {
 			syslog(LOG_ERR, "ioctl (get interface flags)");
 			free((char *)np);
 			continue;
@@ -554,7 +553,7 @@
 		}
 		np->n_flags = ifreq.ifr_flags;
 		if (np->n_flags & IFF_POINTOPOINT) {
-			if (ioctl(s, SIOCGIFDSTADDR, (char *)&ifreq) < 0) {
+			if (ioctl(s, SIOCGIFDSTADDR, &ifreq) < 0) {
 				syslog(LOG_ERR, "ioctl (get dstaddr)");
 				free(np);
 				continue;
@@ -568,7 +567,7 @@
 			  np->n_addr, np->n_addrlen);
 		}
 		if (np->n_flags & IFF_BROADCAST) {
-			if (ioctl(s, SIOCGIFBRDADDR, (char *)&ifreq) < 0) {
+			if (ioctl(s, SIOCGIFBRDADDR, &ifreq) < 0) {
 				syslog(LOG_ERR, "ioctl (get broadaddr)");
 				free(np);
 				continue;