Mercurial > masqmail-0.2
diff src/queue.c @ 82:83a182793503
refactoring
author | meillo@marmaro.de |
---|---|
date | Sat, 19 Jun 2010 12:35:08 +0200 |
parents | ac0233b5f6f8 |
children | a80ebfa16cd5 |
line wrap: on
line diff
--- a/src/queue.c Sat Jun 19 11:14:34 2010 +0200 +++ b/src/queue.c Sat Jun 19 12:35:08 2010 +0200 @@ -140,48 +140,50 @@ msg_list = read_queue(FALSE); - if (msg_list != NULL) { - foreach(msg_list, msg_node) { - message *msg = (message *) (msg_node->data); - GList *rcpt_node; - gchar *size_str = NULL; - gchar *time_str = NULL; - gchar *host_str = NULL; - gchar *ident_str = NULL; + if (msg_list == NULL) { + printf("mail queue is empty.\n"); + return; + } - if (msg->data_size >= 0) - size_str = g_strdup_printf(" size=%d", msg->data_size); - if (msg->received_time > 0) { - gchar *tmp_str; - time_str = g_strdup_printf(" age=%s", tmp_str = format_difftime(difftime(time(NULL), msg->received_time))); - g_free(tmp_str); - } - if (msg->received_host != NULL) - host_str = g_strdup_printf(" host=%s", msg->received_host); - if (msg->ident != NULL) - ident_str = g_strdup_printf(" ident=%s", msg->ident); + foreach(msg_list, msg_node) { + message *msg = (message *) (msg_node->data); + GList *rcpt_node; + gchar *size_str = NULL; + gchar *time_str = NULL; + gchar *host_str = NULL; + gchar *ident_str = NULL; - printf("%s <= %s%s%s%s%s\n", msg->uid, addr_string(msg->return_path), size_str ? size_str : "", - time_str ? time_str : "", host_str ? host_str : "", ident_str ? ident_str : ""); + if (msg->data_size >= 0) + size_str = g_strdup_printf(" size=%d", msg->data_size); + if (msg->received_time > 0) { + gchar *tmp_str; + time_str = g_strdup_printf(" age=%s", tmp_str = format_difftime(difftime(time(NULL), msg->received_time))); + g_free(tmp_str); + } + if (msg->received_host != NULL) + host_str = g_strdup_printf(" host=%s", msg->received_host); + if (msg->ident != NULL) + ident_str = g_strdup_printf(" ident=%s", msg->ident); + + printf("%s <= %s%s%s%s%s\n", msg->uid, addr_string(msg->return_path), size_str ? size_str : "", + time_str ? time_str : "", host_str ? host_str : "", ident_str ? ident_str : ""); - if (size_str) - g_free(size_str); - if (time_str) - g_free(time_str); - if (host_str) - g_free(host_str); - if (ident_str) - g_free(ident_str); + if (size_str) + g_free(size_str); + if (time_str) + g_free(time_str); + if (host_str) + g_free(host_str); + if (ident_str) + g_free(ident_str); - foreach(msg->rcpt_list, rcpt_node) { - address *rcpt = (address *) (rcpt_node->data); + foreach(msg->rcpt_list, rcpt_node) { + address *rcpt = (address *) (rcpt_node->data); - printf(" %s %s\n", addr_is_delivered(rcpt) ? "=>" : (addr_is_failed(rcpt) ? "!=" : "=="), addr_string(rcpt)); - } - g_free(msg); + printf(" %s %s\n", addr_is_delivered(rcpt) ? "=>" : (addr_is_failed(rcpt) ? "!=" : "=="), addr_string(rcpt)); } - } else - printf("mail queue is empty.\n"); + g_free(msg); + } } gboolean @@ -193,35 +195,32 @@ gchar *dat_name = g_strdup_printf("%s/input/%s-D", conf.spool_dir, uid); struct stat stat_buf; - if (spool_lock(uid)) { - - if (stat(hdr_name, &stat_buf) == 0) { - if (unlink(hdr_name) != 0) { - fprintf(stderr, "could not unlink %s: %s\n", hdr_name, strerror(errno)); - hdr_ok = FALSE; - } - } else { - fprintf(stderr, "could not stat file %s: %s\n", hdr_name, strerror(errno)); - hdr_ok = FALSE; - } - if (stat(dat_name, &stat_buf) == 0) { - if (unlink(dat_name) != 0) { - fprintf(stderr, "could not unlink %s: %s\n", dat_name, strerror(errno)); - dat_ok = FALSE; - } - } else { - fprintf(stderr, "could not stat file %s: %s\n", dat_name, strerror(errno)); - dat_ok = FALSE; - } - printf("message %s deleted\n", uid); - - spool_unlock(uid); - - } else { - + if (!spool_lock(uid)) { fprintf(stderr, "message %s is locked.\n", uid); return FALSE; } + if (stat(hdr_name, &stat_buf) == 0) { + if (unlink(hdr_name) != 0) { + fprintf(stderr, "could not unlink %s: %s\n", hdr_name, strerror(errno)); + hdr_ok = FALSE; + } + } else { + fprintf(stderr, "could not stat file %s: %s\n", hdr_name, strerror(errno)); + hdr_ok = FALSE; + } + if (stat(dat_name, &stat_buf) == 0) { + if (unlink(dat_name) != 0) { + fprintf(stderr, "could not unlink %s: %s\n", dat_name, strerror(errno)); + dat_ok = FALSE; + } + } else { + fprintf(stderr, "could not stat file %s: %s\n", dat_name, strerror(errno)); + dat_ok = FALSE; + } + printf("message %s deleted\n", uid); + + spool_unlock(uid); + return (dat_ok && hdr_ok); }