Commit c3fad0ae by Chris Young

Merge branch 'development' of github.com:chris-y/libgit2 into development

parents 41cbbea8 7d1983eb
...@@ -24,7 +24,7 @@ STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ...@@ -24,7 +24,7 @@ STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1"
SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${LIBGIT2_VERSION_REV}") SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${LIBGIT2_VERSION_REV}")
# Uncomment out the line below to use PowerPC SHA1 # Uncomment out the line below to use PowerPC SHA1
#SET(SHA1_TYPE "ppc") SET(SHA1_TYPE "ppc")
# Find required dependencies # Find required dependencies
INCLUDE_DIRECTORIES(src include deps/http-parser) INCLUDE_DIRECTORIES(src include deps/http-parser)
......
Nasty build hack:
When setting SHA1 to ppc in CMakeLists.txt, after running initial CMake,
copy src/ppc/sha1ppc.S.obj to build/CMakeFiles/git2.dir/src/ppc/
Add CMakeFiles/git2.dir/src/ppc/sha1ppc.S.obj to the list in build/CMakeFiles/git2.dir/link.txt
...@@ -56,11 +56,7 @@ ...@@ -56,11 +56,7 @@
#endif #endif
#ifdef __amigaos4__ #ifdef __amigaos4__
/* Network byte order is big-endian... so is PPC, so these functions are NOP */ #include <netinet/in.h>
#define htonl(x) x
#define ntohl(x) x
#define htons(x) x
#define ntohs(x) x
#endif #endif
/** /**
......
...@@ -382,7 +382,9 @@ int gitno_connect(git_transport *t, const char *host, const char *port) ...@@ -382,7 +382,9 @@ int gitno_connect(git_transport *t, const char *host, const char *port)
#else #else
int p; int p;
struct hostent *hent; struct hostent *hent;
struct servent *sent;
struct sockaddr_in saddr; struct sockaddr_in saddr;
long port_num = 0;
#endif #endif
int ret; int ret;
GIT_SOCKET s = INVALID_SOCKET; GIT_SOCKET s = INVALID_SOCKET;
...@@ -397,6 +399,12 @@ int gitno_connect(git_transport *t, const char *host, const char *port) ...@@ -397,6 +399,12 @@ int gitno_connect(git_transport *t, const char *host, const char *port)
} }
#else #else
hent = gethostbyname(host); hent = gethostbyname(host);
sent = getservbyname(port, 0);
if(sent)
port_num = sent->s_port;
else
port_num = atol(port);
#endif #endif
#ifndef __amigaos4__ #ifndef __amigaos4__
...@@ -413,9 +421,9 @@ int gitno_connect(git_transport *t, const char *host, const char *port) ...@@ -413,9 +421,9 @@ int gitno_connect(git_transport *t, const char *host, const char *port)
#ifndef __amigaos4__ #ifndef __amigaos4__
if (connect(s, p->ai_addr, (socklen_t)p->ai_addrlen) == 0) if (connect(s, p->ai_addr, (socklen_t)p->ai_addrlen) == 0)
#else #else
saddr.sin_addr.s_addr = *hent->h_addr_list[p]; memcpy(&saddr.sin_addr, hent->h_addr_list[p], hent->h_length);
saddr.sin_family = hent->h_addrtype; saddr.sin_family = hent->h_addrtype;
saddr.sin_port = port; saddr.sin_port = port_num;
if (connect(s, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in)) == 0) if (connect(s, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in)) == 0)
#endif #endif
break; break;
......
...@@ -482,9 +482,14 @@ int git_path_cmp( ...@@ -482,9 +482,14 @@ int git_path_cmp(
/* Taken from git.git */ /* Taken from git.git */
GIT_INLINE(int) is_dot_or_dotdot(const char *name) GIT_INLINE(int) is_dot_or_dotdot(const char *name)
{ {
#ifdef __amigaos4__
/* This is irrelevant on AmigaOS */
return 0;
#else
return (name[0] == '.' && return (name[0] == '.' &&
(name[1] == '\0' || (name[1] == '\0' ||
(name[1] == '.' && name[2] == '\0'))); (name[1] == '.' && name[2] == '\0')));
#endif
} }
int git_path_direach( int git_path_direach(
...@@ -512,7 +517,11 @@ int git_path_direach( ...@@ -512,7 +517,11 @@ int git_path_direach(
de_buf = git__malloc(sizeof(struct dirent)); de_buf = git__malloc(sizeof(struct dirent));
#endif #endif
#ifdef __amigaos4__
while (de = readdir(dir)) {
#else
while (p_readdir_r(dir, de_buf, de) == 0 && de != NULL) { while (p_readdir_r(dir, de_buf, de) == 0 && de != NULL) {
#endif
int result; int result;
if (is_dot_or_dotdot(de->d_name)) if (is_dot_or_dotdot(de->d_name))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment