- Timestamp:
- May 3, 2000, 8:34:26 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wsock32/wsock32.cpp
r3472 r3487 1 /* $Id: wsock32.cpp,v 1.2 8 2000-05-02 13:09:44 birdExp $ */1 /* $Id: wsock32.cpp,v 1.29 2000-05-03 18:34:26 sandervl Exp $ */ 2 2 3 3 /* … … 845 845 int ret; 846 846 ULONG size; 847 848 if(!fWSAInitialized) { 849 WSASetLastError(WSANOTINITIALISED); 850 return SOCKET_ERROR; 851 } 852 else 853 if(WSAIsBlocking()) { 854 WSASetLastError(WSAEINPROGRESS); 855 return SOCKET_ERROR; 856 } 847 char *safeoptval; 848 849 if(!fWSAInitialized) { 850 WSASetLastError(WSANOTINITIALISED); 851 return SOCKET_ERROR; 852 } 853 else 854 if(WSAIsBlocking()) { 855 WSASetLastError(WSAEINPROGRESS); 856 return SOCKET_ERROR; 857 } 858 //SvL: The 16 bits TCP/IP stack doesn't like high addresses, so copy 859 // the option value(s) on the stack. 860 safeoptval = (char *)alloca(optlen); 861 if(safeoptval == NULL) { 862 DebugInt3(); 863 WSASetLastError(WSAEFAULT); 864 return SOCKET_ERROR; 865 } 866 memcpy(safeoptval, optval, optlen); 867 optval = safeoptval; 868 857 869 if (level == SOL_SOCKET) { 858 870 switch(optname) {
Note:
See TracChangeset
for help on using the changeset viewer.