forked from KolibriOS/kolibrios
kolibri-libc:
Move to folder with tcc. Part 1 git-svn-id: svn://kolibrios.org@8793 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
32
programs/develop/ktcc/trunk/libc.obj/source/stdio/vfprintf.c
Normal file
32
programs/develop/ktcc/trunk/libc.obj/source/stdio/vfprintf.c
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
|
||||
int vfprintf(FILE * file, const char *format, va_list arg)
|
||||
{
|
||||
static char *buf=NULL;
|
||||
int printed=0, rc = 0;
|
||||
|
||||
if(!file){
|
||||
errno = EBADF;
|
||||
return errno;
|
||||
}
|
||||
if(!format){
|
||||
errno = EINVAL;
|
||||
return errno;
|
||||
}
|
||||
|
||||
buf = malloc(STDIO_MAX_MEM);
|
||||
|
||||
if(!buf){
|
||||
errno = ENOMEM;
|
||||
return errno;
|
||||
}
|
||||
|
||||
printed = vsnprintf(buf, STDIO_MAX_MEM, format,arg);
|
||||
rc = fwrite(buf, sizeof(char), printed, file);
|
||||
free(buf);
|
||||
return rc;
|
||||
}
|
Reference in New Issue
Block a user