245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
+
+
|
struct addrinfo *ai = 0;
struct addrinfo hints;
char zRemote[NI_MAXHOST];
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
fossil_free(g.zIpAddr);
g.zIpAddr = 0;
if( getaddrinfo(pUrlData->name, NULL, &hints, &ai)==0
&& ai!=0
&& getnameinfo(ai->ai_addr, ai->ai_addrlen, zRemote,
sizeof(zRemote), 0, 0, NI_NUMERICHOST)==0 ){
g.zIpAddr = mprintf("%s (%s)", zRemote, pUrlData->name);
}
if( ai ) freeaddrinfo(ai);
|