From ae5b34d375e4ac72d8362ad954fe28cb47935e73 Mon Sep 17 00:00:00 2001 From: Sangwon Seo <swseo97@ajou.ac.kr> Date: Wed, 11 Apr 2018 23:15:46 +0900 Subject: [PATCH] Upload every *.c files and a compiled file *this is the final update of assingment1->mysh-0 --- mysh | Bin 0 -> 12300 bytes src/commands.c | 14 +++++++++++--- src/main.c | 11 ++++++++++- src/utils.c | 15 ++++++++++----- 4 files changed, 31 insertions(+), 9 deletions(-) create mode 100755 mysh diff --git a/mysh b/mysh new file mode 100755 index 0000000000000000000000000000000000000000..0f3527030ea36fd60c29e3debfce8e555908f47a GIT binary patch literal 12300 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 Pjv52QZX^MaIUq9tg@jFf literal 0 HcmV?d00001 diff --git a/src/commands.c b/src/commands.c index a8c22bc..1250114 100644 --- a/src/commands.c +++ b/src/commands.c @@ -1,7 +1,15 @@ +#include <stdio.h> +#include <stdlib.h> #include <string.h> +#include <unistd.h> #include "commands.h" +#define true 1 +#define false 0 + +char current_dir[1000]; + int do_cd(int argc, char** argv) { if (!validate_cd_argv(argc, argv)){ return -1; @@ -25,9 +33,9 @@ int do_pwd(int argc, char** argv) { return -1; } // TODO: Fill it! - char current_dir[1000]; + getcwd(current_dir,1000); - printf("%s",current_dir); + printf("ajou@ajou-VirtualBox:%s$ ",current_dir); return 0; } @@ -46,7 +54,7 @@ int validate_cd_argv(int argc, char** argv) { int validate_pwd_argv(int argc, char** argv) { // TODO: Fill it! - if(argc == 2 && !(strcmp(argv[0],"cd"))){ + if(argc == 1 && !(strcmp(argv[0],"pwd"))){ return true; } else{ diff --git a/src/main.c b/src/main.c index fddc6fc..c21c0dd 100644 --- a/src/main.c +++ b/src/main.c @@ -5,6 +5,9 @@ #include "commands.h" #include "utils.h" +#define true 1 +#define false 0 + /** * Aliased command element * @@ -80,6 +83,7 @@ apply_alias: for (int i = 0; i < n_aliased_command; ++i) { if (strcmp(argv[0], aliased_commands[i]->alias) == 0) { // TODO: fill here! + strcpy(buf, aliased_commands[i] -> command); goto apply_alias; } @@ -118,13 +122,18 @@ int do_alias(int argc, char** argv) { return -1; // TODO: Fill it! + char *token; + return 0; } int validate_alias_argv(int argc, char** argv) { // TODO: Fill it! - return 1; + if(argc < 2){ + return 1; + } + return 0; } diff --git a/src/utils.c b/src/utils.c index 2af60fd..1dfcf3f 100644 --- a/src/utils.c +++ b/src/utils.c @@ -1,17 +1,21 @@ #include "utils.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> void mysh_parse_command(const char* command, int *argc, char*** argv) { // TODO: Fill this! - *argc = 0; - *avgv = (char**)malloc(sizeof(char)*15); - *argv = (char*)malloc(sizeof(char)*15); - + int i = 0; char *token; char cmd[1000]; char seps[] = " \t\n"; + *argc = 0; + *argv = (char**)malloc(sizeof(char)*15); + (*argv)[i] = (char*)malloc(sizeof(char)*15); + strcpy(cmd,command); token = strtok(cmd,seps); @@ -24,7 +28,8 @@ void mysh_parse_command(const char* command, while(token != NULL){ strcpy((*argv)[i],token); i++; - (*argv)[i] = (char*)malloc(sizeof(char)*10); + (*argv)[i] = (char*)malloc(sizeof(char)*15); + token = strtok(NULL,seps); (*argc)++; } } -- GitLab