Skip to content

Commit b3b3cbc

Browse files
peffgitster
authored andcommitted
tree-walk: accept a raw length for traverse_path_len()
We take a "struct name_entry", but only care about the length of the path name. Let's just take that length directly, making it easier to use the function from callers that sometimes do not have a name_entry at all. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 3780608 commit b3b3cbc

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

builtin/merge-tree.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ static struct merge_list *create_entry(unsigned stage, unsigned mode, const stru
180180

181181
static char *traverse_path(const struct traverse_info *info, const struct name_entry *n)
182182
{
183-
char *path = xmallocz(traverse_path_len(info, n));
183+
char *path = xmallocz(traverse_path_len(info, tree_entry_len(n)));
184184
return make_traverse_path(path, info, n->path, n->pathlen);
185185
}
186186

tree-walk.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,10 @@ char *make_traverse_path(char *path, const struct traverse_info *info,
7474
const char *name, size_t namelen);
7575
void setup_traverse_info(struct traverse_info *info, const char *base);
7676

77-
static inline size_t traverse_path_len(const struct traverse_info *info, const struct name_entry *n)
77+
static inline size_t traverse_path_len(const struct traverse_info *info,
78+
size_t namelen)
7879
{
79-
return st_add(info->pathlen, tree_entry_len(n));
80+
return st_add(info->pathlen, namelen);
8081
}
8182

8283
/* in general, positive means "kind of interesting" */

unpack-trees.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ static int index_pos_by_traverse_info(struct name_entry *names,
686686
struct traverse_info *info)
687687
{
688688
struct unpack_trees_options *o = info->data;
689-
size_t len = traverse_path_len(info, names);
689+
size_t len = traverse_path_len(info, tree_entry_len(names));
690690
char *name = xmalloc(len + 1 /* slash */ + 1 /* NUL */);
691691
int pos;
692692

@@ -936,7 +936,7 @@ static int compare_entry(const struct cache_entry *ce, const struct traverse_inf
936936
* Even if the beginning compared identically, the ce should
937937
* compare as bigger than a directory leading up to it!
938938
*/
939-
return ce_namelen(ce) > traverse_path_len(info, n);
939+
return ce_namelen(ce) > traverse_path_len(info, tree_entry_len(n));
940940
}
941941

942942
static int ce_in_traverse_path(const struct cache_entry *ce,
@@ -960,7 +960,7 @@ static struct cache_entry *create_ce_entry(const struct traverse_info *info,
960960
struct index_state *istate,
961961
int is_transient)
962962
{
963-
size_t len = traverse_path_len(info, n);
963+
size_t len = traverse_path_len(info, tree_entry_len(n));
964964
struct cache_entry *ce =
965965
is_transient ?
966966
make_empty_transient_cache_entry(len) :

0 commit comments

Comments
 (0)