diff options
author | ntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-07-12 16:25:17 +0000 |
---|---|---|
committer | ntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-07-12 16:25:17 +0000 |
commit | 2e832a399a10fc00253b342f8cde9c5b1062fa63 (patch) | |
tree | b679dc6381c72dc78e9c483c3399ae270c6dfa77 /src/openocd.c | |
parent | cebfbfa661b4e53cabf23bbb32c227e0b1962c77 (diff) | |
download | riscv-openocd-2e832a399a10fc00253b342f8cde9c5b1062fa63.zip riscv-openocd-2e832a399a10fc00253b342f8cde9c5b1062fa63.tar.gz riscv-openocd-2e832a399a10fc00253b342f8cde9c5b1062fa63.tar.bz2 |
- remove requirement for file2c.tcl
git-svn-id: svn://svn.berlios.de/openocd/trunk@800 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/openocd.c')
-rw-r--r-- | src/openocd.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/openocd.c b/src/openocd.c index 8cac553..dcaca78 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -711,10 +711,14 @@ void add_jim(const char *name, int (*cmd)(Jim_Interp *interp, int argc, Jim_Obj Jim_ListAppendElement(interp, helptext, cmd_entry); } -extern const unsigned char filedata_startup[]; +extern char binary_startup_tcl_start; +extern char binary_startup_tcl_size; void initJim(void) { + char *script; + int script_len; + Jim_CreateCommand(interp, "openocd", Jim_Command_openocd, NULL, NULL); Jim_CreateCommand(interp, "openocd_throw", Jim_Command_openocd_throw, NULL, NULL); Jim_CreateCommand(interp, "find", Jim_Command_find, NULL, NULL); @@ -734,23 +738,27 @@ void initJim(void) add_default_dirs(); - if (Jim_Eval(interp, filedata_startup)==JIM_ERR) + script_len = (int)&binary_startup_tcl_size; + script = malloc(script_len + sizeof(char)); + memcpy(script, &binary_startup_tcl_start, script_len); + + /* null terminate */ + script[script_len] = 0; + + if (Jim_Eval(interp, script)==JIM_ERR) { LOG_ERROR("Failed to run startup.tcl (embedded into OpenOCD compile time)"); Jim_PrintErrorMessage(interp); exit(-1); } + + free(script); } - - int handle_script_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { - FILE *script_file; - if (argc != 1) return ERROR_COMMAND_SYNTAX_ERROR; - /* Run a tcl script file */ return command_run_linef(cmd_ctx, "source [find {%s}]", args[0]); |