X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fls_src%2Fmain.c;h=6ea4da0c87d9594a174f87bbd9a7f6c998ecf0c5;hb=dc30fc07186728379a6afbdc7f68f929ba0ca03b;hp=3ae63fd936883e238c18ef905831f46311814825;hpb=a2210987109ab5a6337c72b45f7e52cfc9092f8f;p=tpg%2Facess2.git diff --git a/Usermode/Applications/ls_src/main.c b/Usermode/Applications/ls_src/main.c index 3ae63fd9..6ea4da0c 100644 --- a/Usermode/Applications/ls_src/main.c +++ b/Usermode/Applications/ls_src/main.c @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) } // Traverse Directory - while( (tmp = readdir(fd, buf)) ) + while( (tmp = readdir(fd, buf)) > 0 ) { // Error check if(tmp < 0) { @@ -243,23 +243,26 @@ void DisplayFile(char *Filename) // Get Permissions // - Owner - acl.group = 0; acl.id = info.uid; + acl.object = info.uid; _SysGetACL(fd, &acl); if(acl.perms & 1) perms |= 0400; // R if(acl.perms & 2) perms |= 0200; // W if(acl.perms & 8) perms |= 0100; // X // - Group - acl.group = 1; acl.id = info.gid; + acl.object = info.gid | 0x80000000; _SysGetACL(fd, &acl); if(acl.perms & 1) perms |= 0040; // R if(acl.perms & 2) perms |= 0020; // W if(acl.perms & 8) perms |= 0010; // X // - World - acl.group = 1; acl.id = -1; + acl.object = 0xFFFFFFFF; _SysGetACL(fd, &acl); if(acl.perms & 1) perms |= 0004; // R if(acl.perms & 2) perms |= 0002; // W if(acl.perms & 8) perms |= 0001; // X + + // Close file + close(fd); } free(path); // We're finished with it @@ -291,7 +294,7 @@ void DisplayFile(char *Filename) else if(size < (uint64_t)2048*1024*1024*1024) { // < 2 TiB printf("%4i GiB ", size>>30); } - else { // Greater than 2 TiB + else { // Greater than 2 TiB (if your files are larger than this, you are Doing It Wrong [TM]) printf("%4i TiB ", size>>40); } } else {