[PATCH v3 11/14] selftests/nolibc: use correct return type for read() and write()

From: Thomas Weißschuh
Date: Thu Aug 03 2023 - 03:29:40 EST


Avoid truncating values before comparing them.

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

Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
---
tools/testing/selftests/nolibc/nolibc-test.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
index 0ab241d61508..63f09800057d 100644
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -1023,7 +1023,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;
@@ -1045,7 +1046,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;
}
@@ -1059,7 +1060,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;
}

--
2.41.0