Home | History | Annotate | Download | only in patches
      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