Commit 37266a9e authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Willy Tarreau
Browse files

selftests/nolibc: use correct return type for read() and write()



Avoid truncating values before comparing them.

As printf in nolibc doesn't support ssize_t add casts to int for
printing.

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
parent 711f91fd
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1019,7 +1019,8 @@ int run_stdlib(int min, int max)

static int expect_vfprintf(int llen, int c, const char *expected, const char *fmt, ...)
{
	int ret, fd, w, r;
	int ret, fd;
	ssize_t w, r;
	char buf[100];
	FILE *memfile;
	va_list args;
@@ -1041,7 +1042,7 @@ static int expect_vfprintf(int llen, int c, const char *expected, const char *fm
	va_end(args);

	if (w != c) {
		llen += printf(" written(%d) != %d", w, c);
		llen += printf(" written(%d) != %d", (int)w, c);
		result(llen, FAIL);
		return 1;
	}
@@ -1055,7 +1056,7 @@ static int expect_vfprintf(int llen, int c, const char *expected, const char *fm
	fclose(memfile);

	if (r != w) {
		llen += printf(" written(%d) != read(%d)", w, r);
		llen += printf(" written(%d) != read(%d)", (int)w, (int)r);
		result(llen, FAIL);
		return 1;
	}