From bc4ca8f73ece3cb3d6d3538ea182b078142c65c9 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Wed, 20 Nov 2019 16:35:46 -0500 Subject: add rough outlines of cpio and tar interfaces --- pax.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'pax.c') diff --git a/pax.c b/pax.c index 5e3be94..4cbd0f2 100644 --- a/pax.c +++ b/pax.c @@ -25,6 +25,7 @@ #define _XOPEN_SOURCE 700 #include #include +#include #include #include #include @@ -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); +} -- cgit v1.2.1