summaryrefslogtreecommitdiff
path: root/userspace/ls.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-11-24 11:07:32 +0100
committerMichal Idziorek <m.i@gmx.at>2014-11-24 11:07:32 +0100
commita06d25b7afcd8b28ca001349634abaef87958fdc (patch)
tree58d282a899fbf13562d0a846351aa93115850a23 /userspace/ls.c
parent1cb7a6bd1ab40188987feeaeefce021d441819e6 (diff)
implemented basic 'cd' in foolshell
Diffstat (limited to 'userspace/ls.c')
-rw-r--r--userspace/ls.c24
1 files changed, 13 insertions, 11 deletions
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];
}
}