return FALSE;
}
- ret = zip_fread(vdev->capfile, buf, CHUNKSIZE);
+ ret = zip_fread(vdev->capfile, buf,
+ CHUNKSIZE / vdev->unitsize * vdev->unitsize);
if (ret > 0) {
+ if (ret % vdev->unitsize != 0)
+ sr_warn("Read size %d not a multiple of the"
+ " unit size %d.", ret, vdev->unitsize);
got_data = TRUE;
packet.type = SR_DF_LOGIC;
packet.payload = &logic;
return SR_OK;
}
-static int cleanup(void)
+static int dev_clear(void)
{
GSList *l;
.longname = "Session-emulating driver",
.api_version = 1,
.init = init,
- .cleanup = cleanup,
+ .cleanup = dev_clear,
.scan = NULL,
.dev_list = NULL,
- .dev_clear = NULL,
+ .dev_clear = dev_clear,
.config_get = config_get,
.config_set = config_set,
.config_list = config_list,