X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Funix.c;h=7fe4b7773dbcbd3c4126a4feff5e5828aa4a4995;hp=e37bf70cf9c7924fe34407c6d466da6bbb48bb6d;hb=fcea26f3542a6097ad258cdbb6e57565366d5f35;hpb=4a9cbf62bc7a294f1782386997e09d2dd4ba9671 diff --git a/src/unix.c b/src/unix.c index e37bf70..7fe4b77 100644 --- a/src/unix.c +++ b/src/unix.c @@ -1,11 +1,14 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2009 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ /** * \file unix.c * \brief Implements UNIX domain socket COMSTACK */ +#if HAVE_CONFIG_H +#include +#endif #ifndef WIN32 @@ -194,12 +197,12 @@ static void *unix_straddr1(COMSTACK h, const char *str, char *f) unix_state *sp = (unix_state *)h->cprivate; char * s = f; const char * file = NULL; - char * eol; sp->uid = sp->gid = sp->umask = -1; - if ((eol = strchr(s, ','))) + if (strchr(s, '=')) { + char *eol; do { if ((eol = strchr(s, ','))) @@ -244,7 +247,7 @@ static void *unix_straddr1(COMSTACK h, const char *str, char *f) { char * end; char * arg = s + 6; - + sp->umask = strtol(arg, &end, 8); if (errno == EINVAL || *end) @@ -510,7 +513,7 @@ static COMSTACK unix_accept(COMSTACK h) } return 0; } - if (!(cnew->flags&CS_FLAGS_BLOCKING) && + if (!(cnew->flags&CS_FLAGS_BLOCKING) && (fcntl(cnew->iofile, F_SETFL, O_NONBLOCK) < 0) ) { @@ -566,8 +569,8 @@ static int unix_get(COMSTACK h, char **buf, int *bufsize) TRC(fprintf(stderr, "unix_get: bufsize=%d\n", *bufsize)); if (sp->altlen) /* switch buffers */ { - TRC(fprintf(stderr, " %d bytes in altbuf (0x%x)\n", sp->altlen, - (unsigned) sp->altbuf)); + TRC(fprintf(stderr, " %d bytes in altbuf (%p )\n", sp->altlen, + sp->altbuf)); tmpc = *buf; tmpi = *bufsize; *buf = sp->altbuf; @@ -629,8 +632,8 @@ static int unix_get(COMSTACK h, char **buf, int *bufsize) } else if (sp->altsize < req) if (!(sp->altbuf =(char *)xrealloc(sp->altbuf, sp->altsize = req))) return -1; - TRC(fprintf(stderr, " Moving %d bytes to altbuf(0x%x)\n", tomove, - (unsigned) sp->altbuf)); + TRC(fprintf(stderr, " Moving %d bytes to altbuf(%p)\n", tomove, + sp->altbuf)); memcpy(sp->altbuf, *buf + berlen, sp->altlen = tomove); } if (berlen < CS_UNIX_BUFCHUNK - 1)