aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/dirread.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2003-12-04 00:17:10 +0000
committerrsc <devnull@localhost>2003-12-04 00:17:10 +0000
commit1c8efa18ee49ae70138ae4cbc7b9fff5c17a89c8 (patch)
treeff26edaffb990edf238081598c5a223c68edacea /src/lib9/dirread.c
parent683c5e534ad7902669f8d92537f9e370380248de (diff)
downloadplan9port-1c8efa18ee49ae70138ae4cbc7b9fff5c17a89c8.tar.gz
plan9port-1c8efa18ee49ae70138ae4cbc7b9fff5c17a89c8.tar.bz2
plan9port-1c8efa18ee49ae70138ae4cbc7b9fff5c17a89c8.zip
allow rfork(RFNOTEG|RFPROC|RFFDG) for rc.
Diffstat (limited to 'src/lib9/dirread.c')
-rw-r--r--src/lib9/dirread.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib9/dirread.c b/src/lib9/dirread.c
index 5aa5c449..4105e878 100644
--- a/src/lib9/dirread.c
+++ b/src/lib9/dirread.c
@@ -50,8 +50,7 @@ countde(char *p, int n)
de->d_name[0] = 0;
else if(de->d_name[0]=='.' && de->d_name[1]=='.' && de->d_name[2]==0)
de->d_name[0] = 0;
- else
- m++;
+ m++;
p += de->d_reclen;
}
return m;
@@ -78,9 +77,12 @@ dirpackage(int fd, char *buf, int n, Dir **dp)
p = buf;
nstr = 0;
+
for(i=0; i<n; i++){
de = (struct dirent*)p;
- if(stat(de->d_name, &st) < 0)
+ if(de->d_name[0] == 0)
+ /* nothing */ {}
+ else if(stat(de->d_name, &st) < 0)
de->d_name[0] = 0;
else
nstr += _p9dir(&st, de->d_name, nil, nil, nil);