[PATCH 1/1] ui-blog: fix oid handling

Christian Hesse list at eworm.de
Tue Oct 11 08:59:11 CEST 2016


From: Christian Hesse <mail at eworm.de>

We have to use a pointer for walk_tree_ctx->matched_oid.

This fixes faulty commit 6e4b7b6776eb994e795fa38b2619db6c55e10ecc
(ui-blob: replace 'unsigned char sha1[20]' with 'struct object_id oid').

Signed-off-by: Christian Hesse <mail at eworm.de>
---
 ui-blob.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ui-blob.c b/ui-blob.c
index 2f8bb7a..5f30de7 100644
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -13,7 +13,7 @@
 
 struct walk_tree_context {
 	const char *match_path;
-	struct object_id matched_oid;
+	struct object_id *matched_oid;
 	unsigned int found_path:1;
 	unsigned int file_only:1;
 };
@@ -28,7 +28,7 @@ static int walk_tree(const unsigned char *sha1, struct strbuf *base,
 	if (strncmp(base->buf, walk_tree_ctx->match_path, base->len)
 		|| strcmp(walk_tree_ctx->match_path + base->len, pathname))
 		return READ_TREE_RECURSIVE;
-	hashcpy(walk_tree_ctx->matched_oid.hash, sha1);
+	hashcpy(walk_tree_ctx->matched_oid->hash, sha1);
 	walk_tree_ctx->found_path = 1;
 	return 0;
 }
@@ -47,7 +47,7 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
 	};
 	struct walk_tree_context walk_tree_ctx = {
 		.match_path = path,
-		.matched_oid = oid,
+		.matched_oid = &oid,
 		.found_path = 0,
 		.file_only = file_only
 	};
@@ -77,7 +77,7 @@ int cgit_print_file(char *path, const char *head, int file_only)
 	};
 	struct walk_tree_context walk_tree_ctx = {
 		.match_path = path,
-		.matched_oid = oid,
+		.matched_oid = &oid,
 		.found_path = 0,
 		.file_only = file_only
 	};
@@ -120,7 +120,7 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
 	};
 	struct walk_tree_context walk_tree_ctx = {
 		.match_path = path,
-		.matched_oid = oid,
+		.matched_oid = &oid,
 		.found_path = 0,
 		.file_only = file_only
 	};
-- 
2.10.0



More information about the CGit mailing list