kolibrios/programs/develop/metcc/trunk/libc/file/fputc.c
andrew_programmer e5c041df96 Update Kolibri version of libC library(for usage in TinyC).
Correction of various mistakes in functions of work with files.
For work with files 70 function is used.
Functions for work with memory are changed for use of the new manager of memory. 

git-svn-id: svn://kolibrios.org@610 a494cfbc-eb01-0410-851d-a64ba20cac60
2007-08-24 19:49:07 +00:00

36 lines
805 B
C

#include "stdio.h"
int fputc(int c,FILE* file)
{
dword res;
if ((file->mode & 3)==FILE_OPEN_READ) return EOF;
file->buffer[0]=c;
if ((file->mode & 3)==FILE_OPEN_APPEND)
{
file->filepos=file->filesize;
file->filesize++;
res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
if (res!=0) return(res);
file->filepos++;
return(0);
}
if ((file->mode & 3)==FILE_OPEN_WRITE)
{
if (file->filepos==0)
{ //file not craeted
res=_ksys_rewritefile(file->filename,1,file->buffer);
if (res!=0) return(res);
file->filepos++;
return 0;
}
else
{ //file craeted and need append one byte
res=_ksys_appendtofile(file->filename,file->filepos,1,file->buffer);
if (res!=0) return(res);
file->filepos++;
return 0;
}
}
}