Author: pjd
Date: Wed Jul  3 20:58:58 2013
New Revision: 252602
URL: http://svnweb.freebsd.org/changeset/base/252602

Log:
  Style cleanups.
  
  Submitted by: Mariusz Zaborski <osho...@freebsd.org>
  Sponsored by: Google Summer of Code 2013
  Reviewed by:  pjd
  MFC after:    1 month

Modified:
  head/usr.sbin/rwhod/rwhod.c

Modified: head/usr.sbin/rwhod/rwhod.c
==============================================================================
--- head/usr.sbin/rwhod/rwhod.c Wed Jul  3 20:55:49 2013        (r252601)
+++ head/usr.sbin/rwhod/rwhod.c Wed Jul  3 20:58:58 2013        (r252602)
@@ -1,6 +1,6 @@
-/*
- * Copyright (c) 1983, 1993
- *     The Regents of the University of California.  All rights reserved.
+/*-
+ * Copyright (c) 1983, 1993 The Regents of the University of California.
+ * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -60,47 +60,17 @@ __FBSDID("$FreeBSD$");
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <grp.h>
 #include <netdb.h>
 #include <paths.h>
+#include <pwd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
 #include <timeconv.h>
-#include <unistd.h>
 #include <utmpx.h>
-#include <pwd.h>
-#include <grp.h>
-
-/*
- * This version of Berkeley's rwhod has been modified to use IP multicast
- * datagrams, under control of a new command-line option:
- *
- *     rwhod -m        causes rwhod to use IP multicast (instead of
- *                     broadcast or unicast) on all interfaces that have
- *                     the IFF_MULTICAST flag set in their "ifnet" structs
- *                     (excluding the loopback interface).  The multicast
- *                     reports are sent with a time-to-live of 1, to prevent
- *                     forwarding beyond the directly-connected subnet(s).
- *
- *     rwhod -m <ttl>  causes rwhod to send IP multicast datagrams with a
- *                     time-to-live of <ttl>, via a SINGLE interface rather
- *                     than all interfaces.  <ttl> must be between 0 and
- *                     MAX_MULTICAST_SCOPE, defined below.  Note that "-m 1"
- *                     is different than "-m", in that "-m 1" specifies
- *                     transmission on one interface only.
- *
- * When "-m" is used without a <ttl> argument, the program accepts multicast
- * rwhod reports from all multicast-capable interfaces.  If a <ttl> argument
- * is given, it accepts multicast reports from only one interface, the one
- * on which reports are sent (which may be controlled via the host's routing
- * table).  Regardless of the "-m" option, the program accepts broadcast or
- * unicast reports from all interfaces.  Thus, this program will hear the
- * reports of old, non-multicasting rwhods, but, if multicasting is used,
- * those old rwhods won't hear the reports generated by this program.
- *
- *                  -- Steve Deering, Stanford University, February 1989
- */
+#include <unistd.h>
 
 #define        UNPRIV_USER             "daemon"
 #define        UNPRIV_GROUP            "daemon"
@@ -112,15 +82,15 @@ __FBSDID("$FreeBSD$");
 #define MAX_MULTICAST_SCOPE    32        /* "site-wide", by convention */
 
 #define INADDR_WHOD_GROUP (u_long)0xe0000103      /* 224.0.1.3 */
-                                         /* (belongs in protocols/rwhod.h) */
+                                                 /* (belongs in 
protocols/rwhod.h) */
 
-int                    insecure_mode;
-int                    quiet_mode;
-int                    iff_flag = IFF_POINTOPOINT;
-int                    multicast_mode  = NO_MULTICAST;
-int                    multicast_scope;
-struct sockaddr_in     multicast_addr  =
-       { sizeof multicast_addr, AF_INET, 0, { 0 }, { 0 } };
+int    insecure_mode;
+int    quiet_mode;
+int    iff_flag = IFF_POINTOPOINT;
+int    multicast_mode = NO_MULTICAST;
+int    multicast_scope;
+struct sockaddr_in multicast_addr =
+       { sizeof(multicast_addr), AF_INET, 0, { 0 }, { 0 } };
 
 /*
  * Alarm interval. Don't forget to change the down time check in ruptime
@@ -137,72 +107,109 @@ char     myname[MAXHOSTNAMELEN];
  */
 struct neighbor {
        struct  neighbor *n_next;
-       char    *n_name;                /* interface name */
+       char             *n_name;               /* interface name */
        struct  sockaddr *n_addr;               /* who to send to */
-       int     n_addrlen;              /* size of address */
-       int     n_flags;                /* should forward?, interface flags */
+       int               n_addrlen;            /* size of address */
+       int               n_flags;              /* should forward?, interface 
flags */
 };
 
 struct neighbor *neighbors;
 struct whod mywd;
-struct servent *sp;
+struct servent *sp;
 int    s;
 
 #define        WHDRSIZE        (int)(sizeof(mywd) - sizeof(mywd.wd_we))
 
-void    run_as(uid_t *, gid_t *);
-int     configure(int);
-void    getboottime(int);
-void    onalrm(int);
-void    quit(const char *);
-void    rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *);
-int     verify(char *, int);
+int    configure(int so);
+void   getboottime(int signo __unused);
+void   onalrm(int signo __unused);
+void   rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo);
+void   run_as(uid_t *uid, gid_t *gid);
+void   quit(const char *msg);
+int    verify(char *name, int maxlen);
 static void usage(void);
+
 #ifdef DEBUG
-char   *interval(int, char *);
-void    Sendto(int, const void *, size_t, int, const struct sockaddr *, int);
+char   *interval(int time, char *updown);
+void   Sendto(int s, const void *buf, size_t cc, int flags,
+           const struct sockaddr *to, int tolen);
 #define         sendto Sendto
 #endif
 
+/*
+ * This version of Berkeley's rwhod has been modified to use IP multicast
+ * datagrams, under control of a new command-line option:
+ *
+ *     rwhod -m        causes rwhod to use IP multicast (instead of
+ *                     broadcast or unicast) on all interfaces that have
+ *                     the IFF_MULTICAST flag set in their "ifnet" structs
+ *                     (excluding the loopback interface).  The multicast
+ *                     reports are sent with a time-to-live of 1, to prevent
+ *                     forwarding beyond the directly-connected subnet(s).
+ *
+ *     rwhod -m <ttl>  causes rwhod to send IP multicast datagrams with a
+ *                     time-to-live of <ttl>, via a SINGLE interface rather
+ *                     than all interfaces.  <ttl> must be between 0 and
+ *                     MAX_MULTICAST_SCOPE, defined below.  Note that "-m 1"
+ *                     is different than "-m", in that "-m 1" specifies
+ *                     transmission on one interface only.
+ *
+ * When "-m" is used without a <ttl> argument, the program accepts multicast
+ * rwhod reports from all multicast-capable interfaces.  If a <ttl> argument
+ * is given, it accepts multicast reports from only one interface, the one
+ * on which reports are sent (which may be controlled via the host's routing
+ * table).  Regardless of the "-m" option, the program accepts broadcast or
+ * unicast reports from all interfaces.  Thus, this program will hear the
+ * reports of old, non-multicasting rwhods, but, if multicasting is used,
+ * those old rwhods won't hear the reports generated by this program.
+ *
+ *                  -- Steve Deering, Stanford University, February 1989
+ */
 int
 main(int argc, char *argv[])
 {
        struct sockaddr_in from;
        struct stat st;
        char path[64];
-       int on = 1;
+       int on;
        char *cp;
        struct sockaddr_in soin;
        uid_t unpriv_uid;
        gid_t unpriv_gid;
 
+       on = 1;
        if (getuid())
                errx(1, "not super user");
 
        run_as(&unpriv_uid, &unpriv_gid);
 
-       argv++; argc--;
+       argv++;
+       argc--;
        while (argc > 0 && *argv[0] == '-') {
                if (strcmp(*argv, "-m") == 0) {
                        if (argc > 1 && isdigit(*(argv + 1)[0])) {
-                               argv++, argc--;
+                               argv++;
+                               argc--;
                                multicast_mode  = SCOPED_MULTICAST;
                                multicast_scope = atoi(*argv);
-                               if (multicast_scope > MAX_MULTICAST_SCOPE)
+                               if (multicast_scope > MAX_MULTICAST_SCOPE) {
                                        errx(1, "ttl must not exceed %u",
-                                       MAX_MULTICAST_SCOPE);
+                                           MAX_MULTICAST_SCOPE);
+                               }
+                       } else {
+                               multicast_mode = PER_INTERFACE_MULTICAST;
                        }
-                       else multicast_mode = PER_INTERFACE_MULTICAST;
-               }
-               else if (strcmp(*argv, "-i") == 0)
+               } else if (strcmp(*argv, "-i") == 0) {
                        insecure_mode = 1;
-               else if (strcmp(*argv, "-l") == 0)
+               } else if (strcmp(*argv, "-l") == 0) {
                        quiet_mode = 1;
-               else if (strcmp(*argv, "-p") == 0)
+               } else if (strcmp(*argv, "-p") == 0) {
                        iff_flag = 0;
-               else
+               } else {
                        usage();
-               argv++, argc--;
+               }
+               argv++;
+               argc--;
        }
        if (argc > 0)
                usage();
@@ -229,8 +236,7 @@ main(int argc, char *argv[])
        }
        if ((cp = strchr(myname, '.')) != NULL)
                *cp = '\0';
-       strncpy(mywd.wd_hostname, myname, sizeof(mywd.wd_hostname) - 1);
-       mywd.wd_hostname[sizeof(mywd.wd_hostname) - 1] = '\0';
+       strlcpy(mywd.wd_hostname, myname, sizeof(mywd.wd_hostname));
        getboottime(0);
        if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
                syslog(LOG_ERR, "socket: %m");
@@ -252,7 +258,7 @@ main(int argc, char *argv[])
                syslog(LOG_ERR, "setgid: %m");
                exit(1);
        }
-       if (setgroups(1, &unpriv_gid) != 0) { /* XXX BOGUS groups[0] = egid */
+       if (setgroups(1, &unpriv_gid) != 0) {   /* XXX BOGUS groups[0] = egid */
                syslog(LOG_ERR, "setgroups: %m");
                exit(1);
        }
@@ -268,12 +274,13 @@ main(int argc, char *argv[])
        }
        for (;;) {
                struct whod wd;
-               socklen_t len = sizeof(from);
+               socklen_t len;
                int cc, whod;
                time_t t;
 
-               cc = recvfrom(s, (char *)&wd, sizeof(struct whod), 0,
-                       (struct sockaddr *)&from, &len);
+               len = sizeof(from);
+               cc = recvfrom(s, &wd, sizeof(wd), 0, (struct sockaddr *)&from,
+                   &len);
                if (cc <= 0) {
                        if (cc < 0 && errno != EINTR)
                                syslog(LOG_WARNING, "recv: %m");
@@ -293,12 +300,12 @@ main(int argc, char *argv[])
                        continue;
                if (wd.wd_type != WHODTYPE_STATUS)
                        continue;
-               if (!verify(wd.wd_hostname, sizeof wd.wd_hostname)) {
+               if (!verify(wd.wd_hostname, sizeof(wd.wd_hostname))) {
                        syslog(LOG_WARNING, "malformed host name from %s",
                            inet_ntoa(from.sin_addr));
                        continue;
                }
-               (void) snprintf(path, sizeof path, "whod.%s", wd.wd_hostname);
+               (void) snprintf(path, sizeof(path), "whod.%s", wd.wd_hostname);
                /*
                 * Rather than truncating and growing the file each time,
                 * use ftruncate if size is less than previous size.
@@ -310,9 +317,10 @@ main(int argc, char *argv[])
                }
 #if ENDIAN != BIG_ENDIAN
                {
-                       int i, n = (cc - WHDRSIZE)/sizeof(struct whoent);
                        struct whoent *we;
+                       int i, n;
 
+                       n = (cc - WHDRSIZE) / sizeof(struct whoent);
                        /* undo header byte swapping before writing to file */
                        wd.wd_sendtime = ntohl(wd.wd_sendtime);
                        for (i = 0; i < 3; i++)
@@ -337,29 +345,28 @@ main(int argc, char *argv[])
 }
 
 static void
-usage()
+usage(void)
 {
+
        fprintf(stderr, "usage: rwhod [-i] [-p] [-l] [-m [ttl]]\n");
        exit(1);
 }
 
 void
-run_as(uid, gid)
-       uid_t *uid;
-       gid_t *gid;
+run_as(uid_t *uid, gid_t *gid)
 {
        struct passwd *pw;
        struct group *gr;
 
        pw = getpwnam(UNPRIV_USER);
-       if (!pw) {
+       if (pw == NULL) {
                syslog(LOG_ERR, "getpwnam(%s): %m", UNPRIV_USER);
                exit(1);
        }
        *uid = pw->pw_uid;
 
        gr = getgrnam(UNPRIV_GROUP);
-       if (!gr) {
+       if (gr == NULL) {
                syslog(LOG_ERR, "getgrnam(%s): %m", UNPRIV_GROUP);
                exit(1);
        }
@@ -372,16 +379,16 @@ run_as(uid, gid)
  * to be created.  Sorry, but blanks aren't allowed.
  */
 int
-verify(name, maxlen)
-       register char *name;
-       register int   maxlen;
+verify(char *name, int maxlen)
 {
-       register int size = 0;
+       int size;
 
-       while (*name && size < maxlen - 1) {
-               if (!isascii(*name) || !(isalnum(*name) || ispunct(*name)))
+       size = 0;
+       while (*name != '\0' && size < maxlen - 1) {
+               if (!isascii(*name) || !isalnum(*name) || ispunct(*name))
                        return (0);
-               name++, size++;
+               name++;
+               size++;
        }
        *name = '\0';
        return (size > 0);
@@ -390,15 +397,16 @@ verify(name, maxlen)
 void
 onalrm(int signo __unused)
 {
-       struct neighbor *np;
-       struct whoent *we = mywd.wd_we, *wend;
-       struct stat stb;
-       struct utmpx *ut;
        static int alarmcount = 0;
        double avenrun[3];
        time_t now;
        int i, cc;
+       struct utmpx *ut;
+       struct stat stb;
+       struct neighbor *np;
+       struct whoent *we, *wend;
 
+       we = mywd.wd_we;
        now = time(NULL);
        if (alarmcount % 10 == 0)
                getboottime(0);
@@ -418,7 +426,7 @@ onalrm(int signo __unused)
        }
        endutxent();
 
-       if (chdir(_PATH_DEV)) {
+       if (chdir(_PATH_DEV) < 0) {
                syslog(LOG_ERR, "chdir(%s): %m", _PATH_DEV);
                exit(1);
        }
@@ -428,7 +436,7 @@ onalrm(int signo __unused)
                        we->we_idle = htonl(now - stb.st_atime);
                we++;
        }
-       (void)getloadavg(avenrun, sizeof(avenrun)/sizeof(avenrun[0]));
+       (void) getloadavg(avenrun, sizeof(avenrun) / sizeof(avenrun[0]));
        for (i = 0; i < 3; i++)
                mywd.wd_loadav[i] = htonl((u_long)(avenrun[i] * 100));
        cc = (char *)wend - (char *)&mywd;
@@ -439,27 +447,32 @@ onalrm(int signo __unused)
                (void) sendto(s, (char *)&mywd, cc, 0,
                                (struct sockaddr *)&multicast_addr,
                                sizeof(multicast_addr));
-       }
-       else for (np = neighbors; np != NULL; np = np->n_next) {
-               if (multicast_mode == PER_INTERFACE_MULTICAST &&
-                   np->n_flags & IFF_MULTICAST) {
-                       /*
-                        * Select the outgoing interface for the multicast.
-                        */
-                       if (setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF,
-                           &(((struct sockaddr_in *)np->n_addr)->sin_addr),
-                           sizeof(struct in_addr)) < 0) {
-                               syslog(LOG_ERR,
-                                       "setsockopt IP_MULTICAST_IF: %m");
-                               exit(1);
+       } else {
+               for (np = neighbors; np != NULL; np = np->n_next) {
+                       if (multicast_mode == PER_INTERFACE_MULTICAST &&
+                           (np->n_flags & IFF_MULTICAST) != 0) {
+                               /*
+                                * Select the outgoing interface for the
+                                * multicast.
+                                */
+                               if (setsockopt(s, IPPROTO_IP,
+                                   IP_MULTICAST_IF,
+                                   &(((struct sockaddr_in 
*)np->n_addr)->sin_addr),
+                                   sizeof(struct in_addr)) < 0) {
+                                       syslog(LOG_ERR,
+                                           "setsockopt IP_MULTICAST_IF: %m");
+                                       exit(1);
+                               }
+                               (void) sendto(s, (char *)&mywd, cc, 0,
+                                   (struct sockaddr *)&multicast_addr,
+                                   sizeof(multicast_addr));
+                       } else {
+                           (void) sendto(s, (char *)&mywd, cc, 0,
+                               np->n_addr, np->n_addrlen);
                        }
-                       (void) sendto(s, (char *)&mywd, cc, 0,
-                               (struct sockaddr *)&multicast_addr,
-                               sizeof(multicast_addr));
-               } else (void) sendto(s, (char *)&mywd, cc, 0,
-                                       np->n_addr, np->n_addrlen);
+               }
        }
-       if (chdir(_PATH_RWHODIR)) {
+       if (chdir(_PATH_RWHODIR) < 0) {
                syslog(LOG_ERR, "chdir(%s): %m", _PATH_RWHODIR);
                exit(1);
        }
@@ -467,8 +480,7 @@ onalrm(int signo __unused)
 }
 
 void
-getboottime(signo)
-       int signo __unused;
+getboottime(int signo __unused)
 {
        int mib[2];
        size_t size;
@@ -485,26 +497,25 @@ getboottime(signo)
 }
 
 void
-quit(msg)
-       const char *msg;
+quit(const char *msg)
 {
+
        syslog(LOG_ERR, "%s", msg);
        exit(1);
 }
 
 void
-rt_xaddrs(cp, cplim, rtinfo)
-       register caddr_t cp, cplim;
-       register struct rt_addrinfo *rtinfo;
+rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo)
 {
-       register struct sockaddr *sa;
-       register int i;
+       struct sockaddr *sa;
+       int i;
 
        memset(rtinfo->rti_info, 0, sizeof(rtinfo->rti_info));
-       for (i = 0; (i < RTAX_MAX) && (cp < cplim); i++) {
+       for (i = 0; i < RTAX_MAX && cp < cplim; i++) {
                if ((rtinfo->rti_addrs & (1 << i)) == 0)
                        continue;
-               rtinfo->rti_info[i] = sa = (struct sockaddr *)cp;
+               sa = (struct sockaddr *)cp;
+               rtinfo->rti_info[i] = sa;
                cp += SA_SIZE(sa);
        }
 }
@@ -514,18 +525,18 @@ rt_xaddrs(cp, cplim, rtinfo)
  * networks which deserve status information.
  */
 int
-configure(so)
-       int so;
+configure(int so)
 {
-       register struct neighbor *np;
-       register struct if_msghdr *ifm;
-       register struct ifa_msghdr *ifam;
+       struct neighbor *np;
+       struct if_msghdr *ifm;
+       struct ifa_msghdr *ifam;
        struct sockaddr_dl *sdl;
        size_t needed;
-       int mib[6], flags = 0, len;
+       int mib[6], flags, lflags, len;
        char *buf, *lim, *next;
        struct rt_addrinfo info;
 
+       flags = 0;
        if (multicast_mode != NO_MULTICAST) {
                multicast_addr.sin_addr.s_addr = htonl(INADDR_WHOD_GROUP);
                multicast_addr.sin_port = sp->s_port;
@@ -538,19 +549,19 @@ configure(so)
                mreq.imr_multiaddr.s_addr = htonl(INADDR_WHOD_GROUP);
                mreq.imr_interface.s_addr = htonl(INADDR_ANY);
                if (setsockopt(so, IPPROTO_IP, IP_ADD_MEMBERSHIP,
-                                       &mreq, sizeof(mreq)) < 0) {
+                   &mreq, sizeof(mreq)) < 0) {
                        syslog(LOG_ERR,
-                               "setsockopt IP_ADD_MEMBERSHIP: %m");
-                       return(0);
+                           "setsockopt IP_ADD_MEMBERSHIP: %m");
+                       return (0);
                }
                ttl = multicast_scope;
-               if (setsockopt(so, IPPROTO_IP, IP_MULTICAST_TTL,
-                                       &ttl, sizeof(ttl)) < 0) {
+               if (setsockopt(so, IPPROTO_IP, IP_MULTICAST_TTL, &ttl,
+                   sizeof(ttl)) < 0) {
                        syslog(LOG_ERR,
-                               "setsockopt IP_MULTICAST_TTL: %m");
-                       return(0);
+                           "setsockopt IP_MULTICAST_TTL: %m");
+                       return (0);
                }
-               return(1);
+               return (1);
        }
 
        mib[0] = CTL_NET;
@@ -575,34 +586,38 @@ configure(so)
                        flags = ifm->ifm_flags;
                        continue;
                }
-               if ((flags & IFF_UP) == 0 ||
-                   (flags & (((multicast_mode == PER_INTERFACE_MULTICAST) ?
-                               IFF_MULTICAST : 0) |
-                               IFF_BROADCAST|iff_flag)) == 0)
+               if ((flags & IFF_UP) == 0)
+                       continue;
+               lflags = IFF_BROADCAST | iff_flag;
+               if (multicast_mode == PER_INTERFACE_MULTICAST)
+                       lflags |= IFF_MULTICAST;
+               if ((flags & lflags) == 0)
                        continue;
                if (ifm->ifm_type != RTM_NEWADDR)
                        quit("out of sync parsing NET_RT_IFLIST");
                ifam = (struct ifa_msghdr *)ifm;
                info.rti_addrs = ifam->ifam_addrs;
                rt_xaddrs((char *)(ifam + 1), ifam->ifam_msglen + (char *)ifam,
-                       &info);
+                   &info);
                /* gag, wish we could get rid of Internet dependencies */
-#define dstaddr        info.rti_info[RTAX_BRD]
-#define ifaddr info.rti_info[RTAX_IFA]
-#define IPADDR_SA(x) ((struct sockaddr_in *)(x))->sin_addr.s_addr
-#define PORT_SA(x) ((struct sockaddr_in *)(x))->sin_port
+#define        dstaddr         info.rti_info[RTAX_BRD]
+#define        ifaddr          info.rti_info[RTAX_IFA]
+#define        IPADDR_SA(x)    ((struct sockaddr_in *)(x))->sin_addr.s_addr
+#define        PORT_SA(x)      ((struct sockaddr_in *)(x))->sin_port
                if (dstaddr == 0 || dstaddr->sa_family != AF_INET)
                        continue;
                PORT_SA(dstaddr) = sp->s_port;
-               for (np = neighbors; np != NULL; np = np->n_next)
+               for (np = neighbors; np != NULL; np = np->n_next) {
                        if (memcmp(sdl->sdl_data, np->n_name,
-                                  sdl->sdl_nlen) == 0 &&
-                           IPADDR_SA(np->n_addr) == IPADDR_SA(dstaddr))
+                           sdl->sdl_nlen) == 0 &&
+                           IPADDR_SA(np->n_addr) == IPADDR_SA(dstaddr)) {
                                break;
+                       }
+               }
                if (np != NULL)
                        continue;
                len = sizeof(*np) + dstaddr->sa_len + sdl->sdl_nlen + 1;
-               np = (struct neighbor *)malloc(len);
+               np = malloc(len);
                if (np == NULL)
                        quit("malloc of neighbor structure");
                memset(np, 0, len);
@@ -613,24 +628,24 @@ configure(so)
                memcpy((char *)np->n_addr, (char *)dstaddr, np->n_addrlen);
                memcpy(np->n_name, sdl->sdl_data, sdl->sdl_nlen);
                if (multicast_mode == PER_INTERFACE_MULTICAST &&
-                   (flags & IFF_MULTICAST) &&
-                  !(flags & IFF_LOOPBACK)) {
+                   (flags & IFF_MULTICAST) != 0 &&
+                   (flags & IFF_LOOPBACK) == 0) {
                        struct ip_mreq mreq;
 
                        memcpy((char *)np->n_addr, (char *)ifaddr,
-                               np->n_addrlen);
+                           np->n_addrlen);
                        mreq.imr_multiaddr.s_addr = htonl(INADDR_WHOD_GROUP);
                        mreq.imr_interface.s_addr =
-                         ((struct sockaddr_in *)np->n_addr)->sin_addr.s_addr;
+                           ((struct sockaddr_in *)np->n_addr)->sin_addr.s_addr;
                        if (setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP,
-                                               &mreq, sizeof(mreq)) < 0) {
+                           &mreq, sizeof(mreq)) < 0) {
                                syslog(LOG_ERR,
                                    "setsockopt IP_ADD_MEMBERSHIP: %m");
 #if 0
                                /* Fall back to broadcast on this if. */
                                np->n_flags &= ~IFF_MULTICAST;
 #else
-                               free((char *)np);
+                               free(np);
                                continue;
 #endif
                        }
@@ -644,36 +659,32 @@ configure(so)
 
 #ifdef DEBUG
 void
-Sendto(s, buf, cc, flags, to, tolen)
-       int s;
-       const void *buf;
-       size_t cc;
-       int flags;
-       const struct sockaddr *to;
-       int tolen;
-{
-       register struct whod *w = (struct whod *)buf;
-       register struct whoent *we;
-       struct sockaddr_in *sin = (struct sockaddr_in *)to;
+Sendto(int s, const void *buf, size_t cc, int flags, const struct sockaddr *to,
+    int tolen)
+{
+       struct whod *w;
+       struct whoent *we;
+       struct sockaddr_in *sin;
 
+       w = (struct whod *)buf;
+       sin = (struct sockaddr_in *)to;
        printf("sendto %x.%d\n", ntohl(sin->sin_addr.s_addr),
-                                ntohs(sin->sin_port));
+           ntohs(sin->sin_port));
        printf("hostname %s %s\n", w->wd_hostname,
-          interval(ntohl(w->wd_sendtime) - ntohl(w->wd_boottime), "  up"));
+           interval(ntohl(w->wd_sendtime) - ntohl(w->wd_boottime), "  up"));
        printf("load %4.2f, %4.2f, %4.2f\n",
            ntohl(w->wd_loadav[0]) / 100.0, ntohl(w->wd_loadav[1]) / 100.0,
            ntohl(w->wd_loadav[2]) / 100.0);
        cc -= WHDRSIZE;
        for (we = w->wd_we, cc /= sizeof(struct whoent); cc > 0; cc--, we++) {
                time_t t = _time32_to_time(ntohl(we->we_utmp.out_time));
-               printf("%-8.8s %s:%s %.12s",
-                       we->we_utmp.out_name,
-                       w->wd_hostname, we->we_utmp.out_line,
-                       ctime(&t)+4);
+
+               printf("%-8.8s %s:%s %.12s", we->we_utmp.out_name,
+                   w->wd_hostname, we->we_utmp.out_line, ctime(&t) + 4);
                we->we_idle = ntohl(we->we_idle) / 60;
-               if (we->we_idle) {
-                       if (we->we_idle >= 100*60)
-                               we->we_idle = 100*60 - 1;
+               if (we->we_idle != 0) {
+                       if (we->we_idle >= 100 * 60)
+                               we->we_idle = 100 * 60 - 1;
                        if (we->we_idle >= 60)
                                printf(" %2d", we->we_idle / 60);
                        else
@@ -685,26 +696,27 @@ Sendto(s, buf, cc, flags, to, tolen)
 }
 
 char *
-interval(time, updown)
-       int time;
-       char *updown;
+interval(int time, char *updown)
 {
        static char resbuf[32];
        int days, hours, minutes;
 
-       if (time < 0 || time > 3*30*24*60*60) {
+       if (time < 0 || time > 3 * 30 * 24 * 60 * 60) {
                (void) sprintf(resbuf, "   %s ??:??", updown);
                return (resbuf);
        }
        minutes = (time + 59) / 60;             /* round to minutes */
-       hours = minutes / 60; minutes %= 60;
-       days = hours / 24; hours %= 24;
-       if (days)
+       hours = minutes / 60;
+       minutes %= 60;
+       days = hours / 24;
+       hours %= 24;
+       if (days > 0) {
                (void) sprintf(resbuf, "%s %2d+%02d:%02d",
                    updown, days, hours, minutes);
-       else
+       } else {
                (void) sprintf(resbuf, "%s    %2d:%02d",
                    updown, hours, minutes);
+       }
        return (resbuf);
 }
 #endif
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to