X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/f8295b32a98df79caee16a25a1dcf3a7a678e409..1ac4f49c6492354367dd243458892fbdc7765f2b:/src/lbxtool.c diff --git a/src/lbxtool.c b/src/lbxtool.c index 754592f..b207666 100644 --- a/src/lbxtool.c +++ b/src/lbxtool.c @@ -26,7 +26,7 @@ #include "tools.h" #include "lbx.h" - +#include "error.h" static void printusage(void) { @@ -69,19 +69,18 @@ int filematch(char **argv, const char *name) return i ? -1: 0; } -int list(LBX *lbx, int verbose, char **argv) { - size_t nfiles; +int list(struct lbx *lbx, int verbose, char **argv) +{ unsigned int i; - nfiles = lbx_numfiles(lbx); if (verbose) { - printf("Files in archive: %zu\n", nfiles); + printf("Files in archive: %u\n", lbx->nfiles); } - for (i = 0; i < nfiles; i++) { + for (i = 0; i < lbx->nfiles; i++) { struct lbx_statbuf stat; - lbx_stat(lbx, i, &stat); + lbx_file_stat(lbx, i, &stat); switch (filematch(argv, stat.name)) { case -1: continue; @@ -143,20 +142,19 @@ int extract_file(LBXfile *f, const struct lbx_statbuf *stat) return ret; } -int extract(LBX *lbx, int verbose, char **argv) { - size_t nfiles; +int extract(struct lbx *lbx, int verbose, char **argv) +{ unsigned int i; - nfiles = lbx_numfiles(lbx); if (verbose) { - printf("Files in archive: %zu\n", nfiles); + printf("Files in archive: %u\n", lbx->nfiles); } - for (i = 0; i < nfiles; i++) { + for (i = 0; i < lbx->nfiles; i++) { struct lbx_statbuf stat; LBXfile *file; - lbx_stat(lbx, i, &stat); + lbx_file_stat(lbx, i, &stat); switch (filematch(argv, stat.name)) { case -1: continue; @@ -166,8 +164,7 @@ int extract(LBX *lbx, int verbose, char **argv) { file = lbx_file_open(lbx, i); if (!file) { - errmsg("failed to open archive member %s: %s.\n", - stat.name, lbx_strerror()); + errmsg("%s: %s.\n", stat.name, lbx_errmsg()); continue; } @@ -184,7 +181,7 @@ int main(int argc, char **argv) int mode = MODE_NONE, verbose = 0, opt, rc = EXIT_FAILURE; struct lbx_pipe_state stdin_handle = { .f = stdin }; const char *file = NULL; - LBX *lbx; + struct lbx *lbx; static const char *sopts = "lxf:i:vV"; static const struct option lopts[] = { @@ -241,7 +238,7 @@ int main(int argc, char **argv) lbx = lbx_open(&stdin_handle, &lbx_pipe_fops, NULL, "stdin"); if (!lbx) { - errmsg("failed to open archive: %s.\n", lbx_strerror()); + errmsg("%s: %s.\n", file ? file : "stdin", lbx_errmsg()); return EXIT_FAILURE; }