1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#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; }