diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-06-06 08:20:11 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-06-06 08:20:11 (GMT) |
commit | 040a8faa610cef27ea30d4f3781eae7cda6b1258 (patch) | |
tree | 38912c3b4c43a99b304d8e262fe54b1b1e2ce140 /generic/tclLiteral.c | |
parent | f86f9cf5f2da6809f0747865b3b13cba13d23fa0 (diff) | |
parent | bd4765cf50cf1df6abe07db4cacd8fcae2e950c8 (diff) | |
download | tcl-040a8faa610cef27ea30d4f3781eae7cda6b1258.zip tcl-040a8faa610cef27ea30d4f3781eae7cda6b1258.tar.gz tcl-040a8faa610cef27ea30d4f3781eae7cda6b1258.tar.bz2 |
Merge 8.7, and add some more usage of TCL_INDEX_NONE/TCL_AUTO_LENGTH
Diffstat (limited to 'generic/tclLiteral.c')
-rw-r--r-- | generic/tclLiteral.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c index e8fbd35..526ea2f 100644 --- a/generic/tclLiteral.c +++ b/generic/tclLiteral.c @@ -227,7 +227,9 @@ TclCreateLiteral( if (flags & LITERAL_ON_HEAP) { Tcl_Free((void *)bytes); } - globalPtr->refCount++; + if (globalPtr->refCount != TCL_AUTO_LENGTH) { + globalPtr->refCount++; + } return objPtr; } } @@ -847,7 +849,7 @@ TclReleaseLiteral( * literal table entry (decrement the ref count of the object). */ - if (entryPtr->refCount-- <= 1) { + if ((entryPtr->refCount != TCL_AUTO_LENGTH) && (entryPtr->refCount-- <= 1)) { if (prevPtr == NULL) { globalTablePtr->buckets[index] = entryPtr->nextPtr; } else { |