Commit 443de903 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Paul E. McKenney
Browse files

selftests/nolibc: reduce syscalls during space padding



Previously each space character used for alignment during test execution
was written in a single write() call.
This would make the output from strace fairly unreadable.
Coalesce all spaces into a single call to write().

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent ec8e1b73
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -111,19 +111,26 @@ const char *errorname(int err)
	}
}

static void putcharn(char c, size_t n)
{
	char buf[64];

	memset(buf, c, n);
	buf[n] = '\0';
	fputs(buf, stdout);
}

static int pad_spc(int llen, int cnt, const char *fmt, ...)
{
	va_list args;
	int len;
	int ret;

	for (len = 0; len < cnt - llen; len++)
		putchar(' ');
	putcharn(' ', cnt - llen);

	va_start(args, fmt);
	ret = vfprintf(stdout, fmt, args);
	va_end(args);
	return ret < 0 ? ret : ret + len;
	return ret < 0 ? ret : ret + cnt - llen;
}

/* The tests below are intended to be used by the macroes, which evaluate