* getdate.y (get_date): When adding relative date, start with the
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 25 Apr 2006 10:30:13 +0000 (10:30 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 25 Apr 2006 10:30:13 +0000 (10:30 +0000)
initial time, not with the result of the first mktime call.

lib/ChangeLog
lib/getdate.y

index 9417d7d9dcc7606c54e04e9b70c32e9417b6656d..2bd50a790be91cfe6e5b09a206fdf6aecc9a567a 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * getdate.y (get_date): When adding relative date, start with the
+       initial time, not with the result of the first mktime call.
+
 2006-04-23  Bruno Haible  <bruno@clisp.org>
 
        * copy-file.c: Include <unistd.h> unconditionally.
index dafc0eae476ac0a646dc3c1c10c0b4d3112f990d..cfa299f38a4f9b2c55efd1b9a8123db193ad2ad3 100644 (file)
@@ -1,7 +1,7 @@
 %{
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005 Free Software
+   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -1437,6 +1437,10 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
          tm.tm_year = year;
          tm.tm_mon = month;
          tm.tm_mday = day;
+         tm.tm_hour = tm0.tm_hour;
+         tm.tm_min = tm0.tm_min;
+         tm.tm_sec = tm0.tm_sec;
+         tm.tm_isdst = tm0.tm_isdst;
          Start = mktime (&tm);
          if (Start == (time_t) -1)
            goto fail;