diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-04-03 15:53:14 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-04-03 16:24:46 -0700 |
commit | f136f7bfe816b46ebabf5439f8e55f37097ca353 (patch) | |
tree | 7a1453054730da9aab82ad19f25a2252888dab12 /read-cache.c | |
parent | 3fc22b53313ff035da145b2cb59e587ff3868654 (diff) | |
download | git-f136f7bfe816b46ebabf5439f8e55f37097ca353.tar.gz |
read-cache.c: move code to copy incore to ondisk cache to a helper function
This makes the change in a later patch look less scary.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/read-cache.c b/read-cache.c index 82711c22bc..c159351eaf 100644 --- a/read-cache.c +++ b/read-cache.c @@ -1605,13 +1605,10 @@ static void ce_smudge_racily_clean_entry(struct cache_entry *ce) } } -static int ce_write_entry(git_SHA_CTX *c, int fd, struct cache_entry *ce) +/* Copy miscellaneous fields but not the name */ +static char *copy_cache_entry_to_ondisk(struct ondisk_cache_entry *ondisk, + struct cache_entry *ce) { - int size = ondisk_ce_size(ce); - struct ondisk_cache_entry *ondisk = xcalloc(1, size); - char *name; - int result; - ondisk->ctime.sec = htonl(ce->ce_ctime.sec); ondisk->mtime.sec = htonl(ce->ce_mtime.sec); ondisk->ctime.nsec = htonl(ce->ce_ctime.nsec); @@ -1628,10 +1625,21 @@ static int ce_write_entry(git_SHA_CTX *c, int fd, struct cache_entry *ce) struct ondisk_cache_entry_extended *ondisk2; ondisk2 = (struct ondisk_cache_entry_extended *)ondisk; ondisk2->flags2 = htons((ce->ce_flags & CE_EXTENDED_FLAGS) >> 16); - name = ondisk2->name; + return ondisk2->name; } - else - name = ondisk->name; + else { + return ondisk->name; + } +} + +static int ce_write_entry(git_SHA_CTX *c, int fd, struct cache_entry *ce) +{ + int size = ondisk_ce_size(ce); + struct ondisk_cache_entry *ondisk = xcalloc(1, size); + char *name; + int result; + + name = copy_cache_entry_to_ondisk(ondisk, ce); memcpy(name, ce->name, ce_namelen(ce)); result = ce_write(c, fd, ondisk, size); |