Make sure we copy messages which are still intact to the new folder.
2000-05-29 Not Zed <NotZed@HelixCode.com> * providers/mbox/camel-mbox-summary.c (camel_mbox_summary_expunge): Make sure we copy messages which are still intact to the new folder. (camel_mbox_summary_expunge): Update the frompos as well when moving the content. svn path=/trunk/; revision=3272
This commit is contained in:
@ -1,5 +1,11 @@
|
||||
2000-05-29 Not Zed <NotZed@HelixCode.com>
|
||||
|
||||
* providers/mbox/camel-mbox-summary.c
|
||||
(camel_mbox_summary_expunge): Make sure we copy messages which are
|
||||
still intact to the new folder.
|
||||
(camel_mbox_summary_expunge): Update the frompos as well when
|
||||
moving the content.
|
||||
|
||||
* providers/vee/camel-vee-folder.c (vee_folder_build): Check the
|
||||
searched folder is open before trying to search it.
|
||||
(message_changed): Track changes to the source message in the
|
||||
|
||||
@ -778,7 +778,9 @@ mbox_get_message_by_uid (CamelFolder *folder, const gchar *uid, CamelException *
|
||||
}
|
||||
|
||||
if (camel_mime_parser_tell_start_from(parser) != info->frompos) {
|
||||
g_warning("Summary doesn't match the folder contents! eek!");
|
||||
g_warning("Summary doesn't match the folder contents! eek!\n"
|
||||
" expecting offset %d got %d", info->frompos,
|
||||
camel_mime_parser_tell_start_from(parser));
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@ -300,7 +300,7 @@ summary_rebuild(CamelMboxSummary *mbs, off_t offset)
|
||||
gtk_object_unref((GtkObject *)mp);
|
||||
/* end of file - no content? */
|
||||
printf("We radn out of file?\n");
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -663,7 +663,8 @@ camel_mbox_summary_expunge(CamelMboxSummary *mbs)
|
||||
info->info.content->pos,
|
||||
info->info.content->endpos,
|
||||
info->info.content->bodypos));
|
||||
if (copy_block(fd, fdout, info->info.content->bodypos, info->info.content->endpos - info->info.content->bodypos) == -1) {
|
||||
if (copy_block(fd, fdout, info->info.content->bodypos,
|
||||
info->info.content->endpos - info->info.content->bodypos) == -1) {
|
||||
g_warning("Cannot copy data to output fd");
|
||||
goto error;
|
||||
}
|
||||
@ -675,9 +676,20 @@ camel_mbox_summary_expunge(CamelMboxSummary *mbs)
|
||||
camel_mime_parser_drop_step(mp);
|
||||
camel_mime_parser_drop_step(mp);
|
||||
} else {
|
||||
d(printf("Nothing to do for this message\n"));
|
||||
if (!quick) {
|
||||
if (copy_block(fd, fdout, info->frompos,
|
||||
info->info.content->endpos - info->frompos) == -1) {
|
||||
g_warning("Cannot copy data to output fd");
|
||||
goto error;
|
||||
}
|
||||
/* update from pos here? */
|
||||
info->frompos += offset;
|
||||
} else {
|
||||
d(printf("Nothing to do for this message\n"));
|
||||
}
|
||||
}
|
||||
if (!quick && info!=NULL && offset!=0) {
|
||||
printf("offsetting content: %d\n", offset);
|
||||
camel_folder_summary_offset_content(info->info.content, offset);
|
||||
d(printf("pos = %d, endpos = %d, bodypos = %d\n",
|
||||
info->info.content->pos,
|
||||
|
||||
@ -173,6 +173,8 @@ folder_changed(CamelFolder *sub, int type, CamelVeeFolder *vf)
|
||||
{
|
||||
CamelException *ex;
|
||||
|
||||
printf("subfolder changed!!, re-searching\n");
|
||||
|
||||
ex = camel_exception_new();
|
||||
vee_folder_build_folder(vf, sub, ex);
|
||||
camel_exception_free(ex);
|
||||
|
||||
Reference in New Issue
Block a user