Index: generic/nsfError.c =================================================================== diff -u -rf0295d889aaf71709c63243685897dc3f11048f1 -r87c6a11296ada89c007cc2ed33df6887ac53c740 --- generic/nsfError.c (.../nsfError.c) (revision f0295d889aaf71709c63243685897dc3f11048f1) +++ generic/nsfError.c (.../nsfError.c) (revision 87c6a11296ada89c007cc2ed33df6887ac53c740) @@ -133,23 +133,23 @@ return TCL_ERROR; } -int -NsfErrBadVal(Tcl_Interp *interp, char *context, char *expected, CONST char *value) { - Tcl_ResetResult(interp); - Tcl_AppendResult(interp, context, ": expected ", expected, " but got '", - value, "'", (char *) NULL); - return TCL_ERROR; -} - extern int -NsfObjErrType(Tcl_Interp *interp, Tcl_Obj *value, CONST char *type, Nsf_Param CONST *pPtr) { +NsfObjErrType(Tcl_Interp *interp, + CONST char *context, + Tcl_Obj *value, + CONST char *type, + Nsf_Param CONST *pPtr) +{ NsfParam *paramPtr = (NsfParam *)pPtr; int named = (paramPtr && (paramPtr->flags & NSF_ARG_UNNAMED) == 0); - int returnValue = !named && (paramPtr->flags & NSF_ARG_IS_RETURNVALUE); + int returnValue = !named && paramPtr && (paramPtr->flags & NSF_ARG_IS_RETURNVALUE); /*fprintf(stderr, "NsfObjErrType param %p named %d\n", paramPtr, named);*/ Tcl_ResetResult(interp); + if (context) { + Tcl_AppendResult(interp, context, ":", (char *) NULL); + } Tcl_AppendResult(interp,"expected ", type, " but got \"", ObjStr(value), "\"", (char *) NULL); if (named) { Tcl_AppendResult(interp," for parameter \"", paramPtr->name, "\"", (char *) NULL);