summaryrefslogtreecommitdiffstats
path: root/win/tclWinFile.c
Commit message (Collapse)AuthorAgeFilesLines
* Getting more systematic about styledkf2005-07-241-1017/+1327
|
* * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571]dgp2005-06-221-3/+3
| | | | Thanks to Pat Thoyts for discovery and fix.
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
|
* fix to file norm, file pathtype on windows reserved filenamesvincentdarley2005-03-151-3/+80
|
* * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() todgp2004-12-011-24/+5
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclEncoding.c: make use of a ProcessGlobalValue for * generic/tclEvent.c: storing the executable name. Added internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that storage in Tcl_Obj, rather than string format. * unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use * win/tclWinFile.c: TclSetObjNameOfExecutable to store the executable name it computes. * generic/tclInt.h: Added internal stub entries for * generic/tclInt.decls: TclpFindExecutable and Tcl(Get|Set)ObjNameOfExecutable. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form * win/tclWinPipe.c: instead of string form. * unix/tclUnixTest.c: Update [testfindexecutable] command to use new internal interfaces.
* Patch 976520 reworks several of the details involved withdgp2004-11-301-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | startup/initialization of the Tcl library, focused on the activities of Tcl_FindExecutable(). * generic/tclIO.c: Removed bogus claim in comment that encoding "iso8859-1" is "built-in" to Tcl. * generic/tclInt.h: Created a new struct ProcessGlobalValue, * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and function type TclInitProcessGlobalValueProc. Together, these take care of the housekeeping for "values" (things that can be held in a Tcl_Obj) that are global across a whole process. That is, they are shared among multiple threads, and epoch and mutex protection must govern the validity of cached copies maintained in each thread. * generic/tclNotify.c: Modified TclInitNotifier() to tolerate being called multiple times in the same thread. * generic/tclEvent.c: Dropped the unused argv0 argument to TclInitSubsystems(). Removed machinery to unsure only one TclInitNotifier() call per thread, now that that is safe. Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to tclEncoding.c. * generic/tclBasic.c: Updated caller. * generic/tclInt.h: TclpFindExecutable now returns void. * unix/tclUnixFile.c: * win/tclWinFile.c: * win/tclWinPipe.c: * generic/tclEncoding.c: Built new encoding search initialization on a foundation of ProcessGlobalValues, exposing new routines Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to directory pathname keeps track of where encodings are available for loading. Tcl_FindExecutable greatly simplified into just three function calls. The "library path" is now misnamed, as its only remaining purpose is as a foundation for the default encoding search path. * generic/tclInterp.c: Inlined the initScript that is evaluated by Tcl_Init(). Added verification after initScript evaluation that Tcl can find its installed *.enc files, and that it has initialized [encoding system] in agreement with what the environment expects. [tclInit] no longer driven by the value of $::tcl_libPath; it largely constructs its own search path now, rather than attempt to share one with the encoding system. * unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can reveal that Tcl thinks the [encoding system] should be, even when an incomplete encoding search path, or a missing *.enc file won't allow that initialization to succeed. TclpInitLibraryPath reworked as an initializer of a ProcessGlobalValue. * unix/tclUnixTest.c: Update implementations of [testfindexecutable], [testgetdefenc], and [testsetdefenc]. * tests/unixInit.test: Corrected tests to operate properly even when a value of TCL_LIBRARY is required to find encodings. * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath, TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These are candidates for public exposure by future TIPs. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclTest.c: Updated [testencoding] to use * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
* TclpUTime simplificationvincentdarley2004-11-021-25/+29
|
* Second part of fix for Bug 926106Kevin B Kenny2004-11-011-23/+55
|
* Fixed conversion between FILETIME and Tcl time -Bug 926106Kevin B Kenny2004-10-301-47/+29
|
* filesystem generic/platform code splittingvincentdarley2004-10-071-1/+264
|
* fix to trailing slash documentation and to a filesystem 'file join' bug on ↵vincentdarley2004-06-301-35/+91
| | | | windows
* * win/tclWinFile.c (TclpFindExecutable): when usinghobbs2004-06-021-4/+6
| | | | | GetModuleFileNameA (Win9x), convert from CP_ACP to WCHAR then convert back to utf8. Adjunct to 2004-04-07 fix.
* * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue Kevin B Kenny2004-05-191-2/+3
| | | | | | | | | where there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The result was that the error code could be reset between a call to FindFirstFileEx and the check of its status return, leading to a bizarre error return of {POSIX unknown {No error}}. (Found in unplanned test - no incident logged at SourceForge.)
* fix to case sensitive 'file executable' on Windowsvincentdarley2004-05-171-4/+7
|
* * win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CEhobbs2004-04-071-13/+15
| | | | | | | | | | is also a unicode platform. * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable): * generic/tclInt.h: Correct handling of UTF * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually * win/tclWinFile.c (TclpFindExecutable): "clean", allowing the * win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from paths that contain multi-byte chars on Windows [Bug 920667]
* filesystem fixes for '-force' consistency and picky compilersvincentdarley2004-01-291-1/+6
|
* file normalize bug fixes for .. and .vincentdarley2004-01-231-4/+13
|
* filesystem optimisation -- Three main issues accomplished: (1) cleaned up ↵vincentdarley2004-01-211-20/+97
| | | | variable names in
* * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problemdavygrvy2003-12-161-2/+10
| | | | | | | | | with Borland. * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has a slight behavioral difference. From Helmut Giese <hgiese@ratiosoft.com> [Patch 758097].
* allow creation of relative linksvincentdarley2003-12-121-2/+2
|
* NT file permissions fix and testsvincentdarley2003-12-091-7/+9
|
* filesystem bug fixesvincentdarley2003-10-131-14/+144
|
* Symbols which are visible outside a single compilation unit must havedkf2003-09-291-3/+1
| | | | | the prefix 'Tcl' to keep them out of the way of non-Tcl C code on Unix. (Problem reported by George Staplin.)
* * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializersdavygrvy2003-08-271-2/+3
| | | | must be constant' with the driveSpec array with OpenWatcom.
* 2003-07-16 Mumit Khan <khan@nanotech.wisc.edu>hobbs2003-07-171-1/+16
| | | | | | | | | * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific code to convert POSIX filename to native format. * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here. (TclDoGlob): Adjust for cygwin and append / for dirs instead of \ * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin. [Patch 679315]
* filesystem fixes -- see ChangeLogvincentdarley2003-06-231-46/+71
|
* * win/tclWinFile.c (TclpMatchInDirectory): revert glob code tohobbs2003-05-161-71/+46
| | | | r1.44 as 2003-04-11 optimizations broke Windows98 glob'ing.
* * The changes below fix SF bugs [593810], and [718045].andreas_kupries2003-04-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke TclpCutSockChannel and TclpSpliceSockChannel. * generic/tclInt.h: Declare TclpCutSockChannel and TclpSpliceSockChannel. * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): Dummy functions, on unix the sockets are _not_ handled specially. * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New functions to handle socket specific cut/splice operations: auto-initi of socket system for thread on splice, management of the module internal per-thread list of sockets, management of association of sockets with HWNDs for event notification. * win/tclWinSock.c (NewSocketInfo): Extended initialization assignments to cover all items of the structure. During debugging of the new code mentioned above I found that two fileds could contain bogus data. * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before definition because when compiling in debug mode the compiler complains about a redefinition, and this warning is also treated as an error.
* Added conditionals to make tclWinFile.c compile on VC++6, which Kevin B Kenny2003-04-141-1/+3
| | | | was broken by recent changes.
* vc++ 5.2 compile fixvincentdarley2003-04-141-1/+5
|
* * win/configure: Regen.mdejong2003-04-141-1/+3
| | | | | | | | | | | | | | | | * win/configure.in: Add check for FINDEX_INFO_LEVELS from winbase.h, known to be a problem in VC++ 5.2. Define HAVE_NO_FINDEX_ENUMS if the define does not exist. * win/tclWinFile.c: Put declarations for FINDEX_INFO_LEVELS and FINDEX_SEARCH_OPS inside a check for HAVE_NO_FINDEX_ENUMS so that these are not declared twice. This fixes the Mingw build. * win/tclWinTime.c: Rework the init of timeInfo so that the number or initializers matches the declaration. This was broken under Mingw. Add cast to avoid compile warning when calling the AccumulateSample function.
* fix 5 small filesystem bugs, and some typosvincentdarley2003-04-111-71/+160
|
* further fs cleanupvincentdarley2003-02-101-4/+9
|
* filesystem speed up round 2vincentdarley2003-02-101-105/+84
|
* first speedups to Win filesystemvincentdarley2003-02-071-149/+182
|
* * win/tclWin32Dll.c (squelch_warnings): Squelchmdejong2003-01-161-7/+6
| | | | | | | | | | | | | | | | | | | | | | 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/+35
|
* vfs fixesvincentdarley2002-07-201-12/+28
|
* Global symbols are now all either prefixed with 'tcl' (or 'Tcl' or ...) or ↵dkf2002-07-191-3/+2
| | | | have file-scope.
* static internal functionvincentdarley2002-07-151-5/+1
|
* tests, docsvincentdarley2002-07-151-6/+4
|
* file normalization on win 95/98vincentdarley2002-07-121-73/+39
|
* file normalization on win 95/98vincentdarley2002-07-111-205/+107
|
* tip99vincentdarley2002-06-211-113/+184
|
* fs normalizevincentdarley2002-06-131-3/+12
|
* vfs, winfs testsuitevincentdarley2002-06-131-24/+188
|
* * win/tclWinFile.c: corrected the symbolic link handling code tohobbs2002-06-121-31/+57
| | | | | | | allow it to compile. Added real definition of REPARSE_DATA_BUFFER (found in winnt.h). Most of the added definitions appear to have correct, cross-Win-version equivalents in winnt.h and should be removed, but just making things "work" for now.
* fs clarification and windows fixesvincentdarley2002-06-121-25/+696
|
* fix to 551306vincentdarley2002-05-021-55/+167
|
* 4 fs fixesvincentdarley2002-03-241-283/+328
|