X-Git-Url: https://git.distorted.org.uk/~mdw/tig/blobdiff_plain/73c76ef5c12ef914484e1ee71e55126d74020c8d..4795d620f98daae0f972ff61341991656af9c88b:/tig.c diff --git a/tig.c b/tig.c index 6236bf3..a871cb0 100644 --- a/tig.c +++ b/tig.c @@ -2447,7 +2447,7 @@ static struct view_ops pager_ops = { * Tree backend */ -/* Parse output from git ls-tree: +/* Parse output from git-ls-tree(1): * * 100644 blob fb0e31ea6cc679b7379631188190e975f5789c26 Makefile * 100644 blob 5304ca4260aaddaee6498f9630e7d471b8591ea6 README @@ -2558,7 +2558,6 @@ static bool tree_enter(struct view *view, struct line *line) { enum open_flags flags = display[0] == view ? OPEN_SPLIT : OPEN_DEFAULT; - char *data = line->data; enum request request; switch (line->type) { @@ -2577,6 +2576,7 @@ tree_enter(struct view *view, struct line *line) } else { size_t pathlen = strlen(opt_path); size_t origlen = pathlen; + char *data = line->data; char *basename = data + SIZEOF_TREE_ATTR; if (!string_format_from(opt_path, &pathlen, "%s/", basename)) { @@ -2617,9 +2617,11 @@ tree_select(struct view *view, struct line *line) * be in sync. */ string_copy(VIEW(REQ_VIEW_BLOB)->ref, ref_blob); - } else if (line->type == LINE_TREE_DIR) { - string_ncopy(view->ref, text, 40); + } else if (line->type != LINE_TREE_DIR) { + return; } + + string_ncopy(view->ref, text, 40); } static struct view_ops tree_ops = {