improve error messages a little bit.
git-svn-id: svn://svn.berlios.de/openocd/trunk@781 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
0edbe9145c
commit
92beb99bf7
|
@ -8540,6 +8540,11 @@ int Jim_EvalObj(Jim_Interp *interp, Jim_Obj *scriptObjPtr)
|
||||||
} else {
|
} else {
|
||||||
/* Call [unknown] */
|
/* Call [unknown] */
|
||||||
retcode = JimUnknown(interp, argc, argv);
|
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) {
|
if (retcode != JIM_OK) {
|
||||||
i -= argc*2; /* point to the command name. */
|
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 retval=ERROR_OK;
|
||||||
int retcode=Jim_Eval(interp, line);
|
int retcode=Jim_Eval(interp, line);
|
||||||
|
|
||||||
const char *result;
|
|
||||||
int reslen;
|
|
||||||
result = Jim_GetString(Jim_GetResult(interp), &reslen);
|
|
||||||
if (retcode == JIM_ERR) {
|
if (retcode == JIM_ERR) {
|
||||||
int len, i;
|
Jim_PrintErrorMessage(interp);
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
long t;
|
long t;
|
||||||
if (Jim_GetLong(interp, Jim_GetVariableStr(interp, "openocd_result", JIM_ERRMSG), &t)==JIM_OK)
|
if (Jim_GetLong(interp, Jim_GetVariableStr(interp, "openocd_result", JIM_ERRMSG), &t)==JIM_OK)
|
||||||
{
|
{
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
return ERROR_FAIL;
|
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. */
|
/* ignore. */
|
||||||
/* exit(Jim_GetExitCode(interp)); */
|
/* exit(Jim_GetExitCode(interp)); */
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue