From 52fb2e30cd76ebbc79743609ac9d73ce9a86c8c3 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sat, 4 Jun 2011 12:47:14 +0300 Subject: [PATCH] raw: Use inet_ntop/inet_ntop for IP address conversions. --- src/raw/swift_raw.c | 1 + src/raw/swift_raw_simple_test.c | 20 +++++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/raw/swift_raw.c b/src/raw/swift_raw.c index b7eb04a..03170e4 100644 --- a/src/raw/swift_raw.c +++ b/src/raw/swift_raw.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/src/raw/swift_raw_simple_test.c b/src/raw/swift_raw_simple_test.c index a3dae44..73fc344 100644 --- a/src/raw/swift_raw_simple_test.c +++ b/src/raw/swift_raw_simple_test.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "swift_types.h" #include "swift_raw.h" @@ -26,27 +27,24 @@ int main(int argc, char *argv[]) ssize_t bytes_sent; int rc; - if (argc < 3) - { + if (argc < 3 || argc > 4) { fprintf(stderr,"Usage \"./client ip_local hash ip_dest?\" ."); + exit(EXIT_FAILURE); } sockfd = sw_socket(PF_INET, SOCK_DGRAM, IPPROTO_SWIFT); DIE(sockfd < 0, "sw_socket"); - /* TODO: init_addr */ - local_addr.sin_addr.s_addr = htonl(argv[1]); + memset(&local_addr, 0, sizeof(local_addr)); + inet_pton(AF_INET, argv[1], &local_addr.sin_addr.s_addr); memcpy(&local_addr.sw_hash, argv[2], sizeof(struct sw_hash)); rc = sw_bind(sockfd, (struct sockaddr *) &local_addr, sizeof(local_addr)); DIE(rc < 0, "sw_bind"); - /* TODO: init remote_addr */ - if (argv > 3) - { - remote_addr.sin_addr.s_addr = htonl(argv[1]); - memcpy(&remote_addr.sw_hash, argv[3], sizeof(struct sw_hash)); - bytes_sent = sw_sendto(sockfd, buffer, BUFSIZ, 0, - (struct sockaddr *) &remote_addr, sizeof(remote_addr)); + if (argc > 3) { + inet_pton(AF_INET, argv[3], &remote_addr.sin_addr.s_addr); + memcpy(&remote_addr.sw_hash, argv[4], sizeof(struct sw_hash)); + bytes_sent = sw_sendto(sockfd, buffer, BUFSIZ, 0, (struct sockaddr *) &remote_addr, sizeof(remote_addr)); DIE(bytes_sent < 0, "sw_sendto"); } -- 2.20.1