diff options
author | Erik Troan <ewt@redhat.com> | 1999-08-07 16:16:29 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 1999-08-07 16:16:29 +0000 |
commit | a7d5886e5420bd7b12ac7203ada5886330354de2 (patch) | |
tree | 24d6535f9d8d846a8cbf1b0b96f4615fd69200c6 /collage/collage.c | |
parent | bf6e9064b9f5ce40b78e61a40f9b24b48a962e37 (diff) | |
download | anaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.tar.gz anaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.tar.xz anaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.zip |
*** empty log message ***
Diffstat (limited to 'collage/collage.c')
-rw-r--r-- | collage/collage.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/collage/collage.c b/collage/collage.c new file mode 100644 index 000000000..ddc4ae28e --- /dev/null +++ b/collage/collage.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <string.h> + +#include "commands.h" + +struct commandTableEntry { + char * name; + int (*fn)(int argc, char ** argv); +}; + +struct commandTableEntry commandTable[] = { + { "umount", umountCommand }, + { "mount", mountCommand }, + { "mkdir", mkdirCommand }, + { "mknod", mknodCommand }, + { "cat", catCommand }, + { "ls", lsCommand }, + { "ln", lnCommand }, + { "rm", rmCommand }, + { "chmod", chmodCommand }, + { "lsmod", lsmodCommand }, + { "uncpio", uncpioCommand }, + { NULL, NULL } +}; + +int main (int argc, char ** argv) { + int len = strlen(argv[0]); + struct commandTableEntry * cmd; + + for (cmd = commandTable; cmd->name; cmd++) { + if (!strcmp(argv[0] + len - strlen(cmd->name), cmd->name)) + break; + } + + if (cmd->name) + return cmd->fn(argc, argv); + + printf("collage may be run as:\n"); + for (cmd = commandTable; cmd->name; cmd++) + printf("\t%s\n", cmd->name); + + return 1; +} + |