summaryrefslogtreecommitdiffstats
path: root/generic/tclLiteral.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-06-06 08:20:11 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-06-06 08:20:11 (GMT)
commit040a8faa610cef27ea30d4f3781eae7cda6b1258 (patch)
tree38912c3b4c43a99b304d8e262fe54b1b1e2ce140 /generic/tclLiteral.c
parentf86f9cf5f2da6809f0747865b3b13cba13d23fa0 (diff)
parentbd4765cf50cf1df6abe07db4cacd8fcae2e950c8 (diff)
downloadtcl-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.c6
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 {