nnrp answer to listgroup of empty group
Jeffrey M. Vinocur
jeff at litech.org
Mon Jan 30 14:01:56 UTC 2006
On Jan 30, 2006, at 8:15 AM, Andreas Vogt wrote:
> (INN 2.4.2)
>
> [ LISTGROUP gives this: ]
>
> 411 No such group xx.yy.zz
>
> [ when GROUP gives: ]
>
> 211 0 0 0 xx.yy.zz
That certainly strikes me like a bug.
The relevant code in nnrpd/group.c is:
if (!OVgroupstats(group, &ARTlow, &ARThigh, &count, NULL)) {
Reply("%s %s\r\n", NOSUCHGROUP, group);
free(group);
return;
}
[...]
if ((handle = OVopensearch(group, ARTlow, ARThigh)) != NULL) {
if (count == 0)
Reply("%d 0 0 0 %s\r\n", NNTP_GROUPOK_VAL, group);
else
Reply("%d %d %ld %ld %s\r\n", NNTP_GROUPOK_VAL, count,
ARTlow, ARThigh, group);
while (OVsearch(handle, &i, NULL, NULL, &token, NULL)) {
[...]
} else {
Reply("%s %s\r\n", NOSUCHGROUP, group);
}
And I think we should pull the count==0 test outside of the
surrounding if block. Except that makes it difficult to deal with a
true error (not just empty group) returned from OVopensearch. Ho
hum. I think I see how to rearrange it, but I don't seem to be able
to compile INN at the moment so I can't test.
--
Jeffrey M. Vinocur
jeff at litech.org
More information about the inn-workers
mailing list