While we're at it, fix typos like prefered occurences in variable names.
[claws.git] / src / plugins / vcalendar / vcal_manager.c
index 1432e0f36ee6640e5037e4d8f015dcd059f6eccb..6732fd5afac147d091ae9a8795198a4d59c8d992 100644 (file)
@@ -393,14 +393,14 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
        icalcomponent_add_property(ievent,
                 icalproperty_new_uid(event->uid));
        icalcomponent_add_property(ievent,
-               icalproperty_vanew_dtstamp(icaltime_from_timet(time(NULL), TRUE), 0));
+               icalproperty_vanew_dtstamp(icaltime_from_timet(time(NULL), TRUE), (void*)0));
        icalcomponent_add_property(ievent,
-               icalproperty_vanew_dtstart((icaltime_from_string(event->dtstart)), 0));
+               icalproperty_vanew_dtstart((icaltime_from_string(event->dtstart)), (void*)0));
        icalcomponent_add_property(ievent,
-               icalproperty_vanew_dtend((icaltime_from_string(event->dtend)), 0));
+               icalproperty_vanew_dtend((icaltime_from_string(event->dtend)), (void*)0));
        if (event->recur && *(event->recur)) {
                icalcomponent_add_property(ievent,
-                       icalproperty_vanew_rrule((icalrecurrencetype_from_string(event->recur)), 0));
+                       icalproperty_vanew_rrule((icalrecurrencetype_from_string(event->recur)), (void*)0));
        }
        icalcomponent_add_property(ievent,
                icalproperty_new_description(event->description));
@@ -421,9 +421,9 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
        icalcomponent_add_property(ievent,
                icalproperty_new_status(ICAL_STATUS_CONFIRMED));
        icalcomponent_add_property(ievent,
-               icalproperty_vanew_created(icaltime_from_timet(time(NULL), TRUE), 0));
+               icalproperty_vanew_created(icaltime_from_timet(time(NULL), TRUE), (void*)0));
        icalcomponent_add_property(ievent,
-               icalproperty_vanew_lastmodified(icaltime_from_timet(time(NULL), TRUE), 0));
+               icalproperty_vanew_lastmodified(icaltime_from_timet(time(NULL), TRUE), (void*)0));
        icalcomponent_add_property(ievent,              
                 orgprop);
 
@@ -448,7 +448,7 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
                                ICAL_ROLE_REQPARTICIPANT),
                            icalparameter_new_rsvp(ICAL_RSVP_TRUE),
                            icalparameter_new_partstat(status),
-                           0
+                           (void*)0
                            );
                icalcomponent_add_property(ievent, attprop);
        } else {
@@ -470,7 +470,7 @@ gchar *vcal_manager_event_dump(VCalEvent *event, gboolean is_reply, gboolean is_
                                    icalparameter_new_rsvp(ICAL_RSVP_TRUE),
                                    icalparameter_new_cutype(a->cutype),
                                    icalparameter_new_partstat(a->answer),
-                                   0
+                                   (void*)0
                                    );
 
                        icalcomponent_add_property(ievent, attprop);
@@ -533,7 +533,8 @@ static void get_rfc822_date_from_time_t(gchar *buf, gint len, time_t t)
                   day, dd, mon, yyyy, hh, mm, ss, tzoffset(&t));
 #else
        GDateTime *dt = g_date_time_new_from_unix_local(t);
-       gchar *buf2 = g_date_time_format(dt, "%a, %e %b %Y %H:%M:%S %Z");
+       gchar *buf2 = g_date_time_format(dt, "%a, %e %b %Y %H:%M:%S %z");
+       g_date_time_unref(dt);
        strncpy(buf, buf2, len);
        g_free(buf2);
 #endif
@@ -546,7 +547,6 @@ static gchar *write_headers_date(const gchar *uid)
        gchar date[128];
        time_t t;
        struct tm lt;
-       struct tm buft;
 
        memset(subject, 0, sizeof(subject));
        memset(date, 0, sizeof(date));
@@ -572,6 +572,7 @@ static gchar *write_headers_date(const gchar *uid)
        } 
        
 #ifndef G_OS_WIN32
+       struct tm buft;
        lt = *localtime_r(&t, &buft);
 #else
        if (t < 0)
@@ -787,16 +788,28 @@ VCalEvent * vcal_manager_new_event        (const gchar    *uid,
 
        if (dtend && *(dtend)) {
                time_t tmp = icaltime_as_timet((icaltime_from_string(dtend)));
+#ifdef G_OS_WIN32
+               GDateTime *dt = g_date_time_new_from_unix_local(tmp);
+               event->end = g_date_time_format(dt, "%a, %e %b %Y %H:%M:%S %z");
+               g_date_time_unref(dt);
+#else
                gchar buft[512];
                tzset();
                event->end      = g_strdup(ctime_r(&tmp, buft));
+#endif
        }
        
        if (dtstart && *(dtstart)) {
                time_t tmp = icaltime_as_timet((icaltime_from_string(dtstart)));
+#ifdef G_OS_WIN32
+               GDateTime *dt = g_date_time_new_from_unix_local(tmp);
+               event->start = g_date_time_format(dt, "%a, %e %b %Y %H:%M:%S %z");
+               g_date_time_unref(dt);
+#else
                gchar buft[512];
                tzset();
                event->start    = g_strdup(ctime_r(&tmp, buft));
+#endif
        }
        event->dtstart          = g_strdup(dtstart?dtstart:"");
        event->dtend            = g_strdup(dtend?dtend:"");
@@ -809,7 +822,7 @@ VCalEvent * vcal_manager_new_event  (const gchar    *uid,
        event->method           = method;
        event->sequence         = sequence;
        event->type             = type;
-       event->rec_occurence            = FALSE;
+       event->rec_occurrence           = FALSE;
        while (strchr(event->summary, '\n'))
                *(strchr(event->summary, '\n')) = ' ';
 
@@ -925,8 +938,8 @@ void vcal_manager_save_event (VCalEvent *event, gboolean export_after)
        xml_tag_add_attr(tag, xml_attr_new("postponed", tmp));
        g_free(tmp);
        
-       tmp = g_strdup_printf("%d", event->rec_occurence);
-       xml_tag_add_attr(tag, xml_attr_new("rec_occurence", tmp));
+       tmp = g_strdup_printf("%d", event->rec_occurrence);
+       xml_tag_add_attr(tag, xml_attr_new("rec_occurrence", tmp));
        g_free(tmp);
        
        xmlnode = xml_node_new(tag, NULL);
@@ -991,7 +1004,7 @@ static VCalEvent *event_get_from_xml (const gchar *uid, GNode *node)
        VCalEvent *event = NULL;
        enum icalproperty_method method = ICAL_METHOD_REQUEST;
        enum icalcomponent_kind type = ICAL_VEVENT_COMPONENT;
-       gint sequence = 0, rec_occurence = 0;
+       gint sequence = 0, rec_occurrence = 0;
        time_t postponed = (time_t)0;
        
        g_return_val_if_fail(node->data != NULL, NULL);
@@ -1035,8 +1048,8 @@ static VCalEvent *event_get_from_xml (const gchar *uid, GNode *node)
                        sequence = atoi(attr->value);
                if (!strcmp(attr->name, "postponed"))
                        postponed = atoi(attr->value);
-               if (!strcmp(attr->name, "rec_occurence"))
-                       rec_occurence = atoi(attr->value);
+               if (!strcmp(attr->name, "rec_occurrence"))
+                       rec_occurrence = atoi(attr->value);
        }
 
        event = vcal_manager_new_event(uid, org, orgname, location, summary, description, 
@@ -1044,7 +1057,7 @@ static VCalEvent *event_get_from_xml (const gchar *uid, GNode *node)
                                        sequence, type);
 
        event->postponed = postponed;
-       event->rec_occurence = rec_occurence;
+       event->rec_occurrence = rec_occurrence;
 
        g_free(org); 
        g_free(orgname); 
@@ -1178,7 +1191,7 @@ static gchar *write_headers(PrefsAccount  *account,
        enum icalparameter_partstat status;
        gchar *prefix = NULL;
        gchar enc_subject[512], enc_from[512], *from = NULL;
-       gchar msgid[128];       
+       gchar *msgid;
        gchar *calmsgid = NULL;
 
        cm_return_val_if_fail(account != NULL, NULL);
@@ -1269,18 +1282,7 @@ static gchar *write_headers(PrefsAccount         *account,
                calmsgid = g_strdup("");
        }
 
-       if (account && account->set_domain && account->domain) {
-               g_snprintf(msgid, sizeof(msgid), "%s", account->domain); 
-       } else if (!strncmp(get_domain_name(), "localhost", strlen("localhost"))) {
-               g_snprintf(msgid, sizeof(msgid), "%s", 
-                       strchr(account->address, '@') ?
-                               strchr(account->address, '@')+1 :
-                               account->address);
-       } else {
-               g_snprintf(msgid, sizeof(msgid), "%s", "");
-       }
-
-       generate_msgid(msgid, sizeof(msgid), account->address);
+       msgid = prefs_account_generate_msgid(account);
 
        result = g_strdup_printf("%s"
                                "From: %s <%s>\n"
@@ -1310,6 +1312,7 @@ static gchar *write_headers(PrefsAccount  *account,
        g_free(save_folder);
        g_free(queue_headers);
        g_free(attendees);
+       g_free(msgid);
        return result;                  
                                                                                
 
@@ -1482,7 +1485,6 @@ EventTime event_to_today(VCalEvent *event, time_t t)
        struct tm evtstart, today;
        time_t evtstart_t, today_t;
        struct icaltimetype itt;
-       struct tm buft;
 
        tzset();
        
@@ -1495,6 +1497,7 @@ EventTime event_to_today(VCalEvent *event, time_t t)
        }
        
 #ifndef G_OS_WIN32
+       struct tm buft;
        today = *localtime_r(&today_t, &buft);
        localtime_r(&evtstart_t, &evtstart);
 #else