X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fhelper%2Fcommand.h;h=3d1cdec8608730184e2ad4de6a1487070e608310;hb=8eb92c7e99c018c1cb48be76b0c9736b6c64cba9;hp=8a418d367d04f604ad6084adb47f381a420c58de;hpb=dca173053b1ebf3e99145a3cf6ea14937bf2fa3d;p=openocd diff --git a/src/helper/command.h b/src/helper/command.h index 8a418d36..3d1cdec8 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -29,12 +29,11 @@ #if BUILD_ECOSBOARD #include #include -/* Jim is provied by eCos */ -#include -#else -#include #endif +#include +#include + /* To achieve C99 printf compatibility in MinGW, gnu_printf should be * used for __attribute__((format( ... ))), with GCC v4.4 or later */ @@ -174,7 +173,7 @@ typedef __COMMAND_HANDLER((*command_handler_t)); struct command { - char *name; + const char *name; const char *help; const char *usage; struct command *parent; @@ -311,6 +310,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 @@ -383,11 +386,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) @@ -400,13 +403,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)