diff options
Diffstat (limited to 'win')
-rw-r--r-- | win/Makefile.in | 13 | ||||
-rw-r--r-- | win/makefile.vc | 50 | ||||
-rw-r--r-- | win/tclWinChan.c | 13 | ||||
-rw-r--r-- | win/tclWinConsole.c | 12 | ||||
-rw-r--r-- | win/tclWinDde.c | 15 | ||||
-rw-r--r-- | win/tclWinFCmd.c | 8 | ||||
-rw-r--r-- | win/tclWinFile.c | 13 | ||||
-rw-r--r-- | win/tclWinReg.c | 27 | ||||
-rw-r--r-- | win/tclWinSock.c | 18 |
9 files changed, 100 insertions, 69 deletions
diff --git a/win/Makefile.in b/win/Makefile.in index 7e6efc6..5967b9f 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.94 2005/12/08 20:20:36 hobbs Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.95 2005/12/13 22:43:18 kennykb Exp $ VERSION = @TCL_VERSION@ @@ -542,14 +542,14 @@ gendate: --no-lines \ $(GENERIC_DIR)/tclGetDate.y -# The following target generates the file generic/tommath.h. +# The following target generates the file generic/tclTomMath.h. # It needs to be run (and the results checked) after updating # to a new release of libtommath. gentommath_h: $(TCL_EXE) "$(ROOT_DIR_NATIVE)\tools\fix_tommath_h.tcl" \ "$(TOMMATH_DIR_NATIVE)\tommath.h" \ - > "$(GENERIC_DIR_NATIVE)\tommath.h" + > "$(GENERIC_DIR_NATIVE)\tclTomMath.h" install: all install-binaries install-libraries install-doc @@ -626,7 +626,9 @@ install-libraries: libraries install-tzdata install-msgs done; @echo "Installing header files"; @for i in "$(GENERIC_DIR)/tcl.h" "$(GENERIC_DIR)/tclDecls.h" \ - "$(GENERIC_DIR)/tclPlatDecls.h" ; \ + "$(GENERIC_DIR)/tclPlatDecls.h" \ + "$(GENERIC_DIR)/tclTomMath.h" \ + "$(GENERIC_DIR)/tclTomMathDecls.h" ; \ do \ $(COPY) "$$i" "$(INCLUDE_INSTALL_DIR)"; \ done; @@ -747,4 +749,5 @@ genstubs: $(TCL_EXE) "$(ROOT_DIR_NATIVE)\tools\genStubs.tcl" \ "$(GENERIC_DIR_NATIVE)" \ "$(GENERIC_DIR_NATIVE)\tcl.decls" \ - "$(GENERIC_DIR_NATIVE)\tclInt.decls" + "$(GENERIC_DIR_NATIVE)\tclInt.decls" \ + "$(GENERIC_DIR_NATIVE)\tclTomMath.decls" diff --git a/win/makefile.vc b/win/makefile.vc index c5763ad..d238937 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -12,7 +12,7 @@ # Copyright (c) 2001-2004 David Gravereaux. # #------------------------------------------------------------------------------ -# RCS: @(#) $Id: makefile.vc,v 1.142 2005/12/08 20:20:37 hobbs Exp $ +# RCS: @(#) $Id: makefile.vc,v 1.143 2005/12/13 22:43:18 kennykb Exp $ #------------------------------------------------------------------------------ # Check to see we are configured to build with MSVC (MSDEVDIR or MSVCDIR) @@ -637,11 +637,27 @@ genstubs: !if !exist($(TCLSH)) @echo Build tclsh first! !else - $(TCLSH) $(TOOLSDIR:\=/)\genStubs.tcl $(GENERICDIR:\=/) \ - $(GENERICDIR:\=/)/tcl.decls $(GENERICDIR:\=/)/tclInt.decls + $(TCLSH) $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \ + $(GENERICDIR:\=/)/tcl.decls $(GENERICDIR:\=/)/tclInt.decls \ + $(GENERICDIR:\=/)/tclTomMath.decls !endif +#---------------------------------------------------------------------- +# The following target generates the file generic/tclTomMath.h. +# It needs to be run (and the results checked) after updating +# to a new release of libtommath. +#---------------------------------------------------------------------- + +gentommath_h: +!if !exist($(TCLSH)) + @echo Build tclsh first! +!else + $(TCLSH) "$(TOOLSDIR:\=/)/fix_tommath_h.tcl" \ + "$(TOMMATHDIR:\=/)/tommath.h" \ + > "$(GENERICDIR)\tclTomMath.h" +!endif + #--------------------------------------------------------------------- # Generate the makefile depedancies. #--------------------------------------------------------------------- @@ -1003,19 +1019,21 @@ install-libraries: tclConfig install-msgs install-tzdata @$(CPY) "$(ROOT)\library\encoding\*.enc" \ "$(SCRIPT_INSTALL_DIR)\encoding\" @echo installing library files - @$(CPY) "$(GENERICDIR)\tcl.h" "$(INCLUDE_INSTALL_DIR)\" - @$(CPY) "$(GENERICDIR)\tclDecls.h" "$(INCLUDE_INSTALL_DIR)\" - @$(CPY) "$(GENERICDIR)\tclPlatDecls.h" "$(INCLUDE_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\history.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\init.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\clock.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\tm.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\parray.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\safe.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\tclIndex" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\package.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\word.tcl" "$(SCRIPT_INSTALL_DIR)\" - @$(CPY) "$(ROOT)\library\auto.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(GENERICDIR)\tcl.h" "$(INCLUDE_INSTALL_DIR)\" + @$(CPY) "$(GENERICDIR)\tclDecls.h" "$(INCLUDE_INSTALL_DIR)\" + @$(CPY) "$(GENERICDIR)\tclPlatDecls.h" "$(INCLUDE_INSTALL_DIR)\" + @$(CPY) "$(GENERICDIR)\tclTomMath.h" "$(INCLUDE_INSTALL_DIR)\" + @$(CPY) "$(GENERICDIR)\tclTomMathDecls.h" "$(INCLUDE_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\history.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\init.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\clock.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\tm.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\parray.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\safe.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\tclIndex" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\package.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\word.tcl" "$(SCRIPT_INSTALL_DIR)\" + @$(CPY) "$(ROOT)\library\auto.tcl" "$(SCRIPT_INSTALL_DIR)\" install-tzdata: @echo "Installing time zone data" diff --git a/win/tclWinChan.c b/win/tclWinChan.c index bf5301a..94efd2f 100644 --- a/win/tclWinChan.c +++ b/win/tclWinChan.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinChan.c,v 1.45 2005/11/04 00:06:50 dkf Exp $ + * RCS: @(#) $Id: tclWinChan.c,v 1.46 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclWinInt.h" @@ -849,8 +849,8 @@ TclpOpenFileChannel( * what modes to create it? */ { Tcl_Channel channel = 0; - int channelPermissions; - DWORD accessMode, createMode, shareMode, flags, consoleParams, type; + int channelPermissions = 0; + DWORD accessMode = 0, createMode, shareMode, flags, consoleParams, type; CONST TCHAR *nativeName; HANDLE handle; char channelName[16 + TCL_INTEGER_SPACE]; @@ -1267,9 +1267,10 @@ TclpGetDefaultStdChannel( { Tcl_Channel channel; HANDLE handle; - int mode; - char *bufMode; - DWORD handleId; /* Standard handle to retrieve. */ + int mode = -1; + char *bufMode = NULL; + DWORD handleId = (DWORD)INVALID_HANDLE_VALUE; + /* Standard handle to retrieve. */ switch (type) { case TCL_STDIN: diff --git a/win/tclWinConsole.c b/win/tclWinConsole.c index 615e87d..f859593 100644 --- a/win/tclWinConsole.c +++ b/win/tclWinConsole.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinConsole.c,v 1.17 2005/11/04 00:06:50 dkf Exp $ + * RCS: @(#) $Id: tclWinConsole.c,v 1.18 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclWinInt.h" @@ -815,9 +815,9 @@ ConsoleOutputProc( ckfree(infoPtr->writeBuf); } infoPtr->writeBufLen = toWrite; - infoPtr->writeBuf = ckalloc(toWrite); + infoPtr->writeBuf = ckalloc((size_t)toWrite); } - memcpy(infoPtr->writeBuf, buf, toWrite); + memcpy(infoPtr->writeBuf, buf, (size_t)toWrite); infoPtr->toWrite = toWrite; ResetEvent(infoPtr->writable); SetEvent(infoPtr->startWriter); @@ -828,7 +828,8 @@ ConsoleOutputProc( * avoids an unnecessary copy. */ - if (writeConsoleBytes(infoPtr->handle, buf, toWrite, &bytesWritten) + if (writeConsoleBytes(infoPtr->handle, buf, (DWORD)toWrite, + &bytesWritten) == FALSE) { TclWinConvertError(GetLastError()); goto error; @@ -1275,7 +1276,8 @@ ConsoleWriterThread( */ while (toWrite > 0) { - if (writeConsoleBytes(handle, buf, toWrite, &count) == FALSE) { + if (writeConsoleBytes(handle, buf, (DWORD)toWrite, + &count) == FALSE) { infoPtr->writeError = GetLastError(); break; } else { diff --git a/win/tclWinDde.c b/win/tclWinDde.c index 913a361..0171810 100644 --- a/win/tclWinDde.c +++ b/win/tclWinDde.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinDde.c,v 1.28 2005/11/04 00:06:50 dkf Exp $ + * RCS: @(#) $Id: tclWinDde.c,v 1.29 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclInt.h" @@ -59,7 +59,7 @@ typedef struct DdeEnumServices { ATOM service; ATOM topic; HWND hwnd; -}; +} DdeEnumServices; typedef struct ThreadSpecificData { Conversation *currentConversations; @@ -953,7 +953,6 @@ DdeClientWindowProc( WPARAM wParam, LPARAM lParam) /* (Potentially) our local handle */ { - LRESULT lr = 0L; switch (uMsg) { case WM_CREATE: { @@ -999,7 +998,7 @@ DdeServicesOnAck( Tcl_Obj *matchPtr = Tcl_NewListObj(0, NULL); Tcl_Obj *resultPtr = Tcl_GetObjResult(es->interp); - GlobalGetAtomName((ATOM)service, sz, 255); + GlobalGetAtomName(service, sz, 255); Tcl_ListObjAppendElement(NULL, matchPtr, Tcl_NewStringObj(sz, -1)); GlobalGetAtomName(topic, sz, 255); Tcl_ListObjAppendElement(NULL, matchPtr, Tcl_NewStringObj(sz, -1)); @@ -1140,7 +1139,7 @@ Tcl_DdeObjCmd( ClientData clientData, /* Used only for deletion */ Tcl_Interp *interp, /* The interp we are sending from */ int objc, /* Number of arguments */ - Tcl_Obj *CONST objv[]) /* The arguments */ + Tcl_Obj *CONST * objv) /* The arguments */ { static CONST char *ddeCommands[] = { "servername", "execute", "poke", "request", "services", "eval", @@ -1190,9 +1189,9 @@ Tcl_DdeObjCmd( switch ((enum DdeSubcommands) index) { case DDE_SERVERNAME: for (i = 2; i < objc; i++) { - enum DdeSrvOptions argIndex; + int argIndex; if (Tcl_GetIndexFromObj(interp, objv[i], ddeSrvOptions, - "option", 0, (int *) &argIndex) != TCL_OK) { + "option", 0, &argIndex) != TCL_OK) { /* * If it is the last argument, it might be a server name * instead of a bad argument. @@ -1486,7 +1485,7 @@ Tcl_DdeObjCmd( } objc -= (async + 3); - ((Tcl_Obj **) objv) += (async + 3); + objv += (async + 3); /* * See if the target interpreter is local. If so, execute the command diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c index 2aa5f0c..3d95de9 100644 --- a/win/tclWinFCmd.c +++ b/win/tclWinFCmd.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFCmd.c,v 1.50 2005/11/04 00:06:50 dkf Exp $ + * RCS: @(#) $Id: tclWinFCmd.c,v 1.51 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclWinInt.h" @@ -1233,7 +1233,7 @@ TraverseWinTree( { DWORD sourceAttr; TCHAR *nativeSource, *nativeTarget, *nativeErrfile; - int result, found, sourceLen, targetLen, oldSourceLen, oldTargetLen; + int result, found, sourceLen, targetLen = 0, oldSourceLen, oldTargetLen; HANDLE handle; WIN32_FIND_DATAT data; @@ -1448,9 +1448,9 @@ TraversalCopy( break; case DOTREE_PRED: if (DoCreateDirectory(nativeDst) == TCL_OK) { - DWORD attr = (*tclWinProcs->getFileAttributesProc)(nativeSrc); + DWORD attr = (tclWinProcs->getFileAttributesProc)(nativeSrc); - if ((*tclWinProcs->setFileAttributesProc)(nativeDst, + if ((tclWinProcs->setFileAttributesProc)(nativeDst, attr) != FALSE) { return TCL_OK; } diff --git a/win/tclWinFile.c b/win/tclWinFile.c index eb88bb1..f7fc5a4 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFile.c,v 1.80 2005/11/04 00:06:50 dkf Exp $ + * RCS: @(#) $Id: tclWinFile.c,v 1.81 2005/12/13 22:43:18 kennykb Exp $ */ /* #define _WIN32_WINNT 0x0500 */ @@ -28,7 +28,8 @@ * on the proleptic Gregorian calendar) and the Posix epoch (1970-01-01). */ -#define POSIX_EPOCH_AS_FILETIME 116444736000000000 +#define POSIX_EPOCH_AS_FILETIME ((Tcl_WideInt)116444736 \ + * (Tcl_WideInt) 1000000000) /* * Declarations for 'link' related information. This information should come @@ -1445,7 +1446,7 @@ TclpGetUserHome( if (domain != NULL) { Tcl_DStringInit(&ds); wName = Tcl_UtfToUniCharDString(domain + 1, -1, &ds); - badDomain = (*netGetDCNameProc)(NULL, wName, + badDomain = (netGetDCNameProc)(NULL, wName, (LPBYTE *) &wDomain); Tcl_DStringFree(&ds); nameLen = domain - name; @@ -1453,7 +1454,7 @@ TclpGetUserHome( if (badDomain == 0) { Tcl_DStringInit(&ds); wName = Tcl_UtfToUniCharDString(name, nameLen, &ds); - if ((*netUserGetInfoProc)(wDomain, wName, 1, + if ((netUserGetInfoProc)(wDomain, wName, 1, (LPBYTE *) &uiPtr) == 0) { wHomeDir = uiPtr->usri1_home_dir; if ((wHomeDir != NULL) && (wHomeDir[0] != L'\0')) { @@ -1609,7 +1610,7 @@ NativeAccess( * to EACCES - just what we want! */ - TclWinConvertError(error); + TclWinConvertError((DWORD)error); return -1; } @@ -2799,7 +2800,7 @@ TclpObjNormalizePath( } } Tcl_DStringAppend(&dsNorm, nativePath, - sizeof(WCHAR)*len); + (int)(sizeof(WCHAR)*len)); lastValidPathEnd = currentPathEndPosition; } } diff --git a/win/tclWinReg.c b/win/tclWinReg.c index cebb97c..d7d442a 100644 --- a/win/tclWinReg.c +++ b/win/tclWinReg.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinReg.c,v 1.34 2005/11/04 00:06:51 dkf Exp $ + * RCS: @(#) $Id: tclWinReg.c,v 1.35 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclInt.h" @@ -818,7 +818,9 @@ GetValue( Tcl_NewStringObj(Tcl_DStringValue(&buf), Tcl_DStringLength(&buf))); if (regWinProcs->useWide) { - while (*((Tcl_UniChar *)p)++ != 0) {} + Tcl_UniChar* up = (Tcl_UniChar*) p; + while (*up++ != 0) {} + p = (char*) up; } else { while (*p++ != '\0') {} } @@ -1256,7 +1258,8 @@ SetValue( Tcl_Obj *dataObj, /* Data to be written. */ Tcl_Obj *typeObj) /* Type of data to be written. */ { - DWORD type, result; + int type; + DWORD result; HKEY key; int length; char *valueName; @@ -1279,15 +1282,16 @@ SetValue( valueName = (char *) Tcl_WinUtfToTChar(valueName, length, &nameBuf); if (type == REG_DWORD || type == REG_DWORD_BIG_ENDIAN) { - DWORD value; - if (Tcl_GetIntFromObj(interp, dataObj, (int*) &value) != TCL_OK) { + int value; + if (Tcl_GetIntFromObj(interp, dataObj, &value) != TCL_OK) { RegCloseKey(key); Tcl_DStringFree(&nameBuf); return TCL_ERROR; } - value = ConvertDWORD(type, value); - result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, type, + value = ConvertDWORD((DWORD)type, (DWORD)value); + result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, + (DWORD)type, (BYTE*) &value, sizeof(DWORD)); } else if (type == REG_MULTI_SZ) { Tcl_DString data, buf; @@ -1322,7 +1326,8 @@ SetValue( Tcl_WinUtfToTChar(Tcl_DStringValue(&data), Tcl_DStringLength(&data)+1, &buf); - result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, type, + result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, + (DWORD)type, (BYTE *) Tcl_DStringValue(&buf), (DWORD) Tcl_DStringLength(&buf)); Tcl_DStringFree(&data); @@ -1342,7 +1347,8 @@ SetValue( } length = Tcl_DStringLength(&buf) + 1; - result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, type, + result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, + (DWORD)type, (BYTE*)data, (DWORD) length); Tcl_DStringFree(&buf); } else { @@ -1353,7 +1359,8 @@ SetValue( */ data = Tcl_GetByteArrayFromObj(dataObj, &length); - result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, type, + result = (*regWinProcs->regSetValueExProc)(key, valueName, 0, + (DWORD)type, (BYTE *)data, (DWORD) length); } diff --git a/win/tclWinSock.c b/win/tclWinSock.c index cd26f98..509df69 100644 --- a/win/tclWinSock.c +++ b/win/tclWinSock.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinSock.c,v 1.50 2005/11/04 00:06:51 dkf Exp $ + * RCS: @(#) $Id: tclWinSock.c,v 1.51 2005/12/13 22:43:18 kennykb Exp $ */ #include "tclWinInt.h" @@ -447,7 +447,7 @@ InitSockets(void) #define WSA_VERSION_MINOR 1 #define WSA_VERSION_REQD MAKEWORD(WSA_VERSION_MAJOR, WSA_VERSION_MINOR) - if ((err = winSock.WSAStartup(WSA_VERSION_REQD, &wsaData)) != 0) { + if ((err = winSock.WSAStartup((WORD)WSA_VERSION_REQD, &wsaData)) != 0) { TclWinConvertWSAError(err); goto unloadLibrary; } @@ -966,7 +966,7 @@ TcpCloseProc( SocketInfo *infoPtr = (SocketInfo *) instanceData; /* TIP #218 */ int errorCode = 0; - ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); + /* ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); */ /* * Check that WinSock is initialized; do not call it if not, to prevent @@ -1019,7 +1019,7 @@ NewSocketInfo( SOCKET socket) { SocketInfo *infoPtr; - ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); + /* ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); */ infoPtr = (SocketInfo *) ckalloc((unsigned) sizeof(SocketInfo)); infoPtr->channel = 0; @@ -2050,7 +2050,7 @@ TcpGetOptionProc( int ret; optlen = sizeof(int); - ret = TclWinGetSockOpt(sock, SOL_SOCKET, SO_ERROR, + ret = TclWinGetSockOpt((int)sock, SOL_SOCKET, SO_ERROR, (char *)&err, &optlen); if (ret == SOCKET_ERROR) { err = winSock.WSAGetLastError(); @@ -2582,7 +2582,7 @@ InitializeHostName( int TclWinGetSockOpt( - SOCKET s, + int s, int level, int optname, char * optval, @@ -2598,12 +2598,12 @@ TclWinGetSockOpt( return SOCKET_ERROR; } - return winSock.getsockopt(s, level, optname, optval, optlen); + return winSock.getsockopt((SOCKET)s, level, optname, optval, optlen); } int TclWinSetSockOpt( - SOCKET s, + int s, int level, int optname, const char * optval, @@ -2619,7 +2619,7 @@ TclWinSetSockOpt( return SOCKET_ERROR; } - return winSock.setsockopt(s, level, optname, optval, optlen); + return winSock.setsockopt((SOCKET)s, level, optname, optval, optlen); } u_short |