]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.c
liblbx: Use lbx_file_ops for lbximg_loadpalette.
[liblbx.git] / src / image.c
index c8a71650fbb872f24a7a7140e8e96a43e4eaedc0..83bac2149dc0d8b02075a8c6c30b39603e756898 100644 (file)
@@ -324,13 +324,15 @@ unsigned char **lbximg_getframe(struct lbx_image *img, int frame)
        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;
                }
@@ -340,7 +342,7 @@ int lbximg_loadpalette(FILE *f, struct lbx_colour palette[static 256])
                        return -1;
                }
 
-               palette[i] = (struct lbx_colour){
+               palette[i] = (struct lbx_colour) {
                        .red    = entry[1] << 2,
                        .green  = entry[2] << 2,
                        .blue   = entry[3] << 2,