summaryrefslogtreecommitdiffstats
path: root/generic/tclPathObj.c
Commit message (Collapse)AuthorAgeFilesLines
* prepare merge: TclJoinPath is in internal API (MODULE_SCOPE) since 8.6 and ↵sebres2018-11-221-8/+10
| | | | static (used locally in tclPathObj) in 8.5
* refactoring normalize in case of second path starting with tilde (~/~foo) - ↵sebres2018-11-201-34/+31
| | | | | force second path as relative by join (provide normalize flag for TclJoinPath); test cases extended
* fixes segfault [7a9dc52b29]: unexpected decrement of the ref-count after ↵sebres2018-11-201-2/+6
| | | | TclJoinPath
* [ce3a211dcb] Failed file normalize when tail is empty string.dgp2017-12-061-3/+2
|
* tclPathObj: fixed TclJoinPath (backported from 8.6) - usage of released ↵sebres2017-07-031-84/+70
| | | | | object and object leakage. closes [adb198c256df8c4192838cc3c1112fb2821314e9]
* [f9fe90d0fa] [file join] normalization. See filesystem-1.52*dgp2017-05-011-1/+11
|
* [f34cf83dd0] An optimization was being taken in a case where it produceddgp2017-04-281-0/+7
| | | | | the wrong result, failing to collapse multiple /// into /. Testing on Windows where path expectations may vary would be a good idea, but since this is just an optimization avoidance, I suspect we're ok.
* Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-2/+2
| | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* 3559678 Fix bad filename normalization when the last component is the empty ↵dgp2012-08-201-2/+7
| | | | string.
* Simplify tclFileSystem.h. Define structs where used.dgp2012-06-281-12/+10
|
* fix some gcc 64-bit warningsjan.nijtmans2012-06-261-3/+0
| | | | quoting improvements eliminate unused variable
* Simplify bug fix so that active claims on the FilesystemRecord list of a threaddgp2012-06-251-2/+1
|\ | | | | | | | | | | | | | | | | | | prevent any overwriting of that per-thread cache. This keeps active traversals of the list valid. The possible downside is that this may result in some delay in noticing new epochs and result in somewhat greater likelihood we will cache things in a "path" value that are out of date. Since the system has to deal with out of date cached data anyway, this should have no correctness affects, measured against the status quo. In multi-threaded operation the possibility of caching and/or retrieving outdated information can never be eliminated. Checkin also includes merge of 8.5.
* \ merge 8.5dgp2012-06-211-41/+24
|\ \ | |/
| * Stop storing FilesystemRecord in the intrep of a "path". We never use it.dgp2012-06-211-41/+24
| | | | | | Store the Tcl_Filesystem instead, which is what we actually need.
* | Only record the filesystemEpoch when it actually marks the validity ofdgp2012-06-211-6/+15
|/ | | something we are caching.
* Purge more dead fs path code.dgp2012-06-201-17/+3
|
* Remove dead code that complicates fs path values but adds no value.dgp2012-06-201-26/+7
|
* When using Tcl_SetObjLength() calls to grow and shrink the objPtr->bytes buffer,dgp2012-05-211-1/+1
| | | | | care must be taken that the value cannot possibly become pure Unicode. Calling Tcl_AppendToObj() has the possibility of making such a conversion. Bug found while valgrinding the trunk.
* some formatting (*.decls)jan.nijtmans2012-04-041-33/+0
| | | | | move up #undef, for macro which is conflicting with later stuff. remove some unused cygwin-related code some minor gcc warnings
* 3479689 Stop memory corruption when shimmering 0-refCount value to "path" type.dgp2012-01-261-0/+3
|
* 3475569 Add value-sharing checks before calls that demand unshared arguments.dgp2012-01-241-6/+20
|
* Purge the old, buggy implementation.dgp2011-10-311-34/+0
|
* Proposed fix for 3414754dgp2011-10-271-0/+17
|
* 3389764 Eliminate possibility that "path" value dup can create reference cycle.dgp2011-08-121-12/+12
|
* Backport fix for [Bug 2857044].dgp2011-04-271-4/+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.
* installData.tcl: Make sure that copyDir only receives normalized paths.nijtmans2010-05-211-19/+33
| | | | | | tclPlatDecls.h: Fix <tchar.h> inclusion for CYGWIN. tclPathObj.c: Fix Tcl_SetStringObj usage for CYGWIN. *.c: Fix various minor other gcc warnings, like signed<->unsigned mismatch.
* * generic/tclPathObj.c (TclPathPart): Correct inconsistency betweendgp2010-01-051-26/+10
| | | | | | * tests/fileName.test (filename-14.31): the string rep and the intrep of a path value created by [file rootname]. Thanks to Vitaly Magerya for reporting. [Bug 2918610]
* * generic/tclPathObj.c: Missing refcount on cached normalized pathdgp2009-10-271-1/+2
| | | | caused crashes. [Bug 2884203].
* * generic/tclPathObj.c: [Bug 2806250] Prevent the storage of stringsdgp2009-08-201-104/+99
| | | | | | | | starting with ~ in the "tail" part (normPathPtr field) of the path intrep when PATHFLAGS != 0. This establishes the assumptions relied on elsewhere that the name stored there is a relative path. Also refactored to make an AppendPath() routine instead of the cut/paste stanzas that were littered throughout.
* * generic/tclPathObj.c: Added NULL check to prevent crashes duringdgp2009-08-181-2/+8
| | | | * tests/fileName.test: [glob]. [Bug 2837800]
* * generic/tclPathObj.c (TclPathPart): TclPathPart() was computingdgp2009-03-271-3/+29
| | | | | | * tests/fileName.test: the wrong results for both [file dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0 intrep and with an empty string for the "joined-on" part. [Bug 2710920]
* * generic/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()dgp2009-02-201-1/+10
| | | | | | * tests/fileName.test: that assumed (not "absolute" => "relative"). This is a false assumption on Windows, where "volumerelative" is another possibility. [Bug 2571597].
* * generic/tclPathObj.c (Tcl_FSGetNormalizedPath): Added anotherdgp2008-12-041-13/+76
| | | | | flag value TCLPATH_NEEDNORM to mark those intreps which need more complete normalization attention for correct results. [Bug 2385549]
* * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanksdgp2008-06-291-3/+7
| | | | Rolf Ade for detecting.
* * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanksdgp2008-06-281-3/+8
| | | | Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
* * generic/tclPathObj.c: Fixed some internals management in the "path"dgp2008-06-241-2/+25
| | | | | Tcl_ObjType for the empty string value. Problem led to a crash in the command [glob -dir {} a]. [Bug 1999176].
* * generic/tclPathObj.c: Fixed bug in Tcl_GetTranslatedPath() whendgp2008-06-231-2/+11
| | | | | | | operating on the "Special path" variant of the "path" Tcl_ObjType intrep. A full normalization was getting done, in particular, coercing relative paths to absolute, contrary to what the function of producing the "translated path" is supposed to do. [Bug 1972879].
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* Reduce cast count.dkf2007-11-191-109/+102
|
* More minor cleanupdkf2007-11-181-6/+6
|
* * generic/tclPathObj.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):Kevin B Kenny2007-05-021-3/+10
| | | | | | Corrected several memory leaks that caused refcount imbalances resulting in memory leaks on Windows. Thanks to Joe Mistachkin for the patch.
* Replaced commas in varargs with string concatenation where possible [Patch ↵Kevin B Kenny2007-04-201-4/+4
| | | | 1515234]
* * doc/clock.n: Corrected a silly error (transposed 'uppercase'Kevin B Kenny2007-04-201-2/+3
| | | | | | | | | | | | | | | and 'lowercase' in clock.n. [Bug 1656002] Clarified that [clock scan] does not recognize a locale's alternative calendar. * library/clock.tcl: Corrected an error in skipping over the %Ey field on input. * library/msgs/ja.msg: * tools/loadICU.tcl: Corrected several localisation faults in the Japanese locale (most notably, incorrect dates for the Emperors' eras). [Bug 1637471]. Many thanks to SourceForge user 'nyademo' for pointing this out and developing a fix. * generic/tclPathObj.c: Corrected a 'const'ness fault that caused bitter complaints from MSVC.
* Eliminate use of (VOID*) casts when calling memset or memcpy.dkf2007-04-171-3/+3
|
* Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-2/+2
| | | | efficient). After [Patch 1529526] (afredd)
* various "const" additions, in line with TIP #27nijtmans2007-02-201-26/+26
|
* Bug #1479814. Handle extended paths on Windows NT and above.patthoyts2007-02-201-1/+16
|
* fixed [ 1548263 ] NULL return from Tcl_FSGetNormalizedPath segvcoldstore2006-08-291-2/+4
|
* * generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287]dgp2006-04-071-5/+12
| | | | * tests/fileSystem.test: family of path normalization bugs.