summaryrefslogtreecommitdiffstats
path: root/win/tclWin32Dll.c
Commit message (Collapse)AuthorAgeFilesLines
* (DllMain): Added DisableThreadLibraryCalls() for the DLL_PROCESS_ATTACHdavygrvy2004-04-241-1/+2
| | | | | case. We're not interested in knowing about DLL_THREAD_ATTACH, so disable it.
* Removed my mistake of adding an exit handler to TclWinInit.davygrvy2004-04-231-30/+1
| | | | | TclWinEncodingsCleanup called from TclFinalizeFilesystem does the Tcl_FreeEncoding for us.
* Added an exit handler in tclWinInit() so tclWinTCharEncoding could be freeddavygrvy2004-04-201-1/+30
| | | | for Tcl_Finalize.
* filesystem optimisation -- Three main issues accomplished: (1) cleaned up ↵vincentdarley2004-01-211-1/+6
| | | | variable names in
* * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEHmdejong2003-12-261-1/+69
| | | | | | blocks in place of __try and __except statements to support gcc builds. This is needed after David's changes on 2003-12-21. [Tcl patch 858493]
* All uses of 'panic' (the macro) changeddavygrvy2003-12-241-5/+5
| | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* Structured Exception Handling added around Tcl_Finalize called fromdavygrvy2003-12-211-3/+14
| | | | | | | | DllMain's DLL_PROCESS_DETACH. We can't 100% assured that Tcl is being unloaded by the OS in a stable condition and we need to protect the exit handlers should the stack be in a hosed state. AT&T style assembly for SEH under MinGW has not been added yet. This is a first part change for [Patch 858493]
* filesystem bug fixesvincentdarley2003-10-131-1/+36
|
* Symbols which are visible outside a single compilation unit must havedkf2003-09-291-4/+4
| | | | | the prefix 'Tcl' to keep them out of the way of non-Tcl C code on Unix. (Problem reported by George Staplin.)
* filesystem fixes -- see ChangeLogvincentdarley2003-06-231-7/+15
|
* fix 5 small filesystem bugs, and some typosvincentdarley2003-04-111-3/+190
|
* finalization and test fixesvincentdarley2003-02-041-4/+29
|
* * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings):mdejong2003-01-251-41/+51
| | | | | | | | | | | | | | * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings): * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings): Re-implement inline ASM SEH handlers for gcc. The esp and ebp registers are now saved on the stack instead of in global variables so that the code is thread safe. Add additional checks when TCL_MEM_DEBUG is defined to be sure the values were recovered from the stack properly. Remove squelch_warnings functions and add a dummy call in the handler methods to squelch compiler warnings.
* * win/configure:mdejong2003-01-251-6/+10
| | | | | | | | | | | | | | | * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that no alloca function is found in malloc.h and we are compiling with GCC. Remove HAVE_NO_ALLOC_DECL define. * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a cdecl function. Doing this caused a tricky runtime bug because the _alloca function expects the size argument to be passed in a register and not on the stack. To fix this problem, we use inline ASM when compiling with gcc to invoke _alloca with the size argument loaded into a register.
* * win/configure: Regen.mdejong2003-01-241-7/+20
| | | | | | | | | | | * win/configure.in: * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception handler logic to avoid using the stack since alloca will modify the stack. This was causing a nasty bug that would set the exception handler to 0 because it tried to pop the previous exception handler off the top of the stack.
* * win/tclWin32Dll.c (squelch_warnings): Squelchmdejong2003-01-161-1/+16
| | | | | | | | | | | | | | | | | | | | | | compiler warnings from SEH ASM code. * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from SEH ASM code. * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer to DWORD instead of int to avoid compiler warnings. * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to avoid compiler warnings. Squelch compiler warnings from SEH ASM code. * win/tclWinFile.c: Add casts and fixup decls to avoid compiler warnings. Remove unused variable. * win/tclWinNotify.c: Declare as DWORD instead of int to avoid compiler warning. * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment in if expression bug. * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove unused variable. * win/tclWinSock.c: Add casts and fixup decls to avoid compiler warnings.
* non-ascii chars in file mtime fixvincentdarley2003-01-091-1/+3
|
* * generic/tclStubInit.c: regenhobbs2002-12-061-1/+25
| | | | | | | | | | | | * generic/tclIntPlatDecls.h: regen * generic/tclInt.decls: added TclWinResetInterface * win/tclWin32Dll.c (TclWinResetInterfaces): * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): add exit handler that resets the encoding information to a state where we can reuse Tcl. Following these changes, it is possible to reuse Tcl (following Tcl_FindExecutable or Tcl_CreateInterp) following a Tcl_Finalize.
* comments addedvincentdarley2002-10-291-1/+15
|
* vfs, winfs testsuitevincentdarley2002-06-131-1/+11
|
* * win/configure: Regen.mdejong2002-03-151-2/+46
| | | | | | | | | | | | | | * win/configure.in: Add configure time test for SEH support in the compiler. * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace, _except_checkstackspace_handler): * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel, _except_makefilechannel_handler): * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, _except_dorenamefile_handler, DoCopyFile, _except_docopyfile_handler): Implement SEH support under gcc using inline asm. Tcl and Tk should now compile with Mingw 1.1. [Patch 525746]
* * win/tclWin32Dll.c (TclpCheckStackSpace):mdejong2002-03-081-4/+9
| | | | | | | * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded constants with Win32 symbolic names. Move control flow statements out of __try blocks since the documentation indicates it is frowned upon.
* * Partial TIP 27 rollback. Following routinesdgp2002-02-081-3/+3
| | | | | | | | | | | | | restored to return (char *): Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified some callers. This change recognizes that Tcl_DStrings are de-facto white-box objects. * generic/tclCmdMZ.c: corrected use of C++-style comment.
* * [Patch 505630] Updated interfaces of generic/tclBasic.cc (TIP 27).dgp2002-01-251-3/+3
| | | | | | | * [Patch 506818] Updated interfaces of generic/tclHash.c (TIP 27). * [Patch 506807] Updated interfaces of generic/tclObj.c (TIP 27). * [Patch 507304] Updated interfaces of win/tclWin32.c (TIP 27). * Update all callers.
* win fs fixesvincentdarley2001-11-191-5/+25
|
* win fs fixesvincentdarley2001-10-291-1/+5
|
* * generic/tclInt.decls:hobbs2000-03-311-87/+6
| | | | | | | | | | | | | | | * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s support). * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting info again * win/tclWinPort.h: * win/Makefile.in: * win/configure.in: * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
* * win/tclWin32Dll.c:hobbs1999-12-091-24/+5
| | | | | | | | | | | | | | | * win/tclWinChan.c: * win/tclWinFCmd.c: * win/tclWinInit.c: * win/tclWinPipe.c: * win/tclWinSock.c: removed all code that supported Win32s. It was no longer officially supported, and likely didn't work anyway. * win/makefile.vc: removed 16 bit stuff, cleaned up. * win/tcl16.rc: * win/tclWin16.c: * win/winDumpExts.c: these files have been removed from the source tree (no longer necessary to build) * win/aclocal.m4: made it just include tcl.m4
* * win/tclWinFCmd.c:stanton1999-04-231-3/+3
| | | | | | * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that is the actual keyword. This eliminates the need for some -D flags from the makefile.
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-194/+349
|
* Merged stubs changes into mainline for 8.0stanton1999-03-101-1/+36
|
* Replaced SCCS strings, fixed binary filescore_8_0_3stanton1998-09-141-1/+1
|
* added STATIC_BUILD test around DllMain, etc.stanton1998-07-091-0/+7
|
* added TclWinInit and TclpFinalizestanton1998-04-291-47/+80
|
* Initial revisionrjohnson1998-03-261-0/+362