diff options
author | dgp <dgp@noemail.net> | 2011-04-21 13:24:25 (GMT) |
---|---|---|
committer | dgp <dgp@noemail.net> | 2011-04-21 13:24:25 (GMT) |
commit | 8ffca00c252fc6b8bd5a411c2d0db20a45adfb71 (patch) | |
tree | 0c3fcde0a02a3747b4b81d374da8af259c859890 /generic/tclListObj.c | |
parent | 56e7b5b5cfd1fb7079e1565de46d97e037ab1028 (diff) | |
parent | 7c27aff4b7f721ba1604524e8987d080641d582d (diff) | |
download | tcl-8ffca00c252fc6b8bd5a411c2d0db20a45adfb71.zip tcl-8ffca00c252fc6b8bd5a411c2d0db20a45adfb71.tar.gz tcl-8ffca00c252fc6b8bd5a411c2d0db20a45adfb71.tar.bz2 |
Make sure SetFooFromAny routines react reasonably when passed a NULL interp.
FossilOrigin-Name: 0da07d5b1e2189ddb3e03e53da787dc681cb46bc
Diffstat (limited to 'generic/tclListObj.c')
-rw-r--r-- | generic/tclListObj.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/generic/tclListObj.c b/generic/tclListObj.c index 9544337..751cc13 100644 --- a/generic/tclListObj.c +++ b/generic/tclListObj.c @@ -1693,9 +1693,11 @@ SetListFromAny( Tcl_DictObjSize(NULL, objPtr, &size); listRepPtr = NewListIntRep(size > 0 ? 2*size : 1, NULL); if (!listRepPtr) { - Tcl_SetResult(interp, - "insufficient memory to allocate list working space", - TCL_STATIC); + if (interp) { + Tcl_SetResult(interp, + "insufficient memory to allocate list working space", + TCL_STATIC); + } return TCL_ERROR; } listRepPtr->elemCount = 2 * size; @@ -1753,8 +1755,10 @@ SetListFromAny( listRepPtr = NewListIntRep(estCount, NULL); if (!listRepPtr) { - Tcl_SetObjResult(interp, Tcl_NewStringObj( - "Not enough memory to allocate the list internal rep", -1)); + if (interp) { + Tcl_SetObjResult(interp, Tcl_NewStringObj( + "Not enough memory to allocate the list internal rep", -1)); + } return TCL_ERROR; } elemPtrs = &listRepPtr->elements; |