unsigned int ce_gid;
unsigned int ce_size;
unsigned char sha1[20];
- unsigned short ce_namelen;
+ unsigned short ce_flags;
char name[0];
};
+#define CE_NAMEMASK (0x0fff)
+#define CE_STAGE1 (0x1000)
+#define CE_STAGE2 (0x2000)
+
const char *sha1_file_directory;
struct cache_entry **active_cache;
unsigned int active_nr, active_alloc;
#define DEFAULT_DB_ENVIRONMENT ".git/objects"
#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
-#define ce_namelen(ce) ntohs((ce)->ce_namelen)
+#define ce_namelen(ce) (CE_NAMEMASK & ntohs((ce)->ce_flags))
#define ce_size(ce) cache_entry_size(ce_namelen(ce))
#define alloc_nr(x) (((x)+16)*3/2)
memset(ce, 0, size);
ce->ce_mode = htonl(mode);
- ce->ce_namelen = htons(baselen + len);
+ ce->ce_flags = htons(baselen + len);
memcpy(ce->name, base, baselen);
memcpy(ce->name + baselen, pathname, len+1);
memcpy(ce->sha1, sha1, 20);
memcpy(ce->name, path, namelen);
fill_stat_cache_info(ce, &st);
ce->ce_mode = htonl(st.st_mode);
- ce->ce_namelen = htons(namelen);
+ ce->ce_flags = htons(namelen);
if (index_fd(path, namelen, ce, fd, &st) < 0)
return -1;
memcpy(ce->sha1, sha1, 20);
memcpy(ce->name, arg3, len);
- ce->ce_namelen = htons(len);
+ ce->ce_flags = htons(len);
ce->ce_mode = htonl(mode);
return add_cache_entry(ce, allow_add);
}