2001-07-30 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_get_builtin_timezone):
changed the debugging message to avoid a crash on non-glibc boxes.
(Using %s with a NULL argument will crash them.)
svn path=/trunk/; revision=11492
2001-07-30 Damon Chaplin <damon@ximian.com>
* src/libical/icalcomponent.c (icalcomponent_merge_vtimezone): copy
the TZID just in case the property we got it from gets modified.
(icalcomponent_rename_tzids_callback): break out of the loop if we
have renamed the TZID parameter. Otherwise our tzid variable would be
invalid.
* scripts/mkderivedproperties.pl (fudge_data): changed this so we can
set EXDATEs that are DATE values, by checking the is_date field.
I'm not entirely sure this is the way it should be done.
If it is, I'll also do this for other things like DTSTART/DTEND.
* src/libical/icalrecur.c (icalrecurrencetype_as_string): handle
UNTIL as a DATE value as well as a DATE-TIME.
* src/libical/icalcomponent.c (icalcomponent_compare_vtimezones):
fixed stupid error, getting TZID property from wrong VTIMEZONE.
This would only have affected iTIP stuff, with VTIMEZONEs that don't
use the '/' prefix (i.e. from Outlook). It probably just meant we
kept multiple copies of the same VTIMEZONE.
* src/libical/icaltimezone.c: removed some debugging messages.
svn path=/trunk/; revision=11491
2001-07-26 JP Rosevear <jpr@ximian.com>
* src/libical/icalcomponent.c (icalcomponent_begin_component):
call pvl_next on i rather than itr.iter
svn path=/trunk/; revision=11439
2001-07-26 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_convert_time): if from_zone
is NULL (i.e. it is a floating time), just return.
svn path=/trunk/; revision=11435
2001-07-25 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c: accept an icaltimezone* of NULL for all
the public functions, since NULL is used to represent floating times.
svn path=/trunk/; revision=11413
2001-07-23 JP Rosevear <jpr@ximian.com>
* src/libical/icalparser.c: pass extra param to
icalparser_get_next_char
(icalparser_get_next_char): only use quote mode if the flag is set
svn path=/trunk/; revision=11326
2001-07-23 Damon Chaplin <damon@ximian.com>
* src/libical/icaltime.c (icaltime_day_of_year): changed so it doesn't
use mktime(). We are having problems because mktime() only works
post 1970.
svn path=/trunk/; revision=11325
2001-07-16 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_get_location_from_vtimezone): return NULL if we couldn't find the LOCATION.
(icaltimezone_get_utc_offset): ifdef'd out a debugging message.
(icaltimezone_get_location):
(icaltimezone_get_latitude):
(icaltimezone_get_longitude): don't load the builtin timezone for
these. We should already have the data from reading zones.tab.
(icaltimezone_get_builtin_timezone_from_tzid): return NULL if the TZID
given is NULL or "" (i.e. a floating time).
svn path=/trunk/; revision=11143
2001-07-10 Peter Williams <peterw@ximian.com>
* src/libicalss/Makefile.am (libicalss_la_SOURCES): Add the
COMBINEDHEADERS here and remove the EXTRA_DIST. This fixes distcheck.
We can't just put CONBINEDHEADERS at the bottom of _SOURCES because
of the $(srcdir).
svn path=/trunk/; revision=11040
2001-07-11 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c: only create the timezones array when we
need to, and make sure we free things when necessary.
Also added timezones_sorted variable, which we set to 0 when adding a
timezone. We then sort the array before doing binary searches (oops!)
* src/libical/icaltimezone.[hc]: added free_struct() arg to
icaltimezone_free() to specify whether to free the icaltimezone struct.
Also added icaltimezone_array_free() function.
svn path=/trunk/; revision=11026
2001-07-10 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_convert_time): don't convert
DATE values.
* src/libical/icaltime.c (icaltime_from_timet_with_zone):
(icaltime_as_timet_with_zone): changed so they do not convert DATE
values according to the timezone.
* src/libical/icaltime.[hc]: added icaltime_current_time_with_zone()
and icaltime_today() functions.
svn path=/trunk/; revision=10983
2001-07-09 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_convert_time): if the 2
zones are the same just return.
* src/libical/icaltime.c (icaltime_adjust): normalize the month.
svn path=/trunk/; revision=10944
2001-07-03 Damon Chaplin <damon@ximian.com>
* src/libical/icalcomponent.c (icalcomponent_add_component): add the
icaltimezone to the timezone array of the toplevel VCALENDAR component.
svn path=/trunk/; revision=10738
2001-07-03 Damon Chaplin <damon@ximian.com>
* src/libical/icalcomponent.c (icalcomponent_merge_component): fixed
bad assertion, '!=' -> '=='.
(icalcomponent_merge_vtimezone): get the TZID from vtimezone, not comp.
svn path=/trunk/; revision=10733
2001-06-14 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_get_latitude):
(icaltimezone_get_longitude): added functions to get the coords of
builtin timezones.
svn path=/trunk/; revision=10222
2001-06-13 Damon Chaplin <damon@ximian.com>
* src/libical/icalrecur.c: merged in some new stuff from libical CVS.
(icalrecur_add_byrules): If no sign is given set sign to 1 (i.e.
default to positive).
(icalrecur_iterator_new): when setting up the year days array, handle
the case where a year has no occurrences and we have to skip it.
Also initialize the last.day and last.month fields.
(expand_by_day): set the last day of the year explicitly rather than
adding 1 to year and subtracting 1 from day. It is more efficient,
and less prone to bugs. Also rewrote a bit.
(expand_year_days): added code to handle BY_MONTH_DAY and BY_DAY +
BY_MONTH_DAY, and rewrote code to handle BY_DAY + BY_MONTH.
(next_year): handled the case where there are no occurrences in the
year.
* src/libical/icaltime.c (icaltime_adjust): new function to adjust a
time by a number of days/hours/minutes/seconds.
(icaltime_day_of_week): rewrote using a single call to mktime().
(icaltime_day_of_year): rewrote using a single call to mktime().
(icaltime_from_day_of_year): rewrote in a simpler way. The old version
had a bug in it.
* src/libical/icaltime.h (struct icaltimetype): added is_daylight
flag, so we can try to distinguish between standard and daylight time
when the clocks go back. Though this doesn't always resolve the
ambiguity.
* src/libical/icalcomponent.c: added some stuff to handle timezone
data connected to the calendar component. Unfinished.
* src/libical/icalyacc.y: merged in a fix from sourceforge CVS version
of libical, so we can handle -ve UTC offsets.
* src/libical/Makefile.am (CPPFLAGS): added PACKAGE_DATA_DIR define
for finding the VTIMEZONE files.
(libical_la_SOURCES): added icalarray.[hc] and icaltimezone.[hc].
(COMBINEDHEADERS): added icalarray.h and icaltimezone.h to the headers
to be combined into ical.h.
svn path=/trunk/; revision=10220
2001-06-13 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.[hc]: new files to contain support for
timezones.
* src/libical/icalarray.[hc]: new files to provide a simple expanding
array datatype.
svn path=/trunk/; revision=10215
2001-05-16 JP Rosevear <jpr@ximian.com>
* src/libical/Makefile.am: Fixes to make it make dist and make
distcheck. Kind of kludgy but they seem to work. Time will tell.
svn path=/trunk/; revision=9841
2001-02-06 Christopher James Lahey <clahey@ximian.com>
* src/libical/icallangbind.c: Added a missing #include here.
* src/libical/icalrecur.c (icalrecur_add_bydayrules): Copy the
passed in const vals since we change it.
svn path=/trunk/; revision=8019
2001-02-05 JP Rosevear <jpr@ximian.com>
* src/libical/icallangbind.c (icallangbind_get_property): Use the
renamed api call
svn path=/trunk/; revision=8011