From b9a74f2ad5ee267c7da2476738ba553a571ca67d Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Mon, 18 Jan 2010 13:44:44 +0000 Subject: [PATCH] Double checking my commit I found that comment saying that POSIX 2008 and XSI 7require strcoll() for opendir() is not true. I can't find such requirement in POSIX 2008 and XSI 7. So, back out that part of my commit, returning old strcmp(), and remove this misleading comment. --- lib/libc/gen/opendir.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c index d99faa40714..dd6d0423bc4 100644 --- a/lib/libc/gen/opendir.c +++ b/lib/libc/gen/opendir.c @@ -92,15 +92,11 @@ __opendir2(const char *name, int flags) return __opendir_common(fd, name, flags); } -/* - * POSIX 2008 and XSI 7 require alphasort() to call strcoll() for - * directory entries ordering. - */ static int -opendir_alphasort(const void *p1, const void *p2) +opendir_sort(const void *p1, const void *p2) { - return (strcoll((*(const struct dirent **)p1)->d_name, + return (strcmp((*(const struct dirent **)p1)->d_name, (*(const struct dirent **)p2)->d_name)); } @@ -253,7 +249,7 @@ __opendir_common(int fd, const char *name, int flags) * This sort must be stable. */ mergesort(dpv, n, sizeof(*dpv), - opendir_alphasort); + opendir_sort); dpv[n] = NULL; xp = NULL;