blob: 88aff4869f5d6089f816e522a1ceb342c5fa7e19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <dirent.h>
struct dirent *readdir(DIR *dir) {
size_t offset = dir->dir_num * sizeof(struct dirent);
int rc;
if (-1 == (rc = pread(dir->fd, &dir->internal_direntry, sizeof(struct dirent),
offset)))
return NULL;
if (rc < sizeof(struct dirent))
return NULL;
dir->dir_num++;
return &(dir->internal_direntry);
}
|