[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 09/09: Refactor resolver_getprotobyname and resolver_getservbyn
From: |
gnunet |
Subject: |
[gnunet] 09/09: Refactor resolver_getprotobyname and resolver_getservbyname functions |
Date: |
Thu, 07 Dec 2023 15:51:18 +0100 |
This is an automated email from the git hooks/post-receive script.
sebi pushed a commit to branch master
in repository gnunet.
commit ee105432a611a44249f867fb5f6f0bc101e000a9
Author: Sebastian Nadler <sebastian.nadler@tum.de>
AuthorDate: Mon Dec 4 20:31:09 2023 +0100
Refactor resolver_getprotobyname and resolver_getservbyname functions
---
src/service/gns/gnunet-service-gns_resolver.c | 46 +++++++++------------------
1 file changed, 15 insertions(+), 31 deletions(-)
diff --git a/src/service/gns/gnunet-service-gns_resolver.c
b/src/service/gns/gnunet-service-gns_resolver.c
index e872a0ea5..445ae3346 100644
--- a/src/service/gns/gnunet-service-gns_resolver.c
+++ b/src/service/gns/gnunet-service-gns_resolver.c
@@ -586,20 +586,15 @@ timeout_resolution (void *cls)
*
* @param name name of the protocol
*/
-static struct protoent *
+static int
resolver_getprotobyname (const char *name)
{
struct protoent *pe = getprotobyname (name);
if (pe == NULL)
{
- uint16_t proto = GNUNET_GNS_protocol_name_to_number (name);
- if (proto == 0)
- return NULL;
- pe = GNUNET_new (struct protoent);
- pe->p_name = GNUNET_strdup (name);
- pe->p_proto = proto;
+ return GNUNET_GNS_protocol_name_to_number (name);
}
- return pe;
+ return pe->p_proto;
}
@@ -609,20 +604,15 @@ resolver_getprotobyname (const char *name)
* @param name name of the service
* @param proto name of the protocol
*/
-static struct servent *
+static int
resolver_getservbyname (const char *name, const char *proto)
{
struct servent *se = getservbyname (name, proto);
if (se == NULL)
{
- uint16_t port = GNUNET_GNS_service_port_name_to_number (name);
- if (port == 0)
- return NULL;
- se = GNUNET_new (struct servent);
- se->s_name = GNUNET_strdup (name);
- se->s_port = htons (port);
+ return htons (GNUNET_GNS_service_port_name_to_number (name));
}
- return se;
+ return se->s_port;
}
@@ -652,8 +642,8 @@ resolver_lookup_get_next_label (struct GNS_ResolverHandle
*rh)
char *ret;
char *srv_name;
char *proto_name;
- struct protoent *pe;
- struct servent *se;
+ int protocol;
+ int service;
if (0 == rh->name_resolution_pos)
return NULL;
@@ -709,8 +699,8 @@ resolver_lookup_get_next_label (struct GNS_ResolverHandle
*rh)
rh->name_resolution_pos - (dot - rh->name)
- 2);
rh->name_resolution_pos = 0;
- pe = resolver_getprotobyname (proto_name);
- if (NULL == pe)
+ protocol = resolver_getprotobyname (proto_name);
+ if (0 == protocol)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_ ("Protocol `%s' unknown, skipping labels.\n"),
@@ -719,9 +709,9 @@ resolver_lookup_get_next_label (struct GNS_ResolverHandle
*rh)
GNUNET_free (srv_name);
return ret;
}
- se = resolver_getservbyname (srv_name,
- proto_name);
- if (NULL == se)
+ service = resolver_getservbyname (srv_name,
+ proto_name);
+ if (0 == service)
{
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_ (
@@ -735,22 +725,16 @@ resolver_lookup_get_next_label (struct GNS_ResolverHandle
*rh)
srv_name);
GNUNET_free (proto_name);
GNUNET_free (srv_name);
- GNUNET_free (pe->p_name);
- GNUNET_free (pe);
return ret;
}
}
else
{
- rh->service = ntohs (se->s_port);
- GNUNET_free (se->s_name);
- GNUNET_free (se);
+ rh->service = ntohs (service);
}
- rh->protocol = pe->p_proto;
+ rh->protocol = protocol;
GNUNET_free (proto_name);
GNUNET_free (srv_name);
- GNUNET_free (pe->p_name);
- GNUNET_free (pe);
}
return ret;
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet] branch master updated (f88e07fcc -> ee105432a), gnunet, 2023/12/07
- [gnunet] 03/09: Fix compiler warning URI records & Resource leaks, gnunet, 2023/12/07
- [gnunet] 04/09: improved readability, gnunet, 2023/12/07
- [gnunet] 02/09: Fix compiler warning URI records & Resource leaks, gnunet, 2023/12/07
- [gnunet] 07/09: Fix in DNS parser, gnunet, 2023/12/07
- [gnunet] 01/09: GANA protocol & service-port numbers, gnunet, 2023/12/07
- [gnunet] 06/09: Fix memory leaks in resolver_lookup_get_next_label() function, gnunet, 2023/12/07
- [gnunet] 09/09: Refactor resolver_getprotobyname and resolver_getservbyname functions,
gnunet <=
- [gnunet] 05/09: Fix memory leaks in resolver_lookup_get_next_label() function, gnunet, 2023/12/07
- [gnunet] 08/09: Uncrustify, gnunet, 2023/12/07