Date: Wed, 20 Jan 2010 21:33:08 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Andrey Chernov <ache@nagual.pp.ru> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Bruce Evans <brde@optusnet.com.au> Subject: Re: svn commit: r202572 - head/lib/libc/gen Message-ID: <20100120211722.S2451@besplex.bde.org> In-Reply-To: <20100120094627.GA53020@nagual.pp.ru> References: <201001181344.o0IDiiEL079037@svn.freebsd.org> <20100120012639.B67517@delplex.bde.org> <20100120070843.GA45937@nagual.pp.ru> <20100120191752.Q2120@besplex.bde.org> <20100120094627.GA53020@nagual.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Jan 2010, Andrey Chernov wrote: > On Wed, Jan 20, 2010 at 07:43:29PM +1100, Bruce Evans wrote: >> No, it is a comment about opendir()'s comparison function. It has nothing >> to do with scandir(), and the only thing that it has to do with alphasort() >> is that it must be different for the reasons described. > > Then the comment was plain wrong (not misplaced), so removing it becomes > right again because the comment states: "opendir()'s comparison function" > according to POSIX 2008 and XSI 7 should use strcoll(). No. It never mentioned opendir() or even scandir(). It only mentioned the relevant things. Here it is: 1.25 (delphij 16-Apr-08): /* 1.27 (kib 05-Jan-10): * POSIX 2008 and XSI 7 require alphasort() to call strcoll() for 1.27 (kib 05-Jan-10): * directory entries ordering. Use local copy that uses strcmp(). 1.27 (kib 05-Jan-10): */ > But there is > nothing said about opendir() & strcoll() relation in the mentioned > standards. The only word I found is that opendir() returns "ordered" > sequence, but nowhere mentioned ordered by what criteria, so perhaps they > mean "stable": As I said before, sorting in opendir() has nothing to do with POSIX! It is an implementation detail for union file systems/mounts. >> page more than here. BTW, I don't remember any man page updates for >> this. The man page still only says that alphasort() can be used to >> give alphabetical sorting in scandir(). > > Alphabetically already means sorted according to collate, otherwhise it is > called binary. Perhaps manpage should refer strcoll() directly. Yes it should, like POSIX does. It should also give the FreeBSD extension of POSIX. POSIX says: "If the strcoll() function fails, then the return value of alphasort() is unspecified.", but this makes alphasort() unusable since a qsort() comparison function must return a specified value. > >> I can't see this now (some illusion from my mailer or $TERMCAP >> misformatting the patch?), but now I see an extra "the" in it: >> >> "requires the alphasort() to use strcoll()" >> >> should be either >> >> "requires that alphasort() uses strcoll()" >> >> (preferred) or >> >> "requires alphasort() to use strcoll()" >> >> (probably intended, but not too passive). I thought that you removed >> this line completely. The previous line is even less useful. > > I don't add extra "the" there) What do you want, clarify please: > 1) Remove whole comment. > 2) Remove only first line and correct second to "that". > 3) Just correct second to "that". Correct the second line to "that ... uses". Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100120211722.S2451>