Browse Source

cd_without_err_redirection

MaxenceBacquet 6 years ago
parent
commit
6ffac4b2c9
1 changed files with 30 additions and 2 deletions
  1. 30 2
      mysh.c

+ 30 - 2
mysh.c

@@ -16,9 +16,35 @@ void test_write(){
     printf("%d\n", tmp);
 }
 
+void current_rep(){
+    char buffer[256];
+    char* tryErr;
+    if ((tryErr = getcwd(buffer, sizeof(buffer))) == NULL)
+        perror("getcwd() error");
+    else
+        printf("current working directory is: %s\n", buffer);
+}
+
+void cd(int argc, char** argv){
+    int tryErr;
+    current_rep();
+    if(argc > 2){
+        tryErr = printf("too many arguments : 1 required, %d give\n", argc-1);
+    }
+    else{
+        if(argc == 1)
+            tryErr = chdir("/");
+        else{
+            if((tryErr = chdir(argv[1])) == -1)
+                tryErr = printf("path does not exist\n");
+        }
+    }
+    current_rep();
+}
+
 int main(int argc, char* argv[]) {
 
-    CommandTab ct;
+    /*CommandTab ct;
     char str[500];
     int a;
     //Recup ligne
@@ -42,7 +68,9 @@ int main(int argc, char* argv[]) {
         printf("\n");
     }
     //Supprime
-    clean_command(&ct);
+    clean_command(&ct); */
+    cd(argc, argv);
     return (EXIT_SUCCESS);
+
 }