pass startup_tcl to command_init
Removes external linkage from helper module, making the startup code a parameter to a new command context's initialization routine.
This commit is contained in:
parent
cb7dbc1af4
commit
5e229bbf87
|
@ -116,7 +116,7 @@ BIN2C = $(builddir)/helper/bin2char$(EXEEXT_FOR_BUILD)
|
|||
|
||||
# Convert .tcl to cfile
|
||||
startup_tcl.c: startup.tcl $(BIN2C)
|
||||
$(BIN2C) startup_tcl < $< > $@ || rm -f $@
|
||||
$(BIN2C) openocd_startup_tcl < $< > $@ || rm -f $@
|
||||
|
||||
# add startup_tcl.c to make clean list
|
||||
CLEANFILES = startup.tcl startup_tcl.c
|
||||
|
|
|
@ -766,10 +766,9 @@ COMMAND_HANDLER(handle_fast_command)
|
|||
}
|
||||
|
||||
|
||||
struct command_context* command_init()
|
||||
struct command_context* command_init(const char *startup_tcl)
|
||||
{
|
||||
struct command_context* context = malloc(sizeof(struct command_context));
|
||||
extern const char startup_tcl[];
|
||||
const char *HostOs;
|
||||
|
||||
context->mode = COMMAND_EXEC;
|
||||
|
|
|
@ -190,7 +190,10 @@ struct command_context* copy_command_context(struct command_context* context);
|
|||
|
||||
int command_context_mode(struct command_context *context, enum command_mode mode);
|
||||
|
||||
struct command_context* command_init(void);
|
||||
/**
|
||||
* Creates a new command context using the startup TCL provided.
|
||||
*/
|
||||
struct command_context* command_init(const char *startup_tcl);
|
||||
int command_done(struct command_context *context);
|
||||
|
||||
void command_print(struct command_context *context, const char *format, ...)
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include "openocd.h"
|
||||
#include "jtag.h"
|
||||
#include "configuration.h"
|
||||
#include "xsvf.h"
|
||||
|
@ -168,7 +169,7 @@ struct command_context *setup_command_handler(void)
|
|||
{
|
||||
struct command_context *cmd_ctx;
|
||||
|
||||
global_cmd_ctx = cmd_ctx = command_init();
|
||||
global_cmd_ctx = cmd_ctx = command_init(openocd_startup_tcl);
|
||||
|
||||
register_command(cmd_ctx, NULL, "version", handle_version_command,
|
||||
COMMAND_EXEC, "show OpenOCD version");
|
||||
|
|
|
@ -36,4 +36,7 @@ void openocd_sleep_prelude(void);
|
|||
/// used by the server_loop() function in src/server/server.c
|
||||
void openocd_sleep_postlude(void);
|
||||
|
||||
/// provides a hard-coded command environment setup
|
||||
extern const char *openocd_startup_tcl;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue