<<< Date Index >>>     <<< Thread Index >>>

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.