]> git.draconx.ca Git - liblbx.git/blobdiff - src/image.c
liblbx: Properly report errors in lbx_(img_)fopen.
[liblbx.git] / src / image.c
index c3abf3f643524d14e9948e54bb24529ab6685b91..4657208a05ae28439496346473c8de7cb1566023 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * 2ooM: The Master of Orion II Reverse Engineering Project
  * Library for working with LBX image files.
- * Copyright © 2006-2011 Nick Bowler
+ * Copyright © 2006-2011, 2013 Nick Bowler
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -176,14 +176,17 @@ struct lbx_image *lbx_img_fopen(const char *file)
        FILE *f;
 
        f = fopen(file, "rb");
-       if (!f)
+       if (!f) {
+               lbx_error_raise(-errno);
                return NULL;
+       }
 
        if (fseek(f, 0, SEEK_CUR) == 0)
                return lbx_img_open(f, &lbx_default_fops, file_close);
 
        p = malloc(sizeof *p);
        if (!p) {
+               lbx_error_raise(LBX_ENOMEM);
                fclose(f);
                return NULL;
        }
@@ -467,10 +470,6 @@ void lbx_img_getinfo(struct lbx_image *pub, struct lbx_imginfo *info)
        struct lbx_image_priv *img = (struct lbx_image_priv *)pub;
 
        *info = (struct lbx_imginfo) {
-               .width      = pub->width,
-               .height     = pub->height,
-               .nframes    = pub->frames,
-               .chunk      = pub->chunk,
                .palettesz  = (img->flags & FLAG_PALETTE) ? img->palcount : 0,
        };