Browse Source

don't crash on truncating database. seems to affect only some bdb

versions (e.g., 4.2).
wip/maildir-uid-dupes-test
Oswald Buddenhagen 18 years ago
parent
commit
2a9b0bd763
  1. 5
      src/drv_maildir.c

5
src/drv_maildir.c

@ -365,7 +365,8 @@ maildir_init_uid( maildir_store_t *ctx, const char *msg )
ctx->uvok = 0; ctx->uvok = 0;
#ifdef USE_DB #ifdef USE_DB
if (ctx->db) { if (ctx->db) {
ctx->db->truncate( ctx->db, 0, 0 /* &u_int32_t_dummy */, 0 ); u_int32_t count;
ctx->db->truncate( ctx->db, 0, &count, 0 );
return maildir_set_uid( ctx, 0, 0 ); return maildir_set_uid( ctx, 0, 0 );
} }
#endif /* USE_DB */ #endif /* USE_DB */
@ -496,7 +497,7 @@ maildir_scan( maildir_store_t *ctx, msglist_t *msglist )
DBC *dbc; DBC *dbc;
#endif /* USE_DB */ #endif /* USE_DB */
msg_t *entry; msg_t *entry;
int i, j, uid, bl, ml, fnl, ret; int i, j, uid, bl, fnl, ret;
struct stat st; struct stat st;
char buf[_POSIX_PATH_MAX], nbuf[_POSIX_PATH_MAX]; char buf[_POSIX_PATH_MAX], nbuf[_POSIX_PATH_MAX];

Loading…
Cancel
Save