free((void *)full_name);
/* we now need to add an overrideable proc */
- const char *override_name=alloc_printf("proc %s%s%s {args} {eval \"ocd_%s%s%s $args\";return \"\"}", t1, t2, t3, t1, t2, t3);
- Jim_Eval(interp, override_name);
+ const char *override_name=alloc_printf("proc %s%s%s {args} {if {[catch {eval \"ocd_%s%s%s $args\"}]==0} {return \"\"} else { return -code error }", t1, t2, t3, t1, t2, t3);
+ Jim_Eval_Named(interp, override_name, __FILE__, __LINE__ );
free((void *)override_name);
/* accumulate help text in Tcl helptext list. */
retcode = Jim_SetAssocData(interp, "retval", NULL, &retval);
if (retcode == JIM_OK)
{
- retcode = Jim_Eval(interp, line);
+ retcode = Jim_Eval_Named(interp, line, __FILE__, __LINE__ );
Jim_DeleteAssocData(interp, "retval");
}
add_default_dirs();
+#ifdef JIM_EMBEDDED
Jim_EventLoopOnLoad(interp);
-
- if (Jim_Eval(interp, startup_tcl)==JIM_ERR)
+#endif
+ if (Jim_Eval_Named(interp, startup_tcl, "embedded:startup.tcl",1)==JIM_ERR)
{
LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD compile time)");
Jim_PrintErrorMessage(interp);
if (argc == 1)
{
duration = strtoul(args[0], NULL, 0);
- usleep(duration * 1000);
+ alive_sleep(duration);
}
return ERROR_OK;
return ERROR_OK;
}
-void process_jim_events()
+void process_jim_events(void)
{
+#ifdef JIM_EMBEDDED
static int recursion = 0;
if (!recursion)
Jim_ProcessEvents (interp, JIM_ALL_EVENTS|JIM_DONT_WAIT);
recursion--;
}
+#endif
}
void register_jim(struct command_context_s *cmd_ctx, const char *name, int (*cmd)(Jim_Interp *interp, int argc, Jim_Obj *const *argv), const char *help)