diff options
Diffstat (limited to 'tests/bugs/posix/bug-1175711.c')
-rw-r--r-- | tests/bugs/posix/bug-1175711.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/bugs/posix/bug-1175711.c b/tests/bugs/posix/bug-1175711.c new file mode 100644 index 00000000000..fbbea3f636b --- /dev/null +++ b/tests/bugs/posix/bug-1175711.c @@ -0,0 +1,37 @@ +#include <stdio.h> +#include <dirent.h> +#include <string.h> +#include <assert.h> + +int +main(int argc, char **argv) +{ + DIR *dir = NULL; + struct dirent *entry = NULL; + int ret = 0; + char *path = NULL; + + assert (argc == 2); + path = argv[1]; + + dir = opendir(path); + if (!dir) { + printf("opendir(%s) failed.\n", path); + return -1; + } + +#ifdef _DIRENT_HAVE_D_TYPE + while ((entry = readdir(dir)) != NULL) { + if (entry->d_type == DT_UNKNOWN) { + printf("d_type found to be DT_UNKNOWN\n"); + ret = -1; + break; + } + } +#endif + + if (dir) + closedir(dir); + + return ret; +} |