X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=revision.c;fp=revision.c;h=6a6952cd559af89d3c8dc2c477ddd8c25b470d66;hb=4c068a983150b740c3fcf6a33f342ac923abd3f4;hp=8e93e40bb379d7ba0f1c7d483581b5d16f4f1753;hpb=47df096f254ccac5a81da615b3fd25f3cf466bbf;p=git.git diff --git a/revision.c b/revision.c index 8e93e40b..6a6952cd 100644 --- a/revision.c +++ b/revision.c @@ -54,6 +54,7 @@ static void mark_blob_uninteresting(struct blob *blob) void mark_tree_uninteresting(struct tree *tree) { struct tree_desc desc; + struct name_entry entry; struct object *obj = &tree->object; if (obj->flags & UNINTERESTING) @@ -66,18 +67,11 @@ void mark_tree_uninteresting(struct tree *tree) desc.buf = tree->buffer; desc.size = tree->size; - while (desc.size) { - unsigned mode; - const char *name; - const unsigned char *sha1; - - sha1 = tree_entry_extract(&desc, &name, &mode); - update_tree_entry(&desc); - - if (S_ISDIR(mode)) - mark_tree_uninteresting(lookup_tree(sha1)); + while (tree_entry(&desc, &entry)) { + if (S_ISDIR(entry.mode)) + mark_tree_uninteresting(lookup_tree(entry.sha1)); else - mark_blob_uninteresting(lookup_blob(sha1)); + mark_blob_uninteresting(lookup_blob(entry.sha1)); } /*