<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/23898">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">st2-cardem-pcsc: Fix goto-in-while mess<br><br>There's some code that wasnts to goto within the while loop, and there's<br>some other code that wants to goto after the while loop.  Don't jump<br>from outside the while loop into the while loop.<br><br>Change-Id: Ic2a94ad034dd259f15712687443b569f0d18ff3f<br>---<br>M host/src/simtrace2-cardem-pcsc.c<br>1 file changed, 12 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/98/23898/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c</span><br><span>index 543780f..931d9d7 100644</span><br><span>--- a/host/src/simtrace2-cardem-pcsc.c</span><br><span>+++ b/host/src/simtrace2-cardem-pcsc.c</span><br><span>@@ -545,20 +545,20 @@</span><br><span>                 transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm);</span><br><span>             if (!transp->usb_devh) {</span><br><span>                  fprintf(stderr, "can't open USB device\n");</span><br><span style="color: hsl(0, 100%, 40%);">-                       goto close_exit;</span><br><span style="color: hsl(120, 100%, 40%);">+                      goto close;</span><br><span>          }</span><br><span> </span><br><span>                rc = libusb_claim_interface(transp->usb_devh, if_num);</span><br><span>            if (rc < 0) {</span><br><span>                     fprintf(stderr, "can't claim interface %d; rc=%d\n", if_num, rc);</span><br><span style="color: hsl(0, 100%, 40%);">-                 goto close_exit;</span><br><span style="color: hsl(120, 100%, 40%);">+                      goto close;</span><br><span>          }</span><br><span> </span><br><span>                rc = osmo_libusb_get_ep_addrs(transp->usb_devh, if_num, &transp->usb_ep.out,</span><br><span>                                     &transp->usb_ep.in, &transp->usb_ep.irq_in);</span><br><span>             if (rc < 0) {</span><br><span>                     fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc);</span><br><span style="color: hsl(0, 100%, 40%);">-                    goto close_exit;</span><br><span style="color: hsl(120, 100%, 40%);">+                      goto close;</span><br><span>          }</span><br><span> </span><br><span>                allocate_and_submit_irq(ci);</span><br><span>@@ -587,13 +587,20 @@</span><br><span>                 ret = 0;</span><br><span> </span><br><span>                 libusb_release_interface(transp->usb_devh, 0);</span><br><span style="color: hsl(0, 100%, 40%);">-close_exit:</span><br><span style="color: hsl(0, 100%, 40%);">-            if (transp->usb_devh)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+close:</span><br><span style="color: hsl(120, 100%, 40%);">+            if (transp->usb_devh) {</span><br><span>                   libusb_close(transp->usb_devh);</span><br><span style="color: hsl(120, 100%, 40%);">+                    transp->usb_devh = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span>            if (keep_running)</span><br><span>                    sleep(1);</span><br><span>    } while (keep_running);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+close_exit:</span><br><span style="color: hsl(120, 100%, 40%);">+      if (transp->usb_devh)</span><br><span style="color: hsl(120, 100%, 40%);">+              libusb_close(transp->usb_devh);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         libusb_exit(NULL);</span><br><span> do_exit:</span><br><span>       return ret;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/23898">change 23898</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/simtrace2/+/23898"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: simtrace2 </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic2a94ad034dd259f15712687443b569f0d18ff3f </div>
<div style="display:none"> Gerrit-Change-Number: 23898 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>