diff options
| author | nijtmans@users.sourceforge.net <jan.nijtmans> | 2013-02-26 10:17:39 (GMT) |
|---|---|---|
| committer | nijtmans@users.sourceforge.net <jan.nijtmans> | 2013-02-26 10:17:39 (GMT) |
| commit | 734a89d4f7273e13f6d10d1d66dad0ac1cb48d0b (patch) | |
| tree | 94d8903a596524df0447b7aee4543abdc8000008 /generic/tclObj.c | |
| parent | e2b60efcf88fa86641bb51fecaa41b4250f07f17 (diff) | |
| parent | e7f376218ba7fc3b292806faf3b9aa25694000f8 (diff) | |
| download | tcl-734a89d4f7273e13f6d10d1d66dad0ac1cb48d0b.zip tcl-734a89d4f7273e13f6d10d1d66dad0ac1cb48d0b.tar.gz tcl-734a89d4f7273e13f6d10d1d66dad0ac1cb48d0b.tar.bz2 | |
Don't panic if Tcl_ConvertToType is called for a type that doesn't have a setFromAnyProc, create a proper error message.
Diffstat (limited to 'generic/tclObj.c')
| -rw-r--r-- | generic/tclObj.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index f2ec565..a40a29d 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -1005,7 +1005,12 @@ Tcl_ConvertToType( */ if (typePtr->setFromAnyProc == NULL) { - Tcl_Panic("may not convert object to type %s", typePtr->name); + if (interp) { + Tcl_SetObjResult(interp, Tcl_ObjPrintf( + "can't convert value to type %s", typePtr->name)); + Tcl_SetErrorCode(interp, "TCL", "API_ABUSE", NULL); + } + return TCL_ERROR; } return typePtr->setFromAnyProc(interp, objPtr); |
