mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-21 03:12:48 +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;
|
char *copy = NULL;
|
||||||
|
|
||||||
for (char const *f = format; *f; f++)
|
for (char const *f = format; *f; f++)
|
||||||
if (f[0] == '%' && f[1] == '-' && f[2] == 'N')
|
if (f[0] == '%')
|
||||||
{
|
{
|
||||||
if (!copy)
|
if (f[1] == '-' && f[2] == 'N')
|
||||||
copy = xstrdup (format);
|
{
|
||||||
copy[f + 1 - format] = '0' + res_width (gettime_res ());
|
if (!copy)
|
||||||
f += 2;
|
copy = xstrdup (format);
|
||||||
|
copy[f + 1 - format] = '0' + res_width (gettime_res ());
|
||||||
|
f += 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
f += f[1] == '%';
|
||||||
}
|
}
|
||||||
|
|
||||||
return copy;
|
return copy;
|
||||||
|
|||||||
@@ -313,6 +313,9 @@ my @Tests =
|
|||||||
['mtz4', '-u -d "09:00T" +%T', {OUT => '16:00:00'}],
|
['mtz4', '-u -d "09:00T" +%T', {OUT => '16:00:00'}],
|
||||||
['mtz5', '-u -d "09:00X" +%T', {OUT => '20:00:00'}],
|
['mtz5', '-u -d "09:00X" +%T', {OUT => '20:00:00'}],
|
||||||
['mtz6', '-u -d "09:00Z" +%T', {OUT => '09: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.
|
# Repeat the cross-dst test, using Jan 1, 2005 and every interval from 1..364.
|
||||||
|
|||||||
Reference in New Issue
Block a user