From: <li...@us...> - 2002-09-26 22:06:04
|
Update of /cvsroot/freeassociation/libical/src/libical In directory usw-pr-cvs1:/tmp/cvs-serv12960 Modified Files: icalduration.c Log Message: Do not cal icaldurationtype_is_null_duration() to see if there is an error condition. Null duration is perfectly valid for an alarm. Index: icalduration.c =================================================================== RCS file: /cvsroot/freeassociation/libical/src/libical/icalduration.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- icalduration.c 27 Jun 2002 01:16:59 -0000 1.13 +++ icalduration.c 26 Sep 2002 22:06:01 -0000 1.14 @@ -187,9 +187,7 @@ error: icalerror_set_errno(ICAL_MALFORMEDDATA_ERROR); - memset(&d, 0, sizeof(struct icaldurationtype)); - return d; - + return icaldurationtype_bad_duration(); } #define TMP_BUF_SIZE 1024 @@ -296,6 +294,25 @@ } } +/* in icalvalue_new_from_string_with_error, we should not call + icaldurationtype_is_null_duration() to see if there is an error + condition. Null duration is perfectly valid for an alarm. + We cannot depend on the caller to check icalerrno either, + following the philosophy of unix errno. we set the is_neg + to -1 to indicate that this is a bad duration. +*/ +struct icaldurationtype icaldurationtype_bad_duration() +{ + struct icaldurationtype d; + memset(&d,0,sizeof(struct icaldurationtype)); + d.is_neg = -1; + return d; +} + +int icaldurationtype_is_bad_duration(struct icaldurationtype d) +{ + return (d.is_neg == -1); +} struct icaltimetype icaltime_add(struct icaltimetype t, |