Avoid compiler signed/unsigned warnings (gcc4)
authorStefan Vogel <sv@exept.de>
Tue, 28 Jun 2005 15:25:08 +0200
changeset 1560 50c1e959ede8
parent 1559 609a0707ab22
child 1561 43a2b204e80e
Avoid compiler signed/unsigned warnings (gcc4)
Socket.st
--- a/Socket.st	Tue Jun 28 15:10:49 2005 +0200
+++ b/Socket.st	Tue Jun 28 15:25:08 2005 +0200
@@ -1691,17 +1691,17 @@
 
     domainClass := self class socketAddressClassForDomain:domain.
     domainClass isNil ifTrue:[
-	^ self error:'invalid (unsupported) domain'.
+        ^ self error:'invalid (unsupported) domain'.
     ].
     (anAddressBuffer isKindOf:SocketAddress) ifTrue:[
-	anAddressBuffer class == domainClass ifFalse:[
-	    ^ self error:'addressBuffer class mismatch (domain)'.
-	].
-	addr := anAddressBuffer.
+        anAddressBuffer class == domainClass ifFalse:[
+            ^ self error:'addressBuffer class mismatch (domain)'.
+        ].
+        addr := anAddressBuffer.
     ] ifFalse:[
-	anAddressBuffer notNil ifTrue:[
-	    addr := domainClass new.
-	].
+        anAddressBuffer notNil ifTrue:[
+            addr := domainClass new.
+        ].
     ].
 
 %{
@@ -1709,101 +1709,101 @@
     OBJ fp = __INST(filePointer);
 
     if (fp != nil) {
-	SOCKET sock;
-	int objSize;
-	union sockaddr_u sa;
-	int alen = 0;
-	int n, offs;
-	int flags = 0;
-	char *extPtr;
-	unsigned char *allocatedBuffer = NULL;
-	unsigned char *buffer = NULL;
-
-	sock = SOCKET_FROM_FILE_OBJECT(fp);
-
-	if (! setupBufferParameters(aDataBuffer, startIndex, &extPtr, &offs, &objSize)) goto bad;
-	if (__isSmallInteger(nBytes)) {
-	    if (__intVal(nBytes) < objSize) {
-		objSize = __intVal(nBytes);
-	    }
-	}
+        SOCKET sock;
+        int objSize;
+        union sockaddr_u sa;
+        unsigned int alen = 0;
+        int n, offs;
+        int flags = 0;
+        char *extPtr;
+        unsigned char *allocatedBuffer = NULL;
+        unsigned char *buffer = NULL;
+
+        sock = SOCKET_FROM_FILE_OBJECT(fp);
+
+        if (! setupBufferParameters(aDataBuffer, startIndex, &extPtr, &offs, &objSize)) goto bad;
+        if (__isSmallInteger(nBytes)) {
+            if (__intVal(nBytes) < objSize) {
+                objSize = __intVal(nBytes);
+            }
+        }
 # ifdef DO_WRAP_CALLS
-	if (extPtr) {
-	    buffer = extPtr + offs;
-	} else {
-	    allocatedBuffer = buffer = (char *)malloc(objSize);
-	}
-
-	do {
-	    __threadErrno = 0;
-	    alen = sizeof(sa);
-	    n = STX_WSA_CALL6("recvfrom", recvfrom, sock, buffer, objSize, flags, (struct sockaddr *)&sa, &alen);
-	} while ((n < 0) && (__threadErrno == EINTR));
-
-	if (allocatedBuffer) {
-	    if (n > 0) {
-		bcopy(allocatedBuffer, (char *)__InstPtr(aDataBuffer) + offs, n);
-	    }
-	    free(allocatedBuffer);
-	}
+        if (extPtr) {
+            buffer = extPtr + offs;
+        } else {
+            allocatedBuffer = buffer = (char *)malloc(objSize);
+        }
+
+        do {
+            __threadErrno = 0;
+            alen = sizeof(sa);
+            n = STX_WSA_CALL6("recvfrom", recvfrom, sock, buffer, objSize, flags, (struct sockaddr *)&sa, &alen);
+        } while ((n < 0) && (__threadErrno == EINTR));
+
+        if (allocatedBuffer) {
+            if (n > 0) {
+                bcopy(allocatedBuffer, (char *)__InstPtr(aDataBuffer) + offs, n);
+            }
+            free(allocatedBuffer);
+        }
 # else
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    alen = sizeof(sa);
-	    if (extPtr) {
-		n = recvfrom(sock, extPtr + offs, objSize, flags, (struct sockaddr *) &sa, &alen);
-	    } else {
-		n = recvfrom(sock, (char *)__InstPtr(aDataBuffer) + offs, objSize, flags, (struct sockaddr *) &sa, &alen);
-	    }
-	} while ((n < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
+        __BEGIN_INTERRUPTABLE__
+        do {
+            alen = sizeof(sa);
+            if (extPtr) {
+                n = recvfrom(sock, extPtr + offs, objSize, flags, (struct sockaddr *) &sa, &alen);
+            } else {
+                n = recvfrom(sock, (char *)__InstPtr(aDataBuffer) + offs, objSize, flags, (struct sockaddr *) &sa, &alen);
+            }
+        } while ((n < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
 # endif
 
-	if (n >= 0) {
-	    if (__isNonNilObject(addr)) {
-		char *addrPtr;
-		OBJ oClass;
-		int nInstVars, nInstBytes, objSize;
-
-		oClass = __qClass(addr);
-		if (! __isBytes(addr) )
-		    goto bad;
-		nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
-		nInstBytes = OHDR_SIZE + (nInstVars * sizeof(OBJ));
-		objSize = __qSize(addr) - nInstBytes;
-		addrPtr = (char *)__InstPtr(addr) + nInstBytes;
-		if (objSize < alen)
-		    goto bad;
-
-		/*
-		 * extract the datagrams address
-		 */
-		bcopy((char *)&sa, addrPtr, alen);
-		addrLen = __MKSMALLINT(alen);
-	    }
-	}
-	if (n < 0) {
-	    __INST(lastErrorNumber) = __MKSMALLINT(errno);
-	}
-	nReceived = __MKSMALLINT(n);
+        if (n >= 0) {
+            if (__isNonNilObject(addr)) {
+                char *addrPtr;
+                OBJ oClass;
+                int nInstVars, nInstBytes, objSize;
+
+                oClass = __qClass(addr);
+                if (! __isBytes(addr) )
+                    goto bad;
+                nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
+                nInstBytes = OHDR_SIZE + (nInstVars * sizeof(OBJ));
+                objSize = __qSize(addr) - nInstBytes;
+                addrPtr = (char *)__InstPtr(addr) + nInstBytes;
+                if (objSize < alen)
+                    goto bad;
+
+                /*
+                 * extract the datagrams address
+                 */
+                bcopy((char *)&sa, addrPtr, alen);
+                addrLen = __MKSMALLINT(alen);
+            }
+        }
+        if (n < 0) {
+            __INST(lastErrorNumber) = __MKSMALLINT(errno);
+        }
+        nReceived = __MKSMALLINT(n);
     }
 #endif
 bad: ;
 %}.
     nReceived notNil ifTrue:[
-	nReceived < 0 ifTrue:[
-	    'Socket [warning]: ' infoPrint.
-	    (OperatingSystem errorTextForNumber:lastErrorNumber) infoPrintCR.
-	].
-	addrLen notNil ifTrue:[
-	    (addr == anAddressBuffer) ifFalse:[
-		self obsoleteFeatureWarning:'please use a socketAddress argument'.
-
-		" can be a ByteArray for backward compatibility "
-		anAddressBuffer replaceFrom:1 to:addrLen with:(addr hostAddress).
-	    ].
-	].
-	^ nReceived
+        nReceived < 0 ifTrue:[
+            'Socket [warning]: ' infoPrint.
+            (OperatingSystem errorTextForNumber:lastErrorNumber) infoPrintCR.
+        ].
+        addrLen notNil ifTrue:[
+            (addr == anAddressBuffer) ifFalse:[
+                self obsoleteFeatureWarning:'please use a socketAddress argument'.
+
+                " can be a ByteArray for backward compatibility "
+                anAddressBuffer replaceFrom:1 to:addrLen with:(addr hostAddress).
+            ].
+        ].
+        ^ nReceived
     ].
     "
      arrive here if you try to receive into an invalid buffer
@@ -2101,9 +2101,9 @@
      i.e. address must always be nil.
 
      The interpretation of portNrOrName depends on the domain:
-	inet domain uses (4byte) byteArray like internet numbers,
-	unix domain uses pathname strings,
-	others use whatever will come up in the future
+        inet domain uses (4byte) byteArray like internet numbers,
+        unix domain uses pathname strings,
+        others use whatever will come up in the future
 
      The reuse boolean argument controls if the SO_REUSEADDR socket option
      is to be set (to avoid the 'bind: address in use' error).
@@ -2112,38 +2112,38 @@
     |ok addr addrName domainClass|
 
     filePointer isNil ifTrue:[
-	^ self errorNotOpen
+        ^ self errorNotOpen
     ].
 
     domainClass := self class socketAddressClassForDomain:domain.
     domainClass isNil ifTrue:[
-	^ self error:'invalid (unsupported) domain'.
+        ^ self error:'invalid (unsupported) domain'.
     ].
 
     " backward compatibility: support for byteArray and string arg "
 
     hostOrPathNameOrSocketAddrOrNil isNil ifTrue:[
-	addr := domainClass anyHost.
+        addr := domainClass anyHost.
     ] ifFalse:[
-	hostOrPathNameOrSocketAddrOrNil isString ifTrue:[
-	    addr := domainClass hostName:hostOrPathNameOrSocketAddrOrNil.
-	    addrName := hostOrPathNameOrSocketAddrOrNil.
-	] ifFalse:[
-	    (hostOrPathNameOrSocketAddrOrNil isKindOf:SocketAddress) ifTrue:[
-		addr := hostOrPathNameOrSocketAddrOrNil.
-	    ] ifFalse:[
-		hostOrPathNameOrSocketAddrOrNil isByteArray ifFalse:[
-		    ^ self error:'bad host (socketAddress) argument'
-		].
-		addr := domainClass hostAddress:hostOrPathNameOrSocketAddrOrNil.
-	    ].
-	].
+        hostOrPathNameOrSocketAddrOrNil isString ifTrue:[
+            addr := domainClass hostName:hostOrPathNameOrSocketAddrOrNil.
+            addrName := hostOrPathNameOrSocketAddrOrNil.
+        ] ifFalse:[
+            (hostOrPathNameOrSocketAddrOrNil isKindOf:SocketAddress) ifTrue:[
+                addr := hostOrPathNameOrSocketAddrOrNil.
+            ] ifFalse:[
+                hostOrPathNameOrSocketAddrOrNil isByteArray ifFalse:[
+                    ^ self error:'bad host (socketAddress) argument'
+                ].
+                addr := domainClass hostAddress:hostOrPathNameOrSocketAddrOrNil.
+            ].
+        ].
     ].
     portNrOrNameOrNil notNil ifTrue:[
-	addr port:portNrOrNameOrNil.
+        addr port:portNrOrNameOrNil.
     ].
     (portNrOrNameOrNil isNil or:[portNrOrNameOrNil == 0]) ifTrue:[
-	addr := addr copy.
+        addr := addr copy.
     ].
 
 %{  /* STACK: 100000 */
@@ -2151,91 +2151,91 @@
     OBJ fp = __INST(filePointer);
 
     if (! __isBytes(addr)) {
-	addr = nil;
-	fprintf(stderr, "Socket: bad sddr\n");
-	RETURN (false);
+        addr = nil;
+        fprintf(stderr, "Socket: bad sddr\n");
+        RETURN (false);
     }
     if (fp != nil) {
-	SOCKET sock;
-	union sockaddr_u sa;
-	int sockaddr_size;
-	int ret;
-	int sockAddrOffs;
-
-	{
-	    int nIndex;
-	    OBJ cls;
-
-	    sockAddrOffs = 0;
-	    if ((cls = __qClass(addr)) != @global(ByteArray))
-		sockAddrOffs += __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
-	    nIndex = __qSize(addr) - OHDR_SIZE;
-	    sockaddr_size = nIndex - sockAddrOffs;
-	    if (sockaddr_size > sizeof(sa)) {
-		fprintf(stderr, "Socket: bad socketAddr\n");
-		RETURN (false);
-	    }
-	    bcopy((__byteArrayVal(addr) + sockAddrOffs), &sa, sockaddr_size);
-	}
-
-	sock = SOCKET_FROM_FILE_OBJECT(fp);
+        SOCKET sock;
+        union sockaddr_u sa;
+        int sockaddr_size;
+        int ret;
+        int sockAddrOffs;
+
+        {
+            int nIndex;
+            OBJ cls;
+
+            sockAddrOffs = 0;
+            if ((cls = __qClass(addr)) != @global(ByteArray))
+                sockAddrOffs += __OBJS2BYTES__(__intVal(__ClassInstPtr(cls)->c_ninstvars));
+            nIndex = __qSize(addr) - OHDR_SIZE;
+            sockaddr_size = nIndex - sockAddrOffs;
+            if (sockaddr_size > sizeof(sa)) {
+                fprintf(stderr, "Socket: bad socketAddr\n");
+                RETURN (false);
+            }
+            bcopy((__byteArrayVal(addr) + sockAddrOffs), &sa, sockaddr_size);
+        }
+
+        sock = SOCKET_FROM_FILE_OBJECT(fp);
 
 # ifdef SO_REUSEADDR
-	if (reuse == true) {
-	    int on = 1;
-
-	    if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof (on)) < 0) {
-		DBGPRINTF(("SOCKET: setsockopt - SO_REUSEADDR failed\n"));
-	    }
-	}
+        if (reuse == true) {
+            int on = 1;
+
+            if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof (on)) < 0) {
+                DBGPRINTF(("SOCKET: setsockopt - SO_REUSEADDR failed\n"));
+            }
+        }
 # endif /* SO_REUSEADDR */
 
 # ifdef BIND_BLOCKS
 #  ifdef DO_WRAP_CALLS
-	do {
-	    __threadErrno = 0;
-	    ret = STX_WSA_CALL3("bind", bind, sock, &sa, sockaddr_size);
-	} while ((ret < 0) && (__threadErrno == EINTR));
+        do {
+            __threadErrno = 0;
+            ret = STX_WSA_CALL3("bind", bind, sock, &sa, sockaddr_size);
+        } while ((ret < 0) && (__threadErrno == EINTR));
 #  else
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = bind(sock, (struct sockaddr *)&sa, sockaddr_size);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = bind(sock, (struct sockaddr *)&sa, sockaddr_size);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
 #  endif
 # else
-	ret = bind(sock, (struct sockaddr *)&sa, sockaddr_size);
+        ret = bind(sock, (struct sockaddr *)&sa, sockaddr_size);
 # endif
-	if (ret < 0) {
-	    DBGPRINTF(("SOCKET: bind failed errno=%d\n", errno));
-	    __INST(lastErrorNumber) = __MKSMALLINT(errno);
-	    RETURN (false);
-	} else {
-	    ok = true;
-
-	    if (! __isSmallInteger(portNrOrNameOrNil)
-		|| (portNrOrNameOrNil == __MKSMALLINT(0))) {
-		int alen = sockaddr_size;
-
-		/*
-		 * anonymous port - get the actual portNr
-		 */
-		if (getsockname(sock, (struct sockaddr *)&sa, &alen) < 0) {
+        if (ret < 0) {
+            DBGPRINTF(("SOCKET: bind failed errno=%d\n", errno));
+            __INST(lastErrorNumber) = __MKSMALLINT(errno);
+            RETURN (false);
+        } else {
+            ok = true;
+
+            if (! __isSmallInteger(portNrOrNameOrNil)
+                || (portNrOrNameOrNil == __MKSMALLINT(0))) {
+                unsigned int alen = sockaddr_size;
+
+                /*
+                 * anonymous port - get the actual portNr
+                 */
+                if (getsockname(sock, (struct sockaddr *)&sa, &alen) < 0) {
 # ifdef WIN32
-		    errno = WSAGetLastError();
+                    errno = WSAGetLastError();
 # endif
-		    fprintf(stderr, "SOCKET: cannot get socketname: %d\n", errno);
-		}
-		bcopy(&sa, (__byteArrayVal(addr) + sockAddrOffs), alen);
-	    }
-	}
+                    fprintf(stderr, "SOCKET: cannot get socketname: %d\n", errno);
+                }
+                bcopy(&sa, (__byteArrayVal(addr) + sockAddrOffs), alen);
+            }
+        }
     }
 #endif /* NO_SOCKET */
 
 getOutOfHere: ;
 %}.
     ok ~~ true ifTrue:[
-	^ false
+        ^ false
     ].
 
     peer := addr.
@@ -2246,8 +2246,8 @@
 
     "
      (Socket domain:#inet type:#stream)
-	 bindTo:9999
-	 address:nil
+         bindTo:9999
+         address:nil
     "
 ! !
 
@@ -2322,19 +2322,19 @@
 
     fp = __INST(filePointer);
     if (fp == nil) {
-	err = EBADF;
+        err = EBADF;
     } else {
-	int sz;
-	SOCKET sock;
-
-	sock = SOCKET_FROM_FILE_OBJECT(fp);
-	sz = sizeof(err);
-	if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &err, &sz) < 0) {
+        unsigned int sz;
+        SOCKET sock;
+
+        sock = SOCKET_FROM_FILE_OBJECT(fp);
+        sz = sizeof(err);
+        if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &err, &sz) < 0) {
 # ifdef WIN32
-	    errno = WSAGetLastError();
+            errno = WSAGetLastError();
 # endif
-	    err = errno;
-	}
+            err = errno;
+        }
     }
 
     RETURN(__MKSMALLINT(err));
@@ -2754,25 +2754,25 @@
      usage is: (Socket basicNew acceptOn:(Socket onIPPort:9999)).
      Return the true if ok; false if not."
 
-    |serverSocketFd serverSocketFP addr addrLen domainClass|
+    |serverSocketFd addr addrLen domainClass|
 
     filePointer notNil ifTrue:[
-	^ self errorAlreadyOpen
+        ^ self errorAlreadyOpen
     ].
 
     domain := aSocket domain.
     socketType := aSocket type.
     serverSocketFd := aSocket fileDescriptor.
     serverSocketFd isNil ifTrue:[
-	^ self error:'invalid server socket'
+        ^ self error:'invalid server socket'
     ].
     (serverSocketFd isMemberOf:SmallInteger) ifFalse:[
-	^ self error:'invalid server socket'
+        ^ self error:'invalid server socket'
     ].
 
     domainClass := self class socketAddressClassForDomain:domain.
     domainClass isNil ifTrue:[
-	^ self error:'invalid (unsupported) domain'.
+        ^ self error:'invalid (unsupported) domain'.
     ].
     addrLen := domainClass socketAddressSize.
     addr := domainClass new.
@@ -2783,35 +2783,35 @@
     int flags;
     SOCKET sock, newSock;
     union sockaddr_u sa;
-    int alen, alen0;
+    unsigned int alen, alen0;
     struct hostent *he ;
     char dotted[20] ;
 
     if (!__isSmallInteger(addrLen)) {
-	DBGPRINTF(("SOCKET: bad addrLen\n"));
-	RETURN (false);
+        DBGPRINTF(("SOCKET: bad addrLen\n"));
+        RETURN (false);
     }
     alen0 = __intVal(addrLen);
     sock = SOCKET_FROM_FD(__intVal(serverSocketFd));
 
     if (blocking == false) {
 # if defined(O_NONBLOCK) && defined(SET_NDELAY)
-	flags = fcntl(sock, F_GETFL);
-	fcntl(sock, F_SETFL, flags | O_NONBLOCK);
+        flags = fcntl(sock, F_GETFL);
+        fcntl(sock, F_SETFL, flags | O_NONBLOCK);
 # endif
     }
 
 # ifdef DO_WRAP_CALLS
     do {
-	__threadErrno = 0;
-	alen = alen0;
-	newSock = STX_WSA_CALL3("accept", accept, sock, &sa, &alen);
+        __threadErrno = 0;
+        alen = alen0;
+        newSock = STX_WSA_CALL3("accept", accept, sock, &sa, &alen);
     } while ((newSock < 0) && (__threadErrno == EINTR));
 # else
     __BEGIN_INTERRUPTABLE__
     do {
-	alen = alen0;
-	newSock = accept(sock, (struct sockaddr *) &sa, &alen);
+        alen = alen0;
+        newSock = accept(sock, (struct sockaddr *) &sa, &alen);
     } while ((newSock < 0) && (errno == EINTR));
     __END_INTERRUPTABLE__
 # endif
@@ -2819,43 +2819,43 @@
 
     if (blocking == false) {
 # if defined(O_NDELAY) && defined(SET_NDELAY)
-	fcntl(sock, F_SETFL, flags);
+        fcntl(sock, F_SETFL, flags);
 # endif
     }
 
     if (newSock < 0) {
-	DBGPRINTF(("SOCKET: accept call failed errno=%d\n", errno));
-	__INST(lastErrorNumber) = __MKSMALLINT(errno);
-	RETURN (false);
+        DBGPRINTF(("SOCKET: accept call failed errno=%d\n", errno));
+        __INST(lastErrorNumber) = __MKSMALLINT(errno);
+        RETURN (false);
     }
 
     if (__isNonNilObject(addr)) {
-	OBJ oClass;
-	int nInstVars, nInstBytes, objSize;
-	char *cp;
-
-	oClass = __qClass(addr);
-	if (! __isBytes(addr) ) {
-	    DBGPRINTF(("SOCKET: bad addr\n"));
-	    closesocket(newSock);
-	    RETURN (false);
-	}
-
-	nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
-	nInstBytes = OHDR_SIZE + (nInstVars * sizeof(OBJ));
-	objSize = __qSize(addr) - nInstBytes;
-	cp = (char *)__InstPtr(addr) + nInstBytes;
-	if (objSize < alen) {
-	    DBGPRINTF(("SOCKET: bad addr\n"));
-	    closesocket(newSock);
-	    RETURN (false);
-	}
-
-	/*
-	 * extract the partners address
-	 */
-	bcopy((char *)&sa, cp, alen);
-	addrLen = __MKSMALLINT(alen);
+        OBJ oClass;
+        int nInstVars, nInstBytes, objSize;
+        char *cp;
+
+        oClass = __qClass(addr);
+        if (! __isBytes(addr) ) {
+            DBGPRINTF(("SOCKET: bad addr\n"));
+            closesocket(newSock);
+            RETURN (false);
+        }
+
+        nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
+        nInstBytes = OHDR_SIZE + (nInstVars * sizeof(OBJ));
+        objSize = __qSize(addr) - nInstBytes;
+        cp = (char *)__InstPtr(addr) + nInstBytes;
+        if (objSize < alen) {
+            DBGPRINTF(("SOCKET: bad addr\n"));
+            closesocket(newSock);
+            RETURN (false);
+        }
+
+        /*
+         * extract the partners address
+         */
+        bcopy((char *)&sa, cp, alen);
+        addrLen = __MKSMALLINT(alen);
     }
 
     /*
@@ -2863,42 +2863,42 @@
      */
 # ifdef WIN32
     {
-	HANDLE h;
-	int _fd = _open_osfhandle(newSock, 0);
-	fp = fdopen(_fd, "r+");
+        HANDLE h;
+        int _fd = _open_osfhandle(newSock, 0);
+        fp = fdopen(_fd, "r+");
     }
 # else
     fp = fdopen(newSock, "r+");
 # endif
 
     if (! fp) {
-	DBGPRINTF(("SOCKET: fdopen call failed\n"));
-	__INST(lastErrorNumber) = __MKSMALLINT(errno);
+        DBGPRINTF(("SOCKET: fdopen call failed\n"));
+        __INST(lastErrorNumber) = __MKSMALLINT(errno);
 #  ifdef DO_WRAP_CALLS
-	{
-	  int ret;
-	  do {
-	      __threadErrno = 0;
-	      ret = STX_WSA_CALL1("closesocket", closesocket, newSock);
-	  } while ((ret < 0) && (__threadErrno == EINTR));
-	}
+        {
+          int ret;
+          do {
+              __threadErrno = 0;
+              ret = STX_WSA_CALL1("closesocket", closesocket, newSock);
+          } while ((ret < 0) && (__threadErrno == EINTR));
+        }
 #  else
-	closesocket(newSock);
+        closesocket(newSock);
 #  endif
-	DBGFPRINTF((stderr, "SOCKET: close (fdopen failed) (%d)\n", newSock));
-	RETURN (false);
+        DBGFPRINTF((stderr, "SOCKET: close (fdopen failed) (%d)\n", newSock));
+        RETURN (false);
     }
 
     if (@global(FileOpenTrace) == true) {
 # ifdef WIN32
-	{
-	    HANDLE h;
-	    int _fd = fileno(fp);
-	    h = (HANDLE)_get_osfhandle(_fd);
-	    fprintf(stderr, "fdopen [Socket] -> %x (fd: %d) (H: %x)\n", fp, _fd, h);
-	}
+        {
+            HANDLE h;
+            int _fd = fileno(fp);
+            h = (HANDLE)_get_osfhandle(_fd);
+            fprintf(stderr, "fdopen [Socket] -> %x (fd: %d) (H: %x)\n", fp, _fd, h);
+        }
 # else
-	fprintf(stderr, "fdopen [Socket] -> %x (fd: %d)\n", fp, newSock);
+        fprintf(stderr, "fdopen [Socket] -> %x (fd: %d)\n", fp, newSock);
 # endif
     }
 
@@ -2916,11 +2916,11 @@
     // object.
 # endif
     {
-	OBJ t;
-
-	t = __MKOBJ(fp);
-	__INST(filePointer) = t;
-	__STORE(self, t);
+        OBJ t;
+
+        t = __MKOBJ(fp);
+        __INST(filePointer) = t;
+        __STORE(self, t);
     }
 #endif /* not NO_SOCKET */
 %}.
@@ -2930,7 +2930,7 @@
     port := aSocket port.
 
     addr notNil ifTrue:[
-	peer := addr.
+        peer := addr.
     ].
 
     ^ true
@@ -3257,12 +3257,12 @@
     |error domainClass addr addrLen|
 
     filePointer isNil ifTrue:[
-	^ self errorNotOpen
+        ^ self errorNotOpen
     ].
 
     domainClass := self class socketAddressClassForDomain:domain.
     domainClass isNil ifTrue:[
-	^ self error:'invalid (unsupported) domain'.
+        ^ self error:'invalid (unsupported) domain'.
     ].
     addrLen := domainClass socketAddressSize.
     addr := domainClass new.
@@ -3273,36 +3273,36 @@
     SOCKET sock;
     int ret;
     union sockaddr_u sa;
-    int alen, alen0;
+    unsigned int alen, alen0;
     char *addrP;
     int addrObjSize, nAddrInstBytes;
 
     if (!__isSmallInteger(addrLen)) {
-	DBGPRINTF(("SOCKET: bad addrLen\n"));
-	error = @symbol(badArgument);
-	goto err;
+        DBGPRINTF(("SOCKET: bad addrLen\n"));
+        error = @symbol(badArgument);
+        goto err;
     }
     alen = alen0 = __intVal(addrLen);
 
     if (!__isNonNilObject(addr) || !__isBytes(addr)) {
-	DBGPRINTF(("SOCKET: bad addr\n"));
-	error = @symbol(badArgument);
-	goto err;
+        DBGPRINTF(("SOCKET: bad addr\n"));
+        error = @symbol(badArgument);
+        goto err;
     }
 
     {
-	OBJ addrClass;
-	int nAddrInstVars;
-
-	addrClass = __qClass(addr);
-	nAddrInstVars = __intVal(__ClassInstPtr(addrClass)->c_ninstvars);
-	nAddrInstBytes = OHDR_SIZE + (nAddrInstVars * sizeof(OBJ));
-	addrObjSize = __qSize(addr) - nAddrInstBytes;
-	if (addrObjSize < alen0) {
-	    DBGPRINTF(("SOCKET: bad addr/alen\n"));
-	    error = @symbol(badArgument);
-	    goto err;
-	}
+        OBJ addrClass;
+        int nAddrInstVars;
+
+        addrClass = __qClass(addr);
+        nAddrInstVars = __intVal(__ClassInstPtr(addrClass)->c_ninstvars);
+        nAddrInstBytes = OHDR_SIZE + (nAddrInstVars * sizeof(OBJ));
+        addrObjSize = __qSize(addr) - nAddrInstBytes;
+        if (addrObjSize < alen0) {
+            DBGPRINTF(("SOCKET: bad addr/alen\n"));
+            error = @symbol(badArgument);
+            goto err;
+        }
     }
 
     sock = SOCKET_FROM_FILE_OBJECT(fp);
@@ -3312,17 +3312,17 @@
     ret = getsockname(sock, (struct sockaddr *)&sa, &alen);
     if (ret < 0) {
 # ifdef WIN32
-	errno = WSAGetLastError();
+        errno = WSAGetLastError();
 # endif
-	DBGPRINTF(("SOCKET: getsocketname failed ret=%d errno=%d\n", ret, errno));
-	error = __MKSMALLINT(errno);
-	goto err;
+        DBGPRINTF(("SOCKET: getsocketname failed ret=%d errno=%d\n", ret, errno));
+        error = __MKSMALLINT(errno);
+        goto err;
     }
 
     if (addrObjSize < alen) {
-	DBGPRINTF(("SOCKET: bad addr\n"));
-	error = @symbol(badArgument);
-	goto err;
+        DBGPRINTF(("SOCKET: bad addr\n"));
+        error = @symbol(badArgument);
+        goto err;
     }
 
     addrP = (char *)__InstPtr(addr) + nAddrInstBytes;
@@ -3336,7 +3336,7 @@
 #endif /* NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	^ self errorReporter reportOn:error
+        ^ self errorReporter reportOn:error
     ].
     ^ addr
 !
@@ -3713,20 +3713,20 @@
      (returns nil, if unsupported)"
 
     filePointer isNil ifTrue:[
-	^ self errorNotOpen
+        ^ self errorNotOpen
     ].
 %{
 #if defined(SO_RCVBUF) && defined(SOL_SOCKET)
     {
-	OBJ fp = __INST(filePointer);
-	SOCKET sock;
-	int opt;
-	int size;
-
-	sock = SOCKET_FROM_FILE_OBJECT(fp);
-	if (getsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&opt, &size) >= 0) {
-	    RETURN( __MKSMALLINT(opt) );
-	}
+        OBJ fp = __INST(filePointer);
+        SOCKET sock;
+        int opt;
+        unsigned int size;
+
+        sock = SOCKET_FROM_FILE_OBJECT(fp);
+        if (getsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&opt, &size) >= 0) {
+            RETURN( __MKSMALLINT(opt) );
+        }
     }
 #endif
 %}.
@@ -3794,20 +3794,20 @@
      (returns nil, if unsupported)"
 
     filePointer isNil ifTrue:[
-	^ self errorNotOpen
+        ^ self errorNotOpen
     ].
 %{
 #if defined(SO_SNDBUF) && defined(SOL_SOCKET)
     {
-	OBJ fp = __INST(filePointer);
-	SOCKET sock;
-	int opt;
-	int size;
-
-	sock = SOCKET_FROM_FILE_OBJECT(fp);
-	if (getsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&opt, &size) >= 0) {
-	    RETURN( __MKSMALLINT(opt) );
-	}
+        OBJ fp = __INST(filePointer);
+        SOCKET sock;
+        int opt;
+        unsigned int size;
+
+        sock = SOCKET_FROM_FILE_OBJECT(fp);
+        if (getsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)&opt, &size) >= 0) {
+            RETURN( __MKSMALLINT(opt) );
+        }
     }
 #endif
 %}.
@@ -3928,5 +3928,5 @@
 !Socket class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/Socket.st,v 1.219 2005-06-28 07:46:08 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/Socket.st,v 1.220 2005-06-28 13:25:08 stefan Exp $'
 ! !