if (hostname)
*hostname = NULL;
- *ip = NULL;
+ if (ip)
+ *ip = NULL;
SILC_LOG_DEBUG(("Resolving remote hostname and IP address"));
NI_NUMERICHOST))
return FALSE;
- *ip = silc_memdup(s, strlen(s));
- if (*ip == NULL)
- return FALSE;
+ if (ip) {
+ *ip = silc_memdup(s, strlen(s));
+ if (*ip == NULL)
+ return FALSE;
+ }
#else
struct sockaddr_in remote;
char *host_ip;
if (hostname)
*hostname = NULL;
- *ip = NULL;
+ if (ip)
+ *ip = NULL;
SILC_LOG_DEBUG(("Resolving remote hostname and IP address"));
if (!host_ip)
return FALSE;
- *ip = silc_memdup(host_ip, strlen(host_ip));
- if (*ip == NULL)
- return FALSE;
+ if (ip) {
+ *ip = silc_memdup(host_ip, strlen(host_ip));
+ if (*ip == NULL)
+ return FALSE;
+ }
#endif
/* Do reverse lookup if we want hostname too. */
if (hostname) {
/* Get host by address */
- if (!silc_net_gethostbyaddr(*ip, host, sizeof(host)))
+ if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
*hostname = silc_memdup(host, strlen(host));
return FALSE;
}
- SILC_LOG_DEBUG(("Resolved IP address `%s'", *ip));
+ if (ip)
+ SILC_LOG_DEBUG(("Resolved IP address `%s'", *ip));
return TRUE;
}
if (hostname)
*hostname = NULL;
- *ip = NULL;
+ if (ip)
+ *ip = NULL;
SILC_LOG_DEBUG(("Resolving local hostname and IP address"));
NI_NUMERICHOST))
return FALSE;
- *ip = silc_memdup(s, strlen(s));
- if (*ip == NULL)
- return FALSE;
+ if (ip) {
+ *ip = silc_memdup(s, strlen(s));
+ if (*ip == NULL)
+ return FALSE;
+ }
#else
struct sockaddr_in local;
char *host_ip;
if (hostname)
*hostname = NULL;
- *ip = NULL;
+ if (ip)
+ *ip = NULL;
SILC_LOG_DEBUG(("Resolving local hostname and IP address"));
if (!host_ip)
return FALSE;
- *ip = silc_memdup(host_ip, strlen(host_ip));
- if (*ip == NULL)
- return FALSE;
+ if (ip) {
+ *ip = silc_memdup(host_ip, strlen(host_ip));
+ if (*ip == NULL)
+ return FALSE;
+ }
#endif
/* Do reverse lookup if we want hostname too. */
if (hostname) {
/* Get host by address */
- if (!silc_net_gethostbyaddr(*ip, host, sizeof(host)))
+ if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
*hostname = silc_memdup(host, strlen(host));
return FALSE;
}
- SILC_LOG_DEBUG(("Resolved IP address `%s'", *ip));
+ if (ip)
+ SILC_LOG_DEBUG(("Resolved IP address `%s'", *ip));
return TRUE;
}