File 0001-ping-Handle-output-with-icmp_req.patch of Package gnome-nettool

From 9af2e18755725dc47ae8eb2867e3f038c298bc09 Mon Sep 17 00:00:00 2001
From: Josselin Mouette <joss@debian.org>
Date: Sat, 13 Nov 2010 13:53:12 +0100
Subject: [PATCH] [ping] Handle output with icmp_req

iputils-ping displays icmp_req= instead of icmp_seq=. Handle the two
outputs correctly.
---
 src/ping.c |    7 ++++---
 src/ping.h |    8 ++++----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/ping.c b/src/ping.c
index 2c973c3..74f3c19 100644
--- a/src/ping.c
+++ b/src/ping.c
@@ -405,7 +405,7 @@ ping_foreach_with_tree (Netinfo * netinfo, gchar * line, gint len,
 
 	if (len > 0) {		/* there are data to show */
 		count = strip_line (line, &data, netinfo);
-		if ((count == 5) || (count == 6)) {
+		if ((count == 5) || (count == 7)) {
 
 			/* Creation of GtkTreeView */
 			gtk_tree_view_set_rules_hint (GTK_TREE_VIEW
@@ -519,6 +519,7 @@ static gint
 strip_line (gchar * line, ping_data * data, Netinfo * netinfo)
 {
 	gint count;
+	gchar dummy_buf[3];
 
 	if (netinfo_get_ip_version (netinfo) == IPV4)
 		line = g_strdelimit (line, ":", ' ');
@@ -530,9 +531,9 @@ strip_line (gchar * line, ping_data * data, Netinfo * netinfo)
 			&(data)->bytes, data->ip, &(data)->icmp_seq,
 			data->srtt, data->unit);
 #endif
-#ifdef PING_PARAMS_6
+#ifdef PING_PARAMS_7
 	count = sscanf (line, PING_FORMAT,
-			&(data)->bytes, data->ip, &(data)->icmp_seq,
+			&(data)->bytes, data->ip, dummy_buf, &(data)->icmp_seq,
 			&(data)->ttl, data->srtt, data->unit);
 #endif
 	if (count != 5 && count != 6) {
diff --git a/src/ping.h b/src/ping.h
index 0d2e068..53dd5de 100644
--- a/src/ping.h
+++ b/src/ping.h
@@ -28,14 +28,14 @@
     /*  <path to program> ping -b [-c <count>] -n <host> */
 #   define PING_PROGRAM_FORMAT "%s ping -b%s-n %s"
 #   define PING_PROGRAM_FORMAT_6 "%s ping6%s-n %s"
-#   define PING_FORMAT "%d bytes from %s icmp_seq=%d ttl=%d time=%s %s"
-#   define PING_PARAMS_6
+#   define PING_FORMAT "%d bytes from %s icmp_%3c=%d ttl=%d time=%s %s"
+#   define PING_PARAMS_7
 #elif defined(__OSF__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
     /*  <path to program> ping [-c <count>] -n <host> */
 #   define PING_PROGRAM_FORMAT "%s ping%s-n %s"
 #   define PING_PROGRAM_FORMAT_6 "%s ping6%s-n %s"
-#   define PING_FORMAT "%d bytes from %s icmp_seq=%d ttl=%d time=%s %s"
-#   define PING_PARAMS_6
+#   define PING_FORMAT "%d bytes from %s icmp_%3c=%d ttl=%d time=%s %s"
+#   define PING_PARAMS_7
 #elif defined(__sun__) 
     /*  <path to program> ping -s -n <host> [<count>] */
 #   define PING_PROGRAM_FORMAT "%s ping -s -n %s 56%s"
-- 
1.7.2.3

openSUSE Build Service is sponsored by