makehistory(1) puts duplicated Xref: headers in overview

Russ Allbery rra at stanford.edu
Sun Dec 19 08:23:37 UTC 2004


WATANABE Katsuhiro <katsu at watanabe.name> writes:

> Now let me explain why this happens.

> In DoArt() of inn-2.4.1/expire/makehistory.c, if there is no valid Xref:
> header in the article header for some reason(at line 563), it tries to
> put "Xref: " string explicitly (at 576) in the overview data:

> In turn, db/overview.fmt of inn-2.4.1 indicates that the overview data
> should always have "full" description for Xref: header. This means
> "Xref: " string should always appear in the overview data. The "full"
> behaviour is accomplished by the code portion at around line 641-642.

> Please note, this if-clause must always be executed even if there is no
> Xref: in the article, because Xrefp->HeaderLength has been reset to
> positive value before this point (at 579 above).

> Consequently, "Xref: " string will appear two times in the overview
> data, one by explicit handling for no-Xref: special case, another by
> "full" keyword in overview.fmt.

Thanks, this is a good find.

> I'd propose to solve this problem by omitting XREF keyword and
> surrounding colon, space, etc. in snprintf() call at line 576. It is
> natural for me that only overview.fmt should specify the format of
> overview data.

Done in CVS.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the inn-bugs mailing list