From 1ff67f6c5cc2ef87cfcdf2b97f3eb27cfd569ba8 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 12 Nov 2000 09:48:14 +0000 Subject: (): Include if HAVE_LANGINFO_H. (DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c. (print_long_format): Use it to determine "date" format. Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in incorrect behavior when LC_ALL is unset, LC_TIME is "C", and LC_MESSAGES or LANG is set to something disagreeing with the POSIX locale. --- src/ls.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ls.c b/src/ls.c index f15802ed3..528025cba 100644 --- a/src/ls.c +++ b/src/ls.c @@ -114,6 +114,15 @@ int wcwidth (); # endif #endif +#if HAVE_LANGINFO_H +# include +#endif +#ifdef _DATE_FMT +# define DATE_FMT_LANGINFO() nl_langinfo (_DATE_FMT) +#else +# define DATE_FMT_LANGINFO() "" +#endif + #include "system.h" #include @@ -2370,7 +2379,8 @@ print_long_format (const struct fileinfo *f) if (full_time) { - fmt = _("%a %b %d %H:%M:%S %Y"); + char *date_fmt = DATE_FMT_LANGINFO (); + fmt = *date_fmt ? date_fmt : "%a %b %e %H:%M:%S %Z %Y"; } else { @@ -2383,11 +2393,11 @@ print_long_format (const struct fileinfo *f) Allow a 1 hour slop factor for what is considered "the future", to allow for NFS server/client clock disagreement. Show the year instead of the time of day. */ - fmt = _("%b %e %Y"); + fmt = "%b %e %Y"; } else { - fmt = _("%b %e %H:%M"); + fmt = "%b %e %H:%M"; } } -- cgit v1.2.3-54-g00ecf