]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hunt/huntd/ctl_transact.c
avoid unnecessary floating point ops
[bsdgames-darwin.git] / hunt / huntd / ctl_transact.c
index 8d30374451c12dfaadd3b36e26a04141bae23336..4ad6215afcdcbe857c900311d0156875a71f9dac 100644 (file)
@@ -1,20 +1,45 @@
-/*     $NetBSD: ctl_transact.c,v 1.5 2002/09/20 20:54:16 mycroft Exp $ */
+/*     $NetBSD: ctl_transact.c,v 1.9 2009/07/04 04:29:54 dholland Exp $        */
 /*
- * Copyright (c) 1983 Regents of the University of California.
- * All rights reserved.  The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
+ * Copyright (c) 1983-2003, 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 are 
+ * met:
+ * 
+ * + Redistributions of source code must retain the above copyright 
+ *   notice, this list of conditions and the following disclaimer.
+ * + Redistributions in binary form must reproduce the above copyright 
+ *   notice, this list of conditions and the following disclaimer in the 
+ *   documentation and/or other materials provided with the distribution.
+ * + Neither the name of the University of California, San Francisco nor 
+ *   the names of its contributors may be used to endorse or promote 
+ *   products derived from this software without specific prior written 
+ *   permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #include "bsd.h"
 
-#if    defined(TALK_43) || defined(TALK_42)
+#if defined(TALK_43) || defined(TALK_42)
 
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)ctl_transact.c     5.2 (Berkeley) 3/13/86";
 #else
-__RCSID("$NetBSD: ctl_transact.c,v 1.5 2002/09/20 20:54:16 mycroft Exp $");
+__RCSID("$NetBSD: ctl_transact.c,v 1.9 2009/07/04 04:29:54 dholland Exp $");
 #endif
 #endif /* not lint */
 
@@ -32,11 +57,7 @@ __RCSID("$NetBSD: ctl_transact.c,v 1.5 2002/09/20 20:54:16 mycroft Exp $");
  * of time
  */
 void
-ctl_transact(target, msg, type, rp)
-       struct in_addr target;
-       CTL_MSG msg;
-       int type;
-       CTL_RESPONSE *rp;
+ctl_transact(struct in_addr target, CTL_MSG msg, int type, CTL_RESPONSE *rp)
 {
        struct pollfd set[1];
        int nready, cc, retries;
@@ -55,8 +76,8 @@ ctl_transact(target, msg, type, rp)
        do {
                /* resend message until a response is obtained */
                for (retries = MAX_RETRY; retries > 0; retries -= 1) {
-                       cc = sendto(ctl_sockt, (char *)&msg, sizeof (msg), 0,
-                           (struct sockaddr *)&daemon_addr, sizeof (daemon_addr));
+                       cc = sendto(ctl_sockt, &msg, sizeof (msg), 0,
+                               &daemon_addr, sizeof (daemon_addr));
                        if (cc != sizeof (msg)) {
                                if (errno == EINTR)
                                        continue;
@@ -79,7 +100,7 @@ ctl_transact(target, msg, type, rp)
                 * request/acknowledgements being sent)
                 */
                do {
-                       cc = recv(ctl_sockt, (char *)rp, sizeof (*rp), 0);
+                       cc = recv(ctl_sockt, rp, sizeof (*rp), 0);
                        if (cc < 0) {
                                if (errno == EINTR)
                                        continue;
@@ -88,20 +109,20 @@ ctl_transact(target, msg, type, rp)
                        /* an immediate poll */
                        nready = poll(set, 1, 0);
                } while (nready > 0 && (
-#ifdef TALK_43
+#ifdef TALK_43
                    rp->vers != TALK_VERSION ||
 #endif
                    rp->type != type));
        } while (
-#ifdef TALK_43
+#ifdef TALK_43
            rp->vers != TALK_VERSION ||
 #endif
            rp->type != type);
        rp->id_num = ntohl(rp->id_num);
-#ifdef TALK_43
+#ifdef TALK_43
        rp->addr.sa_family = ntohs(rp->addr.sa_family);
-# else
+#else
        rp->addr.sin_family = ntohs(rp->addr.sin_family);
-# endif
+#endif
 }
 #endif