target/arm_cti: Fix error handling in 'cti create'
authorMarc Schink <dev@zapb.de>
Sat, 23 Apr 2022 11:13:06 +0000 (13:13 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 30 Apr 2022 17:52:40 +0000 (17:52 +0000)
Handle JIM_CONTINUE return value of adiv5_jim_mem_ap_spot_configure(),
otherwise OpenOCD silently quits when an unknown option is provided.

Change-Id: I9b1351c0911e74999d8dd1260ede9760088510d7
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/6944
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/arm_cti.c

index c776e9c2a5c35e967b87e494e4c8f74321eef8db..96927bf9459cf75c37a7f1dd91cf9782faf6e6c9 100644 (file)
@@ -435,8 +435,13 @@ static int cti_configure(struct jim_getopt_info *goi, struct arm_cti *cti)
        /* parse config or cget options ... */
        while (goi->argc > 0) {
                int e = adiv5_jim_mem_ap_spot_configure(&cti->spot, goi);
+
+               if (e == JIM_CONTINUE)
+                       Jim_SetResultFormatted(goi->interp, "unknown option '%s'",
+                               Jim_String(goi->argv[0]));
+
                if (e != JIM_OK)
-                       return e;
+                       return JIM_ERR;
        }
 
        if (!cti->spot.dap) {