aboutsummaryrefslogtreecommitdiffstats
path: root/cache.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 16:01:46 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 16:01:46 -0700
commitdb823d4a5a47d614895c959dce2a379a2364b677 (patch)
tree67b44bb0ddfcf9e69b5dbafd0a5223ea55dffda9 /cache.h
parented4eeaf203d0f293bd5ffc2a0ad8711f052db1f3 (diff)
downloadgit-db823d4a5a47d614895c959dce2a379a2364b677.tar.gz
Fix symlink handling
We really always want to have S_IFREG there for non-symlinks, otherwise we create corrupt index files.
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/cache.h b/cache.h
index e6ce7312c1..80f9967053 100644
--- a/cache.h
+++ b/cache.h
@@ -89,11 +89,9 @@ struct cache_entry {
#define ce_permissions(mode) (((mode) & 0100) ? 0755 : 0644)
static inline unsigned int create_ce_mode(unsigned int mode)
{
- if (S_ISREG(mode))
- return htonl(S_IFREG | ce_permissions(mode));
if (S_ISLNK(mode))
return htonl(S_IFLNK);
- return htonl(mode);
+ return htonl(S_IFREG | ce_permissions(mode));
}
#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)