From 09a2df20e03a90550a43e142a207560d34a6c4a0 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Wed, 22 Oct 2014 11:30:31 +0200 Subject: simple tokenizer for the foolshell --- userspace/foolshell.c | 54 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 6 deletions(-) (limited to 'userspace/foolshell.c') diff --git a/userspace/foolshell.c b/userspace/foolshell.c index 7a029ef..173b0b2 100644 --- a/userspace/foolshell.c +++ b/userspace/foolshell.c @@ -27,19 +27,61 @@ int main(int argc, char **argv) { prompt(); fgets(buf,255,input); - buf[strlen(buf)-1]=0; -// puts(buf); + buf[strlen(buf)-1]=0; // remove \n process(buf); + } + + return 0; +} + +char **tokenize(char *buf) +{ + + char **token; + token=malloc(10*sizeof(char*)); + + int l=strlen(buf); + + int i; + int c=0; + + for(i=0;i\n",c, token[c]); + c++; } + return token; - return 0; } -int process(char *command) +int process(char *buf) { - // copied from trottelshell + + char **token=tokenize(buf); + char *command=token[0]; + // puts(command); + // copied from trottelshell if(!strcmp(command,"HELP")) { @@ -102,7 +144,7 @@ int process(char *command) else if(!strcmp(command,"ECHO")) { - printf("%s\n",command); + printf("%s\n",token[1]); } else -- cgit v1.2.3