return img->framedata;
}
-int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256])
+int
+lbximg_loadpalette(void *f, const struct lbx_file_ops *fops,
+ struct lbx_colour palette[static 256])
{
unsigned char entry[4];
int i;
for (i = 0; i < 256; i++) {
- if (fread(entry, sizeof entry, 1, f) != 1) {
+ if (fops->read(entry, sizeof entry, f) != sizeof entry) {
lbx_errno = (feof(f)) ? LBX_EEOF : -errno;
return -1;
}
return -1;
}
- palette[i] = (struct lbx_colour){
+ palette[i] = (struct lbx_colour) {
.red = entry[1] << 2,
.green = entry[2] << 2,
.blue = entry[3] << 2,