]> git.draconx.ca Git - liblbx.git/blobdiff - src/lbx.c
liblbx: Make lbx_close return the result of fclose.
[liblbx.git] / src / lbx.c
index d75a1232485d67b2e1660e40ad03958a132ab4db..ae0382cfeba1cd799a0199df4a6776972b254fef 100644 (file)
--- a/src/lbx.c
+++ b/src/lbx.c
@@ -165,21 +165,6 @@ eof:
        return NULL;
 }
 
-struct lbx_state *lbx_open(const char *path)
-{
-       struct lbx_state *new = NULL;
-       FILE *f;
-       
-       if ((f = fopen(path, "rb"))) {
-               const char *name = strrchr(path, '/');
-               new = lbx_fopen(f, name ? name+1 : path);
-       } else {
-               lbx_errno = -errno;
-       }
-
-       return new;
-}
-
 size_t lbx_numfiles(struct lbx_state *lbx)
 {
        return lbx->nfiles;
@@ -300,18 +285,22 @@ void *lbx_mmap(struct lbx_state *lbx, size_t index, size_t *len)
        return mapping + base;
 }
 
-void lbx_close(struct lbx_state *lbx)
+int lbx_close(struct lbx_state *lbx)
 {
-       if (!lbx) return;
+       int rc = 0;
+
+       if (!lbx)
+               return 0;
 
        if (lbx->f) {
-               fclose(lbx->f);
+               rc = fclose(lbx->f);
                if (lbx->mem) {
                        munmap(lbx->mem, lbx->memsize);
                }
        }
 
        free(lbx);
+       return rc;
 }
 
 const char *lbx_strerror(void)