[gnome-nettool/gnome-2-32] Handle output with icmp_req



commit 6fd435942cfa6370ecdedc10826387ddf570de09
Author: Josselin Mouette <joss debian org>
Date:   Sat Nov 13 13:53:12 2010 +0100

    Handle output with icmp_req
    
    iputils-ping displays icmp_req= instead of icmp_seq=. Handle the two
    outputs correctly.
    
    Signed-off-by: GermÃn PÃo-CaamaÃo <gpoo gnome org>

 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"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]