summaryrefslogtreecommitdiffstats
path: root/win/tclWinFile.c
Commit message (Collapse)AuthorAgeFilesLines
* * win/tclWinFile.c: (WinSymLinkDirectory): Fixed a problem thatKevin B Kenny2008-04-051-17/+17
| | | | | | | | | | | Tcl was creating an NTFS junction point (IO_REPARSE_TAG_MOUNT_POINT) but filling in the union member for a Vista symbolic link. We had gotten away with this error because the union member (SymbolicLinkReparseBuffer) was misdefined in this file and in the 'winnt.h' in early versions of MinGW. MinGW 3.4.2 has the correct definition of SymbolicLinkReparseBuffer, exposing the mismatch, and making tests cmdAH-19.4.1, fCmd-28.*, and filename-11.* fail.
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* * generic/tclBasic.c: Removed dead code, including thedgp2007-06-281-79/+1
| | | | | | | | | | | | | * generic/tclExecute.c: entire file tclMathOp.c. * generic/tclInt.h: * generic/tclMathOp.c (removed): * generic/tclTestObj.c: * win/tclWinFile.c: * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c. * win/Makefile.in: * win/makefile.bc: * win/makefile.vc:
* More type-pun warning squelchesdkf2007-05-051-224/+231
|
* Eliminate use of (VOID*) casts when calling memset or memcpy.dkf2007-04-171-3/+3
|
* Bug #1479814. Handle extended paths on Windows NT and above.patthoyts2007-02-201-1/+8
|
* win/tclWinFile.c: alfredd supplied patch to fix Bug 1575837coldstore2006-10-131-4/+4
|
* win/tclWinFile.c: corrected erroneous attempt to protect against NULL return ↵coldstore2006-10-131-5/+9
| | | | from Tcl_FSGetNormalizedPath per Bug 1548263 causing Bug 1575837.
* Handle possible missing definepatthoyts2006-10-011-4/+7
|
* bug #1420432 - file mtime fails for directories on windowspatthoyts2006-10-011-4/+14
|
* fixed [ 1548263 ] NULL return from Tcl_FSGetNormalizedPath segvcoldstore2006-08-291-6/+10
|
* 90% fix of file writable issues on Windowsvincentdarley2006-03-141-3/+3
|
* remove previous patch for 'file writable'vincentdarley2006-03-101-163/+31
|
* fix to file writable in certain XP directoriesvincentdarley2006-03-091-2/+153
|
* fix to sharing violationvincentdarley2006-01-121-2/+3
|
* Export stubs for libtommath; fix mingw compiler warningsKevin B Kenny2005-12-131-6/+7
|
* ANSIfydkf2005-11-041-3/+3
|
* Convert to using ANSI decls/definitions and using the (ANSI) assumption that ↵dkf2005-10-311-150/+171
| | | | | | NULL can be cast to any pointer type transparently.
* fix to glob memory leak and file stat ino/nlink on windowsvincentdarley2005-10-231-136/+145
|
* allow NULL interp in Tcl_FSMatchInDirectoryvincentdarley2005-08-311-5/+7
|
* 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
|