From f8a65069905b067fda10667f4275c9f3ead64eed Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 8 May 2001 18:04:43 +0000 Subject: Add in a qsort, alphasort, scandir test from Jon Nelson, jnelson@securepipe.com --- test/stdlib/qsort.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test/stdlib/qsort.c (limited to 'test/stdlib/qsort.c') diff --git a/test/stdlib/qsort.c b/test/stdlib/qsort.c new file mode 100644 index 000000000..50464979e --- /dev/null +++ b/test/stdlib/qsort.c @@ -0,0 +1,46 @@ +#include +#include +#include + +int select_files(const struct dirent *dirbuf) +{ + if (dirbuf->d_name[0] == '.') + return 0; + else + return 1; +} + + +int main(void) +{ + struct dirent **array; + struct dirent *dirbuf; + + int i, numdir; + + chdir("/"); + numdir = scandir(".", &array, select_files, NULL); + printf("\nGot %d entries from scandir().\n", numdir); + for (i = 0; i < numdir; ++i) { + dirbuf = array[i]; + printf("[%d] %s\n", i, dirbuf->d_name); + free(array[i]); + } + free(array); + numdir = scandir(".", &array, select_files, alphasort); + printf("\nGot %d entries from scandir() using alphasort().\n", numdir); + for (i = 0; i < numdir; ++i) { + dirbuf = array[i]; + printf("[%d] %s\n", i, dirbuf->d_name); + } + printf("\nCalling qsort()\n", numdir); + qsort(array, numdir, sizeof(struct dirent *), alphasort); + for (i = 0; i < numdir; ++i) { + dirbuf = array[i]; + printf("[%d] %s\n", i, dirbuf->d_name); + free(array[i]); + } + free(array); + return(0); +} + -- cgit v1.2.3