X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=mktree.c;h=56205d1e0053cdcb7236bde199817a5529d3f433;hb=e33fba4c5a33bce748d2c8a1c7a38b78a1fd2cda;hp=f85358522b93d285a13193b44f68c1ebefc101b5;hpb=ab8c9fe256a21413f86080082cf65b6f7c7656b3;p=git.git diff --git a/mktree.c b/mktree.c index f85358522..56205d1e0 100644 --- a/mktree.c +++ b/mktree.c @@ -6,6 +6,7 @@ #include "cache.h" #include "strbuf.h" #include "quote.h" +#include "tree.h" static struct treeent { unsigned mode; @@ -29,7 +30,7 @@ static void append_to_tree(unsigned mode, unsigned char *sha1, char *path) ent = entries[used++] = xmalloc(sizeof(**entries) + len + 1); ent->mode = mode; ent->len = len; - memcpy(ent->sha1, sha1, 20); + hashcpy(ent->sha1, sha1); memcpy(ent->name, path, len+1); } @@ -48,7 +49,6 @@ static void write_tree(unsigned char *sha1) int i; qsort(entries, used, sizeof(*entries), ent_compare); - size = 100; for (size = i = 0; i < used; i++) size += 32 + entries[i]->len; buffer = xmalloc(size); @@ -64,13 +64,13 @@ static void write_tree(unsigned char *sha1) offset += sprintf(buffer + offset, "%o ", ent->mode); offset += sprintf(buffer + offset, "%s", ent->name); buffer[offset++] = 0; - memcpy(buffer + offset, ent->sha1, 20); + hashcpy((unsigned char*)buffer + offset, ent->sha1); offset += 20; } - write_sha1_file(buffer, offset, "tree", sha1); + write_sha1_file(buffer, offset, tree_type, sha1); } -static const char mktree_usage[] = "mktree [-z]"; +static const char mktree_usage[] = "git-mktree [-z]"; int main(int ac, char **av) {