From a06d25b7afcd8b28ca001349634abaef87958fdc Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Mon, 24 Nov 2014 11:07:32 +0100 Subject: implemented basic 'cd' in foolshell --- userspace/ls.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'userspace/ls.c') diff --git a/userspace/ls.c b/userspace/ls.c index 4cbcb6d..1cbb065 100644 --- a/userspace/ls.c +++ b/userspace/ls.c @@ -1,28 +1,30 @@ -#include "../fs/fs.h" +#include "fs/fs.h" void usage() { puts("ls [inode_nr]"); } + + int main(int argc, char **argv) { - char *dir; + fs_dirent *dirs=malloc(sizeof(fs_dirent)*25); + char *dir=getenv("PWD"); +// printf("PWD = %s\n",dir); - if(argc!=2) - { - dir=getenv("PWD"); - } - else + if(argc==2) { - if(argv[1][0]=="/")dir=argv[1]; - else + if(argv[1][0]!='/') { char buf[256]; - sprintf(buf,"%s/%s",getenv("PWD"),argv[1]); + sprintf(buf,"%s/%s",dir,argv[1]); dir=buf; - + } + else + { + dir=argv[1]; } } -- cgit v1.2.3