Blame


1 b2cfc4e2 2003-09-30 devnull #include <lib9.h>
2 b2cfc4e2 2003-09-30 devnull
3 b2cfc4e2 2003-09-30 devnull long
4 b2cfc4e2 2003-09-30 devnull readn(int f, void *av, long n)
5 b2cfc4e2 2003-09-30 devnull {
6 b2cfc4e2 2003-09-30 devnull char *a;
7 b2cfc4e2 2003-09-30 devnull long m, t;
8 b2cfc4e2 2003-09-30 devnull
9 b2cfc4e2 2003-09-30 devnull a = av;
10 b2cfc4e2 2003-09-30 devnull t = 0;
11 b2cfc4e2 2003-09-30 devnull while(t < n){
12 b2cfc4e2 2003-09-30 devnull m = read(f, a+t, n-t);
13 b2cfc4e2 2003-09-30 devnull if(m <= 0){
14 b2cfc4e2 2003-09-30 devnull if(t == 0)
15 b2cfc4e2 2003-09-30 devnull return m;
16 b2cfc4e2 2003-09-30 devnull break;
17 b2cfc4e2 2003-09-30 devnull }
18 b2cfc4e2 2003-09-30 devnull t += m;
19 b2cfc4e2 2003-09-30 devnull }
20 b2cfc4e2 2003-09-30 devnull return t;
21 b2cfc4e2 2003-09-30 devnull }