[evolution-ews] Fetch Free/Busy fails due to incorrect value of DayOrder element



commit 85eae2d7e225320fbf6f81d67d172cdafd094944
Author: Milan Crha <mcrha redhat com>
Date:   Fri Oct 11 19:15:37 2013 +0200

    Fetch Free/Busy fails due to incorrect value of DayOrder element
    
    This expect only 1..5, inclusive, but the libical function can
    return also negative values, which this change takes care of.

 src/calendar/e-cal-backend-ews-utils.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-ews-utils.c b/src/calendar/e-cal-backend-ews-utils.c
index 36116cc..6414b69 100644
--- a/src/calendar/e-cal-backend-ews-utils.c
+++ b/src/calendar/e-cal-backend-ews-utils.c
@@ -404,8 +404,16 @@ ewscal_add_availability_rrule (ESoapMessage *msg,
 {
        struct icalrecurrencetype recur = icalproperty_get_rrule (prop);
        gchar buffer[16];
+       gint dayorder;
 
-       snprintf (buffer, 16, "%d", icalrecurrencetype_day_position (recur.by_day[0]));
+       dayorder = icalrecurrencetype_day_position (recur.by_day[0]);
+       dayorder = dayorder % 5;
+       if (dayorder < 0)
+               dayorder += 5;
+       dayorder += 1;
+
+       /* expected value is 1..5, inclusive */
+       snprintf (buffer, 16, "%d", dayorder);
        e_ews_message_write_string_parameter (msg, "DayOrder", NULL, buffer);
 
        snprintf (buffer, 16, "%d", recur.by_month[0]);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]