Skip to content

Commit

Permalink
read-cache.c: make create_from_disk() report number of bytes it consumed
Browse files Browse the repository at this point in the history
The function is the one that is reading from the data stream. It only is
natural to make it responsible for reporting this number, not the caller.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed Apr 3, 2012
1 parent d60c49c commit 936f53d
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions read-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -1305,7 +1305,8 @@ static inline uint32_t ntoh_l_force_align(void *p)
#define ntoh_l(var) ntoh_l_force_align(&(var))
#endif

static struct cache_entry *create_from_disk(struct ondisk_cache_entry *ondisk)
static struct cache_entry *create_from_disk(struct ondisk_cache_entry *ondisk,
unsigned long *ent_size)
{
struct cache_entry *ce;
size_t len;
Expand Down Expand Up @@ -1351,6 +1352,7 @@ static struct cache_entry *create_from_disk(struct ondisk_cache_entry *ondisk)

memcpy(ce->name, name, len);
ce->name[len] = '\0';
*ent_size = ondisk_ce_size(ce);
return ce;
}

Expand Down Expand Up @@ -1404,12 +1406,13 @@ int read_index_from(struct index_state *istate, const char *path)
for (i = 0; i < istate->cache_nr; i++) {
struct ondisk_cache_entry *disk_ce;
struct cache_entry *ce;
unsigned long consumed;

disk_ce = (struct ondisk_cache_entry *)((char *)mmap + src_offset);
ce = create_from_disk(disk_ce);
ce = create_from_disk(disk_ce, &consumed);
set_index_entry(istate, i, ce);

src_offset += ondisk_ce_size(ce);
src_offset += consumed;
}
istate->timestamp.sec = st.st_mtime;
istate->timestamp.nsec = ST_MTIME_NSEC(st);
Expand Down

0 comments on commit 936f53d

Please sign in to comment.