summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Murchison <murch@fastmail.com>2021-03-18 11:43:12 -0400
committerAllen Winter <allen.winter@kdab.com>2021-04-11 14:29:16 -0400
commit45ad8c0a2014998aceb289ffbedf0d4f01892666 (patch)
tree276b2bc22b043aa4352a7a2dff47dcd1faf221d3
parent857f27b88e06db0de71a4c269d40759b97a02f6f (diff)
downloadlibical-git-45ad8c0a2014998aceb289ffbedf0d4f01892666.tar.gz
Added initializers for structured types
-rw-r--r--src/libical/icalduration.h2
-rw-r--r--src/libical/icalperiod.h6
-rw-r--r--src/libical/icalrecur.h19
-rw-r--r--src/libical/icaltime.h2
4 files changed, 29 insertions, 0 deletions
diff --git a/src/libical/icalduration.h b/src/libical/icalduration.h
index 64e51519..5618de01 100644
--- a/src/libical/icalduration.h
+++ b/src/libical/icalduration.h
@@ -43,6 +43,8 @@ struct icaldurationtype
unsigned int seconds;
};
+#define ICALDURATIONTYPE_INITIALIZER { 0, 0, 0, 0, 0, 0 }
+
/**
* @brief Creates a new ::icaldurationtype from a duration in seconds.
* @param t The duration in seconds
diff --git a/src/libical/icalperiod.h b/src/libical/icalperiod.h
index 6f2be741..6d2e72c0 100644
--- a/src/libical/icalperiod.h
+++ b/src/libical/icalperiod.h
@@ -41,6 +41,12 @@ struct icalperiodtype
struct icaldurationtype duration;
};
+#define ICALPERIODTYPE_INITIALIZER { \
+ ICALTIMETYPE_INITIALIZER, \
+ ICALTIMETYPE_INITIALIZER, \
+ ICALDURATIONTYPE_INITIALIZER \
+}
+
/**
* @brief Constructs a new ::icalperiodtype from @a str
* @param str The string from which to construct a time period
diff --git a/src/libical/icalrecur.h b/src/libical/icalrecur.h
index dea9144b..2ae9c02d 100644
--- a/src/libical/icalrecur.h
+++ b/src/libical/icalrecur.h
@@ -200,6 +200,25 @@ struct icalrecurrencetype
icalrecurrencetype_skip skip;
};
+#define ICALRECURRENCETYPE_INITIALIZER { \
+ ICAL_NO_RECURRENCE, /* freq */ \
+ ICALTIMETYPE_INITIALIZER, /* until */ \
+ 0, /* count */ \
+ 1, /* interval */ \
+ ICAL_MONDAY_WEEKDAY, /* week_start */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_second */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_minute */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_hour */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_day */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_month_day */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_year_day */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_week_no */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_month */ \
+ { ICAL_RECURRENCE_ARRAY_MAX_BYTE }, /* by_set_pos */ \
+ NULL, /* rscale */ \
+ ICAL_SKIP_OMIT /* skip */ \
+}
+
LIBICAL_ICAL_EXPORT int icalrecurrencetype_rscale_is_supported(void);
LIBICAL_ICAL_EXPORT icalarray *icalrecurrencetype_rscale_supported_calendars(void);
diff --git a/src/libical/icaltime.h b/src/libical/icaltime.h
index b44ed1b0..fd03d9c4 100644
--- a/src/libical/icaltime.h
+++ b/src/libical/icaltime.h
@@ -119,6 +119,8 @@ struct icaltimetype
typedef struct icaltimetype icaltimetype;
+#define ICALTIMETYPE_INITIALIZER { 0, 0, 0, 0, 0, 0, 0, 0, 0}
+
/** @brief Constructor.
*
* @returns A null time, which indicates no time has been set.