45 lines
857 B
C
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);
|
|
}
|
|
|