X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fcommand.h;h=1bf2cb48cb1b06ba4365fc9c44ca879bc510dd85;hb=d623832685a20d8283ccfd5ede5185a48a256883;hp=55046085dea8885beb058abd0ac7ea6a58fda4c6;hpb=df0e90ec8c728be50f1457ecc513d78de044f5a4;p=openocd.git diff --git a/src/helper/command.h b/src/helper/command.h index 55046085de..1bf2cb48cb 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -253,17 +253,6 @@ struct command_registration { struct command* register_command(struct command_context *cmd_ctx, struct command *parent, const struct command_registration *rec); -#define COMMAND_REGISTER(_cmd_ctx, _parent, _name, _handler, _mode, _help) \ - ({ \ - struct command_registration cr = { \ - .name = _name, \ - .handler = _handler, \ - .mode = _mode, \ - .help = _help, \ - }; \ - register_command(_cmd_ctx, _parent, &cr); \ - }) - /** * Register one or more commands in the specified context, as children * of @c parent (or top-level commends, if NULL). In a registration's @@ -322,6 +311,10 @@ void command_set_output_handler(struct command_context* context, int command_context_mode(struct command_context *context, enum command_mode mode); +/* Return the current command context associated with the Jim interpreter or + * alternatively the global default command interpreter + */ +struct command_context *current_command_context(Jim_Interp *interp); /** * Creates a new command context using the startup TCL provided and * the existing Jim interpreter, if any. If interp == NULL, then command_init @@ -340,7 +333,7 @@ struct command_context* copy_command_context(struct command_context* cmd_ctx); /** * Frees the resources associated with a command context. The commands * are not removed, so unregister_all_commands() must be called first. - * @param cmd_ctx The command_context that will be destroyed. + * @param context The command_context that will be destroyed. */ void command_done(struct command_context *context); @@ -394,11 +387,11 @@ DECLARE_PARSE_WRAPPER(_s8, int8_t); */ #define COMMAND_PARSE_NUMBER(type, in, out) \ do { \ - int retval = parse_##type(in, &(out)); \ - if (ERROR_OK != retval) { \ + int retval_macro_tmp = parse_##type(in, &(out)); \ + if (ERROR_OK != retval_macro_tmp) { \ command_print(CMD_CTX, stringify(out) \ " option value ('%s') is not valid", in); \ - return retval; \ + return retval_macro_tmp; \ } \ } while (0) @@ -411,13 +404,13 @@ DECLARE_PARSE_WRAPPER(_s8, int8_t); #define COMMAND_PARSE_BOOL(in, out, on, off) \ do { \ bool value; \ - int retval = command_parse_bool_arg(in, &value); \ - if (ERROR_OK != retval) { \ + int retval_macro_tmp = command_parse_bool_arg(in, &value); \ + if (ERROR_OK != retval_macro_tmp) { \ command_print(CMD_CTX, stringify(out) \ " option value ('%s') is not valid", in); \ command_print(CMD_CTX, " choices are '%s' or '%s'", \ on, off); \ - return retval; \ + return retval_macro_tmp; \ } \ out = value; \ } while (0)