Mercurial > dovecot > original-hg > dovecot-1.2
comparison src/plugins/mail-log/mail-log-plugin.c @ 6277:5f66277bbe40 HEAD
mail_index_lookup*() can't fail anymore. Changed several APIs not to return
failure anymore.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 12 Aug 2007 18:02:29 +0300 |
parents | bd67afb92ee5 |
children | eb7c9d8ece54 |
comparison
equal
deleted
inserted
replaced
6276:b5a23c868935 | 6277:5f66277bbe40 |
---|---|
318 | 318 |
319 i_info("%s", str_c(str)); | 319 i_info("%s", str_c(str)); |
320 t_pop(); | 320 t_pop(); |
321 } | 321 } |
322 | 322 |
323 static int mail_log_mail_expunge(struct mail *_mail) | 323 static void mail_log_mail_expunge(struct mail *_mail) |
324 { | 324 { |
325 struct mail_private *mail = (struct mail_private *)_mail; | 325 struct mail_private *mail = (struct mail_private *)_mail; |
326 union mail_module_context *lmail = MAIL_LOG_MAIL_CONTEXT(mail); | 326 union mail_module_context *lmail = MAIL_LOG_MAIL_CONTEXT(mail); |
327 | 327 |
328 if (lmail->super.expunge(_mail) < 0) | |
329 return -1; | |
330 | |
331 mail_log_action(_mail, MAIL_LOG_EVENT_EXPUNGE, NULL); | 328 mail_log_action(_mail, MAIL_LOG_EVENT_EXPUNGE, NULL); |
332 return 0; | 329 lmail->super.expunge(_mail); |
333 } | 330 } |
334 | 331 |
335 static int | 332 static void |
336 mail_log_mail_update_flags(struct mail *_mail, enum modify_type modify_type, | 333 mail_log_mail_update_flags(struct mail *_mail, enum modify_type modify_type, |
337 enum mail_flags flags) | 334 enum mail_flags flags) |
338 { | 335 { |
339 struct mail_private *mail = (struct mail_private *)_mail; | 336 struct mail_private *mail = (struct mail_private *)_mail; |
340 union mail_module_context *lmail = MAIL_LOG_MAIL_CONTEXT(mail); | 337 union mail_module_context *lmail = MAIL_LOG_MAIL_CONTEXT(mail); |
341 enum mail_flags old_flags, new_flags; | 338 enum mail_flags old_flags, new_flags; |
342 | 339 |
343 old_flags = mail_get_flags(_mail); | 340 old_flags = mail_get_flags(_mail); |
344 if (lmail->super.update_flags(_mail, modify_type, flags) < 0) | 341 lmail->super.update_flags(_mail, modify_type, flags); |
345 return -1; | |
346 | 342 |
347 new_flags = old_flags; | 343 new_flags = old_flags; |
348 switch (modify_type) { | 344 switch (modify_type) { |
349 case MODIFY_ADD: | 345 case MODIFY_ADD: |
350 new_flags |= flags; | 346 new_flags |= flags; |
355 case MODIFY_REPLACE: | 351 case MODIFY_REPLACE: |
356 new_flags = flags; | 352 new_flags = flags; |
357 break; | 353 break; |
358 } | 354 } |
359 if (((old_flags ^ new_flags) & MAIL_DELETED) == 0) | 355 if (((old_flags ^ new_flags) & MAIL_DELETED) == 0) |
360 return 0; | 356 return; |
361 | 357 |
362 mail_log_action(_mail, (new_flags & MAIL_DELETED) != 0 ? | 358 mail_log_action(_mail, (new_flags & MAIL_DELETED) != 0 ? |
363 MAIL_LOG_EVENT_DELETE : MAIL_LOG_EVENT_UNDELETE, NULL); | 359 MAIL_LOG_EVENT_DELETE : MAIL_LOG_EVENT_UNDELETE, NULL); |
364 return 0; | |
365 } | 360 } |
366 | 361 |
367 static struct mail * | 362 static struct mail * |
368 mail_log_mail_alloc(struct mailbox_transaction_context *t, | 363 mail_log_mail_alloc(struct mailbox_transaction_context *t, |
369 enum mail_fetch_field wanted_fields, | 364 enum mail_fetch_field wanted_fields, |