diff options
author | Junio C Hamano <junkio@cox.net> | 2006-03-29 22:55:43 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-03-29 23:54:13 -0800 |
commit | 1b0c7174a17de801051402ed35ac085ebd91e88c (patch) | |
tree | 31a806fd8bf26fe1ecf42f62c82bb68f16fbc150 /cache.h | |
parent | e464f4c3119b04712ab87329f3dd4d4f21b0a8a7 (diff) | |
download | git-1b0c7174a17de801051402ed35ac085ebd91e88c.tar.gz git-1b0c7174a17de801051402ed35ac085ebd91e88c.tar.xz |
tree/diff header cleanup.
Introduce tree-walk.[ch] and move "struct tree_desc" and
associated functions from various places.
Rename DIFF_FILE_CANON_MODE(mode) macro to canon_mode(mode) and
move it to cache.h. This macro returns the canonicalized
st_mode value in the host byte order for files, symlinks and
directories -- to be compared with a tree_desc entry.
create_ce_mode(mode) in cache.h is similar but is intended to be
used for index entries (so it does not work for directories) and
returns the value in the network byte order.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -106,6 +106,9 @@ static inline unsigned int create_ce_mode(unsigned int mode) return htonl(S_IFLNK); return htonl(S_IFREG | ce_permissions(mode)); } +#define canon_mode(mode) \ + (S_ISREG(mode) ? (S_IFREG | ce_permissions(mode)) : \ + S_ISLNK(mode) ? S_IFLNK : S_IFDIR) #define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7) |