]> git.ipfire.org Git - thirdparty/git.git/commitdiff
ls-tree: fold "show_tree_data" into "cb" struct
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 12 Jan 2023 09:11:32 +0000 (17:11 +0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 13 Jan 2023 23:09:23 +0000 (15:09 -0800)
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>
builtin/ls-tree.c

index 54f7b604cb7a70c23967e960cc3f38d4653df89d..da664eecfb96c4bf05acc7ba2f9b30ed8f431464 100644 (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;