batctl: ping: Skip sleep after last packet

Message ID 20220422091408.383897-1-sven@narfation.org (mailing list archive)
State Accepted, archived
Delegated to: Simon Wunderlich
Headers
Series batctl: ping: Skip sleep after last packet |

Commit Message

Sven Eckelmann April 22, 2022, 9:14 a.m. UTC
  The -i option for ping is documented as interval between ping requests. But
the sleep was also applied after all the requested pings already sent out.
As result, the user had to wait additional time until the statistics for
the (limited) ping test was printed.

Just skip the last sleep in case there will be no next ping packet to avoid
this problem.

Reported-by: Roman Le bg <roman@romanlebg.fr>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
 ping.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Patch

diff --git a/ping.c b/ping.c
index 7565dcd..3681e7e 100644
--- a/ping.c
+++ b/ping.c
@@ -282,6 +282,10 @@  static int ping(struct state *state, int argc, char **argv)
 		}
 
 sleep:
+		/* skip last sleep in case no more packets will be sent out */
+		if (loop_count == 0)
+			continue;
+
 		if (loop_interval > 0)
 			sleep(loop_interval);
 		else if ((tv.tv_sec != 0) || (tv.tv_usec != 0))