If any frame was not decoded because liblbx returned an error, we should
return a non-zero exit status from the tool. Previously this would only
happen if *all* frames failed.
unsigned char *framebits;
struct lbx_colour palette[256];
struct lbx_imginfo info;
unsigned char *framebits;
struct lbx_colour palette[256];
struct lbx_imginfo info;
+ int ret = EXIT_SUCCESS;
int extracted = 0;
unsigned int i;
int extracted = 0;
unsigned int i;
if (usepalette) {
if (loadpalette(img, &info, palf, override, palette) == -1) {
if (usepalette) {
if (loadpalette(img, &info, palf, override, palette) == -1) {
data = lbx_img_getframe(img, i);
if (!data) {
tool_err(-1, "error in frame %u: %s", i, lbx_errmsg());
data = lbx_img_getframe(img, i);
if (!data) {
tool_err(-1, "error in frame %u: %s", i, lbx_errmsg());
if (!extracted) {
tool_err(-1, "no frames extracted.");
if (!extracted) {
tool_err(-1, "no frames extracted.");
-
- free(framebits);
- return EXIT_SUCCESS;
}
int main(int argc, char **argv)
}
int main(int argc, char **argv)