Fix symlink handling
We really always want to have S_IFREG there for non-symlinks, otherwise we create corrupt index files.maint
parent
ed4eeaf203
commit
db823d4a5a
4
cache.h
4
cache.h
|
@ -89,11 +89,9 @@ struct cache_entry {
|
||||||
#define ce_permissions(mode) (((mode) & 0100) ? 0755 : 0644)
|
#define ce_permissions(mode) (((mode) & 0100) ? 0755 : 0644)
|
||||||
static inline unsigned int create_ce_mode(unsigned int mode)
|
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))
|
if (S_ISLNK(mode))
|
||||||
return htonl(S_IFLNK);
|
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)
|
#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
|
||||||
|
|
Loading…
Reference in New Issue