summaryrefslogtreecommitdiffstats
path: root/generic/tclPreserve.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-02-01 15:03:59 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-02-01 15:03:59 (GMT)
commit3bf70f8a7d94966b183bc23250a2b45fd4248241 (patch)
treea3a8dd299606092b7219a6d8ae10b5deba724aab /generic/tclPreserve.c
parent8826c4b5dc048432fbed200da55eef080c75b32c (diff)
parent680d27740a871cd27464c07ed2afee0f4104dbd4 (diff)
downloadtcl-pyk_emptystring.zip
tcl-pyk_emptystring.tar.gz
tcl-pyk_emptystring.tar.bz2
merge trunkpyk_emptystring
Diffstat (limited to 'generic/tclPreserve.c')
-rw-r--r--generic/tclPreserve.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclPreserve.c b/generic/tclPreserve.c
index cca13e8..2d0e15c 100644
--- a/generic/tclPreserve.c
+++ b/generic/tclPreserve.c
@@ -22,7 +22,7 @@
typedef struct {
ClientData clientData; /* Address of preserved block. */
- int refCount; /* Number of Tcl_Preserve calls in effect for
+ size_t refCount; /* Number of Tcl_Preserve calls in effect for
* block. */
int mustFree; /* Non-zero means Tcl_EventuallyFree was
* called while a Tcl_Preserve call was in
@@ -63,7 +63,7 @@ typedef struct HandleStruct {
* ensure that the contents of the handle are
* not changed by anyone else. */
#endif
- int refCount; /* Number of TclHandlePreserve() calls in
+ size_t refCount; /* Number of TclHandlePreserve() calls in
* effect on this handle. */
} HandleStruct;
@@ -195,7 +195,7 @@ Tcl_Release(
continue;
}
- if (--refPtr->refCount != 0) {
+ if (refPtr->refCount-- > 1) {
Tcl_MutexUnlock(&preserveMutex);
return;
}
@@ -459,7 +459,7 @@ TclHandleRelease(
handlePtr, handlePtr->ptr2, handlePtr->ptr);
}
#endif
- if ((--handlePtr->refCount == 0) && (handlePtr->ptr == NULL)) {
+ if ((handlePtr->refCount-- <= 1) && (handlePtr->ptr == NULL)) {
ckfree(handlePtr);
}
}