+
+ /* Give this task a UID if it doesn't have one. */
+ lprintf(9, "Give this task a UID if it doesn't have one.\n");
+ if (icalcomponent_get_first_property(vtodo,
+ ICAL_UID_PROPERTY) == NULL) {
+ generate_new_uid(buf);
+ icalcomponent_add_property(vtodo,
+ icalproperty_new_uid(buf)
+ );
+ }
+
+ /* Increment the sequence ID */
+ lprintf(9, "Increment the sequence ID\n");
+ while (prop = icalcomponent_get_first_property(vtodo,
+ ICAL_SEQUENCE_PROPERTY), (prop != NULL) ) {
+ i = icalproperty_get_sequence(prop);
+ lprintf(9, "Sequence was %d\n", i);
+ if (i > sequence) sequence = i;
+ icalcomponent_remove_property(vtodo, prop);
+ icalproperty_free(prop);
+ }
+ ++sequence;
+ lprintf(9, "New sequence is %d. Adding...\n", sequence);
+ icalcomponent_add_property(vtodo,
+ icalproperty_new_sequence(sequence)
+ );
+