]> Savannah Git Hosting - gnulib.git/commit
parse-datetime: fix debug message on lone year number
authorAssaf Gordon <assafgordon@gmail.com>
Thu, 5 Jan 2017 04:22:22 +0000 (23:22 -0500)
committerAssaf Gordon <assafgordon@gmail.com>
Thu, 5 Jan 2017 05:08:07 +0000 (00:08 -0500)
commit15b8f3046a25096ae479682127992816d6e14032
tree50f4531a94bd89158af01f2a84214f1ae342a8fd
parentc56e7fbb0321a78dfb66dc0fb797e8be5aa91fc7
parse-datetime: fix debug message on lone year number

Input dates such as
  date -d "Apr 11 22:59:00 2011"
are parsed as date (Apr 11, with default year 2016), then time, then a
number (2011). Based on the combination of previously seen tokens,
'digits_to_date_time' determines 2011 to be a year value.

This fixes the debug messages to correctly show the updated year.

Before:
    $ date --debug -d 'Apr 11 22:59:00 2011'
    date: parsed date part: (Y-M-D) 2016-04-11
    date: parsed time part: 22:59:00
    date: parsed number part: today/this/now

After:
    $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
    date: parsed date part: (Y-M-D) 2016-04-11
    date: parsed time part: 22:59:00
    date: parsed number part: year: 2011

* lib/parse-datetime.y (struct parser_control): Add 'year_seen',
'debug_year_seen' member fields.
(digits_to_date_time): Update 'year_seen' as needed.
(debug_print_current_time): Inform about year updates.
(parse_datetime2): Initialize year_seen,debug_year_seen member fields.
ChangeLog
lib/parse-datetime.y