From 5bc1e0bdf89dafb4beea6313c8c8cbf9873dd984 Mon Sep 17 00:00:00 2001 From: bigsketti Date: Wed, 12 Feb 2025 10:24:20 -0500 Subject: [PATCH] cleaned up cmd_mode() and improved mkfile error handling --- cshell | Bin 17824 -> 17864 bytes src/cShell.c | 59 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/cshell b/cshell index 48a7c7717e7a79f65dfb09a314f76470980e0500..deadeee66199bfd1e781045e637d71feba9f14f0 100755 GIT binary patch delta 4599 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 Jd)`_${C_l4!F>P# diff --git a/src/cShell.c b/src/cShell.c index ba9a561..d5d5d6b 100644 --- a/src/cShell.c +++ b/src/cShell.c @@ -98,19 +98,25 @@ void cmd_cd(char **args, char **cwd, char **trimmedCWD) { } void cmd_mkfile(char **args) { + if (args[1] == NULL) { + fprintf(stderr, "Error, no file name provided.\n"); + } + FILE *file = fopen(args[1], "w"); - if (file == NULL) { - perror("Error making file"); - } else { - printf("success\n"); - } + if (file == NULL) { + perror("Error making file"); + return; + } + + printf("File made successfully: %s\n", args[1]); + fclose(file); } void cmd_mkdir(char **args) { if (mkdir(args[1], 0777) != 0) { perror("Error making directory"); } else { - printf("success\n"); + printf("Directory made successfully: %s\n", args[1]); } } @@ -118,7 +124,7 @@ void cmd_rmfile(char **args) { if (remove(args[1]) != 0) { perror("Error removing file"); } else { - printf("success\n"); + printf("File removed successfully: %s\n", args[1]); } } @@ -126,7 +132,7 @@ void cmd_rmdir(char **args) { if (rmdir(args[1]) != 0) { perror("Error removing directory"); } else { - printf("success\n"); + printf("Directory removed successfully: %s\n", args[1]); } } @@ -136,22 +142,29 @@ void cmd_ls(char **args) { } void cmd_mode(char **args) { - if (strcmp("-h", args[1]) == 0) { - printf("\033[32m"); - printf("Hacker mode activated\n"); - return; - } else if (strcmp("-e", args[1]) == 0) { - printf("\033[31m"); - printf("Evil mode activated\n"); - return; - } else if (strcmp("-n", args[1]) == 0) { - printf("\033[0m"); - printf("Normal mode activated\n"); - return; - } else { - printf("Invalid arguement, type \"help\" for help\n"); - return; + if (args[1] == NULL) { + printf("Invalid arguement, type \"help\" for help"); } + + struct { + char *flag; + char *color; + char *message; + } modes[] = { + {"-e", "\033[31m", "Evil mode activated\n"}, + {"-h", "\033[32m", "Hacker mode activated\n"}, + {"-n", "\033[0m", "Normal mode activated\n"}, + {NULL, NULL, NULL} + }; + + for (int i = 0; modes[i].flag != NULL; i++) { + if(strcmp(modes[i].flag, args[1]) == 0) { + printf("%s%s\n", modes[i].color, modes[i].message); + return; + } + } + + printf("Invalid arguement, type \"help\" for help\n"); } void printClamShell() {