diff options
Diffstat (limited to '')
-rw-r--r-- | src/main.c | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -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; |