summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixFile.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix [0df7a1ec2674a76a]: unix/tclUnixFile.c: return value of call to ↵jan.nijtmans2015-08-251-2/+5
| | | | TclpGetCwd in TclpFindExecutable is not checked, variable cwd is used uninitialized.
* Fix [3118489]: NUL in filenames. (On Windows, protect against invalid use of ↵jan.nijtmans2014-05-151-0/+6
| | | | ':' in filenames as well)
* Unbreak msvc builds, by depending on tclPort.h for inclusion of <sys/stat.h>.jan.nijtmans2013-02-101-1/+0
|
* ... and fix cygwin buildjan.nijtmans2013-01-181-2/+4
|
* revert [8abba84224], and make sure that every source file that uses ↵jan.nijtmans2013-01-171-0/+1
| | | | Tcl_StatBuf has an "#include <sys/stat.h>" before including tcl.h
* mergejan.nijtmans2012-06-271-3/+3
|\
| * fix bug in cygwin's [info nameofexecutable]jan.nijtmans2012-06-271-1/+1
| | | | | | install dde and registry dll for cygwin
* | use cygwin_conv_path() in stead of deprecated cygwin_conv_to_full_posix_pathjan.nijtmans2012-06-261-4/+3
|\ \ | |/
| * use cygwin_conv_path() in stead of deprecated cygwin_conv_to_full_posix_pathjan.nijtmans2012-06-261-4/+3
| |
* | Move cpuid testcase from win-specific to generic testsjan.nijtmans2012-05-031-8/+0
|\ \ | |/
| * Move cpuid testcase from win-specific to generic testsjan.nijtmans2012-05-031-8/+0
| | | | | | Simplify stub tables for functions which work on both UNIX and windows
* | Move CYGWIN-specific stuff from tclPort.h to tclUnixPort.h, where it belongsjan.nijtmans2012-04-271-14/+12
| |
* | gcc warningsjan.nijtmans2012-04-241-2/+1
| |
* | [Bug 3508771] load tclreg.dll in cygwin tclshjan.nijtmans2012-04-241-2/+31
|\ \ | |/ | | | | Implement TclWinGetSockOpt, TclWinGetServByName and TclWinCPUID for Cygwin
| * [Bug 3508771] load tclreg.dll in cygwin tclshjan.nijtmans2012-04-241-5/+33
| |\ | | | | | | | | | Implement TclWinGetSockOpt, TclWinGetServByName and TclWinCPUID for Cygwin
| | * tclpGetPid signature change (stub entry only, not for macro),jan.nijtmans2012-04-061-0/+0
| | | | | | | | | | | | for win64 compatibility with future cygwin64 correctly use win32 as default when cross-compiling under cygwin
| | * implement TclpGetPid for Cygwinjan.nijtmans2012-04-041-5/+33
| |/
| * [Bug 3288345] Wrong Tcl_StatBuf used on Cygwinjan.nijtmans2012-03-201-1/+43
| | | | | | (backported from Tcl 8.5)
* | xjan.nijtmans2012-03-151-0/+34
| |
* | More isspace() callers.dgp2011-04-281-1/+1
| |
* | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
|\ \ | |/ | | more harm than good. Purged them.
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | more harm than good. Purged them.
| * ensure translated path is freedvincentdarley2003-10-311-1/+2
| |
| * backporting of filesystem tests, docsvincentdarley2003-10-031-4/+9
| |
* | Stop calling endpwent() and endgrent(); unneeded. [Bug 1942222]dkf2009-08-021-4/+2
| |
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | coverity id 100das2007-09-171-4/+4
| |
* | fixed [ 1548263 ] NULL return from Tcl_FSGetNormalizedPath segvcoldstore2006-08-291-1/+4
| |
* | added check for NULL return value of Tcl_FSGetTranslatedPath(), coverity bug 39das2006-03-251-1/+4
| |
* | * generic/tclInt.decls: implement globbing for HFS creator & typedas2006-03-211-11/+80
| | | | | | | | | | | | | | | | | | * macosx/tclMacOSXFCmd.c: codes and 'hidden' flag, as documented in * tests/macOSXFCmd.test: glob.n; objectified OSType handling in [glob] * unix/tclUnixFile.c: and [file attributes]; fix globbing for hidden files with pattern==NULL arg. [Bug 823329] * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: make genstubs
* | More bits of ANSIfyingdkf2005-11-111-56/+59
| |
* | allow NULL interp in Tcl_FSMatchInDirectoryvincentdarley2005-08-311-5/+7
| |
* | Getting more systematic about styledkf2005-07-201-224/+274
| |
* | * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() todgp2004-12-011-25/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | filesystem generic/platform code splittingvincentdarley2004-10-071-1/+128
| |
* | * unix/tclUnixFile.c (NativeMatchType): added support fordas2004-07-201-1/+5
| | | | | | | | readonly matching of user immutable files (where available).
* | * generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings.dgp2004-06-181-2/+3
| | | | | | | | | | | | | | * generic/tclInt.h: Updated TclpFindExecutable() so that failed * generic/tclUtil.c: attempts to find the executable are saved * unix/tclUnixFile.c: just as successful finds are. [Patch 966053] * unix/tclUnixTest.c:
* | Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: Reworked the Tcl header files into a clean * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h * win/tclWinInt.h: and every C source file should #include * win/tclWinPort.h: at most one of those files to satisfy its declaration needs. tclWinInt.h and tclWinPort.h also better organized so that tclWinPort.h includes the Windows implementation of cross-platform declarations, while tclWinInt.h makes declarations that are available on Windows only. * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h * generic/tclMath.h (removed): header file. The internal Tcl * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a * win/tcl.dsp: #include <math.h> directly, and file external to Tcl needing libm should do the same. * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days * win/makefile.vc (TCLOBJS): gone by. * win/tcl.dsp: * win/tclWinMtherr.c (removed):
* | filesystem fixes for '-force' consistency and picky compilersvincentdarley2004-01-291-1/+6
| |
* | filesystem optimisation -- Three main issues accomplished: (1) cleaned up ↵vincentdarley2004-01-211-21/+53
| | | | | | | | variable names in
* | fix to file normalization with relative linksvincentdarley2003-12-171-11/+47
| |
* | allow creation of relative linksvincentdarley2003-12-121-3/+24
| |
* | free path when no longer neededvincentdarley2003-11-031-1/+2
| |
* | filesystem bug fixesvincentdarley2003-10-131-3/+10
|/
* glob -l on broken symlink fixvincentdarley2003-02-121-2/+14
|
* * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hiddenhobbs2003-02-111-24/+14
| | | | file match check.
* filesystem speed up round 2vincentdarley2003-02-101-58/+36
|
* non-ascii chars in file mtime fixvincentdarley2003-01-091-1/+24
|
* * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreedhobbs2002-09-031-13/+4
| | | | extra native char*.