Re: Cyrus IMAPd 2.3.10 Released

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

>>>>> On Sat, 27 Oct 2007 22:36:45 +0200
>>>>> Tomas Janousek <tjanouse@xxxxxxxxxx> said:

tjanouse> Hi,

tjanouse> On Sun, Oct 28, 2007 at 02:35:05AM +0900, Hajimu UMEMOTO wrote:
> tjanouse> Yes. It should read "ret == -1 && ngroups != newstate->ngroups". I'm really
> tjanouse> confused why I put the "ret != -1" in there.
> 
> As far as I read the FreeBSD's getgrouplist() implementation, when it
> returns -1, the number of the groups actually filled is set to
> ngroups.  It is match with the following description in the manpage:
> 
>   RETURN VALUES
>      The getgrouplist() function returns -1 if the size of the group list is
>      too small to hold all the user's groups.  Here, the group array will be
>      filled with as many groups as will fit.

tjanouse> The manpage says that "the actual number of groups found is returned in
tjanouse> ngroups."  My understanding may be bad and/or they may have implemented
tjanouse> something else than they say in the manpage/than what I understand, though.
tjanouse> But I think this part of behaviour is really the same.  If you really think
tjanouse> this is not what happens, I will check the sources.

It seems to me from the source of getgrouplist() that it sets "the
actual number of groups found" to ngroups only when it returns 0.
When it returns -1, "the number of groups actually filled" is set to
ngroups.  I think that it is what the RETURN VALUES section in
FreeBSD's manpage says.
So, I think that "ret == -1 && ngroups != newstate->ngroups" would be
always FALSE at least on FreeBSD.

Sincerely,

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume@xxxxxxxxxxxx  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux