Subversion Repositories Kolibri OS

Rev

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

  1. #include <stdio.h>
  2. #include <mesys.h>
  3. int fread(void *buffer,int size,int count,FILE* file)
  4. {
  5.         dword res;
  6.         dword fullsize;
  7.  
  8.         if ((file->mode & 3!=FILE_OPEN_READ) && (file->mode & FILE_OPEN_PLUS==0))       return 0;
  9.  
  10.         fullsize=count*size;
  11.         if ((fullsize+file->filepos)>(file->filesize))
  12.         {
  13.                 fullsize=file->filesize-file->filepos;
  14.                 if (fullsize<=0) return(0);
  15.         }
  16.  
  17.         res=_ksys_readfile(file->filename,file->filepos,fullsize,buffer);
  18.         if (res==0)
  19.         {      
  20.                 file->filepos=file->filepos+fullsize;
  21.                 fullsize=fullsize/size;
  22.                 return(fullsize);
  23.         }
  24.         else    return 0;
  25. }