List for cgit developers and users
 help / color / mirror / Atom feed
From: list at eworm.de (Christian Hesse)
Subject: [PATCH 05/10] ui-patch: replace 'unsigned char sha1[20]' with 'struct object_id oid'
Date: Tue,  4 Oct 2016 09:51:58 +0200	[thread overview]
Message-ID: <20161004075203.22115-5-list@eworm.de> (raw)
In-Reply-To: <20161004075203.22115-1-list@eworm.de>

From: Christian Hesse <mail at eworm.de>

Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...

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

diff --git a/ui-patch.c b/ui-patch.c
index 4c051e8..fd6316b 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -16,7 +16,7 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
 {
 	struct rev_info rev;
 	struct commit *commit;
-	unsigned char new_rev_sha1[20], old_rev_sha1[20];
+	struct object_id new_rev_oid, old_rev_oid;
 	char rev_range[2 * 40 + 3];
 	char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range };
 	char *patchname;
@@ -24,12 +24,12 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
 	if (!new_rev)
 		new_rev = ctx.qry.head;
 
-	if (get_sha1(new_rev, new_rev_sha1)) {
+	if (get_oid(new_rev, &new_rev_oid)) {
 		cgit_print_error_page(404, "Not found",
 				"Bad object id: %s", new_rev);
 		return;
 	}
-	commit = lookup_commit_reference(new_rev_sha1);
+	commit = lookup_commit_reference(new_rev_oid.hash);
 	if (!commit) {
 		cgit_print_error_page(404, "Not found",
 				"Bad commit reference: %s", new_rev);
@@ -37,27 +37,27 @@ void cgit_print_patch(const char *new_rev, const char *old_rev,
 	}
 
 	if (old_rev) {
-		if (get_sha1(old_rev, old_rev_sha1)) {
+		if (get_oid(old_rev, &old_rev_oid)) {
 			cgit_print_error_page(404, "Not found",
 					"Bad object id: %s", old_rev);
 			return;
 		}
-		if (!lookup_commit_reference(old_rev_sha1)) {
+		if (!lookup_commit_reference(old_rev_oid.hash)) {
 			cgit_print_error_page(404, "Not found",
 					"Bad commit reference: %s", old_rev);
 			return;
 		}
 	} else if (commit->parents && commit->parents->item) {
-		hashcpy(old_rev_sha1, commit->parents->item->object.oid.hash);
+		oidcpy(&old_rev_oid, &commit->parents->item->object.oid);
 	} else {
-		hashclr(old_rev_sha1);
+		oidclr(&old_rev_oid);
 	}
 
-	if (is_null_sha1(old_rev_sha1)) {
-		memcpy(rev_range, sha1_to_hex(new_rev_sha1), 41);
+	if (is_null_oid(&old_rev_oid)) {
+		memcpy(rev_range, oid_to_hex(&new_rev_oid), GIT_SHA1_HEXSZ + 1);
 	} else {
-		sprintf(rev_range, "%s..%s", sha1_to_hex(old_rev_sha1),
-			sha1_to_hex(new_rev_sha1));
+		sprintf(rev_range, "%s..%s", oid_to_hex(&old_rev_oid),
+			oid_to_hex(&new_rev_oid));
 	}
 
 	patchname = fmt("%s.patch", rev_range);
-- 
2.10.0



  parent reply	other threads:[~2016-10-04  7:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20161004095050.29c7859b@leda.localdomain>
2016-10-04  7:51 ` [PATCH 01/10] cgit: " list
2016-10-04  7:51   ` [PATCH 02/10] ui-blob: " list
2016-10-04  8:07     ` Jason
2016-10-04  8:19       ` list
2016-10-04 18:34         ` john
2016-10-04 19:24           ` Jason
2016-10-04 19:48             ` list
2016-10-04  7:51   ` [PATCH 03/10] ui-commit: " list
2016-10-04  7:51   ` [PATCH 04/10] ui-log: replace get_sha1() with get_oid() list
2016-10-04  7:51   ` list [this message]
2016-10-04  7:51   ` [PATCH 06/10] ui-plain: replace 'unsigned char sha1[20]' with 'struct object_id oid' list
2016-10-04  7:52   ` [PATCH 07/10] ui-shared: " list
2016-10-04  7:52   ` [PATCH 08/10] ui-snapshot: " list
2016-10-04  7:52   ` [PATCH 09/10] ui-tag: " list
2016-10-04  7:52   ` [PATCH 10/10] ui-tree: " list

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161004075203.22115-5-list@eworm.de \
    --to=cgit@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).