Commit 92beb99b authored by oharboe's avatar oharboe
Browse files

improve error messages a little bit.

git-svn-id: svn://svn.berlios.de/openocd/trunk@781 b42882b7-edfa-0310-969c-e2dbd0fdcd60
parent 0edbe914
......@@ -8245,10 +8245,10 @@ int Jim_EvalObjVector(Jim_Interp *interp, int objc, Jim_Obj *const *objv)
retcode = cmdPtr->cmdProc(interp, objc, objv);
} else {
retcode = JimCallProcedure(interp, cmdPtr, objc, objv);
if (retcode == JIM_ERR) {
JimAppendStackTrace(interp,
Jim_GetString(objv[0], NULL), "?", 1);
}
if (retcode == JIM_ERR) {
JimAppendStackTrace(interp,
Jim_GetString(objv[0], NULL), "?", 1);
}
}
}
/* Decr refcount of arguments and return the retcode */
......@@ -8540,6 +8540,11 @@ int Jim_EvalObj(Jim_Interp *interp, Jim_Obj *scriptObjPtr)
} else {
/* Call [unknown] */
retcode = JimUnknown(interp, argc, argv);
if (retcode == JIM_ERR) {
JimAppendStackTrace(interp,
Jim_GetString(argv[0], NULL), script->fileName,
token[i-argc*2].linenr);
}
}
if (retcode != JIM_OK) {
i -= argc*2; /* point to the command name. */
......
......@@ -357,35 +357,20 @@ int jim_command(command_context_t *context, char *line)
int retval=ERROR_OK;
int retcode=Jim_Eval(interp, line);
const char *result;
int reslen;
result = Jim_GetString(Jim_GetResult(interp), &reslen);
if (retcode == JIM_ERR) {
int len, i;
LOG_USER_N("Runtime error, file \"%s\", line %d:" JIM_NL, interp->errorFileName, interp->errorLine);
LOG_USER_N(" %s" JIM_NL,
Jim_GetString(interp->result, NULL));
Jim_ListLength(interp, interp->stackTrace, &len);
for (i = 0; i < len; i += 3) {
Jim_Obj *objPtr;
const char *proc, *file, *line;
Jim_ListIndex(interp, interp->stackTrace, i, &objPtr, JIM_NONE);
proc = Jim_GetString(objPtr, NULL);
Jim_ListIndex(interp, interp->stackTrace, i+1, &objPtr, JIM_NONE);
file = Jim_GetString(objPtr, NULL);
Jim_ListIndex(interp, interp->stackTrace, i+2, &objPtr, JIM_NONE);
line = Jim_GetString(objPtr, NULL);
LOG_USER_N("In procedure '%s' called at file \"%s\", line %s" JIM_NL, proc, file, line);
}
Jim_PrintErrorMessage(interp);
long t;
if (Jim_GetLong(interp, Jim_GetVariableStr(interp, "openocd_result", JIM_ERRMSG), &t)==JIM_OK)
{
return t;
}
return ERROR_FAIL;
} else if (retcode == JIM_EXIT) {
}
const char *result;
int reslen;
result = Jim_GetString(Jim_GetResult(interp), &reslen);
if (retcode == JIM_EXIT) {
/* ignore. */
/* exit(Jim_GetExitCode(interp)); */
} else {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment