summaryrefslogtreecommitdiffstats
path: root/collage/collage.c
diff options
context:
space:
mode:
authorErik Troan <ewt@redhat.com>1999-08-07 16:16:29 +0000
committerErik Troan <ewt@redhat.com>1999-08-07 16:16:29 +0000
commita7d5886e5420bd7b12ac7203ada5886330354de2 (patch)
tree24d6535f9d8d846a8cbf1b0b96f4615fd69200c6 /collage/collage.c
parentbf6e9064b9f5ce40b78e61a40f9b24b48a962e37 (diff)
downloadanaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.tar.gz
anaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.tar.xz
anaconda-a7d5886e5420bd7b12ac7203ada5886330354de2.zip
*** empty log message ***
Diffstat (limited to 'collage/collage.c')
-rw-r--r--collage/collage.c44
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;
+}
+