Commit 798e4d53dcd2f5340782083130c0fb5227d596ac

Vicent Marti 2012-06-22T21:25:17

amigaos: Cleanup

diff --git a/include/git2/errors.h b/include/git2/errors.h
index b4809fe..ca7f0de 100644
--- a/include/git2/errors.h
+++ b/include/git2/errors.h
@@ -17,44 +17,6 @@
  */
 GIT_BEGIN_DECL
 
-#ifdef GIT_OLD_ERRORS
-enum {
-	GIT_SUCCESS = 0,
-	GIT_ERROR = -1,
-	GIT_ENOTOID = -2,
-	GIT_ENOTFOUND = -3,
-	GIT_ENOMEM = -4,
-	GIT_EOSERR = -5,
-	GIT_EOBJTYPE = -6,
-	GIT_ENOTAREPO = -7,
-	GIT_EINVALIDTYPE = -8,
-	GIT_EMISSINGOBJDATA = -9,
-	GIT_EPACKCORRUPTED = -10,
-	GIT_EFLOCKFAIL = -11,
-	GIT_EZLIB = -12,
-	GIT_EBUSY = -13,
-	GIT_EBAREINDEX = -14,
-	GIT_EINVALIDREFNAME = -15,
-	GIT_EREFCORRUPTED = -16,
-	GIT_ETOONESTEDSYMREF = -17,
-	GIT_EPACKEDREFSCORRUPTED = -18,
-	GIT_EINVALIDPATH = -19,
-	GIT_EREVWALKOVER = -20,
-	GIT_EINVALIDREFSTATE = -21,
-	GIT_ENOTIMPLEMENTED = -22,
-	GIT_EEXISTS = -23,
-	GIT_EOVERFLOW = -24,
-	GIT_ENOTNUM = -25,
-	GIT_ESTREAM = -26,
-	GIT_EINVALIDARGS = -27,
-	GIT_EOBJCORRUPTED = -28,
-	GIT_EAMBIGUOUS = -29,
-	GIT_EPASSTHROUGH = -30,
-	GIT_ENOMATCH = -31,
-	GIT_ESHORTBUFFER = -32,
-};
-#else
-
 /** Generic return codes */
 enum {
 	GIT_OK = 0,
@@ -67,13 +29,13 @@ enum {
 	GIT_PASSTHROUGH = -30,
 	GIT_REVWALKOVER = -31,
 };
-#endif
 
 typedef struct {
 	char *message;
 	int klass;
 } git_error;
 
+/** Error classes */
 typedef enum {
 	GITERR_NOMEMORY,
 	GITERR_OS,
diff --git a/src/netops.c b/src/netops.c
index 0342d7f..b369e51 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;
diff --git a/src/posix.c b/src/posix.c
index a9a6af9..985221d 100644
--- a/src/posix.c
+++ b/src/posix.c
@@ -12,6 +12,97 @@
 
 #ifndef GIT_WIN32
 
+#ifdef NO_ADDRINFO
+int p_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;
+}
+
+void p_freeaddrinfo(struct addrinfo *info)
+{
+	struct addrinfo *p, *next;
+	
+	p = info;
+	
+	while(p != NULL) {
+		next = p->ai_next;
+		free(p);
+		p = next;
+	}
+}
+
+const char *p_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 /* NO_ADDRINFO */
+
 int p_open(const char *path, int flags, ...)
 {
 	mode_t mode = 0;
@@ -63,7 +154,7 @@ int p_rename(const char *from, const char *to)
 	return -1;
 }
 
-#endif
+#endif /* GIT_WIN32 */
 
 int p_read(git_file fd, void *buf, size_t cnt)
 {
diff --git a/src/posix.h b/src/posix.h
index d423b7e..76f3b94 100644
--- a/src/posix.h
+++ b/src/posix.h
@@ -83,16 +83,40 @@ extern int p_gettimeofday(struct timeval *tv, struct timezone *tz);
 #	include "unix/posix.h"
 #endif
 
-#ifndef NO_READDIR_R
-#define p_readdir_r(d,e,r) readdir_r(d,e,r)
-#else
-#include <dirent.h>
+#ifdef NO_READDIR_R
+#	include <dirent.h>
 GIT_INLINE(int) p_readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result)
 {
 	GIT_UNUSED(entry);
 	*result = readdir(dirp);
 	return 0;
 }
+#else /* NO_READDIR_R */
+#	define p_readdir_r(d,e,r) readdir_r(d,e,r)
 #endif
 
+#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;
+};
+
+extern int p_getaddrinfo(const char *host, const char *port,
+	struct addrinfo *hints, struct addrinfo **info);
+extern void p_freeaddrinfo(struct addrinfo *info);
+extern const char *p_gai_strerror(int ret);
+#else
+#	define p_getaddrinfo(a, b, c, d) getaddrinfo(a, b, c, d)
+#	define p_freeaddrinfo(a) freeaddrinfo(a)
+#	define p_gai_strerror(c) gai_strerror(c)
+#endif /* NO_ADDRINFO */
+
 #endif