diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2022-12-18 19:12:35 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-03-25 18:10:54 +0000 |
commit | 880ae3f07744a09e267bde00cf405c85a6f10482 (patch) | |
tree | 9d13d270986999732fe2d82546c3c1601761bba7 | |
parent | 842a12f4caf307e756045c14011c402a20da30b6 (diff) | |
download | riscv-openocd-880ae3f07744a09e267bde00cf405c85a6f10482.zip riscv-openocd-880ae3f07744a09e267bde00cf405c85a6f10482.tar.gz riscv-openocd-880ae3f07744a09e267bde00cf405c85a6f10482.tar.bz2 |
openocd: rewrite command 'version' as COMMAND_HANDLER
Trivial change.
While there:
- add the mandatory 'usage' field;
- document the optional parameter 'git';
- reword the documentation.
Change-Id: I6be4d4423128fa026a62e2ef355f77b69d50397e
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7488
Tested-by: jenkins
-rw-r--r-- | doc/openocd.texi | 6 | ||||
-rw-r--r-- | src/openocd.c | 26 |
2 files changed, 17 insertions, 15 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi index 26a59e6..6766184 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -9101,8 +9101,10 @@ format. Optional @option{start} and @option{end} parameters allow to limit the address range. @end deffn -@deffn {Command} {version} -Displays a string identifying the version of this OpenOCD server. +@deffn {Command} {version} [git] +Returns a string identifying the version of this OpenOCD server. +With option @option{git}, it returns the git version obtained at compile time +through ``git describe''. @end deffn @deffn {Command} {virt2phys} virtual_address diff --git a/src/openocd.c b/src/openocd.c index 875da5a..54c5eb3 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -51,24 +51,23 @@ static const char openocd_startup_tcl[] = { }; /* Give scripts and TELNET a way to find out what version this is */ -static int jim_version_command(Jim_Interp *interp, int argc, - Jim_Obj * const *argv) +COMMAND_HANDLER(handler_version_command) { - if (argc > 2) - return JIM_ERR; - const char *str = ""; - char *version_str; - version_str = OPENOCD_VERSION; + char *version_str = OPENOCD_VERSION; - if (argc == 2) - str = Jim_GetString(argv[1], NULL); + if (CMD_ARGC > 1) + return ERROR_COMMAND_SYNTAX_ERROR; + + if (CMD_ARGC == 1) { + if (strcmp("git", CMD_ARGV[0])) + return ERROR_COMMAND_ARGUMENT_INVALID; - if (strcmp("git", str) == 0) version_str = GITVERSION; + } - Jim_SetResult(interp, Jim_NewStringObj(interp, version_str, -1)); + command_print(CMD, "%s", version_str); - return JIM_OK; + return ERROR_OK; } static int log_target_callback_event_handler(struct target *target, @@ -194,9 +193,10 @@ COMMAND_HANDLER(handle_add_script_search_dir_command) static const struct command_registration openocd_command_handlers[] = { { .name = "version", - .jim_handler = jim_version_command, + .handler = handler_version_command, .mode = COMMAND_ANY, .help = "show program version", + .usage = "[git]", }, { .name = "noinit", |