]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
target: cget command fix for result output
authorDaniel Goehring <dgoehrin@os.amperecomputing.com>
Thu, 1 May 2025 02:38:15 +0000 (22:38 -0400)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 9 May 2025 12:10:49 +0000 (12:10 +0000)
Function target_configure() when processing a "cget" command needs
to print the result to the console. Currently the result is only printed
when an error occurs. To fix this, move the command print statement from
the error handling section to the common code section.

The code was tested by executing a "$target_name cget -dap" command
and reviewing the result.

Change-Id: Iff1999de8c8e9a837055ba95714137aa03e68d4b
Signed-off-by: Daniel Goehring <dgoehrin@os.amperecomputing.com>
Fixes: 61890e3dc320 ("target: rewrite function target_configure() as COMMAND_HELPER")
Reviewed-on: https://review.openocd.org/c/openocd/+/8870
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/target.c

index 8ccab7e0abd8e76f054c8f7bd09f8aed78a341ed..a85d3def85f2c9b335eae67e8ddeea19ba2882c9 100644 (file)
@@ -4889,16 +4889,18 @@ static COMMAND_HELPER(target_configure, struct target *target, unsigned int inde
                        goi.is_configure = is_configure;
                        int e = (*target->type->target_jim_configure)(target, &goi);
                        index = CMD_ARGC - goi.argc;
+
+                       int reslen;
+                       const char *result = Jim_GetString(Jim_GetResult(CMD_CTX->interp), &reslen);
+                       if (reslen > 0)
+                               command_print(CMD, "%s", result);
+
                        if (e == JIM_OK) {
                                /* more? */
                                continue;
                        }
                        if (e == JIM_ERR) {
                                /* An error */
-                               int reslen;
-                               const char *result = Jim_GetString(Jim_GetResult(CMD_CTX->interp), &reslen);
-                               if (reslen > 0)
-                                       command_print(CMD, "%s", result);
                                return ERROR_FAIL;
                        }
                        /* otherwise we 'continue' below */