Browse Source

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.
tags/v0.4.0-rc1
Zachary T Welch 12 years ago
parent
commit
5e229bbf87
5 changed files with 11 additions and 5 deletions
  1. +1
    -1
      src/Makefile.am
  2. +1
    -2
      src/helper/command.c
  3. +4
    -1
      src/helper/command.h
  4. +2
    -1
      src/openocd.c
  5. +3
    -0
      src/openocd.h

+ 1
- 1
src/Makefile.am View File

@@ -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


+ 1
- 2
src/helper/command.c View File

@@ -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;


+ 4
- 1
src/helper/command.h View File

@@ -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, ...)


+ 2
- 1
src/openocd.c View File

@@ -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");


+ 3
- 0
src/openocd.h View File

@@ -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…
Cancel
Save