X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/b522a302c9c4fb9fd9e1ea829ee990afc74980ca..892ba8c3cc0617d2087a2337d8c6e71524d7b49c:/shared.c?ds=sidebyside diff --git a/shared.c b/shared.c index f7b64cf..8115469 100644 --- a/shared.c +++ b/shared.c @@ -58,6 +58,7 @@ struct cgit_repo *cgit_add_repo(const char *url) ret->homepage = NULL; ret->section = ctx.cfg.section; ret->snapshots = ctx.cfg.snapshots; + ret->enable_blame = ctx.cfg.enable_blame; ret->enable_commit_graph = ctx.cfg.enable_commit_graph; ret->enable_log_filecount = ctx.cfg.enable_log_filecount; ret->enable_log_linecount = ctx.cfg.enable_log_linecount; @@ -161,7 +162,7 @@ static struct refinfo *cgit_mk_refinfo(const char *refname, const struct object_ ref = xmalloc(sizeof (struct refinfo)); ref->refname = xstrdup(refname); - ref->object = parse_object(oid); + ref->object = parse_object(the_repository, oid); switch (ref->object->type) { case OBJ_TAG: ref->tag = cgit_parse_tag((struct tag *)ref->object); @@ -325,7 +326,7 @@ int cgit_diff_files(const struct object_id *old_oid, diff_params.flags |= XDF_IGNORE_WHITESPACE; emit_params.ctxlen = context > 0 ? context : 3; emit_params.flags = XDL_EMIT_FUNCNAMES; - emit_cb.outf = filediff_cb; + emit_cb.out_line = filediff_cb; emit_cb.priv = fn; xdl_diff(&file1, &file2, &diff_params, &emit_params, &emit_cb); if (file1.size) @@ -476,15 +477,16 @@ static int is_token_char(char c) static char *expand_macro(char *name, int maxlength) { char *value; - int len; + size_t len; len = 0; value = getenv(name); if (value) { - len = strlen(value); + len = strlen(value) + 1; if (len > maxlength) len = maxlength; - strncpy(name, value, len); + strlcpy(name, value, len); + --len; } return name + len; }