From: <li...@us...> - 2002-09-26 23:46:03
|
Update of /cvsroot/freeassociation/libical/src/libical In directory usw-pr-cvs1:/tmp/cvs-serv7388 Modified Files: icaltime.c Log Message: fix for bug if s2 totally contained s1 in overlap code Index: icaltime.c =================================================================== RCS file: /cvsroot/freeassociation/libical/src/libical/icaltime.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- icaltime.c 26 Sep 2002 22:09:01 -0000 1.43 +++ icaltime.c 26 Sep 2002 23:46:00 -0000 1.44 @@ -967,6 +967,7 @@ * * The result is calculated by testing if the start time of s1 is contained * by the s2 span, or if the end time of s1 is contained by the s2 span. + * * Also returns true if the spans are equal. * * Note, this will return false if the spans are adjacent. @@ -975,10 +976,20 @@ int icaltime_span_overlaps(icaltime_span *s1, icaltime_span *s2) { + /* s1->start in s2 */ if (s1->start > s2->start && s1->start < s2->end) return 1; + /* s1->end in s2 */ if (s1->end > s2->start && s1->end < s2->end) + return 1; + + /* s2->start in s1 */ + if (s2->start > s1->start && s2->start < s1->end) + return 1; + + /* s2->end in s1 */ + if (s2->end > s1->start && s2->end < s1->end) return 1; if (s1->start == s2->start && s1->end == s2->end) |