diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2016-05-04 16:50:15 +0200 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2016-05-04 16:50:15 +0200 |
commit | eb44aa27caa25514310829f4b6ea98ddd12d70d2 (patch) | |
tree | 4dfb0aae55dda37eaee7f9d5aed33f91937fe636 /ACE/ace/OS_NS_netdb.cpp | |
parent | 5e30bfd24f8ff2029cdca16fca798bbf2f1d9467 (diff) | |
parent | 11aa52c3d6e17d42853d67568100544e70187a2a (diff) | |
download | ATCD-eb44aa27caa25514310829f4b6ea98ddd12d70d2.tar.gz |
Merge pull request #253 from jwillemsen/master
Fixed may be used uninitialized warning
Diffstat (limited to 'ACE/ace/OS_NS_netdb.cpp')
-rw-r--r-- | ACE/ace/OS_NS_netdb.cpp | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/ACE/ace/OS_NS_netdb.cpp b/ACE/ace/OS_NS_netdb.cpp index fd370b1bff1..2988aaee6e6 100644 --- a/ACE/ace/OS_NS_netdb.cpp +++ b/ACE/ace/OS_NS_netdb.cpp @@ -430,33 +430,36 @@ ACE_OS::getaddrinfo_emulation (const char *name, addrinfo **result) { hostent entry; ACE_HOSTENT_DATA buffer; - int herr; + int herr = 0; const hostent *host = ACE_OS::gethostbyname_r (name, &entry, buffer, &herr); if (host == 0) - switch (herr) - { - case NO_DATA: case HOST_NOT_FOUND: - return EAI_NONAME; - case TRY_AGAIN: - return EAI_AGAIN; - case NO_RECOVERY: - return EAI_FAIL; - case ENOTSUP: - if (ACE_OS::inet_aton (name, (in_addr *) &buffer[0]) != 0) - { - host = &entry; - entry.h_length = sizeof (in_addr); - entry.h_addr_list = (char **) (buffer + sizeof (in_addr)); - entry.h_addr_list[0] = buffer; - entry.h_addr_list[1] = 0; - break; - } - // fall-through - default: - errno = herr; - return EAI_SYSTEM; - } + { + switch (herr) + { + case NO_DATA: + case HOST_NOT_FOUND: + return EAI_NONAME; + case TRY_AGAIN: + return EAI_AGAIN; + case NO_RECOVERY: + return EAI_FAIL; + case ENOTSUP: + if (ACE_OS::inet_aton (name, (in_addr *) &buffer[0]) != 0) + { + host = &entry; + entry.h_length = sizeof (in_addr); + entry.h_addr_list = (char **) (buffer + sizeof (in_addr)); + entry.h_addr_list[0] = buffer; + entry.h_addr_list[1] = 0; + break; + } + // fall-through + default: + errno = herr; + return EAI_SYSTEM; + } + } size_t n = 0; for (char **addr = host->h_addr_list; *addr; ++addr, ++n) /*empty*/; |