[PATCH] ping: Distinguish between timeouts and other failures

Alex Henrie alexhenrie24 at gmail.com
Wed Mar 7 23:02:13 CST 2018


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 programs/ping/ping_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/programs/ping/ping_main.c b/programs/ping/ping_main.c
index 74a1c71c65..9c4f23959e 100644
--- a/programs/ping/ping_main.c
+++ b/programs/ping/ping_main.c
@@ -157,6 +157,7 @@ int main(int argc, char** argv)
     printf("Pinging %s [%s] with %d bytes of data:\n", hostname, ip, l);
     for (;;)
     {
+        SetLastError(0);
         retval = IcmpSendEcho(icmp_file, ipaddr, send_data, l,
             NULL, reply_buffer, reply_size, w);
         if (retval != 0)
@@ -177,7 +178,10 @@ int main(int argc, char** argv)
         }
         else
         {
-            printf("Request timed out.\n");
+            if (GetLastError() == IP_REQ_TIMED_OUT)
+                puts("Request timed out.");
+            else
+                puts("PING: transmit failed. General failure.");
             lost++;
         }
         i++;
-- 
2.16.2




More information about the wine-devel mailing list