diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-10-10 19:17:03 +0200 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-10-29 15:10:51 +0200 |
commit | 559d08c19ed838f7bb2a77ce56a5a274641111f8 (patch) | |
tree | 2fdedce2a3ca39a5dbde497f85aece1bdbc92d2e /src/helper/command.c | |
parent | 4617cd0f911d64a460d99d25c531ddc55f2452ca (diff) |
jim tests: use installed
Delete obsolete jim that comes with OpenOCD.
Diffstat (limited to 'src/helper/command.c')
-rw-r--r-- | src/helper/command.c | 104 |
1 files changed, 5 insertions, 99 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index 6762ad4d..5a68208a 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -684,7 +684,8 @@ int command_run_line(struct command_context *context, char *line) if (retval != ERROR_COMMAND_CLOSE_CONNECTION) { /* We do not print the connection closed error message */ - Jim_PrintErrorMessage(interp); + Jim_MakeErrorMessage(interp); + LOG_USER_N("%s\n", Jim_GetString(Jim_GetResult(interp), NULL)); } if (retval == ERROR_OK) { @@ -785,89 +786,6 @@ static int jim_echo(Jim_Interp *interp, int argc, Jim_Obj *const *argv) return JIM_OK; } -static size_t openocd_jim_fwrite(const void *_ptr, size_t size, size_t n, void *cookie) -{ - size_t nbytes; - const char *ptr; - Jim_Interp *interp; - - /* make it a char easier to read code */ - ptr = _ptr; - interp = cookie; - nbytes = size * n; - if (ptr == NULL || interp == NULL || nbytes == 0) { - return 0; - } - - /* do we have to chunk it? */ - if (ptr[nbytes] == 0) - { - /* no it is a C style string */ - LOG_USER_N("%s", ptr); - return strlen(ptr); - } - /* GRR we must chunk - not null terminated */ - while (nbytes) { - char chunk[128 + 1]; - int x; - - x = nbytes; - if (x > 128) { - x = 128; - } - /* copy it */ - memcpy(chunk, ptr, x); - /* terminate it */ - chunk[n] = 0; - /* output it */ - LOG_USER_N("%s", chunk); - ptr += x; - nbytes -= x; - } - - return n; -} - -static size_t openocd_jim_fread(void *ptr, size_t size, size_t n, void *cookie) -{ - /* TCL wants to read... tell him no */ - return 0; -} - -static int openocd_jim_vfprintf(void *cookie, const char *fmt, va_list ap) -{ - char *cp; - int n; - Jim_Interp *interp; - - n = -1; - interp = cookie; - if (interp == NULL) - return n; - - cp = alloc_vprintf(fmt, ap); - if (cp) - { - LOG_USER_N("%s", cp); - n = strlen(cp); - free(cp); - } - return n; -} - -static int openocd_jim_fflush(void *cookie) -{ - /* nothing to flush */ - return 0; -} - -static char* openocd_jim_fgets(char *s, int size, void *cookie) -{ - /* not supported */ - errno = ENOTSUP; - return NULL; -} - /* Capture progress output and return as tcl return value. If the * progress output was empty, return tcl return value. */ @@ -1400,11 +1318,11 @@ struct command_context* command_init(const char *startup_tcl, Jim_Interp *interp /* Create a jim interpreter if we were not handed one */ if (interp == NULL) { - Jim_InitEmbedded(); /* Create an interpreter */ interp = Jim_CreateInterp(); /* Add all the Jim core commands */ Jim_RegisterCoreCommands(interp); + Jim_InitStaticExtensions(interp); } #endif context->interp = interp; @@ -1442,26 +1360,14 @@ struct command_context* command_init(const char *startup_tcl, Jim_Interp *interp Jim_CreateCommand(interp, "echo", jim_echo, NULL, NULL); Jim_CreateCommand(interp, "capture", jim_capture, NULL, NULL); - /* Set Jim's STDIO */ - interp->cookie_stdin = interp; - interp->cookie_stdout = interp; - interp->cookie_stderr = interp; - interp->cb_fwrite = openocd_jim_fwrite; - interp->cb_fread = openocd_jim_fread ; - interp->cb_vfprintf = openocd_jim_vfprintf; - interp->cb_fflush = openocd_jim_fflush; - interp->cb_fgets = openocd_jim_fgets; - register_commands(context, NULL, command_builtin_handlers); -#if !BUILD_ECOSBOARD - Jim_EventLoopOnLoad(interp); -#endif Jim_SetAssocData(interp, "context", NULL, context); if (Jim_Eval_Named(interp, startup_tcl, "embedded:startup.tcl",1) == JIM_ERR) { LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD)"); - Jim_PrintErrorMessage(interp); + Jim_MakeErrorMessage(interp); + LOG_USER_N("%s", Jim_GetString(Jim_GetResult(interp), NULL)); exit(-1); } Jim_DeleteAssocData(interp, "context"); |