aboutsummaryrefslogtreecommitdiffstats
path: root/image.c
diff options
context:
space:
mode:
authorBert <ber.t@gmx.com>2011-04-05 00:37:37 +0200
committerBert <ber.t@gmx.com>2011-04-05 00:37:37 +0200
commit426edfb3498469b171aae6a582491c2c7e30fd51 (patch)
tree96fd579d07b0fc8fcd384f8cc35b4097d6930934 /image.c
parent8d4e3a57ab93429ca8c3e8e9b1cb1ce21ee4b609 (diff)
downloadnsxiv-426edfb3498469b171aae6a582491c2c7e30fd51.tar.zst
Readded file-type check at startup
Diffstat (limited to 'image.c')
-rw-r--r--image.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/image.c b/image.c
index 02df898..a7530a8 100644
--- a/image.c
+++ b/image.c
@@ -56,6 +56,23 @@ void img_free(img_t* img) {
imlib_free_image();
}
+int img_check(const char *filename) {
+ Imlib_Image *im;
+
+ if (!filename)
+ return 0;
+
+ if ((im = imlib_load_image(filename))) {
+ imlib_context_set_image(im);
+ imlib_image_set_changes_on_disk();
+ imlib_free_image();
+ return 1;
+ } else {
+ warn("invalid file: %s", filename);
+ return 0;
+ }
+}
+
int img_load(img_t *img, const char *filename) {
if (!img || !filename)
return 0;
@@ -66,7 +83,7 @@ int img_load(img_t *img, const char *filename) {
imlib_context_set_anti_alias(img->aa);
img->scalemode = options->scalemode;
} else {
- warn("not an image: %s", filename);
+ warn("invalid file: %s", filename);
imlib_context_set_image(im_invalid);
imlib_context_set_anti_alias(0);
}