about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2016-10-11 08:55:34 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2016-10-12 14:13:10 +0200
commitc330a2e5f86e1f77d3b724877935e11014cefa21 (patch)
tree3d59a0bb69c7a65c537abbafe23c7afa9d78746e
parentshared: remove unused function strlpart() (diff)
downloadcgit-pink-c330a2e5f86e1f77d3b724877935e11014cefa21.tar.gz
cgit-pink-c330a2e5f86e1f77d3b724877935e11014cefa21.zip
ui-blog: fix oid handling
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').
Diffstat (limited to '')
-rw-r--r--ui-blob.c10
1 files 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
 	};