From 0f8c0e81b64aeb8e1523f7ffa09a88c6eae04cfb Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 4 Feb 2006 01:26:24 +0000 Subject: touchup test to have some more helpful output --- test/misc/dirent.c | 48 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 13 deletions(-) (limited to 'test/misc') diff --git a/test/misc/dirent.c b/test/misc/dirent.c index 885990bf2..f8832f6bd 100644 --- a/test/misc/dirent.c +++ b/test/misc/dirent.c @@ -1,25 +1,47 @@ #include #include +#include +#include #include #include +#define _DTIFY(DT) [DT] #DT +const char const *types[] = { + _DTIFY(DT_UNKNOWN), + _DTIFY(DT_FIFO), + _DTIFY(DT_CHR), + _DTIFY(DT_DIR), + _DTIFY(DT_BLK), + _DTIFY(DT_REG), + _DTIFY(DT_LNK), + _DTIFY(DT_SOCK), + _DTIFY(DT_WHT) +}; + int main(int argc, char **argv) { + DIR *dirh; + struct dirent *de; + struct dirent64 *de64; + const char const mydir[] = "."; - DIR *dirh; - struct dirent *dirp; - static char mydir[20] = "/tmp"; + if ((dirh = opendir(mydir)) == NULL) { + perror("opendir"); + return 1; + } - if ((dirh = opendir(mydir)) == NULL) { - perror("opendir"); - return 1; - } + printf("readdir() says:\n"); + while ((de = readdir(dirh)) != NULL) + printf("\tdir entry %s: %s\n", types[de->d_type], de->d_name); - for (dirp = readdir(dirh); dirp != NULL; dirp = readdir(dirh)) { - printf("Got dir entry: %s\n",dirp->d_name); - } + rewinddir(dirh); - closedir(dirh); - return 0; -} + printf("readdir64() says:\n"); + while ((de64 = readdir64(dirh)) != NULL) + printf("\tdir entry %s: %s\n", types[de64->d_type], de64->d_name); + + closedir(dirh); + + return 0; +} -- cgit v1.2.3