Subversion Repositories Kolibri OS

Rev

Rev 8687 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. #include <stdio.h>
  3. #include <errno.h>
  4. #include <stdlib.h>
  5. #include <limits.h>
  6.  
  7. int vfprintf(FILE * file, const char *format, va_list arg)
  8. {
  9.     static char *buf=NULL;
  10.     int         printed=0, rc = 0;
  11.    
  12.     if(!file){
  13.         errno = EBADF;
  14.         return errno;
  15.     }
  16.     if(!format){
  17.         errno = EINVAL;
  18.         return errno;
  19.     }
  20.  
  21.     buf = malloc(STDIO_MAX_MEM);
  22.    
  23.     if(!buf){
  24.         errno = ENOMEM;
  25.         return errno;
  26.     }
  27.    
  28.     printed = vsnprintf(buf, STDIO_MAX_MEM, format,arg);
  29.         rc = fwrite(buf, sizeof(char), printed, file);
  30.     free(buf);
  31.     return rc;
  32. }
  33.