]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/uni-t-dmm/protocol.c
scpi-pps: Add a missing "break" in config_get().
[libsigrok.git] / src / hardware / uni-t-dmm / protocol.c
index 4114aec4d831954ccc5d4f705112088a740a764d..94abb16bc8ae1277d07d5bf8511999803469c8e6 100644 (file)
@@ -103,7 +103,6 @@ static int hid_chip_init(struct sr_dev_inst *sdi, uint16_t baudrate)
 
        usb = sdi->conn;
 
-       /* Detach kernel drivers which grabbed this device (if any). */
        if (libusb_kernel_driver_active(usb->devhdl, 0) == 1) {
                ret = libusb_detach_kernel_driver(usb->devhdl, 0);
                if (ret < 0) {
@@ -113,7 +112,6 @@ static int hid_chip_init(struct sr_dev_inst *sdi, uint16_t baudrate)
                }
        }
 
-       /* Claim interface 0. */
        if ((ret = libusb_claim_interface(usb->devhdl, 0)) < 0) {
                sr_err("Failed to claim interface 0: %s.",
                       libusb_error_name(ret));
@@ -260,8 +258,8 @@ static int get_and_handle_data(struct sr_dev_inst *sdi)
        }
 
        /* Move remaining bytes to beginning of buffer. */
-       for (i = 0; i < devc->buflen - devc->bufoffset; i++)
-               pbuf[i] = pbuf[devc->bufoffset + i];
+       if (devc->bufoffset < devc->buflen)
+               memmove(pbuf, pbuf + devc->bufoffset, devc->buflen - devc->bufoffset);
        devc->buflen -= devc->bufoffset;
 
        return SR_OK;