From ce7f23bcc45aa311fb579f7bf2e47c5c9ffd4eb3 Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Sat, 4 Jun 2016 15:14:59 +0100 Subject: [PATCH] Fill in group name for `ls` --- src/ls/ls.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ls/ls.rs b/src/ls/ls.rs index a2f04d3a9..d414a1ac8 100644 --- a/src/ls/ls.rs +++ b/src/ls/ls.rs @@ -177,7 +177,13 @@ fn display_uname(metadata: &Metadata) -> String { fn display_group(metadata: &Metadata) -> String { use std::os::unix::fs::MetadataExt; - metadata.uid().to_string() + + let ent = unsafe { getgrgid(metadata.gid()) }; + if !ent.is_null() { + cstr2string(unsafe { ptr::read(ent).gr_name }) + } else { + metadata.gid().to_string() + } } fn display_file_size(metadata: &Metadata, options: &getopts::Matches) -> String {