X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FDiskTool%2Fsrc%2Fmain.c;h=7dd85833448cd338cb2933c6904d4cebd9aedbf6;hb=aa3975dc61be78c0e6860cafad7278017fd456d5;hp=3698df64e43894a73f38b8241f19be403f9f297c;hpb=3f76cec1a9c81a0ac06f0c64aa34ea7f3de9558a;p=tpg%2Facess2.git diff --git a/Tools/DiskTool/src/main.c b/Tools/DiskTool/src/main.c index 3698df64..7dd85833 100644 --- a/Tools/DiskTool/src/main.c +++ b/Tools/DiskTool/src/main.c @@ -5,20 +5,42 @@ #include #include #include +#include // === CODE === int main(int argc, char *argv[]) { + // Setup + + // Parse arguments + for( int i = 1; i < argc; i ++ ) + { + if( strcmp("--image", argv[i]) == 0 || strcmp("-i", argv[i]) == 0 ) { + // Mount an image + if( argc - i < 3 ) { + fprintf(stderr, "--image/-i takes 2 arguments (ident and path)\n"); + exit(-1); + } + + if( DiskTool_MountImage(argv[i+1], argv[i+2]) ) { + fprintf(stderr, "Unable to mount '%s' as '%s'\n", argv[i+2], argv[i+1]); + exit(-1); + } + + i += 2; + } + } return 0; } +// NOTE: This is in a native compiled file because it needs access to the real errno macro int *Threads_GetErrno(void) { return &errno; } // TODO: Move into a helper lib? -extern void itoa(char *buf, uint64_t num, int base, int minLength, char pad) +void itoa(char *buf, uint64_t num, int base, int minLength, char pad) { char fmt[] = "%0ll*x"; switch(base)