From 9d4a399a29f1eb97bb6495e09adc0c3168eb15d8 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Thu, 22 Oct 2015 23:28:31 +0200 Subject: add %u %U %g %G --- lr.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lr.c') diff --git a/lr.c b/lr.c index 50c0ca5..aab2d90 100644 --- a/lr.c +++ b/lr.c @@ -24,6 +24,8 @@ TODO: #include #include #include +#include +#include #include #include #include @@ -598,6 +600,33 @@ print(const void *nodep, const VISIT which, const int depth) printf("%s", buf); break; } + + case 'g': + { + struct group *g = getgrgid(fi->sb.st_gid); + if (g) { + printf("%*s", -gwid, g->gr_name); + break; + } + /* FALLTHRU */ + } + case 'G': + printf("%*ld", gwid, fi->sb.st_gid); + break; + + case 'u': + { + struct passwd *p = getpwuid(fi->sb.st_uid); + if (p) { + printf("%*s", -uwid, p->pw_name); + break; + } + /* FALLTHRU */ + } + case 'U': + printf("%*ld", uwid, fi->sb.st_uid); + break; + default: putchar('%'); putchar(*s); -- cgit 1.4.1