summaryrefslogtreecommitdiff
path: root/src/arping.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arping.c')
-rw-r--r--src/arping.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/arping.c b/src/arping.c
index 578147b..cfb0578 100644
--- a/src/arping.c
+++ b/src/arping.c
@@ -1336,10 +1336,16 @@ int main(int argc, char **argv)
printf("\t%3.0f%% packet loss\n",
100.0 - 100.0 * (float)(numrecvd)/(float)numsent);
} else if (display == NORMAL) {
- printf("\n--- %s statistics ---\n"
- "%d packets transmitted, %d packets received, %3.0f%% "
- "unanswered\n",target,numsent,numrecvd,
- 100.0 - 100.0 * (float)(numrecvd)/(float)numsent);
+ float succ;
+ succ = 100.0 - 100.0 * (float)(numrecvd)/(float)numsent;
+ printf("\n--- %s statistics ---\n"
+ "%d packets transmitted, "
+ "%d packets received, "
+ "%3.0f%% "
+ "unanswered (%d extra)\n",
+ target,numsent,numrecvd,
+ (succ < 0.0) ? 0.0 : succ,
+ (succ < 0.0) ? (numrecvd - numsent): 0);
}
if (finddup) {