2011-08-16 Pierre Humblet <Pierre.Humblet@ieee.org>
* net.cc (gethostby_helper): Remove DEBUGGING code from and streamline the second pass.
This commit is contained in:
parent
833db5481f
commit
927761a425
|
@ -1,3 +1,8 @@
|
||||||
|
2011-08-16 Pierre Humblet <Pierre.Humblet@ieee.org>
|
||||||
|
|
||||||
|
* net.cc (gethostby_helper): Remove DEBUGGING code from and
|
||||||
|
streamline the second pass.
|
||||||
|
|
||||||
2011-08-16 Corinna Vinschen <corinna@vinschen.de>
|
2011-08-16 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* dlfcn.cc (dlopen): Reimplement RTLD_NODELETE for Windows 2000 using
|
* dlfcn.cc (dlopen): Reimplement RTLD_NODELETE for Windows 2000 using
|
||||||
|
|
|
@ -1198,57 +1198,34 @@ gethostby_helper (const char *name, const int af, const int type,
|
||||||
string_ptr = (char *) (ret->h_addr_list + address_count + 1);
|
string_ptr = (char *) (ret->h_addr_list + address_count + 1);
|
||||||
|
|
||||||
/* Rescan the answers */
|
/* Rescan the answers */
|
||||||
ancount = alias_count + address_count; /* Valid records */
|
|
||||||
alias_count = address_count = 0;
|
alias_count = address_count = 0;
|
||||||
|
prevptr->set_next (prevptr + 1);
|
||||||
|
|
||||||
for (i = 0, curptr = anptr; i < ancount; i++, curptr = curptr->next ())
|
for (curptr = anptr; curptr <= prevptr; curptr = curptr->next ())
|
||||||
{
|
{
|
||||||
antype = curptr->type;
|
antype = curptr->type;
|
||||||
if (antype == ns_t_cname)
|
if (antype == ns_t_cname)
|
||||||
{
|
{
|
||||||
complen = dn_expand (msg, eomsg, curptr->name (), string_ptr, string_size);
|
dn_expand (msg, eomsg, curptr->name (), string_ptr, curptr->namelen1);
|
||||||
#ifdef DEBUGGING
|
|
||||||
if (complen != curptr->complen)
|
|
||||||
goto debugging;
|
|
||||||
#endif
|
|
||||||
ret->h_aliases[alias_count++] = string_ptr;
|
ret->h_aliases[alias_count++] = string_ptr;
|
||||||
namelen1 = curptr->namelen1;
|
string_ptr += curptr->namelen1;
|
||||||
string_ptr += namelen1;
|
|
||||||
string_size -= namelen1;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
if (antype == type)
|
else
|
||||||
|
{
|
||||||
|
if (address_count == 0)
|
||||||
{
|
{
|
||||||
if (address_count == 0)
|
dn_expand (msg, eomsg, curptr->name (), string_ptr, curptr->namelen1);
|
||||||
{
|
ret->h_name = string_ptr;
|
||||||
complen = dn_expand (msg, eomsg, curptr->name(), string_ptr, string_size);
|
string_ptr += curptr->namelen1;
|
||||||
#ifdef DEBUGGING
|
|
||||||
if (complen != curptr->complen)
|
|
||||||
goto debugging;
|
|
||||||
#endif
|
|
||||||
ret->h_name = string_ptr;
|
|
||||||
namelen1 = curptr->namelen1;
|
|
||||||
string_ptr += namelen1;
|
|
||||||
string_size -= namelen1;
|
|
||||||
}
|
|
||||||
ret->h_addr_list[address_count++] = string_ptr;
|
|
||||||
if (addrsize_in != addrsize_out)
|
|
||||||
memcpy4to6 (string_ptr, curptr->data);
|
|
||||||
else
|
|
||||||
memcpy (string_ptr, curptr->data, addrsize_in);
|
|
||||||
string_ptr += addrsize_out;
|
|
||||||
string_size -= addrsize_out;
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
#ifdef DEBUGGING
|
ret->h_addr_list[address_count++] = string_ptr;
|
||||||
/* Should not get here */
|
if (addrsize_in != addrsize_out)
|
||||||
goto debugging;
|
memcpy4to6 (string_ptr, curptr->data);
|
||||||
#endif
|
else
|
||||||
|
memcpy (string_ptr, curptr->data, addrsize_in);
|
||||||
|
string_ptr += addrsize_out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#ifdef DEBUGGING
|
|
||||||
if (string_size < 0)
|
|
||||||
goto debugging;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
free (msg);
|
free (msg);
|
||||||
|
|
||||||
|
@ -1263,16 +1240,6 @@ gethostby_helper (const char *name, const int af, const int type,
|
||||||
Should it be NO_RECOVERY ? */
|
Should it be NO_RECOVERY ? */
|
||||||
h_errno = TRY_AGAIN;
|
h_errno = TRY_AGAIN;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUGGING
|
|
||||||
debugging:
|
|
||||||
system_printf ("Please debug.");
|
|
||||||
free (msg);
|
|
||||||
free (ret);
|
|
||||||
h_errno = NO_RECOVERY;
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gethostbyname2: standards? */
|
/* gethostbyname2: standards? */
|
||||||
|
|
Loading…
Reference in New Issue