1 10164 jyu_mit --- calendar/conduits/memo/memo-conduit.c.orig 2006-12-26 15:28:58.470373000 +0800 2 10164 jyu_mit +++ calendar/conduits/memo/memo-conduit.c 2006-12-26 15:40:47.593816000 +0800 3 10164 jyu_mit @@ -580,7 +580,9 @@ 4 10164 jyu_mit const char *uid; 5 10164 jyu_mit GSList *d_list = NULL; 6 10164 jyu_mit ECalComponentText *description; 7 10164 jyu_mit + ECalComponentText summary; 8 10164 jyu_mit ECalComponentClassification classif; 9 10164 jyu_mit + char *textstr = NULL; 10 10164 jyu_mit 11 10164 jyu_mit LOG (g_message ( "local_record_from_comp\n" )); 12 10164 jyu_mit 13 10164 jyu_mit @@ -690,20 +692,31 @@ 14 10164 jyu_mit 15 10164 jyu_mit /* STOP: don't replace these with g_strdup, since free_Memo 16 10164 jyu_mit uses free to deallocate */ 17 10164 jyu_mit + e_cal_component_get_summary (comp, &summary); 18 10164 jyu_mit + if (summary.value) 19 10164 jyu_mit + textstr = g_strdup (summary.value); 20 10164 jyu_mit 21 10164 jyu_mit e_cal_component_get_description_list (comp, &d_list); 22 10164 jyu_mit if (d_list) { 23 10164 jyu_mit description = (ECalComponentText *) d_list->data; 24 10164 jyu_mit if (description && description->value){ 25 10164 jyu_mit - local->memo->text = e_pilot_utf8_to_pchar (description->value, pilot_charset); 26 10164 jyu_mit + if (textstr) { 27 10164 jyu_mit + char *tmp = textstr; 28 10164 jyu_mit + textstr = g_strconcat (textstr, "\n", description->value, NULL); 29 10164 jyu_mit + g_free (tmp); 30 10164 jyu_mit + } else 31 10164 jyu_mit + textstr = g_strdup (description->value); 32 10164 jyu_mit } 33 10164 jyu_mit - else{ 34 10164 jyu_mit - local->memo->text = NULL; 35 10164 jyu_mit - } 36 10164 jyu_mit - } else { 37 10164 jyu_mit - local->memo->text = NULL; 38 10164 jyu_mit + e_cal_component_free_text_list (d_list); 39 10164 jyu_mit } 40 10164 jyu_mit - 41 10164 jyu_mit + 42 10164 jyu_mit + if (textstr) 43 10164 jyu_mit + local->memo->text = e_pilot_utf8_to_pchar (textstr, pilot_charset); 44 10164 jyu_mit + else 45 10164 jyu_mit + local->memo->text = NULL; 46 10164 jyu_mit + 47 10164 jyu_mit + g_free (textstr); 48 10164 jyu_mit + 49 10164 jyu_mit e_cal_component_get_classification (comp, &classif); 50 10164 jyu_mit 51 10164 jyu_mit if (classif == E_CAL_COMPONENT_CLASS_PRIVATE) 52 10164 jyu_mit @@ -807,36 +820,25 @@ 53 10164 jyu_mit e_cal_component_set_summary(comp, NULL); 54 10164 jyu_mit } else { 55 10164 jyu_mit int idxToUse = -1, ntext = strlen(memo.text); 56 10164 jyu_mit - gboolean foundNL = FALSE; 57 10164 jyu_mit + gchar * NLchar = NULL; 58 10164 jyu_mit GSList l; 59 10164 jyu_mit ECalComponentText text, sumText; 60 10164 jyu_mit 61 10164 jyu_mit - for(i = 0; i<ntext && i<50; i++){ 62 10164 jyu_mit - if(memo.text[i] == '\n'){ 63 10164 jyu_mit - idxToUse = i; 64 10164 jyu_mit - foundNL = TRUE; 65 10164 jyu_mit - break; 66 10164 jyu_mit - } 67 10164 jyu_mit - } 68 10164 jyu_mit - 69 10164 jyu_mit - if(foundNL == FALSE){ 70 10164 jyu_mit - if(ntext > 50){ 71 10164 jyu_mit - txt2 = g_strndup(memo.text, 50); 72 10164 jyu_mit - } 73 10164 jyu_mit - else{ 74 10164 jyu_mit - txt2 = g_strdup(memo.text); 75 10164 jyu_mit - 76 10164 jyu_mit - } 77 10164 jyu_mit - } 78 10164 jyu_mit - else{ 79 10164 jyu_mit - txt2 = g_strndup(memo.text, idxToUse); /* cuts off '\n' */ 80 10164 jyu_mit - 81 10164 jyu_mit + NLchar = strchr(memo.text, '\n'); 82 10164 jyu_mit + if (NLchar) { 83 10164 jyu_mit + txt2 = g_strndup(memo.text, NLchar - memo.text); 84 10164 jyu_mit + txt = g_strdup (NLchar + 1); 85 10164 jyu_mit + } else { 86 10164 jyu_mit + txt2 = g_strdup(memo.text); 87 10164 jyu_mit + txt = NULL; 88 10164 jyu_mit } 89 10164 jyu_mit 90 10164 jyu_mit sumText.value = txt3 = e_pilot_utf8_from_pchar(txt2, pilot_charset); 91 10164 jyu_mit sumText.altrep = NULL; 92 10164 jyu_mit - 93 10164 jyu_mit - text.value = txt = e_pilot_utf8_from_pchar (memo.text, pilot_charset); 94 10164 jyu_mit + if (txt) 95 10164 jyu_mit + text.value = e_pilot_utf8_from_pchar (txt, pilot_charset); 96 10164 jyu_mit + else 97 10164 jyu_mit + text.value = NULL; 98 10164 jyu_mit text.altrep = NULL; 99 10164 jyu_mit l.data = &text; 100 10164 jyu_mit l.next = NULL; 101