From: Daming Yang Date: Tue, 19 Feb 2019 04:04:08 +0000 (-0800) Subject: ls: better align month abbreviations containing digits X-Git-Tag: v8.31~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1ac4786537bb0e414ba09f3f11430bd9317c96d;p=thirdparty%2Fcoreutils.git ls: better align month abbreviations containing digits * src/ls.c (abmon_init): Align numeric abbreviations right. * NEWS: Mention the improvement. --- diff --git a/NEWS b/NEWS index fdde47593b..e400554bbb 100644 --- a/NEWS +++ b/NEWS @@ -75,6 +75,9 @@ GNU coreutils NEWS -*- outline -*- ** Improvements + ls -l now better aligns abbreviated months containing digits, + which is common in Asian locales. + stat and tail now know about the "sdcardfs" file system on Android. stat -f -c%T now reports the file system type, and tail -f uses inotify. diff --git a/src/ls.c b/src/ls.c index 243c1860a3..120ce153e3 100644 --- a/src/ls.c +++ b/src/ls.c @@ -1131,8 +1131,10 @@ abmon_init (char abmon[12][ABFORMAT_SIZE]) char const *abbr = nl_langinfo (ABMON_1 + i); if (strchr (abbr, '%')) return false; + mbs_align_t alignment = isdigit (to_uchar (*abbr)) + ? MBS_ALIGN_RIGHT : MBS_ALIGN_LEFT; size_t req = mbsalign (abbr, abmon[i], ABFORMAT_SIZE, - &width, MBS_ALIGN_LEFT, 0); + &width, alignment, 0); if (! (req < ABFORMAT_SIZE)) return false; required_mon_width = MAX (required_mon_width, width);