[dovecot-cvs] dovecot/src/lib-index mail-transaction-log-view.c,
1.27, 1.28
cras at dovecot.org
cras at dovecot.org
Sun Sep 12 15:14:22 EEST 2004
- Previous message: [dovecot-cvs] dovecot/src/lib-index
mail-index-transaction-private.h, 1.11,
1.12 mail-index-transaction.c, 1.24,
1.25 mail-transaction-log.c, 1.57, 1.58
- Next message: [dovecot-cvs] dovecot/src/lib buffer.c,1.17,1.18 buffer.h,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv1106
Modified Files:
mail-transaction-log-view.c
Log Message:
Don't check extra updates data_id validity if we're just skipping over them.
Index: mail-transaction-log-view.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-transaction-log-view.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- mail-transaction-log-view.c 10 Sep 2004 12:31:28 -0000 1.27
+++ mail-transaction-log-view.c 12 Sep 2004 12:14:19 -0000 1.28
@@ -236,9 +236,10 @@
return view->broken;
}
-static int log_view_get_next(struct mail_transaction_log_view *view,
- const struct mail_transaction_header **hdr_r,
- const void **data_r)
+static int
+log_view_get_next(struct mail_transaction_log_view *view,
+ const struct mail_transaction_header **hdr_r,
+ const void **data_r, enum mail_transaction_type type_mask)
{
const struct mail_transaction_header *hdr;
struct mail_transaction_log_file *file;
@@ -355,7 +356,10 @@
if (view->max_extra_data_id > max_data_id)
max_data_id = view->max_extra_data_id;
- if (*data_id >= max_data_id) {
+ /* don't check this error if we're just skipping over this.
+ we could have skipped over the extra_intro just before this
+ which is the reason we don't yet know it. */
+ if (*data_id >= max_data_id && (type_mask & hdr->type) != 0) {
mail_transaction_log_file_set_corrupted(file,
"extra record update out of range (%u >= %u)",
*data_id, max_data_id);
@@ -382,7 +386,8 @@
if (view->broken)
return -1;
- while ((ret = log_view_get_next(view, &hdr, &data)) > 0) {
+ while ((ret = log_view_get_next(view, &hdr, &data,
+ view->type_mask)) > 0) {
if ((view->type_mask & hdr->type) != 0)
break;
- Previous message: [dovecot-cvs] dovecot/src/lib-index
mail-index-transaction-private.h, 1.11,
1.12 mail-index-transaction.c, 1.24,
1.25 mail-transaction-log.c, 1.57, 1.58
- Next message: [dovecot-cvs] dovecot/src/lib buffer.c,1.17,1.18 buffer.h,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list