xref: /plan9/sys/src/cmd/auth/lib/readn.c (revision 5979f96214a33481f1724725761f2ef3585d2237)
1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include "authcmdlib.h"
5 
6 /*
7  *  read exactly len bytes
8  */
9 int
readn(int fd,char * buf,int len)10 readn(int fd, char *buf, int len)
11 {
12 	int m, n;
13 
14 	for(n = 0; n < len; n += m){
15 		m = read(fd, buf+n, len-n);
16 		if(m <= 0)
17 			return -1;
18 	}
19 	return n;
20 }
21