- if (fread(&count, sizeof count, 1, img->f) != 1) goto readerr;
- count = letohs(count); img->foff += sizeof count;
- if (fread(&xval, sizeof xval, 1, img->f) != 1) goto readerr;
- xval = letohs(xval); img->foff += sizeof xval;
+
+ if (img->fops->read(buf, sizeof buf, img->f) != sizeof buf)
+ goto readerr;
+ count = unpack_16_le(buf+0);
+
+ xval = unpack_16_le(buf+2);