LibC: Add alphasort() implementation

This is a POSIX API required for the latest stress-ng port.
This commit is contained in:
Brian Gianforcaro 2021-12-27 19:26:37 -08:00 committed by Andreas Kling
commit c4b1e49036
Notes: sideshowbarker 2024-07-17 22:03:55 +09:00
2 changed files with 7 additions and 0 deletions

View file

@ -222,6 +222,12 @@ int dirfd(DIR* dirp)
return dirp->fd; return dirp->fd;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html
int alphasort(const struct dirent** d1, const struct dirent** d2)
{
return strcoll((*d1)->d_name, (*d2)->d_name);
}
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/scandir.html // https://pubs.opengroup.org/onlinepubs/9699919799/functions/scandir.html
int scandir(const char* dir_name, int scandir(const char* dir_name,
struct dirent*** namelist, struct dirent*** namelist,

View file

@ -35,6 +35,7 @@ struct dirent* readdir(DIR*);
int readdir_r(DIR*, struct dirent*, struct dirent**); int readdir_r(DIR*, struct dirent*, struct dirent**);
int dirfd(DIR*); int dirfd(DIR*);
int alphasort(const struct dirent** d1, const struct dirent** d2);
int scandir(const char* dirp, struct dirent*** namelist, int scandir(const char* dirp, struct dirent*** namelist,
int (*filter)(const struct dirent*), int (*filter)(const struct dirent*),
int (*compar)(const struct dirent**, const struct dirent**)); int (*compar)(const struct dirent**, const struct dirent**));