summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-07-10 18:27:47 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-07-10 18:27:47 (GMT)
commit11def366e5a126f9b86f3baf32b9798cef712668 (patch)
tree0a1ec9b0107786c02fe4a0f194df1a39fa3a1031 /cache.h
parent39177c7f184b4c07a1f53f99f59c920c3fb6222d (diff)
parente7c730530065fb2f366ecbcb1e71d7f7346b6a25 (diff)
downloadgit-11def366e5a126f9b86f3baf32b9798cef712668.zip
git-11def366e5a126f9b86f3baf32b9798cef712668.tar.gz
git-11def366e5a126f9b86f3baf32b9798cef712668.tar.bz2
Merge branch 'kb/path-max-must-go'
* kb/path-max-must-go: symlinks: remove PATH_MAX limitation
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/cache.h b/cache.h
index df65231..44aa439 100644
--- a/cache.h
+++ b/cache.h
@@ -1090,12 +1090,16 @@ struct checkout {
extern int checkout_entry(struct cache_entry *ce, const struct checkout *state, char *topath);
struct cache_def {
- char path[PATH_MAX + 1];
- int len;
+ struct strbuf path;
int flags;
int track_flags;
int prefix_len_stat_func;
};
+#define CACHE_DEF_INIT { STRBUF_INIT, 0, 0, 0 }
+static inline void cache_def_free(struct cache_def *cache)
+{
+ strbuf_release(&cache->path);
+}
extern int has_symlink_leading_path(const char *name, int len);
extern int threaded_has_symlink_leading_path(struct cache_def *, const char *, int);