From 83b26b97b580d12579d28007a79d5921d448517b Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 5 May 2009 07:47:11 +0000 Subject: Improve getai(). git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@726 7dcaeef0-15fb-0310-b436-a5af3365683c --- libssh/connect.c | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'libssh') diff --git a/libssh/connect.c b/libssh/connect.c index 0b0fc83..8c74f57 100644 --- a/libssh/connect.c +++ b/libssh/connect.c @@ -89,23 +89,25 @@ static void sock_set_blocking(socket_t sock) { } #endif /* _WIN32 */ -static int getai(const char *host, int port, struct addrinfo **ai) -{ - struct addrinfo hints; - char *service=NULL; - char s_port[10]; - - memset(&hints,0,sizeof(hints)); - hints.ai_protocol=IPPROTO_TCP; - hints.ai_family=PF_UNSPEC; - hints.ai_socktype=SOCK_STREAM; - if(port==0){ - hints.ai_flags=AI_PASSIVE; - } else { - snprintf(s_port,sizeof(s_port),"%hu",port); - service=s_port; - } - return getaddrinfo(host,service,&hints,ai); +static int getai(const char *host, int port, struct addrinfo **ai) { + const char *service = NULL; + struct addrinfo hints; + char s_port[10]; + + ZERO_STRUCT(hints); + + hints.ai_protocol = IPPROTO_TCP; + hints.ai_family = PF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + + if (port == 0) { + hints.ai_flags = AI_PASSIVE; + } else { + snprintf(s_port, sizeof(s_port), "%hu", port); + service = s_port; + } + + return getaddrinfo(host, service, &hints, ai); } static int ssh_connect_ai_timeout(SSH_SESSION *session, const char *host, -- cgit v1.2.3