Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2023-01-12 12:11:32 +0300
committerJunio C Hamano <gitster@pobox.com>2023-01-14 02:09:23 +0300
commit65d1f6c9fa780eab5af6883e309637bddc63d75d (patch)
treeac57dd50ba2982864359fd12a6c0c67cc10b2c1e /builtin/ls-tree.c
parent030a3d5d9e49a392b347d3d857c60fc811f6fcb9 (diff)
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>
Diffstat (limited to 'builtin/ls-tree.c')
-rw-r--r--builtin/ls-tree.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index 54f7b604cb..da664eecfb 100644
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
@@ -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;