aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2022-12-18 19:12:35 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-03-25 18:10:54 +0000
commit880ae3f07744a09e267bde00cf405c85a6f10482 (patch)
tree9d13d270986999732fe2d82546c3c1601761bba7
parent842a12f4caf307e756045c14011c402a20da30b6 (diff)
downloadriscv-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.texi6
-rw-r--r--src/openocd.c26
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",