diff options
author | Jakob Kaivo <jkk@ung.org> | 2019-11-20 16:35:46 -0500 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2019-11-20 16:35:46 -0500 |
commit | bc4ca8f73ece3cb3d6d3538ea182b078142c65c9 (patch) | |
tree | ce3de06069b5d21bf5c65a71c4f19efcf5492de0 /pax.c | |
parent | f1cdf4f5ff99255c12347b214853bf68835b6a9c (diff) |
add rough outlines of cpio and tar interfaces
Diffstat (limited to 'pax.c')
-rw-r--r-- | pax.c | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -25,6 +25,7 @@ #define _XOPEN_SOURCE 700 #include <cpio.h> #include <errno.h> +#include <libgen.h> #include <locale.h> #include <inttypes.h> #include <stdio.h> @@ -82,7 +83,7 @@ int pax_list(FILE *input) return 1; } -int main(int argc, char *argv[]) +int pax_main(int argc, char *argv[]) { unsigned int flags = 0; //unsigned int blocksize = 0; @@ -200,6 +201,8 @@ int main(int argc, char *argv[]) if (mode == PAX_LIST) { return pax_list(stdin); } + + return 1; } void pax_list_file(struct stat *st, const char *name) @@ -267,3 +270,17 @@ uintmax_t pax_atoi(size_t n, const char _s[static n], int base) strncpy(s, _s, n); return strtoumax(s, NULL, base); } + +int main(int argc, char *argv[]) +{ + char *base = basename(argv[0]); + if (!strcmp(base, "tar")) { + return tar_main(argc, argv); + } + + if (!strcmp(base, "cpio")) { + return cpio_main(argc, argv); + } + + return pax_main(argc, argv); +} |