# # # patch "dates.cc" # from [4504adebcdac548ee92167c2c67687d45ea1d789] # to [3f7f83561d9594b6fc74d4b24a02cd7d94808bdb] # # patch "dates.hh" # from [2e9609418162993da7cd46685ce6741e28a713d6] # to [7dd8b63997ff238d8a77cf4afd11d63ad4fdaee6] # ============================================================ --- dates.cc 4504adebcdac548ee92167c2c67687d45ea1d789 +++ dates.cc 3f7f83561d9594b6fc74d4b24a02cd7d94808bdb @@ -47,6 +47,12 @@ date_t::date_t(int sec, int min, int hou date_t::date_t(int sec, int min, int hour, int day, int month, int year) { + date_t(0, sec, min, hour, day, month, year); +} + +date_t::date_t(int millisecs, int sec, int min, int hour, int day, int month, + int year) +{ // general validity checks I((year >= 1970) && (year <= 9999)); I((month >= 1) && (month <= 12)); @@ -54,8 +60,10 @@ date_t::date_t(int sec, int min, int hou I((hour >= 0) && (hour < 24)); I((min >= 0) && (min < 60)); I((sec >= 0) && (sec < 60)); + I((millisecs >= 0) && (millisecs < 1000)); broken_down_time t; + t.millisecs = millisecs; t.sec = sec; t.min = min; t.hour = hour; @@ -266,6 +274,7 @@ date_t::our_gmtime(broken_down_time & tm msec = msofmin % SEC; // fill in the result + tm.millisecs = msec; tm.sec = sec; tm.min = min; tm.hour = hour; @@ -277,7 +286,8 @@ date_t::our_mktime(broken_down_time cons void date_t::our_mktime(broken_down_time const & tm) { - d = tm.sec * SEC; + d = tm.millisecs; + d += tm.sec * SEC; d += tm.min * MIN; d += tm.hour * HOUR; d += tm.day * DAY; ============================================================ --- dates.hh 2e9609418162993da7cd46685ce6741e28a713d6 +++ dates.hh 7dd8b63997ff238d8a77cf4afd11d63ad4fdaee6 @@ -19,6 +19,7 @@ struct broken_down_time { // Our own "struct tm"-like struct to represent broken-down times struct broken_down_time { + int millisecs; /* milliseconds */ int sec; /* seconds */ int min; /* minutes */ int hour; /* hours */ @@ -37,6 +38,8 @@ struct date_t // Initialize from broken-down time date_t(int sec, int min, int hour, int day, int month, int year); + date_t(int millisecs, int sec, int min, int hour, int day, int month, + int year); bool valid() const;