diff options
author | Thomas Habets <thomas@habets.pp.se> | 2009-11-05 13:42:41 +0100 |
---|---|---|
committer | Thomas Habets <thomas@habets.pp.se> | 2009-11-05 13:42:41 +0100 |
commit | 02822d45083dfa1678e8b818acd1e321a95370e6 (patch) | |
tree | 1a54093d144d06eef25c7c2146938207e8a51631 | |
parent | 767e5c4b8a0dc19503b2582e5be5331a48f54216 (diff) | |
download | arping-02822d45083dfa1678e8b818acd1e321a95370e6.tar.gz |
Never show negative percentages
-rw-r--r-- | src/arping.c | 14 |
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) { |