public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] a) Use strcoll() in opendir() and alphasort()
@ 2019-02-01  9:39 Sebastian Huber
  0 siblings, 0 replies; only message in thread
From: Sebastian Huber @ 2019-02-01  9:39 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=67613cbbd87b5b3c5b10209e6272fc8ec6405b26

commit 67613cbbd87b5b3c5b10209e6272fc8ec6405b26
Author: ache <ache@FreeBSD.org>
Date:   Mon Jan 18 10:17:51 2010 +0000

    a) Use strcoll() in opendir() and alphasort()
    
    as POSIX 2008 requires. It also matches now how our 'ls' works for years.
    
    b) Remove comment expressed 2 fears:
     1) One just simple describe how strcoll() works in _any_ context,
     not for directories only. Are we plan to remove strcoll() from everything
     just because it is little more complex than strcmp()? I doubt, and
     directories give nothing different here. Moreover, strcoll() used
     in 'ls' for years and nobody complaints yet.
    
     2) Plain wrong statement about undefined strcoll() behaviour. strcoll()
     always gives predictable results, falling back to strcmp() on any
     trouble, see strcoll(3).
    
    No objections from -current list discussion.

Diff:
---
 newlib/libc/posix/scandir.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/newlib/libc/posix/scandir.c b/newlib/libc/posix/scandir.c
index 56de1b9..c39d9a4 100644
--- a/newlib/libc/posix/scandir.c
+++ b/newlib/libc/posix/scandir.c
@@ -142,12 +142,13 @@ fail:
 
 /*
  * Alphabetic order comparison routine for those who want it.
+ * POSIX 2008 requires that alphasort() uses strcoll().
  */
 int
-alphasort (const struct dirent **d1,
-       const struct dirent **d2)
+alphasort(const struct dirent **d1, const struct dirent **d2)
 {
-       return(strcmp((*d1)->d_name, (*d2)->d_name));
+
+	return (strcoll((*d1)->d_name, (*d2)->d_name));
 }
 
 #endif /* ! HAVE_OPENDIR */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-02-01  9:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-01  9:39 [newlib-cygwin] a) Use strcoll() in opendir() and alphasort() Sebastian Huber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).