blob: 1cbb065a61f86a114b0406de3bc8e19d9e9badf1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#include "fs/fs.h"
void usage()
{
puts("ls [inode_nr]");
}
int main(int argc, char **argv)
{
fs_dirent *dirs=malloc(sizeof(fs_dirent)*25);
char *dir=getenv("PWD");
// printf("PWD = %s\n",dir);
if(argc==2)
{
if(argv[1][0]!='/')
{
char buf[256];
sprintf(buf,"%s/%s",dir,argv[1]);
dir=buf;
}
else
{
dir=argv[1];
}
}
int ls=readdir(dir,dirs,25);
if(ls==-1)
{
printf("%s: file or directory '%s' not found.\n",argv[0],dir);
return 0;
}
int i;
for(i=0;i<ls;i++)
{
printf("%i %s%c\n",dirs[i].inode, dirs[i].name, ((dirs[i].type==FS_FILE_TYPE_DIR)?'/':' '));
}
return 0;
}
|