diff options
author | Vicent Marti <tanoku@gmail.com> | 2012-06-22 21:25:17 +0200 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2012-06-22 21:25:17 +0200 |
commit | 798e4d53dcd2f5340782083130c0fb5227d596ac (patch) | |
tree | 8728939b3b0635833c36de2b0805e77464e50c28 /src/netops.c | |
parent | 2ae052d1b1574d1a4de402c91ebb98f061c997d4 (diff) | |
download | libgit2-798e4d53dcd2f5340782083130c0fb5227d596ac.tar.gz |
amigaos: Cleanup
Diffstat (limited to 'src/netops.c')
-rw-r--r-- | src/netops.c | 100 |
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; |