X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=comstack%2Fxmosi.c;h=bed1dd1cb8808bbde0244d1c5c64910c4decf9e1;hb=63cafe41a93427118959a74201b3e331169a71d9;hp=c15263c5732574e419d904034355ef5a3776283a;hpb=832b2543074a15413097abfc0d9b7aca2c301b68;p=yaz-moved-to-github.git diff --git a/comstack/xmosi.c b/comstack/xmosi.c index c15263c..bed1dd1 100644 --- a/comstack/xmosi.c +++ b/comstack/xmosi.c @@ -4,7 +4,19 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: xmosi.c,v $ - * Revision 1.2 1995-06-15 12:30:07 quinn + * Revision 1.6 1995-09-29 17:12:00 quinn + * Smallish + * + * Revision 1.5 1995/09/28 10:24:32 quinn + * Windows changes + * + * Revision 1.4 1995/09/27 15:02:45 quinn + * Modified function heads & prototypes. + * + * Revision 1.3 1995/06/16 10:30:38 quinn + * Added REUSEADDR. + * + * Revision 1.2 1995/06/15 12:30:07 quinn * Added @ as hostname alias for INADDR ANY. * * Revision 1.1 1995/06/14 09:58:20 quinn @@ -190,7 +202,7 @@ int hex2oct(char *hex, char *oct) * addressing specific to our hack of OSI transport. A sockaddr_in wrapped * up in a t_mosiaddr in a netbuf (on a stick). */ -struct netbuf *mosi_strtoaddr(const char *str) +struct netbuf MDF *mosi_strtoaddr(const char *str) { struct netbuf *ret = malloc(sizeof(struct netbuf)); struct sockaddr_in *add = malloc(sizeof(struct sockaddr_in)); @@ -323,7 +335,13 @@ int mosi_bind(COMSTACK h, void *address, int mode) { int res; struct t_bind bnd; + int one = 1; + if (setsockopt(h->iofile, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) + { + h->cerrno = CSYSERR; + return -1; + } if (mode == CS_SERVER) bnd.qlen = 3; else @@ -362,7 +380,7 @@ COMSTACK mosi_accept(COMSTACK h) if (h->state != CS_INCON) { - h->errno = CSOUTSTATE; + h->cerrno = CSOUTSTATE; return 0; } if (!(new = malloc(sizeof(*new))))