calendarspec: always interpret missing seconds as :00 (#4813)
"*:*" should be equivalent to "*-*-* *:*:00" (minutely) rather than running every microsecond. Fixes #4804
This commit is contained in:
parent
9c77d1079d
commit
c0df71fa36
|
@ -752,12 +752,8 @@ static int parse_calendar_time(const char **p, CalendarSpec *c) {
|
|||
goto fail;
|
||||
|
||||
/* Already at the end? Then it's hours and minutes, and seconds are 0 */
|
||||
if (*t == 0) {
|
||||
if (m != NULL)
|
||||
goto null_second;
|
||||
|
||||
goto finish;
|
||||
}
|
||||
if (*t == 0)
|
||||
goto null_second;
|
||||
|
||||
if (*t != ':') {
|
||||
r = -EINVAL;
|
||||
|
|
|
@ -186,6 +186,9 @@ int main(int argc, char* argv[]) {
|
|||
test_one("Monday *-*-*", "Mon *-*-* 00:00:00");
|
||||
test_one("*-*-*", "*-*-* 00:00:00");
|
||||
test_one("*:*:*", "*-*-* *:*:*");
|
||||
test_one("*:*", "*-*-* *:*:00");
|
||||
test_one("12:*", "*-*-* 12:*:00");
|
||||
test_one("*:30", "*-*-* *:30:00");
|
||||
|
||||
test_next("2016-03-27 03:17:00", "", 12345, 1459048620000000);
|
||||
test_next("2016-03-27 03:17:00", "CET", 12345, 1459041420000000);
|
||||
|
|
Loading…
Reference in a new issue