summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2023-05-04 12:43:50 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2023-05-04 12:43:50 +0200
commitc86a7ea4d3d86d39647eaf9250442af2dd6e3e93 (patch)
treef5d248d6b8f91aa9da5d40861eeb8a8c35fb32ca
parent86c5a55a4f1722452e26a05ec15121c1f93d177b (diff)
downloadabase-c86a7ea4d3d86d39647eaf9250442af2dd6e3e93.tar.gz
abase-c86a7ea4d3d86d39647eaf9250442af2dd6e3e93.tar.bz2
fixed compiler warning and wrong counting in ping as well as some wrong prints
-rw-r--r--ping.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/ping.c b/ping.c
index 2431d52..e2d9fd0 100644
--- a/ping.c
+++ b/ping.c
@@ -159,6 +159,9 @@ main(int argc, char *argv[])
counter++;
sleep(1);
+ if (terminate) {
+ continue;
+ }
clock_gettime(CLOCK_MONOTONIC, &time_start);
@@ -169,7 +172,7 @@ main(int argc, char *argv[])
sent = 1;
}
- int address_len = sizeof(sending_address);
+ unsigned int address_len = sizeof(sending_address);
if (recvfrom(fd, &packet, sizeof(packet), 0, (struct sockaddr *)&sending_address, &address_len) <= 0) {
freeaddrinfo(addresses);
close(fd);
@@ -182,15 +185,13 @@ main(int argc, char *argv[])
eprintf("Received unknown ICMP package with code=%d and type=%d from '%s'",
packet.header.code, packet.header.type, host);
} else {
- char sending_ip_addr[INET_ADDRSTRLEN];
- //~ struct sockaddr_in* addr = (struct sockaddr_in*)&sending_address;
inet_ntop(AF_INET, &sending_address.sin_addr, ip_addr, INET_ADDRSTRLEN);
clock_gettime(CLOCK_MONOTONIC, &time_end);
double timeElapsed = ((double)(time_end.tv_nsec - time_start.tv_nsec)) / 1000000.0;
long double rtt_msec = (time_end.tv_sec - time_start.tv_sec) * 1000.0 + timeElapsed;
- printf("%d bytes from %s (%s): icmp_seq=%d ttl=%d time=%0.3Lf ms\n",
+ printf("%ld bytes from %s (%s): icmp_seq=%d ttl=%d time=%0.3Lf ms\n",
sizeof(packet), host, ip_addr, counter, ttl_val, rtt_msec);
received++;
}
@@ -200,7 +201,7 @@ main(int argc, char *argv[])
printf("--- %s ping statistics ---\n"
"%d packets transmitted, %d received , %0.0f%% packet loss\n",
- host, counter, received,
+ canon_host, counter, received,
((counter - received)/counter) * 100.0);
freeaddrinfo(addresses);