aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2016-09-29 21:16:14 +0200
committerChristian Hesse <mail@eworm.de>2016-10-04 09:47:18 +0200
commitaee990b6a4512e52b1279a0633d112afe2440122 (patch)
tree271daf76b03087deea75c075cb082fc25f85567f
parentef3108656b9c6e22604c18bd9d05bdc847d81e87 (diff)
downloadcgit-aee990b6a4512e52b1279a0633d112afe2440122.tar.gz
cgit-aee990b6a4512e52b1279a0633d112afe2440122.tar.xz
cgit: replace 'unsigned char sha1[20]' with 'struct object_id oid'
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...
-rw-r--r--cgit.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/cgit.c b/cgit.c
index 2f29aa6..9f5a80f 100644
--- a/cgit.c
+++ b/cgit.c
@@ -471,13 +471,14 @@ static char *find_default_branch(struct cgit_repo *repo)
static char *guess_defbranch(void)
{
const char *ref;
- unsigned char sha1[20];
+ struct object_id oid;
- ref = resolve_ref_unsafe("HEAD", 0, sha1, NULL);
+ ref = resolve_ref_unsafe("HEAD", 0, oid.hash, NULL);
if (!ref || !starts_with(ref, "refs/heads/"))
return "master";
return xstrdup(ref + 11);
}
+
/* The caller must free filename and ref after calling this. */
static inline void parse_readme(const char *readme, char **filename, char **ref, struct cgit_repo *repo)
{
@@ -557,7 +558,7 @@ static void print_no_repo_clone_urls(const char *url)
static int prepare_repo_cmd(void)
{
- unsigned char sha1[20];
+ struct object_id oid;
int nongit = 0;
int rc;
@@ -615,7 +616,7 @@ static int prepare_repo_cmd(void)
return 1;
}
- if (get_sha1(ctx.qry.head, sha1)) {
+ if (get_oid(ctx.qry.head, &oid)) {
char *old_head = ctx.qry.head;
ctx.qry.head = xstrdup(ctx.repo->defbranch);
cgit_print_error_page(404, "Not found",