list->refs[list->count++] = ref;
}
-static struct refinfo *cgit_mk_refinfo(const char *refname, const unsigned char *sha1)
+static struct refinfo *cgit_mk_refinfo(const char *refname, const struct object_id *oid)
{
struct refinfo *ref;
ref = xmalloc(sizeof (struct refinfo));
ref->refname = xstrdup(refname);
- ref->object = parse_object(sha1);
+ ref->object = parse_object(oid->hash);
switch (ref->object->type) {
case OBJ_TAG:
ref->tag = cgit_parse_tag((struct tag *)ref->object);
free(list->refs);
}
-int cgit_refs_cb(const char *refname, const unsigned char *sha1, int flags,
+int cgit_refs_cb(const char *refname, const struct object_id *oid, int flags,
void *cb_data)
{
struct reflist *list = (struct reflist *)cb_data;
- struct refinfo *info = cgit_mk_refinfo(refname, sha1);
+ struct refinfo *info = cgit_mk_refinfo(refname, oid);
if (info)
cgit_add_ref(list, info);
return 0;
}
-static void cgit_diff_tree_cb(struct diff_queue_struct *q,
- struct diff_options *options, void *data)
+void cgit_diff_tree_cb(struct diff_queue_struct *q,
+ struct diff_options *options, void *data)
{
int i;
* ripped from git and modified to use globals instead of
* a special callback-struct.
*/
-char *diffbuf = NULL;
-int buflen = 0;
+static char *diffbuf = NULL;
+static int buflen = 0;
static int filediff_cb(void *priv, mmbuffer_t *mb, int nbuf)
{