Jim_Interp *interp = NULL;
static int run_command(command_context_t *context,
- command_t *c, char *words[], unsigned num_words);
+ command_t *c, const char *words[], unsigned num_words);
static void tcl_output(void *privData, const char *file, unsigned line,
const char *function, const char *string)
log_add_callback(tcl_output, tclOutput);
- retval = run_command(context, c, words, nwords);
+ retval = run_command(context, c, (const char **)words, nwords);
log_remove_callback(tcl_output, tclOutput);
}
static int run_command(command_context_t *context,
- command_t *c, char *words[], unsigned num_words)
+ command_t *c, const char *words[], unsigned num_words)
{
int start_word = 0;
if (!((context->mode == COMMAND_CONFIG) || (c->mode == COMMAND_ANY) || (c->mode == context->mode)))
return ERROR_FAIL;
}
- int retval = c->handler(context, c->name, words + start_word + 1, num_words - start_word - 1);
+ unsigned argc = num_words - start_word - 1;
+ const char **args = words + start_word + 1;
+ int retval = c->handler(context, c->name, args, argc);
if (retval == ERROR_COMMAND_SYNTAX_ERROR)
{
/* Print help for command */
*/
#define __COMMAND_HANDLER(name, extra...) \
int name(struct command_context_s *cmd_ctx, \
- const char *cmd, char **args, unsigned argc, ##extra)
+ const char *cmd, const char *args[], unsigned argc, ##extra)
/**
* Use this to macro to call a command helper (or a nested handler).