plan 9 kernel history: overview | file list | diff list

2001/0820/port/dev.c (diff list | history)

2001/0820/sys/src/9/port/dev.c:254,2732001/0822/sys/src/9/port/dev.c:254,271 (short | long | prev | next)
Bug fix?: save offset for devdirread to handle reads of large direectories.
rsc Fri Mar 4 12:44:25 2005
1990/0227    
long 
devdirread(Chan *c, char *d, long n, Dirtab *tab, int ntab, Devgen *gen) 
{ 
2001/0527    
	long k, m, dsz; 
2001/0822    
	long m, dsz; 
2001/0527    
	struct{ 
		Dir; 
		char slop[100]; 
	}dir; 
1990/0227    
 
2001/0527    
	k = c->offset; 
1993/0501    
	for(m=0; m<n; k++) { 
2001/0527    
		switch((*gen)(c, nil, tab, ntab, k, &dir)){ 
2001/0822    
	for(m=0; m<n; c->dri++) { 
		switch((*gen)(c, nil, tab, ntab, c->dri, &dir)){ 
1990/0227    
		case -1: 
1990/0821    
			return m; 
1990/0227    
 
		case 0: 
2001/0527    
			c->offset++;	/* BUG??? (was DIRLEN: skip entry) */ 
1990/0227    
			break; 
 
		case 1: 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)