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
This commit is contained in:
joe 2000-06-21 21:49:57 +00:00
parent 56d9e98833
commit e0a33989f0
2 changed files with 16 additions and 6 deletions

View File

@ -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

View File

@ -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);
}