Add a GIT_PATH_MAX constant

The PATH_MAX symbol is often, but not always, defined
in the <limits.h> header.  In particular, on cygwin you
need to include this header to avoid a compilation error.

However, some systems define PATH_MAX to be something as
small as 256, which POSIX is happy to allow, while others
allow much larger values.  In general it can vary from
one filesystem to another.

In order to avoid the vagaries of different systems, define
our own symbol.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Ramsay Jones 2008-12-03 23:53:55 +00:00 committed by Shawn O. Pearce
parent 192678b55c
commit 5ee2fe777c
2 changed files with 5 additions and 1 deletions

View File

@ -10,4 +10,7 @@
#include <string.h>
#include "git/common.h"
#define GIT_PATH_MAX 4096
#endif /* INCLUDE_common_h__ */

View File

@ -1,3 +1,4 @@
#include "common.h"
#include "fileops.h"
int gitfo_read(git_file fd, void *buf, size_t cnt)
@ -141,7 +142,7 @@ int gitfo_close_cached(gitfo_cache *ioc)
*/
int git_foreach_dirent(const char *wd, int (*fn)(void *, const char *), void *arg)
{
char path[PATH_MAX];
char path[GIT_PATH_MAX];
size_t wd_len;
DIR *dir;
struct dirent *de;