calendarspec: fix duplicate detection (#5310)
a2eb5ea79c added a new field to `CalendarComponent`; update
`normalize_chain` to compare all fields when dropping duplicates
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
0d7578dc30
commit
963e3d8373
@@ -116,8 +116,7 @@ static void normalize_chain(CalendarComponent **c) {
|
||||
|
||||
/* Drop non-unique entries */
|
||||
for (k = n-1; k > 0; k--) {
|
||||
if (b[k-1]->start == next->start &&
|
||||
b[k-1]->repeat == next->repeat) {
|
||||
if (component_compare(&b[k-1], &next) == 0) {
|
||||
free(b[k-1]);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -192,6 +192,7 @@ int main(int argc, char* argv[]) {
|
||||
test_one("00..07-*-*", "2000..2007-*-* 00:00:00");
|
||||
test_one("*:20..39/5", "*-*-* *:20..35/5:00");
|
||||
test_one("00:00:20..40/1", "*-*-* 00:00:20..40");
|
||||
test_one("*~03/1,03..05", "*-*~03/1,03..05 00:00:00");
|
||||
|
||||
test_next("2016-03-27 03:17:00", "", 12345, 1459048620000000);
|
||||
test_next("2016-03-27 03:17:00", "CET", 12345, 1459041420000000);
|
||||
|
||||
Reference in New Issue
Block a user