[Freeassociation-devel] libical fixes for review (and commit if ok please)

Gren Elliot gren.elliot at scalix.com
Wed Aug 5 05:43:13 PDT 2009


Hi Libical maintainers,

We (Scalix) have a few fixes which we hope will make the shiny new 
release you appear to be planning. I do not have commit access to SVN. 
So, if the fixes look good to you, please could someone commit them. 
Alternatively, how do I go about becoming a developer with commit access 
(and what is the associated protocol for making fixes).

The first bug is that "icalproperty_recurrence_is_excluded" ignores 
timezone associated with an EXDATE
The new code uses "icalcomponent_get_datetime" instead of 
"icalproperty_get_exdate" so that the related timezone can be found.

Whilst in icalcomponent.c, I replaced "()" with "(void)" for some 
functions and function prototypes to avoid loads of "warning: function 
declaration isn’t a prototype" errors which we have enabled for our 
product builds. There is a precedent for this style already in the 
libical code. (I have a few more of the same change for other source 
files/headers I would like to make too).

Finally, a fix for the bug that DTSTART values are incorrect in 
VTIMEZONE components derived automatically from Olsen tzdata information
e.g. for Europe/Zurich "icaltzutil_fetch_timezone"
yields STANDARD DTSTART = 19701025T020000
and DAYLIGHT DTSTART = 19700328T030000
However, the source file zoneinfo/Europe/Zurich.ics in SVN
yields STANDARD DTSTART = 19701025T030000
and DAYLIGHT DTSTART = 19700329T020000

I found http://tools.ietf.org/html/draft-ietf-calsify-rfc2445bis-10 a 
bit confusing, so I queried the difference in the ietf-calsify list and 
was pointed to the following by Bernard Desruisseaux :

See Section 3.6.5. Time Zone Component:

 > The mandatory "DTSTART" property gives the effective onset date
 > and local time for the time zone sub-component definition.
 > "DTSTART" in this usage MUST be specified as a date with local
 > time value.
 >
 > The mandatory "TZOFFSETFROM" property gives the UTC offset which
 > is in use when the onset of this time zone observance begins.
 > "TZOFFSETFROM" is combined with "DTSTART" to define the effective
 > onset for the time zone sub-component definition. For example,
 > the following represents the time at which the observance of
 > Standard Time took effect in Fall 1967 for New York City:
 >
 > DTSTART:19671029T020000
 >
 > TZOFFSETFROM:-0400

Changes to src/libical/icaltz-util.c do what I believe is correct which 
is to specify DTSTART with reference to the "TZOFFSETFROM" UTC offset 
rather than "TZOFFSETTO".

Regards and thanks in anticipation,
Gren.

-- 
Gren Elliot
Senior Software Engineer
*Scalix*
gren.elliot at scalix.com
Tel: +44 1344 381812
www.scalix.com

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: scalix-libical2-0.43-FromSVNr948.patch
URL: <http://lists.infradead.org/pipermail/libical-devel/attachments/20090805/075c52a9/attachment.ksh>


More information about the libical-devel mailing list