@@ -55,6 +55,7 @@ extern void abort(void);
extern int printf(const char *fmt, ...);
extern int snprintf(char *buf, int size, const char *fmt, ...);
extern int vsnprintf(char *buf, int size, const char *fmt, va_list va);
+extern int vprintf(const char *fmt, va_list va);
extern long atol(const char *ptr);
void report_prefix_push(const char *prefix);
@@ -1,5 +1,7 @@
#include "libcflat.h"
+#define BUFSZ 2000
+
typedef struct pstream {
char *buffer;
int remain;
@@ -235,10 +237,20 @@ int snprintf(char *buf, int size, const char *fmt, ...)
return r;
}
+int vprintf(const char *fmt, va_list va)
+{
+ char buf[BUFSZ];
+ int r;
+
+ r = vsnprintf(buf, sizeof(buf), fmt, va);
+ puts(buf);
+ return r;
+}
+
int printf(const char *fmt, ...)
{
va_list va;
- char buf[2000];
+ char buf[BUFSZ];
int r;
va_start(va, fmt);
@@ -47,15 +47,13 @@ void va_report_xfail(const char *msg_fmt, bool xfail, bool cond, va_list va)
{
char *pass = xfail ? "XPASS" : "PASS";
char *fail = xfail ? "XFAIL" : "FAIL";
- char buf[2000];
spin_lock(&lock);
tests++;
printf("%s: ", cond ? pass : fail);
puts(prefixes);
- vsnprintf(buf, sizeof(buf), msg_fmt, va);
- puts(buf);
+ vprintf(msg_fmt, va);
puts("\n");
if (xfail && cond)
failures++;