mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
getaddrinfo: Use &errno has the errno pointer
Similar code in nss/getXXbyYY_r.c is already using &errno as the argument.
This commit is contained in:
parent
d9ff799a5b
commit
924b121c59
@ -1,3 +1,9 @@
|
||||
2017-09-01 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* sysdeps/posix/getaddrinfo.c (gethosts): Use errno directly.
|
||||
(getcanonname): Likewise.
|
||||
(gaih_inet): Likewise.
|
||||
|
||||
2017-08-31 Steve Ellcey <sellcey@cavium.com>
|
||||
Richard Henderson <rth@twiddle.net>
|
||||
|
||||
|
@ -247,11 +247,10 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
|
||||
char *localcanon = NULL; \
|
||||
no_data = 0; \
|
||||
while (1) { \
|
||||
rc = 0; \
|
||||
status = DL_CALL_FCT (fct, (name, _family, &th, \
|
||||
tmpbuf->data, tmpbuf->length, \
|
||||
&rc, &herrno, NULL, &localcanon)); \
|
||||
if (rc != ERANGE || herrno != NETDB_INTERNAL) \
|
||||
&errno, &herrno, NULL, &localcanon)); \
|
||||
if (errno != ERANGE || herrno != NETDB_INTERNAL) \
|
||||
break; \
|
||||
if (!scratch_buffer_grow (tmpbuf)) \
|
||||
{ \
|
||||
@ -261,11 +260,11 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
|
||||
goto free_and_return; \
|
||||
} \
|
||||
} \
|
||||
if (status == NSS_STATUS_SUCCESS && rc == 0) \
|
||||
if (status == NSS_STATUS_SUCCESS && errno == 0) \
|
||||
h = &th; \
|
||||
else \
|
||||
h = NULL; \
|
||||
if (rc != 0) \
|
||||
if (errno != 0) \
|
||||
{ \
|
||||
if (herrno == NETDB_INTERNAL) \
|
||||
{ \
|
||||
@ -334,9 +333,8 @@ getcanonname (service_user *nip, struct gaih_addrtuple *at, const char *name)
|
||||
{
|
||||
char buf[256];
|
||||
int herrno;
|
||||
int rc;
|
||||
if (DL_CALL_FCT (cfct, (at->name ?: name, buf, sizeof (buf),
|
||||
&s, &rc, &herrno)) != NSS_STATUS_SUCCESS)
|
||||
&s, &errno, &herrno)) != NSS_STATUS_SUCCESS)
|
||||
/* If the canonical name cannot be determined, use the passed
|
||||
string. */
|
||||
s = (char *) name;
|
||||
@ -352,7 +350,6 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
const struct gaih_typeproto *tp = gaih_inet_typeproto;
|
||||
struct gaih_servtuple *st = (struct gaih_servtuple *) &nullserv;
|
||||
struct gaih_addrtuple *at = NULL;
|
||||
int rc;
|
||||
bool got_ipv6 = false;
|
||||
const char *canon = NULL;
|
||||
const char *orig_name = name;
|
||||
@ -394,7 +391,8 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
st = (struct gaih_servtuple *)
|
||||
alloca_account (sizeof (struct gaih_servtuple), alloca_used);
|
||||
|
||||
if ((rc = gaih_inet_serv (service->name, tp, req, st, tmpbuf)))
|
||||
int rc = gaih_inet_serv (service->name, tp, req, st, tmpbuf);
|
||||
if (__glibc_unlikely (rc != 0))
|
||||
return rc;
|
||||
}
|
||||
else
|
||||
@ -494,7 +492,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
idn_flags |= IDNA_USE_STD3_ASCII_RULES;
|
||||
|
||||
char *p = NULL;
|
||||
rc = __idna_to_ascii_lz (name, &p, idn_flags);
|
||||
int rc = __idna_to_ascii_lz (name, &p, idn_flags);
|
||||
if (rc != IDNA_SUCCESS)
|
||||
{
|
||||
/* No need to jump to free_and_return here. */
|
||||
@ -792,15 +790,14 @@ gaih_inet (const char *name, const struct gaih_service *service,
|
||||
|
||||
while (1)
|
||||
{
|
||||
rc = 0;
|
||||
status = DL_CALL_FCT (fct4, (name, pat,
|
||||
tmpbuf->data, tmpbuf->length,
|
||||
&rc, &herrno,
|
||||
&errno, &herrno,
|
||||
NULL));
|
||||
if (status == NSS_STATUS_SUCCESS)
|
||||
break;
|
||||
if (status != NSS_STATUS_TRYAGAIN
|
||||
|| rc != ERANGE || herrno != NETDB_INTERNAL)
|
||||
|| errno != ERANGE || herrno != NETDB_INTERNAL)
|
||||
{
|
||||
if (herrno == TRY_AGAIN)
|
||||
no_data = EAI_AGAIN;
|
||||
|
Loading…
Reference in New Issue
Block a user