+2004-03-12 [christoph] 0.9.10claws9
+
+ * src/codeconv.c
+ add parameter check to conv_unmime_header_overwrite()
+
+ * src/imap.c
+ o fix spelling
+ o fix removing of NEW flag when UNREAD is unset
+
+ * src/procmime.c
+ decode MIME-headers
+
+ (Closes 437 i18n attachment display error.)
+
2004-03-12 [paul] 0.9.10claws8
* po/it.po
if (strchr(name, imap_get_path_separator(IMAP_FOLDER(folder), item->path)) != NULL) {
g_warning(_("New folder name must not contain the namespace "
- "path seperator"));
+ "path separator"));
return -1;
}
GSList *sorted_list;
/*
GSList *new = NULL, *p_new;
+ GSList *deleted = NULL, *p_deleted;
*/
- GSList *unseen = NULL, *answered = NULL, *flagged = NULL, *deleted = NULL;
- GSList *p_unseen, *p_answered, *p_flagged, *p_deleted;
+ GSList *unseen = NULL, *answered = NULL, *flagged = NULL;
+ GSList *p_unseen, *p_answered, *p_flagged;
GSList *elem;
GSList *seq_list, *cur;
gboolean reverse_seen = FALSE;
p_unseen = unseen;
p_answered = answered;
p_flagged = flagged;
+/*
p_deleted = deleted;
-
+*/
for (elem = sorted_list; elem != NULL; elem = g_slist_next(elem)) {
MsgInfo *msginfo;
MsgPermFlags flags;
+ gboolean wasnew;
msginfo = (MsgInfo *) elem->data;
flags = msginfo->flags.perm_flags;
- flags &= ~((reverse_seen ? 0 : MSG_UNREAD) | MSG_REPLIED | MSG_MARKED);
+ wasnew = (flags & MSG_NEW);
+ flags &= ~((reverse_seen ? 0 : MSG_UNREAD | MSG_NEW) | MSG_REPLIED | MSG_MARKED);
if (reverse_seen)
- flags |= MSG_UNREAD;
+ flags |= MSG_UNREAD | (wasnew ? MSG_NEW : 0);
/*
if (gslist_find_next_num(&p_new, msginfo->msgnum) == msginfo->msgnum)
flags |= MSG_NEW;
*/
if (gslist_find_next_num(&p_unseen, msginfo->msgnum) == msginfo->msgnum) {
if (!reverse_seen) {
- flags |= MSG_UNREAD;
+ flags |= MSG_UNREAD | (wasnew ? MSG_NEW : 0);
} else {
flags &= ~(MSG_UNREAD | MSG_NEW);
}
}
imap_seq_set_free(seq_list);
- g_slist_free(deleted);
+ /* g_slist_free(deleted); */
g_slist_free(flagged);
g_slist_free(answered);
g_slist_free(unseen);
fp = fopen(mimeinfo->filename, "rb");
fseek(fp, mimeinfo->offset, SEEK_SET);
procheader_get_header_fields(fp, hentry);
+ if (hentry[0].body != NULL)
+ conv_unmime_header_overwrite(hentry[0].body);
+ if (hentry[2].body != NULL)
+ conv_unmime_header_overwrite(hentry[2].body);
+ if (hentry[4].body != NULL)
+ conv_unmime_header_overwrite(hentry[4].body);
content_start = ftell(fp);
fclose(fp);
hentry[i].body = NULL;
}
procheader_get_header_fields(fp, hentry);
+ if (hentry[0].body != NULL)
+ conv_unmime_header_overwrite(hentry[0].body);
+ if (hentry[2].body != NULL)
+ conv_unmime_header_overwrite(hentry[2].body);
+ if (hentry[4].body != NULL)
+ conv_unmime_header_overwrite(hentry[4].body);
lastoffset = ftell(fp);
}
}