# Trivial cleanup of track_tree_refs()

1 messages from 2007-03-18 to 2007-03-18. Participants: Linus Torvalds.
Thread: https://gitlist.dev/t/7299

## Linus Torvalds, 2007-03-18 20:38

Subject: Trivial cleanup of track_tree_refs()
Message-ID: <Pine.LNX.4.64.0703181333190.6730@woody.linux-foundation.org>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0703181333190.6730%40woody.linux-foundation.org

```

This makes "track_tree_refs()" use the same "tree_entry()" function for 
counting the entries as it does for actually traversing them a few lines 
later. 

Not a biggie, but the reason I care was that this was the only user of 
"update_tree_entry()" that didn't actually *extract* the tree entry first. 
It doesn't matter as things stand now, but it meant that a separate 
test-patch I had that avoided a few more "strlen()" calls by just saving 
the entry length in the entry descriptor and using it directly when 
updating wouldn't work without this patch.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 tree.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/tree.c b/tree.c
index 46923ee..24f8fb6 100644
--- a/tree.c
+++ b/tree.c
@@ -153,10 +153,8 @@ static void track_tree_refs(struct tree *item)
 	/* Count how many entries there are.. */
 	desc.buf = item->buffer;
 	desc.size = item->size;
-	while (desc.size) {
+	while (tree_entry(&desc, &entry))
 		n_refs++;
-		update_tree_entry(&desc);
-	}
 
 	/* Allocate object refs and walk it again.. */
 	i = 0;

```
