summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index 7bd931e..e23b915 100644
--- a/src/main.c
+++ b/src/main.c
@@ -8,9 +8,12 @@
#include <sys/stat.h>
#include <sys/types.h>
+char* cmd;
+
int main (ARGUMENTS) {
if (argc < 1) {
- error("error: argument 0 missing");
+ fprintf(stderr, "fatal: argument 0 missing");
+ return EXIT_FAILURE;
}
#ifdef CHECK_LINK
@@ -21,7 +24,7 @@ int main (ARGUMENTS) {
if (argc < 2) {
printf("usage: lazysphere [function [arguments]...]\n\n");
printf("currently defined functions:\n");
- printf("\tdd, cat, yes, echo, printf, id, groups, ls, tail, head, ed, tee, true, false, tee, whoami, wc, xargs, tac\n");
+ printf("\tdd, cat, yes, echo, printf, id, groups, ls, tail, head, ed, tee, true, false, tee, whoami, wc, xargs, tac, rm, cp, mkdir, mv\n");
return EXIT_SUCCESS;
}
argc--;
@@ -29,7 +32,6 @@ int main (ARGUMENTS) {
}
#endif
- const char* cmd;
if (strncmp("./", argv[0], 2) == 0) {
cmd = argv[0] + 2;
} else {
@@ -52,6 +54,8 @@ int main (ARGUMENTS) {
return user_id();
} else if (streql(cmd, "ls") || streql(cmd, "dir")) {
return ls(NEXT_ARGS);
+ } else if (streql(cmd, "lsd")) {
+ printf("look at all the funny colors\n");
} else if (streql(cmd, "tail")) {
return tail(NEXT_ARGS);
} else if (streql(cmd, "head")) {
@@ -72,8 +76,17 @@ int main (ARGUMENTS) {
return xargs(NEXT_ARGS);
} else if (streql(cmd, "tac")) {
return tac(NEXT_ARGS);
+ } else if (streql(cmd, "rm")) {
+ return rm(NEXT_ARGS);
+ } else if (streql(cmd, "cp")) {
+ return cp(NEXT_ARGS);
+ } else if (streql(cmd, "mkdir")) {
+ return makedir(NEXT_ARGS);
+ } else if (streql(cmd, "mv")) {
+ return mv(NEXT_ARGS);
} else {
- error("error: invalid command %s", cmd);
+ fprintf(stderr, "lazysphere: invalid command %s", cmd);
+ return EXIT_FAILURE;
}
return EXIT_SUCCESS;