Committed.

- Fix bug-in-waiting when adding more than one TAP event type
- Infinite loop bugfix when running tap configure a second time

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://www.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/jtag/tcl.c
===================================================================
--- src/jtag/tcl.c      (revision 2652)
+++ src/jtag/tcl.c      (working copy)
@@ -141,9 +141,11 @@
                                        }
 
                                        if (goi->isconfigure) {
+                                               bool replace = true;
                                                if (jteap == NULL) {
                                                        /* create new */
                                                        jteap = calloc(1, 
sizeof (*jteap));
+                                                       replace = false;
                                                }
                                                jteap->event = n->value;
                                                Jim_GetOpt_Obj(goi, &o);
@@ -153,9 +155,12 @@
                                                jteap->body = 
Jim_DuplicateObj(goi->interp, o);
                                                Jim_IncrRefCount(jteap->body);
 
-                                               /* add to head of event list */
-                                               jteap->next = tap->event_action;
-                                               tap->event_action = jteap;
+                                               if (!replace)
+                                               {
+                                                       /* add to head of event 
list */
+                                                       jteap->next = 
tap->event_action;
+                                                       tap->event_action = 
jteap;
+                                               }
                                                Jim_SetEmptyResult(goi->interp);
                                        } else {
                                                /* get */
@@ -374,7 +379,8 @@
                                 * can't fail.  That presumes later code
                                 * will be verifying the scan chains ...
                                 */
-                               tap->enabled = (e == JTAG_TAP_EVENT_ENABLE);
+                               if (e == JTAG_TAP_EVENT_ENABLE)
+                                       tap->enabled = true;
                        }
                }
 
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to