From f8478eb4c4a60d0deb9eb3276540d74f1866f878 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 30 Apr 2017 01:49:21 +0200 Subject: lib9p: allow rewinding in 9pfile directories --- sys/src/lib9p/file.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sys/src/lib9p/file.c') diff --git a/sys/src/lib9p/file.c b/sys/src/lib9p/file.c index 53fba67a8..b2e726cbf 100644 --- a/sys/src/lib9p/file.c +++ b/sys/src/lib9p/file.c @@ -394,12 +394,16 @@ opendirfile(File *dir) } long -readdirfile(Readdir *r, uchar *buf, long n) +readdirfile(Readdir *r, uchar *buf, long n, long o) { long x, m; Filelist *fl; - for(fl=r->fl, m=0; fl && m+2<=n; fl=fl->link, m+=x){ + if(o == 0) + fl = r->dir->filelist; + else + fl = r->fl; + for(m=0; fl && m+2<=n; fl=fl->link, m+=x){ if(fl->f == nil) x = 0; else if((x=convD2M(fl->f, buf+m, n-m)) <= BIT16SZ) -- cgit v1.2.3