diff options
author | joe <joe@FreeBSD.org> | 2000-06-21 21:49:57 +0000 |
---|---|---|
committer | joe <joe@FreeBSD.org> | 2000-06-21 21:49:57 +0000 |
commit | c770aa710491cfb057c17c5b84d7e0b363b8d442 (patch) | |
tree | 9cc4de90cdbba5239cb2827f932ee35812058a4e /bin | |
parent | f54bc452b5e800fbd19b87897b190c297bcff150 (diff) | |
download | FreeBSD-src-c770aa710491cfb057c17c5b84d7e0b363b8d442.zip FreeBSD-src-c770aa710491cfb057c17c5b84d7e0b363b8d442.tar.gz |
I broke locale sensitive ordering of date and month in
the long -l output format with the last commit. Fix it
by replacing the "%b %e" strftime format with "%Ef".
Make a note in the manual page that the LANG environment
variable affects the running of ls.
Reviewed by: ache
Diffstat (limited to 'bin')
-rw-r--r-- | bin/ls/ls.1 | 7 | ||||
-rw-r--r-- | bin/ls/print.c | 15 |
2 files changed, 16 insertions, 6 deletions
diff --git a/bin/ls/ls.1 b/bin/ls/ls.1 index 45ca9ba..2685806 100644 --- a/bin/ls/ls.1 +++ b/bin/ls/ls.1 @@ -392,6 +392,13 @@ The timezone to use when displaying dates. See .Xr environ 7 for more information. +.It Ev LANG +The locale to use when determining the order of day and month in the long +.Fl l +format output. +See +.Xr environ 7 +for more information. .It LSCOLORS The value of this variable describes what color to use for which attribute when the color output diff --git a/bin/ls/print.c b/bin/ls/print.c index d397c1c..736754a 100644 --- a/bin/ls/print.c +++ b/bin/ls/print.c @@ -301,15 +301,18 @@ printtime(ftime) now = time(NULL); #define SIXMONTHS ((365 / 2) * 86400) + /* "%Ef" is a FreeBSD strftime definition for "%e %b" or "%b %e". + * Actually format is locale sensitive. + */ if (f_sectime) - /* Mmm dd hh:mm:ss yyyy */ - format = "%b %e %T %Y "; + /* mmm dd hh:mm:ss yyyy || dd mmm hh:mm:ss yyyy */ + format = "%Ef %T %Y "; else if (ftime + SIXMONTHS > now && ftime < now + SIXMONTHS) - /* Mmm dd hh:mm */ - format = "%b %e %R "; + /* mmm dd hh:mm || dd mmm hh:mm */ + format = "%Ef %R "; else - /* Mmm dd yyyy */ - format = "%b %e %Y "; + /* mmm dd yyyy || dd mmm yyyy */ + format = "%Ef %Y "; strftime(longstring, sizeof(longstring), format, localtime(&ftime)); fputs(longstring, stdout); } |