Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. #include <stdio.h>
  2.  
  3. size_t fread(void *restrict ptr, size_t size, size_t nmemb, FILE *restrict stream) {
  4.         unsigned bytes_read = 0;
  5.         unsigned bytes_count = size * nmemb;
  6.         _ksys_file_read_file(stream->name, stream->position, bytes_count, ptr, &bytes_read);
  7.         stream->position += bytes_read;
  8.         ksys_bdfe_t info;
  9.         // TODO: Handle _ksys_file_get_info error somehow
  10.         if (!_ksys_file_get_info(stream->name, &info)) {
  11.                 if (stream->position >= info.size) {
  12.                         stream->eof = 1;
  13.                 }
  14.         }
  15.         return bytes_read / size;
  16. }
  17.