summaryrefslogtreecommitdiffstats
path: root/generic/tclPathObj.c
Commit message (Collapse)AuthorAgeFilesLines
* [f9fe90d0fa]: more path normalization in TclNewFSPathObjbug_f9fe90d0faaspect2017-04-291-0/+9
|
* [f34cf83dd0] An optimization was being taken in a case where it produced the ↵dgp2017-04-281-0/+7
|\ | | | | | | 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.
| * [f34cf83dd0] An optimization was being taken in a case where it produced the ↵dgp2017-04-281-0/+7
| |\ | | | | | | | | | 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.
| | * [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.
* | | In TclGetNumberFromObj() macro (tclExecute.c): Don't fill in type if ↵jan.nijtmans2017-02-031-1/+1
| | | | | | | | | | | | | | | TCL_ERROR is returned: The caller doesn't do anything with this. Don't access (non-const) variable tclEmptyStringRep any more, use its value (&tclEmptyString) directly. Only keep it in tclPkg.c, for error checking.
* | | Merge core-8-6-branch: Bug [a47641a031]. TclJoinPath was calling ↵jan.nijtmans2016-07-081-3/+7
|\ \ \ | |/ / | | | | | | TclNewFSPathObj with a first argument that was not an absolute path. Added a check for that. Fixes Windows test failures fileSystem-1.{3,4}
| * | Bug [a47641a031]. TclJoinPath was calling TclNewFSPathObj with aashok2016-07-081-3/+7
| | | | | | | | | | | | first argument that was not an absolute path. Added a check for that. Fixes Windows test failures fileSystem-1.{3,4}
* | | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-26/+26
|/ / | | | | | | in many places where possible.
* | [3479689] Plug memory leak due to incomplete bug fix.dgp2014-07-111-12/+6
| |
* | Eliminate all usage of WIN32 and __WIN32__ macros: Some compilers (e.g. ↵jan.nijtmans2014-02-101-3/+3
| | | | | | | | | | Clang/LLVM) don't define it, and _WIN32 is much more portable anyway. See: [http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#WindowsCygwinnonPOSIXandMinGW]
* | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-2/+2
| | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
* | merge core-8-5-branchjan.nijtmans2013-01-311-2/+2
|\ \ | |/
| * 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.
| * 3559678 Fix bad filename normalization when the last component is the empty ↵dgp2012-08-201-2/+7
| | | | | | | | string.
* | more result generation conversiondkf2012-08-031-9/+7
| |
* | Simplify tclFileSystem.h. Define structs where used.dgp2012-06-281-12/+10
|\ \ | |/
| * 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
| * fix some gcc 64-bit warningsjan.nijtmans2012-06-261-3/+0
| | | | | | | | quoting improvements eliminate unused variable
* | 3024359 Make sure that the per-thread cache of the list of file systemsdgp2012-06-251-4/+13
|\ \ | |/ | | | | | | currently registered is only updated at times when no active loops are traversing it. Also reduce the amount of epoch storing and checking to where it can make a difference.
| * Simplify bug fix so that active claims on the FilesystemRecord list of a threadbug_3024359dgp2012-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
| |\ \ | | |/
| * | Only record the filesystemEpoch when it actually marks the validity ofdgp2012-06-211-6/+15
| | | | | | | | | something we are caching.
* | | Stop storing FilesystemRecord in the intrep of a "path". We never use it.dgp2012-06-211-41/+23
|\ \ \ | | |/ | |/| Store the Tcl_Filesystem instead, which is what we actually need.
| * | 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.
| |
| \
*-. \ Remove dead code that complicates fs path values but adds no value.dgp2012-06-201-42/+9
|\ \ \ | | |/
| | * 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.
| * 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.
* | * generic/tclUtil.c (TclDStringToObj): Added internal function to makedkf2012-04-251-4/+1
| | | | | | | | the fairly-common operation of converting a DString into an Obj a more efficient one.
* | some formatting (*.decls)jan.nijtmans2012-04-041-33/+0
|\ \ | |/ | | | | remove some unused cygwin-related code some minor gcc warnings
| * 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 New internal routine TclJoinPath().dgp2012-01-271-35/+26
| | | | | | | | Refactor all the *Join*Path* routines to give them more useful interfaces that are easier to manage getting the refcounts right.
* | 3475569 Add checks for unshared values before calls demanding them.dgp2012-01-261-6/+23
|\ \ | |/ | | 3479689 Stop memory corruption when shimmering 0-refCount value to "path" type.
| * 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
| |
* | 3414754 Fix the PATHFLAGS != 0 intrep normalizing trailing slashes.dgp2011-10-311-28/+11
|\ \ | |/
| * Purge the old, buggy implementation.bug_3414754dgp2011-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
|\ \ | |/
| * 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
| |
* | TclFreeIntRep() related cleanup.dgp2011-04-251-4/+0
| |
* | More generation of error codes (namespace creation, path normalization,dkf2011-04-031-0/+6
| | | | | | pipeline creation, package handling, procedures, [scan] formats)
* | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-8/+8
| | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ | |/ | | cause more harm than good. Purged them (except in zlib files).
| * 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.