summaryrefslogtreecommitdiffstats
path: root/generic/tclListObj.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-04-21 13:24:25 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-04-21 13:24:25 (GMT)
commit842312f3957922d5d3255fd5d2a511220f26c748 (patch)
tree0c3fcde0a02a3747b4b81d374da8af259c859890 /generic/tclListObj.c
parent0931d1b4cbfc3fca3e3bd7e227bd7632853c1384 (diff)
parent3dee0582a464245f4ebfb6cc887e198566d3f035 (diff)
downloadtcl-842312f3957922d5d3255fd5d2a511220f26c748.zip
tcl-842312f3957922d5d3255fd5d2a511220f26c748.tar.gz
tcl-842312f3957922d5d3255fd5d2a511220f26c748.tar.bz2
Make sure SetFooFromAny routines react reasonably when passed a NULL interp.
Diffstat (limited to 'generic/tclListObj.c')
-rw-r--r--generic/tclListObj.c14
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;