2001-08-31 Damon Chaplin <damon@ximian.com>
* zoneinfo/*: updated all of the VTIMEZONE files to try to be more
compatable with Outlook. i.e. We don't use seconds in UTC offsets,
we don't use BYMONTHDAY if we can avoid it (there are still a few uses
of this we need to fix), and we don't use years < 1600.
* src/libical/icalvalue.c (icalvalue_utcoffset_as_ical_string): if
seconds is 0 then don't output it. None of the builtin VTIMEZONE data
uses the seconds value any more, since it messes up iTIP with Outlook.
We may want to make it always round to the nearest minute, to avoid
interop problems.
svn path=/trunk/; revision=12551
2001-08-16 Federico Mena Quintero <federico@ximian.com>
* src/libical/icalvalue.c (icalmemory_strdup_and_dequote): Dequote
the same characters that we know how to quote in
icalvalue_text_as_ical_string(). Fixes Ximian bug #7433.
svn path=/trunk/; revision=12115
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-28 Peter Williams <peterw@ximian.com>
* zoneinfo/Makefile.am (dist-hook): Add $(srcdir) as in install-data-local
rule.
svn path=/trunk/; revision=10605
2001-06-28 Damon Chaplin <damon@ximian.com>
* configure.in: commented out AC_DEFINE(ICAL_ERRORS_ARE_FATAL,1).
We only want it to abort when there is no possibility of carrying on.
svn path=/trunk/; revision=10581
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-06-13 Damon Chaplin <damon@ximian.com>
* Makefile.am (SUBDIRS): added zoneinfo.
* configure.in (AC_OUTPUT): added zoneinfo/Makefile.
* zoneinfo/Makefile.am: new file to install & distribute the
VTIMEZONE data files, and the zones.tab file.
* zoneinfo/zones.tab: new file containing a list of all timezones
and their coordinates (so we can mark them on the world map).
* zoneinfo/*: Lots of VTIMEZONE data files added, one per timezone.
svn path=/trunk/; revision=10214
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-04-17 JP Rosevear <jpr@ximian.com>
* Remove more generated files. Apparently i forgot to run make
maintainer clean.
svn path=/trunk/; revision=9422