bindx_test.c | bindx_test.c | |||
---|---|---|---|---|
skipping to change at line 69 | skipping to change at line 69 | |||
if (addr_buf == NULL) { | if (addr_buf == NULL) { | |||
perror("bindx_test: ERROR: addr buf allocation failed"); | perror("bindx_test: ERROR: addr buf allocation failed"); | |||
return 1; | return 1; | |||
} | } | |||
/* Get the addresses from the cmd line */ | /* Get the addresses from the cmd line */ | |||
addrs = 0; /* healthy address iterator [and total counter] */ | addrs = 0; /* healthy address iterator [and total counter] */ | |||
cnt = 2; /* argument iterator */ | cnt = 2; /* argument iterator */ | |||
buf_ptr = addr_buf; | buf_ptr = addr_buf; | |||
while (cnt < argc) { | while (cnt < argc) { | |||
printf("bindx_test: INFO: Arg %d: %s", cnt, argv[cnt]); | printf("bindx_test: INFO: Arg %zu: %s", cnt, argv[cnt]); | |||
fflush(stderr); | fflush(stderr); | |||
if (strchr(argv[cnt], ':')) { | if (strchr(argv[cnt], ':')) { | |||
struct sockaddr_in6 *sa6; | struct sockaddr_in6 *sa6; | |||
sa6 = (struct sockaddr_in6 *)buf_ptr; | sa6 = (struct sockaddr_in6 *)buf_ptr; | |||
printf(" IPv6 address number %d", addrs); | printf(" IPv6 address number %zu", addrs); | |||
sa6->sin6_family = AF_INET6; | sa6->sin6_family = AF_INET6; | |||
sa6->sin6_port = port; | sa6->sin6_port = port; | |||
if (inet_pton(AF_INET6, argv[cnt], &sa6->sin6_addr)) { | if (inet_pton(AF_INET6, argv[cnt], &sa6->sin6_addr)) { | |||
addrs++; | addrs++; | |||
addr_buf_size += sizeof(struct sockaddr_in6) ; | addr_buf_size += sizeof(struct sockaddr_in6) ; | |||
buf_ptr += sizeof(struct sockaddr_in6); | buf_ptr += sizeof(struct sockaddr_in6); | |||
} else | } else | |||
printf(" error"); | printf(" error"); | |||
} else if (strchr(argv[cnt], '.')) { | } else if (strchr(argv[cnt], '.')) { | |||
struct sockaddr_in *sa; | struct sockaddr_in *sa; | |||
sa = (struct sockaddr_in *)buf_ptr; | sa = (struct sockaddr_in *)buf_ptr; | |||
printf (" IPv4 address number %d", addrs); | printf (" IPv4 address number %zu", addrs); | |||
sa->sin_family = AF_INET; | sa->sin_family = AF_INET; | |||
sa->sin_port = port; | sa->sin_port = port; | |||
if (inet_pton (AF_INET, argv[cnt], &sa->sin_addr)) { | if (inet_pton (AF_INET, argv[cnt], &sa->sin_addr)) { | |||
addrs++; | addrs++; | |||
addr_buf_size += sizeof(struct sockaddr_in); | addr_buf_size += sizeof(struct sockaddr_in); | |||
buf_ptr += sizeof(struct sockaddr_in); | buf_ptr += sizeof(struct sockaddr_in); | |||
} else | } else | |||
printf (" error"); | printf (" error"); | |||
} else | } else | |||
printf (" Unknown"); | printf (" Unknown"); | |||
putchar ('\n'); | putchar ('\n'); | |||
cnt++; | cnt++; | |||
} | } | |||
printf ("bindx_test: INFO: Got %d addrs\n", addrs); | printf ("bindx_test: INFO: Got %zu addrs\n", addrs); | |||
/* Create the socket */ | /* Create the socket */ | |||
sd = socket(PF_INET6, SOCK_SEQPACKET, IPPROTO_SCTP); | sd = socket(PF_INET6, SOCK_SEQPACKET, IPPROTO_SCTP); | |||
if (sd == -1) { | if (sd == -1) { | |||
perror("bindx_test: ERROR: Cannot open socket"); | perror("bindx_test: ERROR: Cannot open socket"); | |||
return 1; | return 1; | |||
} | } | |||
/* add all */ | /* add all */ | |||
result = sctp_bindx(sd, (struct sockaddr *)addr_buf, addrs, | result = sctp_bindx(sd, (struct sockaddr *)addr_buf, addrs, | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |