Re: [PATCH 3 of 3] Fix three bugs handling flags in mutt_copy_header
On Thursday, 10 July 2008 at 09:41, Aron Griffis wrote:
> # HG changeset patch
> # User Aron Griffis <agriffis@xxxxxxxxx>
> # Date 1215697105 14400
> # Branch HEAD
> # Node ID 95485bbbeea33e82dec544c4d007194390a3b109
> # Parent 73431d86627a2ccb24218c0f1f3b6b399860067e
> Fix three bugs handling flags in mutt_copy_header
>
> 1. mutt_copy_header incorrectly tests CH_UPDATE to determine whether to write
> the In-Reply-To and References headers. CH_UPDATE refers only to Status:
> and
> X-Status:
>
> 2. mutt_copy_header ignores CH_NOSTATUS which is supposed to indicate that the
> mailbox type doesn't use those headers.
>
> 3. mutt_copy_header tests h->env->irt_changed and h->env->refs_changed when it
> should be testing CH_UPDATE_IRT and CH_UPDATE_REFS, respectively. Early in
> the function this happens:
>
> if (h->env)
> flags |= (h->env->irt_changed ? CH_UPDATE_IRT : 0)
> | (h->env->refs_changed ? CH_UPDATE_REFS : 0);
>
> This means that for most callers, the result is the same, but
> mutt_copy_header should be testing the flags because the caller might have
> set them explicitly without setting irt_changed/refs_changed.
>
> Signed-off-by: Aron Griffis <agriffis@xxxxxxxxx>
Pushed, thanks.