int mode = MODE_NONE, fmt, opt, rc = EXIT_FAILURE;
struct lbx_pipe_state stdin_handle = { .f = stdin };
const char *file = NULL, *fmtstring = NULL;
+ const char *ext_palette = NULL, *ovr_palette = NULL;
FILE *palf = NULL, *overf = NULL;
struct lbx_image *img;
usepalette = 0;
break;
case 'p':
- palf = fopen(optarg, "rb");
- if (!palf) {
- tool_err(0, "failed to open %s", optarg);
- return EXIT_FAILURE;
- }
+ ext_palette = optarg;
break;
case 'O':
- overf = fopen(optarg, "rb");
- if (!overf) {
- tool_err(0, "failed to open %s", optarg);
- return EXIT_FAILURE;
- }
+ ovr_palette = optarg;
break;
case OPT_PREFIX:
outname = optarg;
return EXIT_FAILURE;
}
+ if (ext_palette && !(palf = fopen(ext_palette, "rb"))) {
+ tool_err(0, "failed to open %s", optarg);
+ return EXIT_FAILURE;
+ }
+
+ if (ovr_palette && !(overf = fopen(ovr_palette, "rb"))) {
+ tool_err(0, "failed to open %s", optarg);
+ return EXIT_FAILURE;
+ }
+
if (verbose || mode == MODE_IDENT) {
struct lbx_imginfo info;
}
lbx_img_close(img);
+ if (palf)
+ fclose(palf);
+ if (overf)
+ fclose(overf);
return rc;
}