From: Nick Bowler Date: Mon, 8 Feb 2010 02:44:31 +0000 (-0500) Subject: liblbx: Use lbx_file_ops for lbximg_loadpalette. X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/commitdiff_plain/d1728478ec0a212e2c601cfa911e24ee1018c83d liblbx: Use lbx_file_ops for lbximg_loadpalette. --- diff --git a/src/image.c b/src/image.c index c8a7165..83bac21 100644 --- a/src/image.c +++ b/src/image.c @@ -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, diff --git a/src/image.h b/src/image.h index e12372b..2f427d1 100644 --- a/src/image.h +++ b/src/image.h @@ -28,7 +28,8 @@ int lbximg_close(LBX_IMG *img); unsigned char **lbximg_getframe(LBX_IMG *img, int frame); unsigned char **lbximg_getmask(LBX_IMG *img); -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]); int lbximg_getpalette(LBX_IMG *img, struct lbx_colour palette[static 256]); void lbximg_getinfo(LBX_IMG *img, struct lbx_imginfo *info); diff --git a/src/lbximg.c b/src/lbximg.c index 1cf765d..67d8635 100644 --- a/src/lbximg.c +++ b/src/lbximg.c @@ -288,7 +288,7 @@ static int loadpalette(LBX_IMG *img, struct lbx_imginfo *info, } /* Read the external palette, if any. */ - if (palf && lbximg_loadpalette(palf, palette) == -1) { + if (palf && lbximg_loadpalette(palf, &lbx_default_fops, palette) != 0) { errmsg("error reading external palette: %s\n", lbx_strerror()); return -1; }