2005-10-19 [colin] 1.9.15cvs77
[claws.git] / src / plugins / pgpinline / pgpinline.c
index 169d39f05c80966b5bd080d9d49a4622dca86ba1..dab84d42d10784e619b9ff0f6c5a2f87a2021b2c 100644 (file)
@@ -165,7 +165,19 @@ static gint pgpinline_check_signature(MimeInfo *mimeinfo)
        /* gtk2: convert back from utf8 */
        tmp = conv_codeset_strdup(textdata, CS_UTF_8,
                        procmime_mimeinfo_get_parameter(mimeinfo, "charset"));
+       if (!tmp) {
+               tmp = conv_codeset_strdup(textdata, CS_UTF_8,
+                       conv_get_locale_charset_str_no_utf8());
+       }
+       if (!tmp) {
+               g_warning("Can't convert charset to anything sane\n");
+               tmp = conv_codeset_strdup(textdata, CS_UTF_8, CS_US_ASCII);
+       }
        g_free(textdata);
+
+       if (!tmp)
+               return 0;
+
        textdata = g_strdup(tmp);
        g_free(tmp);
        
@@ -389,6 +401,10 @@ static gboolean pgpinline_sign(MimeInfo *mimeinfo, PrefsAccount *account)
        procmime_decode_content(msgcontent);
 
        fp = my_tmpfile();
+       if (fp == NULL) {
+               perror("my_tmpfile");
+               return FALSE;
+       }
        procmime_write_mimeinfo(msgcontent, fp);
        rewind(fp);
 
@@ -502,6 +518,10 @@ static gboolean pgpinline_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
        procmime_decode_content(msgcontent);
 
        fp = my_tmpfile();
+       if (fp == NULL) {
+               perror("my_tmpfile");
+               return FALSE;
+       }
        procmime_write_mimeinfo(msgcontent, fp);
        rewind(fp);