Lephisto/utils/pack/main.c
2013-12-27 01:00:47 +00:00

45 lines
857 B
C

#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include "pack.h"
#define USAGE "Usage is: %s output input/s\n", argv[0]
int main(int argc, char** argv) {
char* packfile;
char** list;
uint32_t nlist;
uint32_t nfiles;
int i;
if(argc == 1) {
fprintf(stderr, "Missing output file\n");
goto usage;
}
packfile = argv[1];
nfiles = (uint32_t)argc - 2;
argv += 2;
if(nfiles == 0) {
/* No files, list what it has. */
list = pack_listfiles(packfile, &nlist);
fprintf(stdout, "Packfile '%s' contains:\n", packfile);
for(i = 0; i < nlist; i++) {
fprintf(stdout, " %04d %s\n", i, list[i]);
free(list[i]);
}
free(list);
} else { /* Create a packfile. */
pack_files(packfile, (const char**)argv, nfiles);
}
exit(EXIT_SUCCESS);
usage:
printf(USAGE);
exit(EXIT_SUCCESS);
}