Blame src/common/print.c

Szabolcs Nagy 814c6f
#include <stdio.h>
Szabolcs Nagy 814c6f
#include <stdarg.h>
Szabolcs Nagy 814c6f
#include <unistd.h>
Szabolcs Nagy 02466c
#include "test.h"
Szabolcs Nagy 814c6f
Szabolcs Nagy 814c6f
volatile int t_status = 0;
Szabolcs Nagy 814c6f
Szabolcs Nagy 814c6f
int t_printf(const char *s, ...)
Szabolcs Nagy 814c6f
{
Szabolcs Nagy 814c6f
	va_list ap;
Szabolcs Nagy 814c6f
	char buf[512];
Szabolcs Nagy 814c6f
	int n;
Szabolcs Nagy 814c6f
Szabolcs Nagy 814c6f
	t_status = 1;
Szabolcs Nagy 814c6f
	va_start(ap, s);
Szabolcs Nagy 814c6f
	n = vsnprintf(buf, sizeof buf, s, ap);
Szabolcs Nagy 814c6f
	va_end(ap);
Szabolcs Nagy 814c6f
	if (n < 0)
Szabolcs Nagy 814c6f
		n = 0;
Szabolcs Nagy 814c6f
	else if (n >= sizeof buf) {
Szabolcs Nagy 814c6f
		n = sizeof buf;
Szabolcs Nagy 814c6f
		buf[n - 1] = '\n';
Szabolcs Nagy 814c6f
		buf[n - 2] = '.';
Szabolcs Nagy 814c6f
		buf[n - 3] = '.';
Szabolcs Nagy 814c6f
		buf[n - 4] = '.';
Szabolcs Nagy 814c6f
	}
Szabolcs Nagy 814c6f
	return write(1, buf, n);
Szabolcs Nagy 814c6f
}