34 lines
382 B
C
34 lines
382 B
C
#include "stdio.h"
|
|
|
|
static void
|
|
printfputch(int ch, int *cnt)
|
|
{
|
|
char buf = (char)ch;
|
|
write(STD_OUT, &buf, 1);
|
|
(*cnt)++;
|
|
}
|
|
|
|
int
|
|
vprintf(const char *fmt, va_list ap)
|
|
{
|
|
int cnt = 0;
|
|
|
|
vprintfmt((void *)printfputch, &cnt, fmt, ap);
|
|
|
|
return cnt;
|
|
}
|
|
|
|
int
|
|
printf(const char *fmt, ...)
|
|
{
|
|
va_list ap;
|
|
int rc;
|
|
|
|
va_start(ap, fmt);
|
|
rc = vprintf(fmt, ap);
|
|
va_end(ap);
|
|
|
|
return rc;
|
|
}
|
|
|