Skip to content
Snippets Groups Projects
Commit 0f7560ff authored by Jung June Pyo's avatar Jung June Pyo
Browse files

final

parent b91da7f5
Branches
No related tags found
No related merge requests found
mysh 0 → 100755
File added
#include <string.h> #include <string.h>
#include <stdio.h>
#include "commands.h" #include "commands.h"
#include <unistd.h>
int do_cd(int argc, char** argv) { int do_cd(int argc, char** argv) {
if (!validate_cd_argv(argc, argv)) if (!validate_cd_argv(argc, argv))
return -1; return -1;
// TODO: Fill it! int i=chdir(argv[1]);
if(i==0)
{
return 0; return 0;
} }
else
return -1;
}
int do_pwd(int argc, char** argv) { int do_pwd(int argc, char** argv) {
if (!validate_pwd_argv(argc, argv)) if (!validate_pwd_argv(argc, argv))
...@@ -16,17 +23,30 @@ int do_pwd(int argc, char** argv) { ...@@ -16,17 +23,30 @@ int do_pwd(int argc, char** argv) {
// TODO: Fill it! // TODO: Fill it!
char buf[1000];
getcwd(buf,1000);
printf("%s\n",buf);
return 0; return 0;
} }
int validate_cd_argv(int argc, char** argv) { int validate_cd_argv(int argc, char** argv) {
// TODO: Fill it! // TODO: Fill it!
if(strcmp(argv[0],"cd")==0&&argc==2)
return 1; return 1;
else
return 0;
} }
int validate_pwd_argv(int argc, char** argv) { int validate_pwd_argv(int argc, char** argv) {
// TODO: Fill it! // TODO: Fill it!
if(strcmp(argv[0],"pwd")==0&&argc==1)
return 1; return 1;
else
return 0;
} }
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "utils.h" #include "utils.h"
void mysh_parse_command(const char* command, void mysh_parse_command(const char* command,
int *argc, char*** argv) int *argc, char*** argv)
{ {
// TODO: Fill this! // TODO: Fill this!
int n=0;
char *t;
char tmp[100];
*argc=0;
strcpy(tmp,command);
*argv=(char**)malloc(sizeof(char*)*50);
(*argv)[n]=(char*)malloc(sizeof(char)*50);
t=strtok(tmp," \n\t");
if(t==NULL)
{
strcpy((*argv)[n],"");
*argc=1;
return;
}
while(t!=NULL)
{
strcpy((*argv)[n++],t);
(*argv)[n]=(char*)malloc(sizeof(char)*50);
t=strtok(NULL," \n\t");
(*argc)++;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment