Small cache_tree_write refactor.

This function cannot fail, make it void. Also make write_one act on a
const char* instead of a char*.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pierre Habouzit
2007-09-25 10:22:44 +02:00
committed by Junio C Hamano
parent 8289b62095
commit 1dffb8fa80
3 changed files with 15 additions and 25 deletions

View File

@ -369,10 +369,8 @@ int cache_tree_update(struct cache_tree *it,
return 0;
}
static void write_one(struct cache_tree *it,
char *path,
int pathlen,
struct strbuf *buffer)
static void write_one(struct strbuf *buffer, struct cache_tree *it,
const char *path, int pathlen)
{
int i;
@ -407,20 +405,13 @@ static void write_one(struct cache_tree *it,
prev->name, prev->namelen) <= 0)
die("fatal - unsorted cache subtree");
}
write_one(down->cache_tree, down->name, down->namelen, buffer);
write_one(buffer, down->cache_tree, down->name, down->namelen);
}
}
void *cache_tree_write(struct cache_tree *root, unsigned long *size_p)
void cache_tree_write(struct strbuf *sb, struct cache_tree *root)
{
char path[PATH_MAX];
struct strbuf buffer;
path[0] = 0;
strbuf_init(&buffer, 0);
write_one(root, path, 0, &buffer);
*size_p = buffer.len;
return strbuf_detach(&buffer);
write_one(sb, root, "", 0);
}
static struct cache_tree *read_one(const char **buffer, unsigned long *size_p)