From: Jim Meyering Date: Wed, 31 Oct 2007 19:32:07 +0000 (+0100) Subject: Treat an empty date string exactly like "0". X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84005a980aeccf3c9ab68b01ac0964fa0b40212c;p=pspp Treat an empty date string exactly like "0". * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed, if the remaining date string (to be parsed) is empty, use "0". Reported by Mischa Molhoek and discussed in this thread: . --- diff --git a/ChangeLog b/ChangeLog index d3b165205d..c5348926b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-11-01 Jim Meyering + + Treat an empty date string exactly like "0". + * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed, + if the remaining date string (to be parsed) is empty, use "0". + Reported by Mischa Molhoek and discussed in this thread: + . + 2007-10-31 Bruno Haible * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use diff --git a/lib/getdate.y b/lib/getdate.y index 80e484d2fe..591c7f0fca 100644 --- a/lib/getdate.y +++ b/lib/getdate.y @@ -1238,6 +1238,12 @@ get_date (struct timespec *result, char const *p, struct timespec const *now) } } + /* As documented, be careful to treat the empty string just like + a date string of "0". Without this, an empty string would be + declared invalid when parsed during a DST transition. */ + if (*p == '\0') + p = "0"; + pc.input = p; pc.year.value = tmp->tm_year; pc.year.value += TM_YEAR_BASE;