--- 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 $'
! !