mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-02-22 07:05:07 +02:00
date: fix newly-introduced %%-N bug
* src/date.c (adjust_resolution): Don’t mishandle %%-N. * tests/misc/date.pl (pct-pct): New test.
This commit is contained in:
15
src/date.c
15
src/date.c
@@ -310,12 +310,17 @@ adjust_resolution (char const *format)
|
||||
char *copy = NULL;
|
||||
|
||||
for (char const *f = format; *f; f++)
|
||||
if (f[0] == '%' && f[1] == '-' && f[2] == 'N')
|
||||
if (f[0] == '%')
|
||||
{
|
||||
if (!copy)
|
||||
copy = xstrdup (format);
|
||||
copy[f + 1 - format] = '0' + res_width (gettime_res ());
|
||||
f += 2;
|
||||
if (f[1] == '-' && f[2] == 'N')
|
||||
{
|
||||
if (!copy)
|
||||
copy = xstrdup (format);
|
||||
copy[f + 1 - format] = '0' + res_width (gettime_res ());
|
||||
f += 2;
|
||||
}
|
||||
else
|
||||
f += f[1] == '%';
|
||||
}
|
||||
|
||||
return copy;
|
||||
|
||||
@@ -313,6 +313,9 @@ my @Tests =
|
||||
['mtz4', '-u -d "09:00T" +%T', {OUT => '16:00:00'}],
|
||||
['mtz5', '-u -d "09:00X" +%T', {OUT => '20:00:00'}],
|
||||
['mtz6', '-u -d "09:00Z" +%T', {OUT => '09:00:00'}],
|
||||
|
||||
# test with %%-N
|
||||
['pct-pct', '+%%-N', {OUT => '%-N'}],
|
||||
);
|
||||
|
||||
# Repeat the cross-dst test, using Jan 1, 2005 and every interval from 1..364.
|
||||
|
||||
Reference in New Issue
Block a user