[evolution-patches] Evolution Can't Handle multipart Messages in Some Locales



Hi;

Evolution 2.0.2 can't handle multipart messages correctly in some
locales [ like tr_TR.UTF-8 ] because of the extra Turkish characters. T

Turkish has 4 letter "I"s. English has only two, a lowercase dotted i
and an uppercase dotless I. Turkish has lowercase and uppercase forms of
both dotted and dotless I. A good problem description can be found in
http://www.i18nguy.com/unicode/turkish-i18n.html web site [ Section; Why
Applications Fail With The Turkish Language ]

So strcase("multipart",something) calls can't handle correctly by
evolution and displayed as an attachment. 

KDE team has been added a function to kmail
[ http://bugs.kde.org/show_bug.cgi?id=93770 ] to get rid of that problem
but for evolution, there exists the same function with different name
[ g_ascii_strcasecmp ]. 

I changed strcasecmp calls with g_ascii_strcasecmp for "multipart"
problems and at the same time also include some potential problems
solution.

It's work fine for me without anyproblems. Comments?

Yours
-- 
S.Çağlar Onur <caglar uludag org tr>
http://cekirdek.uludag.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
diff -ur evolution-2.0.2.orig/addressbook/gui/contact-editor/e-contact-editor.c evolution-2.0.2/addressbook/gui/contact-editor/e-contact-editor.c
--- evolution-2.0.2.orig/addressbook/gui/contact-editor/e-contact-editor.c	2004-09-13 19:26:08.000000000 +0300
+++ evolution-2.0.2/addressbook/gui/contact-editor/e-contact-editor.c	2004-11-28 00:17:50.035533608 +0200
@@ -774,7 +774,7 @@
 		param = l->data;
 
 		str = e_vcard_attribute_param_get_name (param);
-		if (!strcasecmp (str, EVOLUTION_UI_SLOT_PARAM))
+		if (!g_ascii_strcasecmp (str, EVOLUTION_UI_SLOT_PARAM))
 			break;
 
 		param = NULL;
@@ -1006,7 +1006,7 @@
 
 		name = e_vcard_attribute_get_name (attr);
 
-		if (!strcasecmp (attr_name, name)) {
+		if (!g_ascii_strcasecmp (attr_name, name)) {
 			attr_list_out = g_list_append (attr_list_out, e_vcard_attribute_copy (attr));
 		}
 	}
diff -ur evolution-2.0.2.orig/calendar/gui/dialogs/url-editor-dialog.c evolution-2.0.2/calendar/gui/dialogs/url-editor-dialog.c
--- evolution-2.0.2.orig/calendar/gui/dialogs/url-editor-dialog.c	2004-07-02 19:38:18.000000000 +0300
+++ evolution-2.0.2/calendar/gui/dialogs/url-editor-dialog.c	2004-11-28 00:18:06.554022416 +0200
@@ -366,7 +366,7 @@
 				    URL_LIST_LOCATION_COLUMN, &url_name, 
 				    -1);
 
-		if (!strcasecmp (url_name, entry_contents)) {
+		if (!g_ascii_strcasecmp (url_name, entry_contents)) {
 			gtk_widget_set_sensitive ((GtkWidget *) url_dlg_data->ok, FALSE);
 			return;
 		}
diff -ur evolution-2.0.2.orig/calendar/gui/e-cal-model.c evolution-2.0.2/calendar/gui/e-cal-model.c
--- evolution-2.0.2.orig/calendar/gui/e-cal-model.c	2004-09-24 18:49:27.000000000 +0300
+++ evolution-2.0.2/calendar/gui/e-cal-model.c	2004-11-28 00:14:57.866707248 +0200
@@ -572,11 +572,11 @@
 	} else {
 	  icalproperty_class ical_class;
 
-	  if (!strcasecmp (value, "PUBLIC"))
+	  if (!g_ascii_strcasecmp (value, "PUBLIC"))
 	    ical_class = ICAL_CLASS_PUBLIC;
-	  else if (!strcasecmp (value, "PRIVATE"))
+	  else if (!g_ascii_strcasecmp (value, "PRIVATE"))
 	    ical_class = ICAL_CLASS_PRIVATE;
-	  else if (!strcasecmp (value, "CONFIDENTIAL"))
+	  else if (!g_ascii_strcasecmp (value, "CONFIDENTIAL"))
 	    ical_class = ICAL_CLASS_CONFIDENTIAL;
 	  else
 	    ical_class = ICAL_CLASS_NONE;
diff -ur evolution-2.0.2.orig/camel/camel-charset-map.c evolution-2.0.2/camel/camel-charset-map.c
--- evolution-2.0.2.orig/camel/camel-charset-map.c	2004-08-04 18:22:06.000000000 +0300
+++ evolution-2.0.2/camel/camel-charset-map.c	2004-11-28 00:07:55.574905360 +0200
@@ -336,23 +336,23 @@
 	 *    windows-cp1257.
 	 */
 	
-	if (!strcasecmp (isocharset, "iso-8859-1") || !strcasecmp (isocharset, "us-ascii"))
+	if (!g_ascii_strcasecmp (isocharset, "iso-8859-1") || !g_ascii_strcasecmp (isocharset, "us-ascii"))
 		return "windows-cp1252";
-	else if (!strcasecmp (isocharset, "iso-8859-2"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-2"))
 		return "windows-cp1250";
-	else if (!strcasecmp (isocharset, "iso-8859-4"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-4"))
 		return "windows-cp1257";
-	else if (!strcasecmp (isocharset, "iso-8859-5"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-5"))
 		return "windows-cp1251";
-	else if (!strcasecmp (isocharset, "iso-8859-6"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-6"))
 		return "windows-cp1256";
-	else if (!strcasecmp (isocharset, "iso-8859-7"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-7"))
 		return "windows-cp1253";
-	else if (!strcasecmp (isocharset, "iso-8859-8"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-8"))
 		return "windows-cp1255";
-	else if (!strcasecmp (isocharset, "iso-8859-9"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-9"))
 		return "windows-cp1254";
-	else if (!strcasecmp (isocharset, "iso-8859-13"))
+	else if (!g_ascii_strcasecmp (isocharset, "iso-8859-13"))
 		return "windows-cp1257";
 	
 	return isocharset;
diff -ur evolution-2.0.2.orig/camel/camel-filter-search.c evolution-2.0.2/camel/camel-filter-search.c
--- evolution-2.0.2.orig/camel/camel-filter-search.c	2004-08-13 00:01:36.000000000 +0300
+++ evolution-2.0.2/camel/camel-filter-search.c	2004-11-28 00:07:55.576905056 +0200
@@ -152,7 +152,7 @@
 		CamelContentType *ct;
 		const char *charset = NULL;
 		
-		if (strcasecmp(name, "x-camel-mlist") == 0) {
+		if (g_ascii_strcasecmp(name, "x-camel-mlist") == 0) {
 			header = camel_message_info_mlist(fms->info);
 			type = CAMEL_SEARCH_TYPE_MLIST;
 		} else {
@@ -160,7 +160,7 @@
 			
 			header = camel_medium_get_header (CAMEL_MEDIUM (message), argv[0]->value.string);
 			/* FIXME: what about Resent-To, Resent-Cc and Resent-From? */
-			if (strcasecmp("to", name) == 0 || strcasecmp("cc", name) == 0 || strcasecmp("from", name) == 0)
+			if (g_ascii_strcasecmp("to", name) == 0 || g_ascii_strcasecmp("cc", name) == 0 || g_ascii_strcasecmp("from", name) == 0)
 				type = CAMEL_SEARCH_TYPE_ADDRESS_ENCODED;
 			else {
 				ct = camel_mime_part_get_content_type (CAMEL_MIME_PART (message));
diff -ur evolution-2.0.2.orig/camel/camel-folder-search.c evolution-2.0.2/camel/camel-folder-search.c
--- evolution-2.0.2.orig/camel/camel-folder-search.c	2004-10-11 18:24:23.000000000 +0300
+++ evolution-2.0.2/camel/camel-folder-search.c	2004-11-28 00:25:57.241467048 +0200
@@ -871,7 +871,7 @@
 		} else if (!strcasecmp(headername, "cc")) {
 			header = camel_message_info_cc(search->current);
 			type = CAMEL_SEARCH_TYPE_ADDRESS;
-		} else if (!strcasecmp(headername, "x-camel-mlist")) {
+		} else if (!g_ascii_strcasecmp(headername, "x-camel-mlist")) {
 			header = camel_message_info_mlist(search->current);
 			type = CAMEL_SEARCH_TYPE_MLIST;
 		} else {
diff -ur evolution-2.0.2.orig/camel/camel-folder-summary.c evolution-2.0.2/camel/camel-folder-summary.c
--- evolution-2.0.2.orig/camel/camel-folder-summary.c	2004-09-24 18:49:27.000000000 +0300
+++ evolution-2.0.2/camel/camel-folder-summary.c	2004-11-28 00:26:33.111014048 +0200
@@ -1646,7 +1646,7 @@
 	if ((content = camel_header_raw_find(&h, "Content-Type", NULL))
 	     && (ct = camel_content_type_decode(content))
 	     && (charset = camel_content_type_param(ct, "charset"))
-	     && (strcasecmp(charset, "us-ascii") == 0))
+	     && (g_ascii_strcasecmp(charset, "us-ascii") == 0))
 		charset = NULL;
 	
 	charset = charset ? e_iconv_charset_name (charset) : NULL;
@@ -2073,7 +2073,7 @@
 					else
 						camel_mime_filter_reset((CamelMimeFilter *)p->filter_64);
 					enc_id = camel_mime_parser_filter_add(mp, (CamelMimeFilter *)p->filter_64);
-				} else if (!strcasecmp(encoding, "quoted-printable")) {
+				} else if (!g_ascii_strcasecmp(encoding, "quoted-printable")) {
 					d(printf(" decoding quoted-printable\n"));
 					if (p->filter_qp == NULL)
 						p->filter_qp = camel_mime_filter_basic_new_type(CAMEL_MIME_FILTER_BASIC_QP_DEC);
@@ -2095,7 +2095,7 @@
 
 			charset = camel_content_type_param(ct, "charset");
 			if (charset!=NULL
-			    && !(strcasecmp(charset, "us-ascii")==0
+			    && !(g_ascii_strcasecmp(charset, "us-ascii")==0
 				 || strcasecmp(charset, "utf-8")==0)) {
 				d(printf(" Adding conversion filter from %s to UTF-8\n", charset));
 				mfc = g_hash_table_lookup(p->filter_charset, charset);
@@ -2578,7 +2578,7 @@
 	g_return_val_if_fail (name != NULL, 0);
 	
 	for (flag = flag_names; *flag->name; flag++)
-		if (!strcasecmp (name, flag->name))
+		if (!g_ascii_strcasecmp (name, flag->name))
 			return flag->value;
 	
 	return 0;
@@ -2656,7 +2656,7 @@
 	if ((content = camel_header_raw_find(&header, "Content-Type", NULL))
 	    && (ct = camel_content_type_decode(content))
 	    && (charset = camel_content_type_param(ct, "charset"))
-	    && (strcasecmp(charset, "us-ascii") == 0))
+	    && (g_ascii_strcasecmp(charset, "us-ascii") == 0))
 		charset = NULL;
 	
 	charset = charset ? e_iconv_charset_name (charset) : NULL;
diff -ur evolution-2.0.2.orig/camel/camel-html-parser.c evolution-2.0.2/camel/camel-html-parser.c
--- evolution-2.0.2.orig/camel/camel-html-parser.c	2003-05-16 21:47:49.000000000 +0300
+++ evolution-2.0.2/camel/camel-html-parser.c	2004-11-28 00:07:55.586903536 +0200
@@ -162,7 +162,7 @@
 	CamelHTMLParserPrivate *p = hp->priv;
 
 	for (i=0;i<p->attrs->len;i++) {
-		if (!strcasecmp(((GString *)p->attrs->pdata[i])->str, name)) {
+		if (!g_ascii_strcasecmp(((GString *)p->attrs->pdata[i])->str, name)) {
 			return ((GString *)p->values->pdata[i])->str;
 		}
 	}
diff -ur evolution-2.0.2.orig/camel/camel-mime-filter-enriched.c evolution-2.0.2/camel/camel-mime-filter-enriched.c
--- evolution-2.0.2.orig/camel/camel-mime-filter-enriched.c	2004-06-21 18:43:06.000000000 +0300
+++ evolution-2.0.2/camel/camel-mime-filter-enriched.c	2004-11-28 00:07:55.590902928 +0200
@@ -169,7 +169,7 @@
 	int i;
 	
 	for (i = 0; i < NUM_ENRICHED_TAGS; i++)
-		if (!strcasecmp (tag, enriched_tags[i].enriched))
+		if (!g_ascii_strcasecmp (tag, enriched_tags[i].enriched))
 			return enriched_tags[i].needs_param;
 	
 	return FALSE;
@@ -265,7 +265,7 @@
 	int i;
 	
 	for (i = 0; i < NUM_ENRICHED_TAGS; i++) {
-		if (!strcasecmp (enriched, enriched_tags[i].enriched))
+		if (!g_ascii_strcasecmp (enriched, enriched_tags[i].enriched))
 			return enriched_tags[i].parse_param (inptr, inlen);
 	}
 	
diff -ur evolution-2.0.2.orig/camel/camel-mime-parser.c evolution-2.0.2/camel/camel-mime-parser.c
--- evolution-2.0.2.orig/camel/camel-mime-parser.c	2004-03-15 16:37:41.000000000 +0200
+++ evolution-2.0.2/camel/camel-mime-parser.c	2004-11-28 00:28:01.103637136 +0200
@@ -1675,7 +1675,7 @@
 		type = CAMEL_MIME_PARSER_STATE_HEADER;
 		if ( (content = camel_header_raw_find(&h->headers, "Content-Type", NULL))
 		     && (ct = camel_content_type_decode(content))) {
-			if (!strcasecmp(ct->type, "multipart")) {
+			if (!g_ascii_strcasecmp(ct->type, "multipart")) {
 				if (!camel_content_type_is(ct, "multipart", "signed")
 				    && (bound = camel_content_type_param(ct, "boundary"))) {
 					d(printf("multipart, boundary = %s\n", bound));
@@ -1694,7 +1694,7 @@
 			} else if (!strcasecmp(ct->type, "message")) {
 				if (!strcasecmp(ct->subtype, "rfc822")
 				    || !strcasecmp(ct->subtype, "news")
-				    /*|| !strcasecmp(ct->subtype, "partial")*/) {
+				    /*|| !g_ascii_strcasecmp(ct->subtype, "partial")*/) {
 					type = CAMEL_MIME_PARSER_STATE_MESSAGE;
 				}
 			}
@@ -1906,7 +1906,7 @@
 			case CAMEL_MIME_PARSER_STATE_HEADER:
 				if (s->parts->content_type
 				    && (charset = camel_content_type_param(s->parts->content_type, "charset"))) {
-					if (strcasecmp(charset, "us-ascii")) {
+					if (g_ascii_strcasecmp(charset, "us-ascii")) {
 #if 0
 						folder_push_filter_charset(s, "UTF-8", charset);
 #endif
diff -ur evolution-2.0.2.orig/camel/camel-mime-utils.c evolution-2.0.2/camel/camel-mime-utils.c
--- evolution-2.0.2.orig/camel/camel-mime-utils.c	2004-10-12 06:40:54.000000000 +0300
+++ evolution-2.0.2/camel/camel-mime-utils.c	2004-11-28 00:30:13.986435880 +0200
@@ -1929,7 +1929,7 @@
 char *
 camel_header_param (struct _camel_header_param *p, const char *name)
 {
-	while (p && strcasecmp (p->name, name) != 0)
+	while (p && g_ascii_strcasecmp (p->name, name) != 0)
 		p = p->next;
 	if (p)
 		return p->value;
@@ -1946,7 +1946,7 @@
 	
 	while (p->next) {
 		pn = p->next;
-		if (!strcasecmp (pn->name, name)) {
+		if (!g_ascii_strcasecmp (pn->name, name)) {
 			g_free (pn->value);
 			if (value) {
 				pn->value = g_strdup (value);
@@ -2005,14 +2005,14 @@
 	/* no type == text/plain or text/"*" */
 	if (ct==NULL || (ct->type == NULL && ct->subtype == NULL)) {
 		return (!strcasecmp(type, "text")
-			&& (!strcasecmp(subtype, "plain")
+			&& (!g_ascii_strcasecmp(subtype, "plain")
 			    || !strcasecmp(subtype, "*")));
 	}
 
 	return (ct->type != NULL
-		&& (!strcasecmp(ct->type, type)
+		&& (!g_ascii_strcasecmp(ct->type, type)
 		    && ((ct->subtype != NULL
-			 && !strcasecmp(ct->subtype, subtype))
+			 && !g_ascii_strcasecmp(ct->subtype, subtype))
 			|| !strcasecmp("*", subtype))));
 }
 
@@ -2789,7 +2789,7 @@
 	
 	if (string != NULL) {
 		for (i = 0; i < sizeof (encodings) / sizeof (encodings[0]); i++)
-			if (!strcasecmp (string, encodings[i]))
+			if (!g_ascii_strcasecmp (string, encodings[i]))
 				return i;
 	}
 	
@@ -3028,7 +3028,7 @@
 	else
 		charset = "iso-8859-1";
 	
-	if (g_ascii_strcasecmp(charset, "UTF-8") != 0
+	if (strcasecmp(charset, "UTF-8") != 0
 	    && (outbuf = header_convert(charset, "UTF-8", in, strlen(in)))) {
 		inptr = outbuf;
 	} else {
@@ -3240,7 +3240,7 @@
 		w(g_warning ("Content-Type with no main type"));
 	} else if (ct->subtype == NULL) {
 		w(g_warning ("Content-Type with no sub type: %s", ct->type));
-		if (!strcasecmp (ct->type, "multipart"))
+		if (!g_ascii_strcasecmp (ct->type, "multipart"))
 			g_string_append_printf (out, "%s/mixed", ct->type);
 		else
 			g_string_append_printf (out, "%s", ct->type);
@@ -3263,7 +3263,7 @@
 		return g_strdup ("text/plain");
 	} else if (ct->subtype == NULL) {
 		w(g_warning ("Content-Type with no sub type: %s", ct->type));
-		if (!strcasecmp (ct->type, "multipart"))
+		if (!g_ascii_strcasecmp (ct->type, "multipart"))
 			return g_strdup_printf ("%s/mixed", ct->type);
 		else
 			return g_strdup (ct->type);
@@ -3449,7 +3449,7 @@
 	foundmonth = FALSE;
 	if (monthname) {
 		for (i=0;i<sizeof(tz_months)/sizeof(tz_months[0]);i++) {
-			if (!strcasecmp(tz_months[i], monthname)) {
+			if (!g_ascii_strcasecmp(tz_months[i], monthname)) {
 				tm.tm_mon = i;
 				foundmonth = TRUE;
 				break;
@@ -3501,7 +3501,7 @@
 
 		if (tz) {
 			for (i=0;i<sizeof(tz_offsets)/sizeof(tz_offsets[0]);i++) {
-				if (!strcasecmp(tz_offsets[i].name, tz)) {
+				if (!g_ascii_strcasecmp(tz_offsets[i].name, tz)) {
 					offset = tz_offsets[i].offset;
 					break;
 				}
@@ -3671,7 +3671,7 @@
 
 	l = *list;
 	while (l) {
-		if (!strcasecmp(l->name, name))
+		if (!g_ascii_strcasecmp(l->name, name))
 			break;
 		l = l->next;
 	}
@@ -3723,7 +3723,7 @@
 	p = (struct _camel_header_raw *)list;
 	l = *list;
 	while (l) {
-		if (!strcasecmp(l->name, name)) {
+		if (!g_ascii_strcasecmp(l->name, name)) {
 			p->next = l->next;
 			header_raw_free(l);
 			l = p->next;
diff -ur evolution-2.0.2.orig/camel/camel-sasl-digest-md5.c evolution-2.0.2/camel/camel-sasl-digest-md5.c
--- evolution-2.0.2.orig/camel/camel-sasl-digest-md5.c	2004-09-24 18:49:27.000000000 +0300
+++ evolution-2.0.2/camel/camel-sasl-digest-md5.c	2004-11-28 00:07:55.605900648 +0200
@@ -365,7 +365,7 @@
 	int i;
 	
 	for (i = 0; dtype[i].name; i++) {
-		if (!strcasecmp (dtype[i].name, name))
+		if (!g_ascii_strcasecmp (dtype[i].name, name))
 			break;
 	}
 	
@@ -472,7 +472,7 @@
 			break;
 		case DIGEST_STALE:
 			PARANOID (digest_abort (&got_stale, abort));
-			if (!strcasecmp (param->value, "true"))
+			if (!g_ascii_strcasecmp (param->value, "true"))
 				challenge->stale = TRUE;
 			else
 				challenge->stale = FALSE;
diff -ur evolution-2.0.2.orig/camel/providers/imap/camel-imap-command.c evolution-2.0.2/camel/providers/imap/camel-imap-command.c
--- evolution-2.0.2.orig/camel/providers/imap/camel-imap-command.c	2004-02-25 05:47:03.000000000 +0200
+++ evolution-2.0.2/camel/providers/imap/camel-imap-command.c	2004-11-28 00:30:52.242620056 +0200
@@ -549,7 +549,7 @@
 		if (response->folder) {
 			/* Check if it's something we need to handle. */
 			number = strtoul (resp + 2, &p, 10);
-			if (!strcasecmp (p, " EXISTS")) {
+			if (!g_ascii_strcasecmp (p, " EXISTS")) {
 				exists = number;
 			} else if (!strcasecmp (p, " EXPUNGE")) {
 				if (!expunged) {
diff -ur evolution-2.0.2.orig/camel/providers/imap/camel-imap-folder.c evolution-2.0.2/camel/providers/imap/camel-imap-folder.c
--- evolution-2.0.2.orig/camel/providers/imap/camel-imap-folder.c	2004-07-16 20:11:11.000000000 +0300
+++ evolution-2.0.2/camel/providers/imap/camel-imap-folder.c	2004-11-28 00:11:47.474651240 +0200
@@ -371,7 +371,7 @@
 			val = strtoul (resp + 2, &resp, 10);
 			if (val == 0)
 				continue;
-			if (!strcasecmp (resp, " EXISTS")) {
+			if (!g_ascii_strcasecmp (resp, " EXISTS")) {
 				/* Another one?? */
 				exists = val;
 				continue;
@@ -512,7 +512,7 @@
 	 * should do it.  */
 	CAMEL_SERVICE_LOCK (imap_store, connect_lock);
 	if (imap_store->current_folder != folder
-	    || strcasecmp(folder->full_name, "INBOX") == 0) {
+	    || g_ascii_strcasecmp(folder->full_name, "INBOX") == 0) {
 		response = camel_imap_command (imap_store, folder, ex, NULL);
 		if (response) {
 			camel_imap_folder_selected (folder, response, ex);
@@ -528,7 +528,7 @@
 #if 0
 		/* on some servers need to CHECKpoint INBOX to recieve new messages?? */
 		/* rfc2060 suggests this, but havent seen a server that requires it */
-		if (strcasecmp(folder->full_name, "INBOX") == 0) {
+		if (g_ascii_strcasecmp(folder->full_name, "INBOX") == 0) {
 			response = camel_imap_command (imap_store, folder, ex, "CHECK");
 			camel_imap_response_free (imap_store, response);
 		}
diff -ur evolution-2.0.2.orig/camel/providers/imap/camel-imap-store.c evolution-2.0.2/camel/providers/imap/camel-imap-store.c
--- evolution-2.0.2.orig/camel/providers/imap/camel-imap-store.c	2004-11-28 00:20:09.598316840 +0200
+++ evolution-2.0.2/camel/providers/imap/camel-imap-store.c	2004-11-28 00:11:12.549960600 +0200
@@ -485,7 +485,7 @@
 			continue;
 		}
 		for (i = 0; capabilities[i].name; i++) {
-			if (strcasecmp (capa, capabilities[i].name) == 0) {
+			if (g_ascii_strcasecmp (capa, capabilities[i].name) == 0) {
 				store->capabilities |= capabilities[i].flag;
 				break;
 			}
@@ -1483,7 +1483,7 @@
 		for (i = 0; i < folders->len; i++) {
 			CamelFolderInfo *fi = folders->pdata[i];
 			
-			haveinbox = haveinbox || !strcasecmp (fi->full_name, "INBOX");
+			haveinbox = haveinbox || !g_ascii_strcasecmp (fi->full_name, "INBOX");
 			
 			if (fi->flags & (CAMEL_IMAP_FOLDER_MARKED | CAMEL_IMAP_FOLDER_UNMARKED))
 				store->capabilities |= IMAP_CAPABILITY_useful_lsub;
@@ -1503,7 +1503,7 @@
 				CamelFolderInfo *fi = folders->pdata[i];
 				
 				/* this should always be TRUE if folders->len > 0 */
-				if (!strcasecmp (fi->full_name, "INBOX")) {
+				if (!g_ascii_strcasecmp (fi->full_name, "INBOX")) {
 					haveinbox = TRUE;
 					
 					/* if INBOX is marked as \NoSelect then it is probably
@@ -1845,7 +1845,7 @@
 	if (!camel_imap_store_connected (imap_store, ex))
 		return NULL;
 	
-	if (!strcasecmp (folder_name, "INBOX"))
+	if (!g_ascii_strcasecmp (folder_name, "INBOX"))
 		folder_name = "INBOX";
 
 	/* Lock around the whole lot to check/create atomically */
@@ -2050,7 +2050,7 @@
 	    !camel_service_connect (CAMEL_SERVICE (store), ex))
 		return NULL;
 	
-	if (!strcasecmp (folder_name, "INBOX"))
+	if (!g_ascii_strcasecmp (folder_name, "INBOX"))
 		folder_name = "INBOX";
 	
 	storage_path = g_strdup_printf("%s/folders", imap_store->storage_path);
@@ -2489,7 +2489,7 @@
 		if (si->flags & CAMEL_STORE_INFO_FOLDER_SUBSCRIBED
 		    && imap_is_subfolder(camel_store_info_path(imap_store->summary, si), top)) {
 			g_ptr_array_add(names, (char *)camel_imap_store_info_full_name(imap_store->summary, si));
-			haveinbox = haveinbox || strcasecmp(camel_imap_store_info_full_name(imap_store->summary, si), "INBOX") == 0;
+			haveinbox = haveinbox || g_ascii_strcasecmp(camel_imap_store_info_full_name(imap_store->summary, si), "INBOX") == 0;
 		}
 		camel_store_summary_info_free((CamelStoreSummary *)imap_store->summary, si);
 	}
@@ -2756,7 +2756,7 @@
 {
 	const char *a = ap;
 
-	if (strcasecmp(a, "INBOX") == 0)
+	if (g_ascii_strcasecmp(a, "INBOX") == 0)
 		a = "INBOX";
 
 	return g_str_hash(a);
@@ -2767,9 +2767,9 @@
 	const char *a = ap;
 	const char *b = bp;
 
-	if (strcasecmp(a, "INBOX") == 0)
+	if (g_ascii_strcasecmp(a, "INBOX") == 0)
 		a = "INBOX";
-	if (strcasecmp(b, "INBOX") == 0)
+	if (g_ascii_strcasecmp(b, "INBOX") == 0)
 		b = "INBOX";
 
 	return g_str_equal(a, b);
@@ -2879,7 +2879,7 @@
 		goto fail;
 	for (i=0; i<folders->len && !haveinbox; i++) {
 		fi = folders->pdata[i];
-		haveinbox = (strcasecmp(fi->full_name, "INBOX")) == 0;
+		haveinbox = (g_ascii_strcasecmp(fi->full_name, "INBOX")) == 0;
 	}
 
 	if (!haveinbox && top == imap_store->namespace) {
diff -ur evolution-2.0.2.orig/camel/providers/imap4/camel-imap4-engine.c evolution-2.0.2/camel/providers/imap4/camel-imap4-engine.c
--- evolution-2.0.2.orig/camel/providers/imap4/camel-imap4-engine.c	2004-08-03 19:31:47.000000000 +0300
+++ evolution-2.0.2/camel/providers/imap4/camel-imap4-engine.c	2004-11-28 00:12:03.032286120 +0200
@@ -476,7 +476,7 @@
 				g_hash_table_insert (engine->authtypes, g_strdup (token.v.atom + 5), auth);
 		} else {
 			for (i = 0; imap4_capabilities[i].name; i++) {
-				if (!strcasecmp (imap4_capabilities[i].name, token.v.atom))
+				if (!g_ascii_strcasecmp (imap4_capabilities[i].name, token.v.atom))
 					engine->capa |= imap4_capabilities[i].flag;
 			}
 		}
diff -ur evolution-2.0.2.orig/camel/providers/pop3/camel-pop3-store.c evolution-2.0.2/camel/providers/pop3/camel-pop3-store.c
--- evolution-2.0.2.orig/camel/providers/pop3/camel-pop3-store.c	2004-11-28 00:20:09.603316080 +0200
+++ evolution-2.0.2/camel/providers/pop3/camel-pop3-store.c	2004-11-28 00:12:50.933004104 +0200
@@ -654,7 +654,7 @@
 static CamelFolder *
 get_folder (CamelStore *store, const char *folder_name, guint32 flags, CamelException *ex)
 {
-	if (strcasecmp (folder_name, "inbox") != 0) {
+	if (g_ascii_strcasecmp (folder_name, "inbox") != 0) {
 		camel_exception_setv (ex, CAMEL_EXCEPTION_FOLDER_INVALID,
 				      _("No such folder `%s'."), folder_name);
 		return NULL;
diff -ur evolution-2.0.2.orig/camel/tests/lib/folders.c evolution-2.0.2/camel/tests/lib/folders.c
--- evolution-2.0.2.orig/camel/tests/lib/folders.c	2002-09-04 11:13:38.000000000 +0300
+++ evolution-2.0.2/camel/tests/lib/folders.c	2004-11-28 00:19:01.338693880 +0200
@@ -546,7 +546,7 @@
 			check_unref(folder, 2);
 		pull(); /* re-opening folder */
 
-		if (strcasecmp(mailbox, "INBOX") != 0) {
+		if (g_ascii_strcasecmp(mailbox, "INBOX") != 0) {
 			push("deleting test folder, with no messages in it");
 			camel_store_delete_folder(store, mailbox, ex);
 			check_msg(!camel_exception_is_set(ex), "%s", camel_exception_get_description(ex));
diff -ur evolution-2.0.2.orig/mail/mail-account-gui.c evolution-2.0.2/mail/mail-account-gui.c
--- evolution-2.0.2.orig/mail/mail-account-gui.c	2004-10-11 18:24:34.000000000 +0300
+++ evolution-2.0.2/mail/mail-account-gui.c	2004-11-28 00:16:50.471588704 +0200
@@ -2054,7 +2054,7 @@
 				hstore = si;
 			}
 			
-			if (source_proto && !strcasecmp (provider->protocol, source_proto)) {
+			if (source_proto && !g_ascii_strcasecmp (provider->protocol, source_proto)) {
 				fstore = item;
 				hstore = si;
 			}
@@ -2082,7 +2082,7 @@
 				htransport = ti;
 			}
 			
-			if (transport_proto && !strcasecmp (provider->protocol, transport_proto)) {
+			if (transport_proto && !g_ascii_strcasecmp (provider->protocol, transport_proto)) {
 				ftransport = item;
 				htransport = ti;
 			}
diff -ur evolution-2.0.2.orig/widgets/misc/e-charset-picker.c evolution-2.0.2/widgets/misc/e-charset-picker.c
--- evolution-2.0.2.orig/widgets/misc/e-charset-picker.c	2004-07-13 18:59:33.000000000 +0300
+++ evolution-2.0.2/widgets/misc/e-charset-picker.c	2004-11-28 00:16:06.597258616 +0200
@@ -300,13 +300,13 @@
 	const char *locale_charset;
 	
 	g_get_charset (&locale_charset);
-	if (!strcasecmp (locale_charset, "US-ASCII"))
+	if (!g_ascii_strcasecmp (locale_charset, "US-ASCII"))
 		locale_charset = "iso-8859-1";
 	
 	if (!default_charset)
 		default_charset = locale_charset;
 	for (def = 0; def < num_charsets; def++) {
-		if (!strcasecmp (charsets[def].name, default_charset))
+		if (!g_ascii_strcasecmp (charsets[def].name, default_charset))
 			break;
 	}
 	
@@ -466,13 +466,13 @@
 	int def, i;
 	
 	g_get_charset (&locale_charset);
-	if (!strcasecmp (locale_charset, "US-ASCII"))
+	if (!g_ascii_strcasecmp (locale_charset, "US-ASCII"))
 		locale_charset = "iso-8859-1";
 	
 	if (!default_charset)
 		default_charset = locale_charset;
 	for (def = 0; def < num_charsets; def++) {
-		if (!strcasecmp (charsets[def].name, default_charset))
+		if (!g_ascii_strcasecmp (charsets[def].name, default_charset))
 			break;
 	}
 	

Attachment: signature.asc
Description: Bu dijital olarak =?iso-8859-9?Q?imzalanm=FD=FE?= ileti =?iso-8859-9?Q?par=E7as=FDd=FDr?=



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]