about summary refs log tree commit diff
path: root/lr.c
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2015-10-27 15:21:06 +0100
committerChristian Neukirchen <chneukirchen@gmail.com>2015-10-27 15:21:06 +0100
commitf89e2ed5d2f7455b698a8a90a4b11edf7c13a1b9 (patch)
tree374b96600b0a38fb326016bdcf7e117aef9313c9 /lr.c
parentd10807b8daf705c55f1f314a10a8a83a4dfb2fee (diff)
downloadlr-f89e2ed5d2f7455b698a8a90a4b11edf7c13a1b9.tar.gz
lr-f89e2ed5d2f7455b698a8a90a4b11edf7c13a1b9.tar.xz
lr-f89e2ed5d2f7455b698a8a90a4b11edf7c13a1b9.zip
add -S for BSD-style stat(1) output (not exactly the same)
Diffstat (limited to 'lr.c')
-rw-r--r--lr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lr.c b/lr.c
index 8a20bfe..816357e 100644
--- a/lr.c
+++ b/lr.c
@@ -78,6 +78,7 @@ static char default_format[] = "%p\\n";
 static char type_format[] = "%p%F\\n";
 static char long_format[] = "%M %n %u %g %s %TY-%Tm-%Td %TH:%TM %p%F%l\n";
 static char zero_format[] = "%p\\0";
+static char stat_format[] = "%D %i %M %n %u %g %R %s \"%Ab %Ad %AT %AY\" \"%Tb %Td %TT %TY\" \"%Cb %Cd %CT %CY\" %b %p\n";
 
 static void *users;
 static void *groups;
@@ -1257,7 +1258,7 @@ main(int argc, char *argv[])
 	ordering = default_ordering;
 	argv0 = argv[0];
 
-	while ((c = getopt(argc, argv, "01ADFHLQUdf:lho:st:x")) != -1)
+	while ((c = getopt(argc, argv, "01ADFHLQSUdf:lho:st:x")) != -1)
 		switch(c) {
 		case '0': format = zero_format; Qflag++; break;
 		case '1': expr = chain(expr, EXPR_AND, parse_expr("depth == 0 || prune")); break;
@@ -1267,6 +1268,7 @@ main(int argc, char *argv[])
 		case 'H': Hflag++; break;
 		case 'L': Lflag++; break;
 		case 'Q': Qflag++; break;
+		case 'S': format = stat_format; break;
 		case 'U': Uflag++; break;
 		case 'd': expr = chain(expr, EXPR_AND, parse_expr("type == d && prune || print")); break;
 		case 'f': format = optarg; break;
@@ -1277,7 +1279,7 @@ main(int argc, char *argv[])
 		case 't': expr = chain(expr, EXPR_AND, parse_expr(optarg)); break;
 		case 'x': xflag++; break;
 		default:
-			fprintf(stderr, "Usage: %s [-0|-F|-l|-f FMT] [-D] [-H|-L] [-1AQdhsx] [-U|-o ORD] [-t TEST]* PATH...\n", argv0);
+			fprintf(stderr, "Usage: %s [-0|-F|-l|-S|-f FMT] [-D] [-H|-L] [-1AQdhsx] [-U|-o ORD] [-t TEST]* PATH...\n", argv0);
 			exit(2);
 		}