X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fevent.c;h=f5f1fecd0ebbee6a2194499c209007dbfb7a1da7;hb=23f67881c0c0de5092ea849c5469b8601ce31ee4;hp=5d44e3f80b9d27e64be02cbc9cc01dd7a85514a6;hpb=a13d1d34c6f9bb9b2ffd448e177200151ce42e79;p=citadel.git diff --git a/webcit/event.c b/webcit/event.c index 5d44e3f80..f5f1fecd0 100644 --- a/webcit/event.c +++ b/webcit/event.c @@ -44,7 +44,10 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, char buf[SIZ]; int organizer_is_me = 0; int i, j = 0; + /************************************************************ + * Uncomment this to see the UID in calendar events for debugging int sequence = 0; + */ char weekday_labels[7][32]; char month_labels[12][32]; long weekstart = 0; @@ -65,7 +68,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, int which_rrend_is_preselected; int which_rryeartype_is_preselected; - + const char *ch; char *tabnames[3]; const char *frequency_units[8]; const char *ordinals[6]; @@ -157,10 +160,12 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, /* Learn the sequence */ p = icalcomponent_get_first_property(vevent, ICAL_SEQUENCE_PROPERTY); + /************************************************************ + * Uncomment this to see the UID in calendar events for debugging if (p != NULL) { sequence = icalproperty_get_sequence(p); } - + */ /* Begin output */ output_headers(1, 1, 2, 0, 0, 0); wc_printf("
\n"); @@ -445,7 +450,7 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, wc_printf( " " - "" + "" "", _("Attendees"), _("Contacts") @@ -463,11 +468,11 @@ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - strcpy(attendee_string, icalproperty_get_attendee(attendee)); - if (!strncasecmp(attendee_string, "mailto:", 7)) { + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strncasecmp(ch, "mailto:", 7)) { /* screen name or email address */ - strcpy(attendee_string, &attendee_string[7]); + safestrncpy(attendee_string, ch + 7, sizeof(attendee_string)); striplt(attendee_string); if (i++) wc_printf("\n"); escputs(attendee_string); @@ -805,6 +810,7 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr char organizer_string[SIZ]; int sequence = 0; enum icalproperty_transp formtransp = ICAL_TRANSP_NONE; + const char *ch; if (supplied_vevent != NULL) { vevent = supplied_vevent; @@ -1099,15 +1105,15 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr foundit = 0; for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - if (!strcasecmp(attendee_string, - icalproperty_get_attendee(attendee))) + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strcasecmp(attendee_string, ch)) ++foundit; } if (foundit == 0) { icalcomponent_add_property(vevent, - icalproperty_new_attendee(attendee_string) + icalproperty_new_attendee(attendee_string) ); } } @@ -1117,9 +1123,9 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *fr * Remove any attendees *not* listed in the web form */ STARTOVER: for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { - strcpy(attendee_string, icalproperty_get_attendee(attendee)); - if (!strncasecmp(attendee_string, "MAILTO:", 7)) { - strcpy(attendee_string, &attendee_string[7]); + ch = icalproperty_get_attendee(attendee); + if ((ch != NULL) && !strncasecmp(ch, "MAILTO:", 7)) { + safestrncpy(attendee_string, ch + 7, sizeof(attendee_string)); striplt(attendee_string); foundit = 0; for (i=0; iImportantMessage, &buf[4]); + case '4': + while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {} + break; + case '2': + AppendImportantMessage(buf + 4, - 1); + break; + default: + break; } icalmemory_free_ring (); icalcomponent_free(encaps); @@ -1203,7 +1213,7 @@ STARTOVER: for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDE /* If this was a save or delete, go back to the calendar or summary view. */ if (!havebstr("check_button")) { if (!strcasecmp(bstr("calview"), "summary")) { - summary(); + do_template("summary_page"); } else { readloop(readfwd, eUseDefault);