2005-09-14 [paul] 1.9.14cvs26
[claws.git] / src / procmime.c
index 6e00efe2e83f1ebb23cfe470de0c18bdf31e9a37..d01dd2433d5f963e4758aca5cd6eb9dacad51b5c 100644 (file)
@@ -736,7 +736,7 @@ FILE *procmime_get_text_content(MimeInfo *mimeinfo)
                oldout = dup(1);
                
                dup2(fileno(outfp), 1);
-               
+
                p = popen(renderer->renderer, "w");
                if (p != NULL) {
                        size_t count;
@@ -1571,7 +1571,8 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
                gchar *charset, *lang, *oldvalue, *newvalue;
 
                attribute = (gchar *) cur->data;
-               if (!g_hash_table_lookup_extended(table, attribute, (gpointer *) &key, (gpointer *) &value))
+               if (!g_hash_table_lookup_extended(
+                       table, attribute, (gpointer *)(gchar *) &key, (gpointer *)(gchar *) &value))
                        continue;
 
                charset = value;
@@ -1614,7 +1615,7 @@ static void procmime_parse_content_type(const gchar *content_type, MimeInfo *mim
                                       "charset") == NULL)
                        g_hash_table_insert(mimeinfo->typeparameters,
                                            g_strdup("charset"),
-                                           g_strdup("us-ascii"));
+                                           g_strdup(conv_get_locale_charset_str()));
        } else {
                gchar *type, *subtype, *params;
 
@@ -1716,7 +1717,8 @@ int procmime_parse_mimepart(MimeInfo *parent,
                mimeinfo->subtype = g_strdup("plain");
                if (g_hash_table_lookup(mimeinfo->typeparameters,
                                       "charset") == NULL)
-                       g_hash_table_insert(mimeinfo->typeparameters, g_strdup("charset"), g_strdup("us-ascii"));
+                       g_hash_table_insert(mimeinfo->typeparameters, g_strdup("charset"), 
+                               g_strdup(conv_get_locale_charset_str()));
        }
 
        if (content_encoding != NULL) {
@@ -2141,10 +2143,6 @@ gint procmime_write_mimeinfo(MimeInfo *mimeinfo, FILE *fp)
 
        debug_print("procmime_write_mimeinfo\n");
 
-       if (mimeinfo->encoding_type == ENC_UNKNOWN
-       &&  mimeinfo->content != MIMECONTENT_EMPTY)
-               procmime_encode_content(mimeinfo, ENC_BINARY);
-
        if (G_NODE_IS_LEAF(mimeinfo->node)) {
                switch (mimeinfo->content) {
                case MIMECONTENT_FILE:
@@ -2170,8 +2168,9 @@ gint procmime_write_mimeinfo(MimeInfo *mimeinfo, FILE *fp)
                /* Call writer for mime type */
                switch (mimeinfo->type) {
                case MIMETYPE_MESSAGE:
-                       if (g_ascii_strcasecmp(mimeinfo->subtype, "rfc822") == 0)
+                       if (g_ascii_strcasecmp(mimeinfo->subtype, "rfc822") == 0) {
                                return procmime_write_message_rfc822(mimeinfo, fp);
+                       }
                        break;
                        
                case MIMETYPE_MULTIPART: