]> git.cameronkatri.com Git - cgit.git/commitdiff
ui-patch: replace 'unsigned char sha1[20]' with 'struct object_id oid'
authorChristian Hesse <mail@eworm.de>
Thu, 29 Sep 2016 19:51:41 +0000 (21:51 +0200)
committerChristian Hesse <mail@eworm.de>
Tue, 4 Oct 2016 07:47:18 +0000 (09:47 +0200)
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...

ui-patch.c

index 4c051e8caa200fa30973338f0670cd77d685b975..fd6316b56b850e79ec48f5e22fc9417f0a7df03f 100644 (file)
@@ -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);