Removing overview lines when cancelling articles

Julien ÉLIE julien at trigofacile.com
Thu Jan 28 20:30:26 UTC 2010


Hi Lars,

> Five years ago Russ whipped up a patch to remove entries from .overview
> index files immediately when cancelling articles.  This weekend I sat
> down and tried to get it to work (first with 2.4.1; no luck, and then
> with 2.5.1).  It looks like it's working perfectly, but it needs this
> tiny patch to trigger:
>
> --- ov.c~ 2009-10-12 20:24:04.000000000 +0200
> +++ ov.c 2010-01-24 18:28:29.000000000 +0100
> @@ -277,7 +277,8 @@
>          *p = '\0';
>          errno = 0;
>          artnum = strtoul(p + 1, &end, 10);
> -        if (artnum == 0 || *end != '\0' || errno == ERANGE)
> +        if (artnum == 0 || errno == ERANGE)
>              continue;
>
> The problem being that *end is usually ^M or SPC here, and not NUL.  I
> think the right thing to do is just not test *end, but there could be
> something subtle there I'm missing.

The code uses an Xref: line, splits it with cvector_split_space() and
then parses each result.  They should be of the form "group:number".

What is the patch you mention?  Why would it give you "group:number "
or "group:number\r" results?


Xref: is properly generated by INN.  The one case I see if when you use
INN as a slave server (xrefslave set to true in inn.conf) with a master
that generates different Xref: lines than INN.
For instance with a folding whitespace after an article number...
Is that the case?

-- 
Julien ÉLIE

« Vous savez, les idées, elles sont dans l'air. Il suffit que quelqu'un
  vous en parle de trop près, pour que vous les attrapiez ! » (Raymond Devos) 




More information about the inn-workers mailing list