Files
RedBear-OS/tests/dirent/main.c
T
Tibor Nagy d1a424c002 tests: Replace returns with exits in the main functions
This will allow us to redefine the exit function.

For example:
```
#define exit(code) { \
    fprintf(stderr, "%s:%d: exit(%s) in function ‘%s’\n",
        __FILE__, __LINE__, #code, __func__); \
    _exit(code); \
}
```
2019-02-21 12:15:06 +01:00

42 lines
870 B
C

#include <dirent.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("%lu\n", sizeof(struct dirent));
DIR* dir = opendir("example_dir/");
if (dir == NULL) {
perror("opendir");
exit(EXIT_FAILURE);
}
struct dirent* entry;
//int tell = 0;
for (char counter = 0; (entry = readdir(dir)); counter += 1) {
puts(entry->d_name);
//if (counter == 4) {
// tell = telldir(dir);
//}
}
puts("--- Testing rewind ---");
rewinddir(dir);
entry = readdir(dir);
puts(entry->d_name);
// puts("--- Testing seek ---");
// // Why this doesn't cause it to actually go to the 4th element is beyond
// // me, but glibc acts the same way.
// seekdir(dir, tell);
// entry = readdir(dir);
// puts(entry->d_name);
closedir(dir);
}