Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-06 03:01:46 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-06 03:01:46 +0400
commitdb823d4a5a47d614895c959dce2a379a2364b677 (patch)
tree67b44bb0ddfcf9e69b5dbafd0a5223ea55dffda9 /cache.h
parented4eeaf203d0f293bd5ffc2a0ad8711f052db1f3 (diff)
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)