ref: 3aeab1c91e6f2d8dd52fc29063f359a5c35c8901
dir: /sys/src/ape/lib/ap/plan9/9readn.c/
#include "sys9.h"
long
_READN(int f, void *av, long n)
{
char *a;
long m, t;
a = av;
t = 0;
while(t < n){
m = _READ(f, a+t, n-t);
if(m <= 0){
if(t == 0)
return m;
break;
}
t += m;
}
return t;
}