From de46951fcff85cff53fec4bae4d04772f20ef854 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Mon, 24 Apr 2000 20:07:19 +0000 Subject: convert from a time_t to an icaldurationtype. * src/libical/icaltypes.c (icaldurationtype_from_timet): convert from a time_t to an icaldurationtype. svn path=/trunk/; revision=2589 --- libical/ChangeLog | 5 +++++ libical/src/libical/icaltypes.c | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'libical') diff --git a/libical/ChangeLog b/libical/ChangeLog index 4b226ac5a6..887b96d5a6 100644 --- a/libical/ChangeLog +++ b/libical/ChangeLog @@ -1,3 +1,8 @@ +2000-04-24 Seth Alves + + * src/libical/icaltypes.c (icaldurationtype_from_timet): convert + from a time_t to an icaldurationtype. + 2000-03-17 Eric Busboom * icalstore.c Vastly improved icalstore_test. diff --git a/libical/src/libical/icaltypes.c b/libical/src/libical/icaltypes.c index 2800b4857f..25e0e12b48 100644 --- a/libical/src/libical/icaltypes.c +++ b/libical/src/libical/icaltypes.c @@ -193,6 +193,25 @@ time_t icaldurationtype_as_timet(struct icaldurationtype dur) } +struct icaldurationtype icaldurationtype_from_timet(time_t t) +{ + struct icaldurationtype dur; + time_t used = 0; + + dur.weeks = (t - used) / (60 * 60 * 24 * 7); + used += dur.weeks * (60 * 60 * 24 * 7); + dur.days = (t - used) / (60 * 60 * 24); + used += dur.days * (60 * 60 * 24); + dur.hours = (t - used) / (60 * 60); + used += dur.hours * (60 * 60); + dur.minutes = (t - used) / (60); + used += dur.minutes * (60); + dur.seconds = (t - used); + + return dur; +} + + void icalrecurrencetype_clear(struct icalrecurrencetype *recur) { memset(recur,ICAL_RECURRENCE_ARRAY_MAX_BYTE, -- cgit