minor adaption, to close filedescriptor immediatelym if possible

This commit is contained in:
ceriel
1987-03-27 15:11:06 +00:00
parent 19d29e4018
commit e3043b7dcb
5 changed files with 18 additions and 10 deletions

View File

@@ -25,21 +25,22 @@ register DIR *dirp;
static struct direct dir;
for (;;) {
if (dirp->dd_loc == 0) {
if (dirp->dd_loc == -1) {
dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf,
dirp->dd_bsize);
if (dirp->dd_size <= 0) {
dirp->dd_size = 0;
return NULL;
}
dirp->dd_loc = 0;
#ifdef __BSD4_2
if (! ((struct direct *) dirp->dd_buf)->d_ino) {
dirp->dd_loc += ((struct direct *)dirp->dd_buf)->d_reclen;
dirp->dd_loc = ((struct direct *)dirp->dd_buf)->d_reclen;
}
#endif
}
if (dirp->dd_loc >= dirp->dd_size) {
dirp->dd_loc = 0;
dirp->dd_loc = -1;
continue;
}
dp = (struct olddirect *) (dirp->dd_buf + dirp->dd_loc);