From f510d5a8787bda13809aefc0dfa88ab9d7af741a Mon Sep 17 00:00:00 2001
From: choi-jun-yong <skdd456@naver.com>
Date: Mon, 9 Apr 2018 23:21:19 +0900
Subject: [PATCH] thank you

---
 mysh           | Bin 0 -> 12324 bytes
 src/commands.c |  38 +++++++++++++++++++++++++++++++++-----
 src/utils.c    |  33 ++++++++++++++++++++++++++++++---
 3 files changed, 63 insertions(+), 8 deletions(-)
 create mode 100755 mysh

diff --git a/mysh b/mysh
new file mode 100755
index 0000000000000000000000000000000000000000..eb078009319c297c5d7f03f798c0683dfa947dd2
GIT binary patch
literal 12324
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
Hfb;_ZpZ(Is

literal 0
HcmV?d00001

diff --git a/src/commands.c b/src/commands.c
index 28a7cfc..3850db0 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -1,19 +1,31 @@
 #include <string.h>
-
+#include <stdio.h>
 #include "commands.h"
-
+#include <unistd.h>
+#define MAX_SIZE 300
+char buf[MAX_SIZE];
+int ch;
 int do_cd(int argc, char** argv) {
   if (!validate_cd_argv(argc, argv))
     return -1;
 
+else if ((ch=chdir(argv[1]))==0)
+{
+return 0;
+}
+else{
+return -1;
+}
   // TODO: Fill it!
-  return 0;
+
 }
 
 int do_pwd(int argc, char** argv) {
   if (!validate_pwd_argv(argc, argv))
     return -1;
 
+getcwd(buf,MAX_SIZE);
+printf("%s\n",buf);
   // TODO: Fill it!
 
   return 0;
@@ -22,11 +34,27 @@ int do_pwd(int argc, char** argv) {
 
 int validate_cd_argv(int argc, char** argv) {
   // TODO: Fill it!
-  return 1;
+ if(strcmp(argv[0],"cd")==0)
+{
+if(argc==2)  
+{
+return 1;
+}
+}
+else 
+return 0;
 }
 
 int validate_pwd_argv(int argc, char** argv) {
   // TODO: Fill it!
-  return 1;
+if(strcmp(argv[0],"pwd")==0)
+{
+if(argc==1)  
+{
+return 1;
+}
+}
+else 
+return 0;
 }
 
diff --git a/src/utils.c b/src/utils.c
index 619c771..893068a 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -1,7 +1,34 @@
 #include "utils.h"
+#include <string.h>
+#include <stdlib.h>
+void mysh_parse_command(const char* command,int *argc, char*** argv)
+{
+
+char *tmp= (char*)malloc(sizeof(char)*60);
+char *token;
+*argv= (char**)malloc(sizeof(char)*60);
+int c=0;
+*argc=0;
+(*argv)[c]=(char*)malloc(sizeof(char)*60);
+strcpy(tmp,command);
+token=strtok(tmp,"' '\t\n\0");
 
-void mysh_parse_command(const char* command,
-                        int *argc, char*** argv)
+if(token==NULL)
+{
+strcpy((*argv)[c],"");
+c=c+1;
+}
+while(1)
 {
-  // TODO: Fill this!
+if(token==NULL)
+break;
+
+strcpy((*argv)[c],token);
+c=c+1;
+(*argv)[c]=(char*)malloc(sizeof(char)*60);
+token=strtok(NULL,"' '\n\t\0");
+
+}
+*argc=c;
+
 }
-- 
GitLab