summaryrefslogtreecommitdiffstats
path: root/win/tclWinFile.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-151-14/+16
| | | | | This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode.
* * Partial TIP 27 rollback. Following routinesdgp2002-02-081-8/+6
| | | | | | | | | | | | | 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-11/+10
| | | | | | | * [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.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-251-3/+3
| | | | | | | | | | | generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
* Corrections to earlier TIP 27 changes.dgp2002-01-241-9/+10
| | | | Thanks to Andreas Kupries for the feedback.
* * Overlooked callers of Tcl_FSGetNativePathdgp2002-01-181-8/+8
|
* * Updated APIs in generic/tclUtf.c and generic/tclRegexp.c accordingdgp2002-01-171-2/+3
| | | | to the guidelines of TIP 27. Updated callers.
* win fs fixesvincentdarley2001-11-191-87/+133
|
* win fs fixesvincentdarley2001-10-291-12/+40
|
* One more detail.dgp2001-09-271-2/+2
|
* * Vince Darley reports the 2001-09-24 TIP 27 changes left the windgp2001-09-271-3/+4
| | | | directory CONST poisoned. These changes should fix that.
* * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' toandreas_kupries2001-09-101-9/+9
| | | | | | | | | | | the internal platform specific stub table. * win/tclWinFile.c (TclpObjStat): Now added the call to 'TclWinFlushDirtyChannels' to this function. I don't know where my head was last thursday (2001-09-06), but the call was actually added to 'TclpObjChdir', i.e. the implementation of [cd]. Corrected this now. Thanks to Vince Darley for spotting this.
* * All the changes below serve to fix bug [219148] which reports aandreas_kupries2001-09-071-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80x performance hit for file I/O on Win* systems. On my system it was closer to a 120x hit. Problem report by Uwe Traum <no email address available>. The fix goes like this: The obstacle is 'FlushFileBuffers', executed whenever Tcl writes data to the OS, as Tcl has to wait for the disk to complete I/O, and disks are slow. We remove that obstacle. This opens another problem, [file size] reports back wrong numbers. So for [file size] we add the call back in. As optimization we keep track of the channels which were written to and flush only these. * win/tclWinFile.c (TclpObjStat): Added a call to 'TclWinFlushDirtyChannels'. This ensures that [file size] and related commands report the correct size of a file even if Tcl has recently written to it. Unixoid OS's always report the correct size even for files with pending data, but Win* syssystem don't. They only report what is actually on disk. * win/tclWinInt.h: Added declaration of 'TclWinFlushDirtyChannels', making it available to other parts of the tcl core. * win/tclWinChan.c (TclWinFlushDirtyChannels): New, internal, procedure. Goes through the list of open file channels and forces the OS to flush its file buffers for all which were written to since the last call of this function. This is an expensive operation as Tcl has to wait for the OS to complete actual writes to the disk. (FileInfo): Added dirty flag required by the procedure above. (FileOutputProc): Removed flushing of file buffers, setting the dirty flag instead. This means that the previously incurred delays do not happen anymore. (TclWinOpenFileChannel): Added initialization of 'dirty' flag.
* filesystemvincentdarley2001-08-301-148/+96
|
* fs updatevincentdarley2001-08-231-28/+45
|
* Changes from TIP#17 "Redo Tcl's filesystem"vincentdarley2001-07-311-169/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following files were impacted. * doc/Access.3: * doc/FileSystem.3: * doc/OpenFileChnl.3: * doc/file.n: * doc/glob.n: * generic/tcl.decls: * generic/tcl.h: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDate.c: * generic/tclDecls.h: * generic/tclEncoding.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclGetDate.y: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclIOUtil.c: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclLoad.c: * generic/tclStubInit.c: * generic/tclTest.c: * generic/tclUtil.c: * library/init.tcl: * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacInit.c: * mac/tclMacPort.h: * mac/tclMacResource.c: * mac/tclMacTime.c: * tests/cmdAH.test: * tests/event.test: * tests/fCmd.test: * tests/fileName.test: * tests/io.test: * tests/ioCmd.test: * tests/proc-old.test: * tests/registry.test: * tests/unixFCmd.test: * tests/winDde.test: * tests/winFCmd.test: * unix/mkLinks: * unix/tclUnixFCmd.c: * unix/tclUnixFile.c: * unix/tclUnixInit.c: * unix/tclUnixPipe.c: * win/tclWinFCmd.c: * win/tclWinFile.c: * win/tclWinInit.c: * win/tclWinPipe.c
* * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definitionmdejong2001-07-171-1/+46
| | | | | for the TclpReadlink function. This method implements reading of symbolic links when build with Cygwin.
* 2000-10-26 David Gravereaux <davygrvy@ajubasolutions.com>davidg2000-10-271-2/+2
| | | | | | * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to "attr" which was a DWORD. Changed NULL to zero because a 'void *' can't be set to a DWORD to avoid the compiler warning.
* * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call onlyhobbs2000-10-211-8/+24
| | | | | occur when necessary (for 'glob' command). Significantly speeds up glob command from 8.3. [BUG: 6216]
* * doc/glob.n:hobbs1999-12-121-23/+102
| | | | | | | | | | | | | | | | * tests/fileName.test: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclEncoding.c: * generic/tclFileName.c: * mac/tclMacFile.c: * unix/tclUnixFile.c: * win/tclWinFile.c: enhanced the glob command with the new options -types -path -directory and -join. Deprecated TclpMatchFiles with TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added GlobTypeData structure.
* Resynced with mainline.rjohnson1999-04-211-4/+3
|
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-354/+637
|