27 lines
812 B
Diff
27 lines
812 B
Diff
Upstream-Status: Pending [from other distro Debian]
|
|
|
|
Index: trunk/arping.c
|
|
===================================================================
|
|
--- trunk.orig/arping.c 2010-05-07 23:13:52.000000000 -0700
|
|
+++ trunk/arping.c 2010-05-07 23:41:16.000000000 -0700
|
|
@@ -182,12 +182,17 @@
|
|
if (start.tv_sec==0)
|
|
start = tv;
|
|
|
|
- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500))
|
|
+ if (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)
|
|
finish();
|
|
|
|
- if (last.tv_sec==0 || MS_TDIFF(tv,last) > 500) {
|
|
+ if ((!timeout) && (count == 0))
|
|
+ finish();
|
|
+
|
|
+ if ( count!=0 && (last.tv_sec==0 || MS_TDIFF(tv,last) > 500 ) ) {
|
|
send_pack(s, src, dst,
|
|
(struct sockaddr_ll *)&me, (struct sockaddr_ll *)&he);
|
|
+ if (count >= 0)
|
|
+ count--;
|
|
if (count == 0 && unsolicited)
|
|
finish();
|
|
}
|