diff options
author | iru <devnull@localhost> | 2011-04-14 00:35:48 -0300 |
---|---|---|
committer | iru <devnull@localhost> | 2011-04-14 00:35:48 -0300 |
commit | fd8d404d520a3f10c143f5cbe7c170606fffc75c (patch) | |
tree | fbc8bf7218eca7d6290ffb1109fcc73b5b5cda33 /sys/src/cmd/aux/multi/multi.c | |
parent | dd468419f2fbaa2c3fec570a88d13e8eae8f3faf (diff) |
Promote the old installer/livecd specific tools to normal tools under /sys/src/cmd. Where similar common tools already existed, I kept them.
Diffstat (limited to 'sys/src/cmd/aux/multi/multi.c')
-rw-r--r-- | sys/src/cmd/aux/multi/multi.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/src/cmd/aux/multi/multi.c b/sys/src/cmd/aux/multi/multi.c new file mode 100644 index 000000000..a2e3035ad --- /dev/null +++ b/sys/src/cmd/aux/multi/multi.c @@ -0,0 +1,38 @@ +#include <u.h> +#include <libc.h> + +#include "multiproto.h" +struct { + char *name; + void (*fn)(int, char**); +} mains[] = +{ +#include "multi.h" +}; + +void +main(int argc, char **argv) +{ + int i; + char *cmd, *p; + + if(argc == 1){ + fprint(2, "usage: multi cmd args...\n"); + exits("usage"); + } + + cmd = argv[1]; + if(p = strrchr(cmd, '/')) + cmd = p+1; + argv++; + argc--; + + for(i=0; i<nelem(mains); i++){ + if(strcmp(cmd, mains[i].name) == 0){ + mains[i].fn(argc, argv); + return; + } + } + fprint(2, "multi: no such cmd %s\n", cmd); + exits("no cmd"); +} |