Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > 079dff8900de1f22c7d3761f66d5b92f > files > 1

evolution-data-server-1.10.0-4mdv2007.1.src.rpm

Index: camel/camel-gpg-context.c
===================================================================
--- camel/camel-gpg-context.c	(révision 515)
+++ camel/camel-gpg-context.c	(copie de travail)
@@ -730,9 +730,12 @@
 		printf ("status: %s\n", status);
 	
 	if (strncmp (status, "[GNUPG:] ", 9) != 0) {
+		gchar* message;
+		message = g_locale_to_utf8(status, -1, NULL, NULL, NULL);
 		camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
 				      _("Unexpected GnuPG status message encountered:\n\n%s"),
-				      status);
+				      message);
+		g_free(message);
 		return -1;
 	}
 	
@@ -823,9 +826,12 @@
 		}
 	} else if (!strncmp (status, "UNEXPECTED ", 11)) {
 		/* this is an error */
+		gchar* message;
+		message = g_locale_to_utf8(status+11, -1, NULL, NULL, NULL);
 		camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
 				      _("Unexpected response from GnuPG: %s"),
-				      status + 11);
+				      message);
+		g_free(message);
 		return -1;
 	} else if (!strncmp (status, "NODATA", 6)) {
 		/* this is an error */
@@ -1270,11 +1276,22 @@
 	
 	if (gpg_ctx_op_wait (gpg) != 0) {
 		const char *diagnostics;
+		gchar *message;
 		
 		diagnostics = gpg_ctx_get_diagnostics (gpg);
-		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
-				     diagnostics && *diagnostics ? diagnostics :
-				     _("Failed to execute gpg."));
+
+		if (diagnostics) {
+			message = g_locale_to_utf8(diagnostics, -1, NULL, NULL, NULL);
+		} else {
+			message = _("Failed to execute gpg.");
+		}
+
+		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, message);
+
+		if (diagnostics) {
+			g_free(message);
+		}
+
 		goto fail;
 	}
 
@@ -1556,10 +1573,22 @@
 	
 	if (gpg_ctx_op_wait (gpg) != 0) {
 		const char *diagnostics;
-		
+		gchar *message;
+
 		diagnostics = gpg_ctx_get_diagnostics (gpg);
-		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
-				     diagnostics && *diagnostics ? diagnostics : _("Failed to execute gpg."));
+
+		if (diagnostics) {
+			message = g_locale_to_utf8(diagnostics, -1, NULL, NULL, NULL);
+		} else {
+			message = _("Failed to execute gpg.");
+		}
+
+		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, message);
+
+		if (diagnostics) {
+			g_free(message);
+		}
+
 		goto fail;
 	}
 
@@ -1674,11 +1703,22 @@
 	
 	if (gpg_ctx_op_wait (gpg) != 0) {
 		const char *diagnostics;
-		
+		gchar *message;
+
 		diagnostics = gpg_ctx_get_diagnostics (gpg);
-		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
-				     diagnostics && *diagnostics ? diagnostics :
-				     _("Failed to execute gpg."));
+
+		if (diagnostics) {
+			message = g_locale_to_utf8(diagnostics, -1, NULL, NULL, NULL);
+		} else {
+			message = _("Failed to execute gpg.");
+		}
+
+		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, message);
+
+		if (diagnostics) {
+			g_free(message);
+		}
+
 		goto fail;
 	}
 
@@ -1753,11 +1793,22 @@
 	
 	if (gpg_ctx_op_wait (gpg) != 0) {
 		const char *diagnostics;
-		
+		gchar *message;
+
 		diagnostics = gpg_ctx_get_diagnostics (gpg);
-		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
-				     diagnostics && *diagnostics ? diagnostics :
-				     _("Failed to execute gpg."));
+
+		if (diagnostics) {
+			message = g_locale_to_utf8(diagnostics, -1, NULL, NULL, NULL);
+		} else {
+			message = _("Failed to execute gpg.");
+		}
+
+		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, message);
+
+		if (diagnostics) {
+			g_free(message);
+		}
+
 		goto fail;
 	}
 
@@ -1798,11 +1849,22 @@
 	
 	if (gpg_ctx_op_wait (gpg) != 0) {
 		const char *diagnostics;
-		
+		gchar *message;
+
 		diagnostics = gpg_ctx_get_diagnostics (gpg);
-		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
-				     diagnostics && *diagnostics ? diagnostics :
-				     _("Failed to execute gpg."));
+
+		if (diagnostics) {
+			message = g_locale_to_utf8(diagnostics, -1, NULL, NULL, NULL);
+		} else {
+			message = _("Failed to execute gpg.");
+		}
+
+		camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, message);
+
+		if (diagnostics) {
+			g_free(message);
+		}
+
 		goto fail;
 	}