[PATCH 4/5] batctl: tpmeter: report kernel errors via strerror

Sven Eckelmann <[email protected]> Tue, 07 Jul 2026 21:17:03 +0200
Newsgroups org.open-mesh.lists.batman
Message-ID <[email protected]>
tp_meter_start() and tp_recv_result() return a negative system errno
captured from the kernel's netlink error reply. Both failure paths in
throughputmeter() printed that value with "%d", so the user saw a raw
negative number instead of a readable message. In batctl, this is usually
formatted with strerror() to get a human readable version.

Signed-off-by: Sven Eckelmann <[email protected]>
---
 throughputmeter.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/throughputmeter.c b/throughputmeter.c
index 7d41c10..6799c93 100644
--- a/throughputmeter.c
+++ b/throughputmeter.c
@@ -397,7 +397,8 @@ static int throughputmeter(struct state *state, int argc, char **argv)
 
 	ret = tp_meter_start(state, dst_mac, time, &cookie);
 	if (ret < 0) {
-		printf("Failed to send tp_meter request to kernel: %d\n", ret);
+		printf("Failed to send tp_meter request to kernel: %s\n",
+		       strerror(-ret));
 		ret = EXIT_FAILURE;
 		goto out;
 	}
@@ -405,7 +406,8 @@ static int throughputmeter(struct state *state, int argc, char **argv)
 	result.cookie = cookie.cookie;
 	ret = tp_recv_result(listen_sock, &result);
 	if (ret < 0) {
-		printf("Failed to recv tp_meter result from kernel: %d\n", ret);
+		printf("Failed to recv tp_meter result from kernel: %s\n",
+		       strerror(-ret));
 		ret = EXIT_FAILURE;
 		goto out;
 	}

-- 
2.47.3