From: Richard Russon Date: Tue, 28 Nov 2017 20:38:45 +0000 (+0000) Subject: move envelope function X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1397c1d2ae20975c20556e7ae45889ea33420860;p=neomutt move envelope function --- diff --git a/envelope.c b/envelope.c index 6c229128c..ead2bc821 100644 --- a/envelope.c +++ b/envelope.c @@ -37,6 +37,7 @@ #include "mutt/buffer.h" #include "mutt/memory.h" #include "mutt/queue.h" +#include "mutt/string2.h" #include "envelope.h" #include "address.h" @@ -163,3 +164,28 @@ void mutt_env_merge(struct Envelope *base, struct Envelope **extra) mutt_env_free(extra); } + +int mutt_env_cmp_strict(const struct Envelope *e1, const struct Envelope *e2) +{ + if (e1 && e2) + { + if ((mutt_str_strcmp(e1->message_id, e2->message_id) != 0) || + (mutt_str_strcmp(e1->subject, e2->subject) != 0) || + !mutt_list_compare(&e1->references, &e2->references) || + !mutt_addr_cmp_strict(e1->from, e2->from) || + !mutt_addr_cmp_strict(e1->sender, e2->sender) || + !mutt_addr_cmp_strict(e1->reply_to, e2->reply_to) || + !mutt_addr_cmp_strict(e1->to, e2->to) || !mutt_addr_cmp_strict(e1->cc, e2->cc) || + !mutt_addr_cmp_strict(e1->return_path, e2->return_path)) + return 0; + else + return 1; + } + else + { + if (!e1 && !e2) + return 1; + else + return 0; + } +} diff --git a/envelope.h b/envelope.h index 5d7e5f79c..59dd959a1 100644 --- a/envelope.h +++ b/envelope.h @@ -64,8 +64,9 @@ struct Envelope bool refs_changed : 1; /**< References changed to break thread */ }; +int mutt_env_cmp_strict(const struct Envelope *e1, const struct Envelope *e2); +void mutt_env_free(struct Envelope **p); +void mutt_env_merge(struct Envelope *base, struct Envelope **extra); struct Envelope *mutt_env_new(void); -void mutt_env_free(struct Envelope **p); -void mutt_env_merge(struct Envelope *base, struct Envelope **extra); #endif /* _MUTT_ENVELOPE_H */ diff --git a/mbox.c b/mbox.c index 4714085b3..cad3bd3b2 100644 --- a/mbox.c +++ b/mbox.c @@ -552,31 +552,6 @@ static int mbox_open_new_message(struct Message *msg, struct Context *dest, stru return 0; } -static int strict_cmp_envelopes(const struct Envelope *e1, const struct Envelope *e2) -{ - if (e1 && e2) - { - if ((mutt_str_strcmp(e1->message_id, e2->message_id) != 0) || - (mutt_str_strcmp(e1->subject, e2->subject) != 0) || - !mutt_list_compare(&e1->references, &e2->references) || - !mutt_addr_cmp_strict(e1->from, e2->from) || - !mutt_addr_cmp_strict(e1->sender, e2->sender) || - !mutt_addr_cmp_strict(e1->reply_to, e2->reply_to) || - !mutt_addr_cmp_strict(e1->to, e2->to) || !mutt_addr_cmp_strict(e1->cc, e2->cc) || - !mutt_addr_cmp_strict(e1->return_path, e2->return_path)) - return 0; - else - return 1; - } - else - { - if (!e1 && !e2) - return 1; - else - return 0; - } -} - /** * strict_cmp_parameters - strictly compare two parameters * @param p1 first parameter @@ -624,7 +599,7 @@ int mbox_strict_cmp_headers(const struct Header *h1, const struct Header *h2) h1->content->length != h2->content->length || h1->lines != h2->lines || h1->zhours != h2->zhours || h1->zminutes != h2->zminutes || h1->zoccident != h2->zoccident || h1->mime != h2->mime || - !strict_cmp_envelopes(h1->env, h2->env) || + !mutt_env_cmp_strict(h1->env, h2->env) || !strict_cmp_bodies(h1->content, h2->content)) return 0; else