chiark / gitweb /
Commit as 2.1.0.
[mLib] / fdpass.c
index 95685e7b35f12bcf75678debef2c74bcec47bec3..8a33c2b366a8a3ab276b4372ddde6715a9a7840a 100644 (file)
--- a/fdpass.c
+++ b/fdpass.c
@@ -1,13 +1,13 @@
 /* -*-c-*-
  *
- * $Id: fdpass.c,v 1.1 2003/11/29 11:58:49 mdw Exp $
+ * $Id$
  *
  * File descriptor passing
  *
  * (c) 2003 Straylight/Edgeware
  */
 
-/*----- Licensing notice --------------------------------------------------* 
+/*----- Licensing notice --------------------------------------------------*
  *
  * This file is part of the mLib utilities library.
  *
  * it under the terms of the GNU Library General Public License as
  * published by the Free Software Foundation; either version 2 of the
  * License, or (at your option) any later version.
- * 
+ *
  * mLib is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU Library General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU Library General Public
  * License along with mLib; if not, write to the Free
  * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: fdpass.c,v $
- * Revision 1.1  2003/11/29 11:58:49  mdw
- * File descriptor passing.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
+#include "config.h"
+
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -82,11 +76,11 @@ ssize_t fdpass_send(int sock, int fd, const void *p, size_t sz)
   msg.msg_namelen = 0;
   msg.msg_iov = &iov;
   msg.msg_iovlen = 1;
-  msg.msg_flags = 0;
 #ifdef HAVE_MSG_ACCRIGHTS
   msg.msg_accrights = &fd;
   msg.msg_accrightslen = sizeof(fd);
-#else  
+#else
+  msg.msg_flags = 0;
   msg.msg_control = buf;
   msg.msg_controllen = sizeof(buf);
   cmsg = CMSG_FIRSTHDR(&msg);
@@ -130,11 +124,11 @@ ssize_t fdpass_recv(int sock, int *fd, void *p, size_t sz)
   msg.msg_namelen = 0;
   msg.msg_iov = &iov;
   msg.msg_iovlen = 1;
-  msg.msg_flags = 0;
 #ifdef HAVE_MSG_ACCRIGHTS
   msg.msg_accrights = fd;
   msg.msg_accrightslen = sizeof(*fd);
 #else
+  msg.msg_flags = 0;
   msg.msg_control = buf;
   msg.msg_controllen = sizeof(buf);
 #endif
@@ -147,7 +141,7 @@ ssize_t fdpass_recv(int sock, int *fd, void *p, size_t sz)
   for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
     if (cmsg->cmsg_level == SOL_SOCKET &&
        cmsg->cmsg_type == SCM_RIGHTS &&
-        cmsg->cmsg_len >= CMSG_LEN(sizeof(fd))) {
+       cmsg->cmsg_len >= CMSG_LEN(sizeof(fd))) {
       memcpy(&fdtmp, CMSG_DATA(cmsg), sizeof(fdtmp));
       if (*fd == -1)
        *fd = fdtmp;