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,