X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fls_src%2Fmain.c;h=4be8f0aead4a5c215e20b79b07075a54d1bf4399;hb=880dd63bfcba522dab0a75cc63fdec1d04ff8c89;hp=db5161306a98f5d1edfc5c11654b22af799a4deb;hpb=a98b0e6ff33593616a21337492bb2fd48e9e5845;p=tpg%2Facess2.git diff --git a/Usermode/Applications/ls_src/main.c b/Usermode/Applications/ls_src/main.c index db516130..4be8f0ae 100644 --- a/Usermode/Applications/ls_src/main.c +++ b/Usermode/Applications/ls_src/main.c @@ -152,7 +152,7 @@ void ParseArguments(int argc, char *argv[]) // Human readable sizes case 'h': gbViewHumanReadable = 1; continue; default: - fprintf(stderr, "%s: Unknown option '%c'\n", *str); + fprintf(stderr, "%s: Unknown option '%c'\n", argv[0], *str); ShowUsage(argv[0]); exit(EXIT_FAILURE); } @@ -243,19 +243,19 @@ 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 @@ -283,22 +283,22 @@ void DisplayFile(char *Filename) printf("%s %4i %4i ", permStr, owner, group); if(gbViewHumanReadable && type != FTYPE_DIR) { if(size < 2048) { // < 2 KiB - printf("%4i B ", size); + printf("%4lli B ", size); } else if(size < 2048*1024) { // < 2 MiB - printf("%4i KiB ", size>>10); + printf("%4lli KiB ", size>>10); } else if(size < (uint64_t)2048*1024*1024) { // < 2 GiB - printf("%4i MiB ", size>>20); + printf("%4lli MiB ", size>>20); } else if(size < (uint64_t)2048*1024*1024*1024) { // < 2 TiB - printf("%4i GiB ", size>>30); + printf("%4lli GiB ", size>>30); } else { // Greater than 2 TiB (if your files are larger than this, you are Doing It Wrong [TM]) - printf("%4i TiB ", size>>40); + printf("%4lli TiB ", size>>40); } } else { - printf("%8i ", size); + printf("%8lli ", size); } }