do not print jim tcl error message trace for ERROR_COMMAND_CLOSE_CONNECTION
git-svn-id: svn://svn.berlios.de/openocd/trunk@812 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
d0eef63f68
commit
cb90c97f33
|
@ -493,6 +493,8 @@ static void tcl_output(void *privData, const char *file, int line, const char *f
|
||||||
Jim_AppendString(interp, tclOutput, string, strlen(string));
|
Jim_AppendString(interp, tclOutput, string, strlen(string));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int openocd_retval;
|
||||||
|
|
||||||
/* try to execute as Jim command, otherwise fall back to standard command.
|
/* try to execute as Jim command, otherwise fall back to standard command.
|
||||||
* Note that even if the Jim command caused an error, then we succeeded
|
* Note that even if the Jim command caused an error, then we succeeded
|
||||||
* to execute it, hence this fn pretty much always returns ERROR_OK. */
|
* to execute it, hence this fn pretty much always returns ERROR_OK. */
|
||||||
|
@ -502,20 +504,21 @@ int jim_command(command_context_t *context, char *line)
|
||||||
int retcode;
|
int retcode;
|
||||||
|
|
||||||
active_cmd_ctx = context;
|
active_cmd_ctx = context;
|
||||||
|
openocd_retval=ERROR_OK;
|
||||||
retcode = Jim_Eval(interp, line);
|
retcode = Jim_Eval(interp, line);
|
||||||
|
|
||||||
if (retcode == JIM_ERR) {
|
if (retcode == JIM_ERR) {
|
||||||
Jim_PrintErrorMessage(interp);
|
if (openocd_retval!=ERROR_COMMAND_CLOSE_CONNECTION)
|
||||||
long t;
|
{
|
||||||
Jim_Obj *openocd_result=Jim_GetVariableStr(interp, "openocd_result", JIM_ERRMSG);
|
/* We do not print the connection closed error message */
|
||||||
if (openocd_result)
|
Jim_PrintErrorMessage(interp);
|
||||||
{
|
|
||||||
if (Jim_GetLong(interp, openocd_result, &t)==JIM_OK)
|
|
||||||
{
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return ERROR_FAIL;
|
if (openocd_retval==ERROR_OK)
|
||||||
|
{
|
||||||
|
/* It wasn't a low level OpenOCD command that failed */
|
||||||
|
return ERROR_FAIL;
|
||||||
|
}
|
||||||
|
return openocd_retval;
|
||||||
}
|
}
|
||||||
const char *result;
|
const char *result;
|
||||||
int reslen;
|
int reslen;
|
||||||
|
@ -562,12 +565,8 @@ static int Jim_Command_openocd_ignore(Jim_Interp *interp, int argc, Jim_Obj *con
|
||||||
log_add_callback(tcl_output, tclOutput);
|
log_add_callback(tcl_output, tclOutput);
|
||||||
retval=command_run_line_internal(active_cmd_ctx, cmd);
|
retval=command_run_line_internal(active_cmd_ctx, cmd);
|
||||||
|
|
||||||
/* we need to be able to get at the retval, so we store in a variable
|
/* we need to be able to get at the retval, so we store in a global variable */
|
||||||
*/
|
openocd_retval=retval;
|
||||||
Jim_Obj *resultvar=Jim_NewIntObj(interp, retval);
|
|
||||||
Jim_IncrRefCount(resultvar);
|
|
||||||
Jim_SetGlobalVariableStr(interp, "openocd_result", resultvar);
|
|
||||||
Jim_DecrRefCount(interp, resultvar);
|
|
||||||
|
|
||||||
if (startLoop)
|
if (startLoop)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue