Changeset 3e66428 in mainline for uspace/app/ping/ping.c
- Timestamp:
- 2013-06-20T14:10:51Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 19a4f73
- Parents:
- b49d872
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/ping/ping.c
rb49d872 r3e66428 63 63 }; 64 64 65 static inet_addr_t src_addr;66 static inet_addr_t dest_addr;65 static uint32_t src; 66 static uint32_t dest; 67 67 68 68 static bool ping_repeat = false; … … 83 83 static int ping_ev_recv(inetping_sdu_t *sdu) 84 84 { 85 char *asrc, *adest; 86 int rc; 87 88 rc = inet_addr_format(&sdu->src, &asrc); 85 inet2_addr_t src_addr; 86 inet2_addr_unpack(sdu->src, &src_addr); 87 88 inet2_addr_t dest_addr; 89 inet2_addr_unpack(sdu->dest, &dest_addr); 90 91 char *asrc; 92 int rc = inet2_addr_format(&src_addr, &asrc); 89 93 if (rc != EOK) 90 94 return ENOMEM; 91 92 rc = inet_addr_format(&sdu->dest, &adest); 95 96 char *adest; 97 rc = inet2_addr_format(&dest_addr, &adest); 93 98 if (rc != EOK) { 94 99 free(asrc); 95 100 return ENOMEM; 96 101 } 102 97 103 printf("Received ICMP echo reply: from %s to %s, seq. no %u, " 98 104 "payload size %zu\n", asrc, adest, sdu->seq_no, sdu->size); 99 100 if (!ping_repeat) {105 106 if (!ping_repeat) 101 107 ping_signal_done(); 102 } 103 108 104 109 free(asrc); 105 110 free(adest); … … 112 117 int rc; 113 118 114 sdu.src = src _addr;115 sdu.dest = dest _addr;119 sdu.src = src; 120 sdu.dest = dest; 116 121 sdu.seq_no = seq_no; 117 122 sdu.data = (void *) "foo"; … … 202 207 203 208 /* Parse destination address */ 204 rc = inet_addr_parse(argv[argi], &dest_addr); 209 inet2_addr_t dest_addr; 210 rc = inet2_addr_parse(argv[argi], &dest_addr); 205 211 if (rc != EOK) { 206 212 /* Try interpreting as a host name */ … … 210 216 goto error; 211 217 } 212 218 213 219 dest_addr = hinfo->addr; 214 220 } 215 221 222 rc = inet2_addr_pack(&dest_addr, &dest); 223 if (rc != EOK) { 224 printf(NAME ": Destination '%s' is not an IPv4 address.\n", 225 argv[argi]); 226 goto error; 227 } 228 216 229 /* Determine source address */ 217 rc = inetping_get_srcaddr( &dest_addr, &src_addr);230 rc = inetping_get_srcaddr(dest, &src); 218 231 if (rc != EOK) { 219 232 printf(NAME ": Failed determining source address.\n"); 220 233 goto error; 221 234 } 222 223 rc = inet_addr_format(&src_addr, &asrc); 235 236 inet2_addr_t src_addr; 237 inet2_addr_unpack(src, &src_addr); 238 239 rc = inet2_addr_format(&src_addr, &asrc); 224 240 if (rc != EOK) { 225 241 printf(NAME ": Out of memory.\n"); 226 242 goto error; 227 243 } 228 229 rc = inet _addr_format(&dest_addr, &adest);244 245 rc = inet2_addr_format(&dest_addr, &adest); 230 246 if (rc != EOK) { 231 247 printf(NAME ": Out of memory.\n"); 232 248 goto error; 233 249 } 234 250 235 251 if (hinfo != NULL) { 236 252 rc = asprintf(&sdest, "%s (%s)", hinfo->cname, adest); … … 287 303 dnsr_hostinfo_destroy(hinfo); 288 304 return 0; 305 289 306 error: 290 307 free(asrc);
Note:
See TracChangeset
for help on using the changeset viewer.