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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to