diff options
author | Vicent Martà <tanoku@gmail.com> | 2011-06-15 13:47:41 -0700 |
---|---|---|
committer | Vicent Martà <tanoku@gmail.com> | 2011-06-15 13:47:41 -0700 |
commit | ef9a6f4cbc4aac143279d7eb37909e78fd7c62cc (patch) | |
tree | eff02adf0c805e3d602bd743e91e63689a275160 | |
parent | f2bb894e6492f54d52d9c8e3d1d554c05916cf69 (diff) | |
parent | 0657e46deef98803058a3c339433a2b6dcafcc13 (diff) | |
download | libgit2-ef9a6f4cbc4aac143279d7eb37909e78fd7c62cc.tar.gz |
Merge pull request #261 from Romain-Geissler/discovery-path-v2
Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows.
-rw-r--r-- | include/git2/common.h | 20 | ||||
-rw-r--r-- | include/git2/repository.h | 6 | ||||
-rw-r--r-- | src/common.h | 8 | ||||
-rw-r--r-- | src/fileops.h | 2 | ||||
-rw-r--r-- | tests/t12-repo.c | 2 |
5 files changed, 26 insertions, 12 deletions
diff --git a/include/git2/common.h b/include/git2/common.h index 9a27ac2e5..ba54ce482 100644 --- a/include/git2/common.h +++ b/include/git2/common.h @@ -76,6 +76,10 @@ # define GIT_FORMAT_PRINTF(a,b) /* empty */ #endif +#if defined(_WIN32) && !defined(__CYGWIN__) +#define GIT_WIN32 1 +#endif + /** * @file git2/common.h * @brief Git common platform definitions @@ -86,6 +90,22 @@ GIT_BEGIN_DECL +/** + * The separator used in path list strings (ie like in the PATH + * environment variable). A semi-colon ";" is used on Windows, and + * a colon ":" for all other systems. + */ +#ifdef GIT_WIN32 +#define GIT_PATH_LIST_SEPARATOR ';' +#else +#define GIT_PATH_LIST_SEPARATOR ':' +#endif + +/** + * The maximum length of a git valid git path. + */ +#define GIT_PATH_MAX 4096 + typedef struct { char **strings; size_t count; diff --git a/include/git2/repository.h b/include/git2/repository.h index 2cb6bfa7b..6fd763c5f 100644 --- a/include/git2/repository.h +++ b/include/git2/repository.h @@ -151,9 +151,9 @@ GIT_EXTERN(int) git_repository_open3(git_repository **repository, * @param across_fs If true, then the lookup will not stop when a filesystem device change * is detected while exploring parent directories. * - * @param ceiling_dirs A colon separated of absolute symbolic link free paths. The lookup will - * stop when any of this paths is reached. Note that the lookup always performs on start_path - * no matter start_path appears in ceiling_dirs + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link + * free paths. The lookup will stop when any of this paths is reached. Note that the + * lookup always performs on start_path no matter start_path appears in ceiling_dirs * ceiling_dirs might be NULL (which is equivalent to an empty string) * * @return 0 on success; error code otherwise diff --git a/src/common.h b/src/common.h index c83e00516..b6a6b4d5c 100644 --- a/src/common.h +++ b/src/common.h @@ -1,13 +1,11 @@ #ifndef INCLUDE_common_h__ #define INCLUDE_common_h__ +#include "git2/common.h" + /** Force 64 bit off_t size on POSIX. */ #define _FILE_OFFSET_BITS 64 -#if defined(_WIN32) && !defined(__CYGWIN__) -#define GIT_WIN32 1 -#endif - #include "git2/thread-utils.h" #include "cc-compat.h" @@ -47,13 +45,11 @@ typedef SSIZE_T ssize_t; # endif #endif -#include "git2/common.h" #include "git2/types.h" #include "git2/errors.h" #include "thread-utils.h" #include "bswap.h" -#define GIT_PATH_MAX 4096 extern int git__throw(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3); extern int git__rethrow(int error, const char *, ...) GIT_FORMAT_PRINTF(2, 3); diff --git a/src/fileops.h b/src/fileops.h index ae8932bd3..953fc732f 100644 --- a/src/fileops.h +++ b/src/fileops.h @@ -12,8 +12,6 @@ #include <fcntl.h> #include <time.h> -#define GIT_PATH_LIST_SEPARATOR ':' - #ifdef GIT_WIN32 #define GIT_PLATFORM_PATH_SEP '\\' #else diff --git a/tests/t12-repo.c b/tests/t12-repo.c index d59095ff4..d4038696a 100644 --- a/tests/t12-repo.c +++ b/tests/t12-repo.c @@ -334,7 +334,7 @@ static int append_ceiling_dir(char *ceiling_dirs, const char *path) return git__rethrow(error, "Failed to append ceiling directory."); if (len) - ceiling_dirs[len] = ':'; + ceiling_dirs[len] = GIT_PATH_LIST_SEPARATOR; return GIT_SUCCESS; } |