summaryrefslogtreecommitdiff
path: root/src/netops.c
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2012-06-22 21:25:17 +0200
committerVicent Marti <tanoku@gmail.com>2012-06-22 21:25:17 +0200
commit798e4d53dcd2f5340782083130c0fb5227d596ac (patch)
tree8728939b3b0635833c36de2b0805e77464e50c28 /src/netops.c
parent2ae052d1b1574d1a4de402c91ebb98f061c997d4 (diff)
downloadlibgit2-798e4d53dcd2f5340782083130c0fb5227d596ac.tar.gz
amigaos: Cleanup
Diffstat (limited to 'src/netops.c')
-rw-r--r--src/netops.c100
1 files changed, 4 insertions, 96 deletions
diff --git a/src/netops.c b/src/netops.c
index 0342d7fa1..b369e5106 100644
--- a/src/netops.c
+++ b/src/netops.c
@@ -32,99 +32,6 @@
#include "buffer.h"
#include "transport.h"
-#ifdef NO_ADDRINFO
-struct addrinfo {
- struct hostent *ai_hostent;
- struct servent *ai_servent;
- struct sockaddr_in ai_addr_in;
- struct sockaddr *ai_addr;
- size_t ai_addrlen;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- long ai_port;
- struct addrinfo *ai_next;
-};
-
-static int getaddrinfo(const char *host, const char *port, struct addrinfo *hints, struct addrinfo **info) {
- GIT_UNUSED(hints);
-
- struct addrinfo *ainfo, *ai;
- int p = 0;
-
- if((ainfo = malloc(sizeof(struct addrinfo))) == NULL)
- return -1;
-
- if((ainfo->ai_hostent = gethostbyname(host)) == NULL)
- return -2;
-
- ainfo->ai_servent = getservbyname(port, 0);
-
- if(ainfo->ai_servent)
- ainfo->ai_port = ainfo->ai_servent->s_port;
- else
- ainfo->ai_port = atol(port);
-
-
- memcpy(&ainfo->ai_addr_in.sin_addr, ainfo->ai_hostent->h_addr_list[0], ainfo->ai_hostent->h_length);
- ainfo->ai_protocol = 0;
- ainfo->ai_socktype = hints->ai_socktype;
- ainfo->ai_family = ainfo->ai_hostent->h_addrtype;
- ainfo->ai_addr_in.sin_family = ainfo->ai_family;
- ainfo->ai_addr_in.sin_port = ainfo->ai_port;
- ainfo->ai_addr = (struct addrinfo *)&ainfo->ai_addr_in;
- ainfo->ai_addrlen = sizeof(struct sockaddr_in);
-
- *info = ainfo;
-
- if(ainfo->ai_hostent->h_addr_list[1] == NULL) {
- ainfo->ai_next = NULL;
- return 0;
- }
-
- ai = ainfo;
-
- for (p = 1; ainfo->ai_hostent->h_addr_list[p] != NULL; p++) {
- ai->ai_next = malloc(sizeof(struct addrinfo));
- memcpy(&ai->ai_next, ainfo, sizeof(struct addrinfo));
- memcpy(&ai->ai_next->ai_addr_in.sin_addr, ainfo->ai_hostent->h_addr_list[p], ainfo->ai_hostent->h_length);
- ai->ai_next->ai_addr = (struct addrinfo *)&ai->ai_next->ai_addr_in;
- ai = ai->ai_next;
- }
-
- ai->ai_next = NULL;
- return 0;
-}
-
-static void freeaddrinfo(struct addrinfo *info) {
- struct addrinfo *p, *next;
-
- p = info;
-
- while(p != NULL) {
- next = p->ai_next;
- free(p);
- p = next;
- }
-}
-
-static const char *gai_strerror(int ret) {
- switch(ret) {
- case -1:
- return "Out of memory";
- break;
-
- case -2:
- return "Address lookup failed";
- break;
-
- default:
- return "Unknown error";
- break;
- }
-}
-#endif
-
#ifdef GIT_WIN32
static void net_set_error(const char *str)
{
@@ -477,8 +384,9 @@ int gitno_connect(git_transport *t, const char *host, const char *port)
hints.ai_socktype = SOCK_STREAM;
hints.ai_family = AF_UNSPEC;
- if ((ret = getaddrinfo(host, port, &hints, &info)) < 0) {
- giterr_set(GITERR_NET, "Failed to resolve address for %s: %s", host, gai_strerror(ret));
+ if ((ret = p_getaddrinfo(host, port, &hints, &info)) < 0) {
+ giterr_set(GITERR_NET,
+ "Failed to resolve address for %s: %s", host, p_gai_strerror(ret));
return -1;
}
@@ -505,7 +413,7 @@ int gitno_connect(git_transport *t, const char *host, const char *port)
}
t->socket = s;
- freeaddrinfo(info);
+ p_freeaddrinfo(info);
if (t->encrypt && ssl_setup(t, host) < 0)
return -1;