Subversion Repositories Kolibri OS

Rev

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.         void* p;
  5.         if ((file->mode & 3)==FILE_OPEN_READ)
  6.                 return EOF;
  7.         if ((file->mode & 3)==FILE_OPEN_APPEND)
  8.                 file->filepos=file->filesize;
  9.         if (file->filepos==file->filesize)
  10.         {
  11.                 file->filesize++;
  12.                 if (file->filesize>file->buffersize)
  13.                 {
  14.                   p=realloc(file->buffer,file->filesize+file->filesize<<1);
  15.                   if (p==0)
  16.                         return EOF;
  17.                   file->buffersize=file->filesize+file->filesize<<1;
  18.                   file->buffer=p;
  19.                 }
  20.         }
  21.         file->buffer[file->filepos]=(char)c;
  22.         file->filepos++;
  23.         return 0;
  24. }
  25.