ls-tree: fold "show_tree_data" into "cb" struct

After the the preceding two commits the only user of the
"show_tree_data" struct needed it along with the "options" member,
let's instead fold all of that into a "show_tree_data" struct that
we'll use only for that callback.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Teng Long <dyroneteng@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2023-01-12 17:11:32 +08:00 committed by Junio C Hamano
parent 030a3d5d9e
commit 65d1f6c9fa

View File

@ -53,6 +53,7 @@ struct ls_tree_options {
};
struct show_tree_data {
struct ls_tree_options *options;
unsigned mode;
enum object_type type;
const struct object_id *oid;
@ -60,17 +61,11 @@ struct show_tree_data {
struct strbuf *base;
};
struct show_tree_data_cb {
struct ls_tree_options *options;
struct show_tree_data *data;
};
static size_t expand_show_tree(struct strbuf *sb, const char *start,
void *context)
{
struct show_tree_data_cb *wrapper = context;
struct ls_tree_options *options = wrapper->options;
struct show_tree_data *data = wrapper->data;
struct show_tree_data *data = context;
struct ls_tree_options *options = data->options;
const char *end;
const char *p;
unsigned int errlen;
@ -153,17 +148,14 @@ static int show_tree_fmt(const struct object_id *oid, struct strbuf *base,
int recurse = 0;
struct strbuf sb = STRBUF_INIT;
enum object_type type = object_type(mode);
struct show_tree_data data = {
struct show_tree_data cb_data = {
.options = options,
.mode = mode,
.type = type,
.oid = oid,
.pathname = pathname,
.base = base,
};
struct show_tree_data_cb cb_data = {
.data = &data,
.options = options,
};
if (type == OBJ_TREE && show_recursive(options, base->buf, base->len, pathname))
recurse = READ_TREE_RECURSIVE;