fread.c 441 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * fread.c - read a number of members into an array
  3. */
  4. /* $Id$ */
  5. #include <stdio.h>
  6. size_t
  7. fread(void *ptr, size_t size, size_t nmemb, register FILE *stream)
  8. {
  9. register char *cp = ptr;
  10. register int c;
  11. size_t ndone = 0;
  12. register size_t s;
  13. if (size)
  14. while ( ndone < nmemb ) {
  15. s = size;
  16. do {
  17. if ((c = getc(stream)) != EOF)
  18. *cp++ = c;
  19. else
  20. return ndone;
  21. } while (--s);
  22. ndone++;
  23. }
  24. return ndone;
  25. }