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)
/* Archive operations */
LBX *lbx_fopen(FILE *, const char *);
LBX *lbx_mopen(void *, size_t, const char *);
-void lbx_close(LBX *);
+int lbx_close(LBX *);
size_t lbx_numfiles(LBX *);
/* File operations */