* Copyright (c) 1983 Regents of the University of California.
* %sccs.include.redist.c%
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)readdir.c 5.7 (Berkeley) %G%";
#endif /* LIBC_SCCS and not lint */
* get next entry in a directory.
register struct dirent
*dp
;
dirp
->dd_size
= getdirentries(dirp
->dd_fd
,
dirp
->dd_buf
, dirp
->dd_len
, &dirp
->dd_seek
);
if (dirp
->dd_loc
>= dirp
->dd_size
) {
dp
= (struct dirent
*)(dirp
->dd_buf
+ dirp
->dd_loc
);
if ((int)dp
& 03) /* bogus pointer check */
dp
->d_reclen
> dirp
->dd_len
+ 1 - dirp
->dd_loc
)
dirp
->dd_loc
+= dp
->d_reclen
;