summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/vfprintf.c
blob: c33a2404bc45923f535af644ae3d3ea7062a6c07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include "dietstdarg.h"

int vfprintf(FILE *fstream, const char *format, va_list ap)
{
  char *tmp;
  va_list cp_ap;
  size_t n = 0;

  va_copy(cp_ap, ap);
  n=vsnprintf(0, 1000000, format, cp_ap);
  tmp=alloca(n+2);
  vsnprintf(tmp, n+1, format, ap);
  fwrite(tmp, n,1, fstream);
  return n;
}