diff options
author | dgp <dgp@noemail.net> | 2013-02-28 17:08:43 (GMT) |
---|---|---|
committer | dgp <dgp@noemail.net> | 2013-02-28 17:08:43 (GMT) |
commit | 07beb82019ebeac6a3dc06b0e0f23b68fa61095a (patch) | |
tree | 5194f377c644e8dde41bf11a2b5f0c7387f1e569 /generic/tclLiteral.c | |
parent | 1bdc24853e6ed01c7957381d90d1e8144c1935d4 (diff) | |
download | tcl-07beb82019ebeac6a3dc06b0e0f23b68fa61095a.zip tcl-07beb82019ebeac6a3dc06b0e0f23b68fa61095a.tar.gz tcl-07beb82019ebeac6a3dc06b0e0f23b68fa61095a.tar.bz2 |
Revise TclReleaseLiteral() to tolerate a NULL interp argument.
Update callers and revise mistaken comments.
FossilOrigin-Name: c192ffaad6dca25481431d83c7f0501027694979
Diffstat (limited to 'generic/tclLiteral.c')
-rw-r--r-- | generic/tclLiteral.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c index 441ea91..2cba18d 100644 --- a/generic/tclLiteral.c +++ b/generic/tclLiteral.c @@ -750,11 +750,16 @@ TclReleaseLiteral( * TclRegisterLiteral. */ { Interp *iPtr = (Interp *) interp; - LiteralTable *globalTablePtr = &iPtr->literalTable; + LiteralTable *globalTablePtr; register LiteralEntry *entryPtr, *prevPtr; const char *bytes; int length, index; + if (iPtr == NULL) { + goto done; + } + + globalTablePtr = &iPtr->literalTable; bytes = TclGetStringFromObj(objPtr, &length); index = (HashString(bytes, length) & globalTablePtr->mask); @@ -798,6 +803,7 @@ TclReleaseLiteral( * Remove the reference corresponding to the local literal table entry. */ + done: Tcl_DecrRefCount(objPtr); } |