]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/serial-dmm/protocol.c
serial-dmm: style nit (init vs assign, memmove(3))
[libsigrok.git] / src / hardware / serial-dmm / protocol.c
index 39bd965bac1c7c8538fea893a76a31b19bfef7cb..9d3bc916271cb6e9fc0bc0cd09328f56ecde8862 100644 (file)
@@ -116,7 +116,7 @@ static void handle_new_data(struct sr_dev_inst *sdi, void *info)
 {
        struct dmm_info *dmm;
        struct dev_context *devc;
-       int len, i, offset = 0;
+       int len, offset;
        struct sr_serial_dev_inst *serial;
 
        dmm = (struct dmm_info *)sdi->driver;
@@ -136,6 +136,7 @@ static void handle_new_data(struct sr_dev_inst *sdi, void *info)
        devc->buflen += len;
 
        /* Now look for packets in that data. */
+       offset = 0;
        while ((devc->buflen - offset) >= dmm->packet_size) {
                if (dmm->packet_valid(devc->buf + offset)) {
                        handle_packet(devc->buf + offset, sdi, info);
@@ -154,8 +155,8 @@ static void handle_new_data(struct sr_dev_inst *sdi, void *info)
        }
 
        /* If we have any data left, move it to the beginning of our buffer. */
-       for (i = 0; i < devc->buflen - offset; i++)
-               devc->buf[i] = devc->buf[offset + i];
+       if (devc->buflen > offset)
+               memmove(devc->buf, devc->buf + offset, devc->buflen - offset);
        devc->buflen -= offset;
 }