readn.c 264 B

1234567891011121314151617181920
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <bio.h>
  4. #include "authcmdlib.h"
  5. /*
  6. * read exactly len bytes
  7. */
  8. int
  9. readn(int fd, char *buf, int len)
  10. {
  11. int m, n;
  12. for(n = 0; n < len; n += m){
  13. m = read(fd, buf+n, len-n);
  14. if(m <= 0)
  15. return -1;
  16. }
  17. return n;
  18. }