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. int fputc(int c,FILE* file)
  3. {
  4.         dword res;
  5.  
  6.         if ((file->mode & 3)==FILE_OPEN_READ) return EOF;
  7.  
  8.         file->buffer[0]=c;
  9.         if ((file->mode & 3)==FILE_OPEN_APPEND)
  10.         {
  11.                 file->filepos=file->filesize;
  12.                 file->filesize++;
  13.                 res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
  14.                 if (res!=0) return(res);
  15.                 file->filepos++;
  16.                 return(0);
  17.         }
  18.         if ((file->mode & 3)==FILE_OPEN_WRITE)
  19.         {
  20.                 if (file->filepos==0)
  21.                 {       //file not craeted
  22.                         res=_ksys_rewritefile(file->filename,1,file->buffer);
  23.                         if (res!=0) return(res);
  24.                         file->filepos++;
  25.                         return 0;
  26.                 }
  27.                 else
  28.                 {       //file craeted and need append one byte
  29.                         res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
  30.                         if (res!=0) return(res);
  31.                         file->filepos++;
  32.                         return 0;
  33.                 }
  34.         }
  35. }
  36.