xref: /plan9/sys/src/cmd/unix/u9fs/readn.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 #include <plan9.h>
2 
3 long
readn(int f,void * av,long n)4 readn(int f, void *av, long n)
5 {
6 	char *a;
7 	long m, t;
8 
9 	a = av;
10 	t = 0;
11 	while(t < n){
12 		m = read(f, a+t, n-t);
13 		if(m <= 0){
14 			if(t == 0)
15 				return m;
16 			break;
17 		}
18 		t += m;
19 	}
20 	return t;
21 }
22