Removed away include of system headers in comstack.h. Instead
[yaz-moved-to-github.git] / src / unix.c
index c38c205..da80f53 100644 (file)
@@ -1,31 +1,46 @@
 /*
- * Copyright (c) 1995-2003, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: unix.c,v 1.2 2003-10-29 13:26:34 adam Exp $
+ * $Id: unix.c,v 1.9 2005-01-16 21:51:50 adam Exp $
  * UNIX socket COMSTACK. By Morten Bøgeskov.
  */
+/**
+ * \file unix.c
+ * \brief Implements UNIX domain socket COMSTACK
+ */
+
 #ifndef WIN32
 
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-#include <unistd.h>
 #include <errno.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <fcntl.h>
 #include <signal.h>
 
 #include <grp.h>
+#if HAVE_PWD_H
 #include <pwd.h>
+#endif
+#if HAVE_SYS_TYPES_H
 #include <sys/types.h>
+#endif
 
+#if HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#if HAVE_SYS_STAT_H
 #include <sys/stat.h>
+#endif
+#if HAVE_SYS_UN_H
 #include <sys/un.h>
+#endif
 
-#include <yaz/comstack.h>
 #include <yaz/unix.h>
-#include <yaz/log.h>
 #include <yaz/nmem.h>
 
 #ifndef YAZ_SOCKLEN_T
@@ -177,11 +192,11 @@ static void *unix_straddr(COMSTACK h, const char *str)
 
     sp->uid = sp->gid = sp->umask = -1;
 
-    if (eol = strchr(s, ','))
+    if ((eol = strchr(s, ',')))
     {
        do
        {
-           if (eol = strchr(s, ','))
+           if ((eol = strchr(s, ',')))
                *eol++ = '\0';
            if (sp->uid  == -1 && strncmp(s, "user=",  5) == 0)
            {
@@ -197,7 +212,7 @@ static void *unix_straddr(COMSTACK h, const char *str)
                    {
                        printf("No such user\n");
                        free(f);
-                       return;
+                       return 0;
                    }
                    sp->uid = pw->pw_uid;
                }
@@ -216,7 +231,7 @@ static void *unix_straddr(COMSTACK h, const char *str)
                    {
                        printf("No such group\n");
                        free(f);
-                       return;
+                       return 0;
                    }
                    sp->gid = gr->gr_gid;
                }
@@ -232,7 +247,7 @@ static void *unix_straddr(COMSTACK h, const char *str)
                {
                    printf("Invalid umask\n");
                    free(f);
-                   return;
+                   return 0;
                }
            }
            else if (file == NULL && strncmp(s, "file=", 5) == 0)
@@ -244,9 +259,9 @@ static void *unix_straddr(COMSTACK h, const char *str)
            {
                printf("invalid or double argument: %s\n", s);
                free(f);
-               return;
+               return 0;
            }
-       } while(s = eol);
+       } while((s = eol));
     }
     else
     {
@@ -343,9 +358,6 @@ static int unix_rcvconnect(COMSTACK h)
     return 0;
 }
 
-#define CERTF "ztest.pem"
-#define KEYF "ztest.pem"
-
 static int unix_bind(COMSTACK h, void *address, int mode)
 {
     unix_state *sp = (unix_state *)h->cprivate;
@@ -568,7 +580,7 @@ static int unix_get(COMSTACK h, char **buf, int *bufsize)
                return -1;
        }
        else if (!res)
-           return 0;
+           return hasread;
        hasread += res;
     }
     TRC (fprintf (stderr, "  Out of read loop with hasread=%d, berlen=%d\n",
@@ -698,4 +710,4 @@ static int unix_set_blocking(COMSTACK p, int blocking)
     p->blocking = blocking;
     return 1;
 }
-#endif
+#endif /* WIN32 */