]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lmtp: Code cleanup.
authorTimo Sirainen <tss@iki.fi>
Sun, 2 Oct 2011 13:51:40 +0000 (16:51 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 2 Oct 2011 13:51:40 +0000 (16:51 +0300)
src/lmtp/client.c
src/lmtp/client.h
src/lmtp/commands.c

index 8110ee617e91e17352e8f1bed3e9db861bd21ed3..8ffb503b14f1da823740eaee108f2c1e2f3b82e4 100644 (file)
@@ -291,12 +291,15 @@ void client_state_reset(struct client *client)
                        mail_storage_service_user_free(&rcpt->service_user);
        }
 
-       if (client->state.raw_mail != NULL)
+       if (client->state.raw_mail != NULL) {
+               struct mailbox_transaction_context *raw_trans =
+                       client->state.raw_mail->transaction;
+               struct mailbox *raw_box = client->state.raw_mail->box;
+
                mail_free(&client->state.raw_mail);
-       if (client->state.raw_trans != NULL)
-               mailbox_transaction_rollback(&client->state.raw_trans);
-       if (client->state.raw_box != NULL)
-               mailbox_free(&client->state.raw_box);
+               mailbox_transaction_rollback(&raw_trans);
+               mailbox_free(&raw_box);
+       }
 
        if (client->state.mail_data != NULL)
                buffer_free(&client->state.mail_data);
index a4e429e08d09e8312957aed0ec79ecea4ae1818f..e7b7ce779608e6cc83b0abfd5827afaa55a90cbd 100644 (file)
@@ -27,8 +27,6 @@ struct client_state {
        struct ostream *mail_data_output;
        const char *added_headers;
 
-       struct mailbox *raw_box;
-       struct mailbox_transaction_context *raw_trans;
        struct mail *raw_mail;
 
        struct mail_user *dest_user;
index 1637ab5971709003ddc0dfdf15e2c7e46038eda2..6b8d8b47accb7d7d6f00968519ba9d0bb5e77806 100644 (file)
@@ -626,6 +626,7 @@ static int client_open_raw_mail(struct client *client, struct istream *input)
                NULL
        };
        struct mailbox *box;
+       struct mailbox_transaction_context *trans;
        struct mailbox_header_lookup_ctx *headers_ctx;
        enum mail_error error;
 
@@ -639,12 +640,10 @@ static int client_open_raw_mail(struct client *client, struct istream *input)
                return -1;
        }
 
-       client->state.raw_box = box;
-       client->state.raw_trans = mailbox_transaction_begin(box, 0);
+       trans = mailbox_transaction_begin(box, 0);
 
        headers_ctx = mailbox_header_lookup_init(box, wanted_headers);
-       client->state.raw_mail = mail_alloc(client->state.raw_trans,
-                                           0, headers_ctx);
+       client->state.raw_mail = mail_alloc(trans, 0, headers_ctx);
        mailbox_header_lookup_unref(&headers_ctx);
        mail_set_seq(client->state.raw_mail, 1);
        return 0;