From 3c38fc752e6015541416b7aa9e5b7a740a8357fe Mon Sep 17 00:00:00 2001
From: Matthias Eble <psychotrahe@users.sourceforge.net>
Date: Mon, 28 Jul 2008 20:15:52 +0000
Subject: -b option now specifies ICMP data bytes instead of packet size

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2027 f882894a-f735-0410-b71e-b25c423dba1c

diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c
index 5fb9c36..fe1f9ee 100644
--- a/plugins-root/check_icmp.c
+++ b/plugins-root/check_icmp.c
@@ -463,13 +463,13 @@ main(int argc, char **argv)
 			case 'b':
 				size = strtol(optarg,NULL,0);
 				if (size >= (sizeof(struct icmp) + sizeof(struct icmp_ping_data)) &&
-				    size <= MAX_PING_DATA + ICMP_MINLEN) {
-					icmp_pkt_size = size;
-					icmp_data_size = icmp_pkt_size - ICMP_MINLEN;
+				    size < MAX_PING_DATA) {
+					icmp_data_size = size;
+					icmp_pkt_size = size + ICMP_MINLEN;
 				} else
-					usage_va("ICMP packet size must be between: %d and %d",
+					usage_va("ICMP data length must be between: %d and %d",
 					         sizeof(struct icmp) + sizeof(struct icmp_ping_data),
-					         MAX_PING_DATA + ICMP_MINLEN);
+					         MAX_PING_DATA - 1);
 
 				break;
 			case 'i':
@@ -1301,8 +1301,8 @@ print_help(void)
   printf ("    %s",_("timeout value (seconds, currently  "));
   printf ("%u)\n", timeout);
   printf (" %s\n", "-b");
-  printf ("    %s", _("icmp packet size (bytes, currently "));
-  printf ("%u)\n", icmp_pkt_size);
+  printf ("    %s\n", _("Number of icmp data bytes to send")); 
+  printf ("    %s %u + %d)\n", _("Packet size will be data bytes + icmp header (currently"),icmp_data_size, ICMP_MINLEN);
   printf (" %s\n", "-v");
   printf ("    %s\n", _("verbose"));
 
-- 
cgit v0.10-9-g596f

