comparison src/lib-storage/index/maildir/maildir-sync-index.c @ 9464:939edf3ed09b HEAD

maildir: Having a lot of keywords assert-crashed with "stack frame changed".
author Timo Sirainen <tss@iki.fi>
date Mon, 02 Nov 2009 17:54:17 -0500
parents f2a6a99ff9ea
children 00cd9aacd03c
comparison
equal deleted inserted replaced
9463:0dc82e18530d 9464:939edf3ed09b
419 hdr_next_uid = hdr->next_uid; 419 hdr_next_uid = hdr->next_uid;
420 420
421 time_before_sync = time(NULL); 421 time_before_sync = time(NULL);
422 mbox->syncing_commit = TRUE; 422 mbox->syncing_commit = TRUE;
423 seq = prev_uid = 0; first_recent_uid = I_MAX(hdr->first_recent_uid, 1); 423 seq = prev_uid = 0; first_recent_uid = I_MAX(hdr->first_recent_uid, 1);
424 t_array_init(&ctx->keywords, MAILDIR_MAX_KEYWORDS); 424 i_array_init(&ctx->keywords, MAILDIR_MAX_KEYWORDS);
425 t_array_init(&ctx->idx_keywords, MAILDIR_MAX_KEYWORDS); 425 i_array_init(&ctx->idx_keywords, MAILDIR_MAX_KEYWORDS);
426 iter = maildir_uidlist_iter_init(mbox->uidlist); 426 iter = maildir_uidlist_iter_init(mbox->uidlist);
427 while (maildir_uidlist_iter_next(iter, &uid, &uflags, &filename)) { 427 while (maildir_uidlist_iter_next(iter, &uid, &uflags, &filename)) {
428 maildir_filename_get_flags(ctx->keywords_sync_ctx, filename, 428 maildir_filename_get_flags(ctx->keywords_sync_ctx, filename,
429 &ctx->flags, &ctx->keywords); 429 &ctx->flags, &ctx->keywords);
430 430
597 if (hdr->first_recent_uid < first_recent_uid) { 597 if (hdr->first_recent_uid < first_recent_uid) {
598 mail_index_update_header(ctx->trans, 598 mail_index_update_header(ctx->trans,
599 offsetof(struct mail_index_header, first_recent_uid), 599 offsetof(struct mail_index_header, first_recent_uid),
600 &first_recent_uid, sizeof(first_recent_uid), FALSE); 600 &first_recent_uid, sizeof(first_recent_uid), FALSE);
601 } 601 }
602 array_free(&ctx->keywords);
603 array_free(&ctx->idx_keywords);
602 return ret < 0 ? -1 : (full_rescan ? 0 : 1); 604 return ret < 0 ? -1 : (full_rescan ? 0 : 1);
603 } 605 }
604 606
605 static unsigned int maildir_list_get_ext_id(struct maildir_storage *storage, 607 static unsigned int maildir_list_get_ext_id(struct maildir_storage *storage,
606 struct mail_index_view *view) 608 struct mail_index_view *view)