ret->name = ret->url;
ret->path = NULL;
ret->desc = cgit_default_repo_desc;
+ ret->extra_head_content = NULL;
ret->owner = NULL;
ret->homepage = NULL;
ret->section = ctx.cfg.section;
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);
file->ptr = (char *)"";
file->size = 0;
} else {
- file->ptr = read_sha1_file(oid->hash, &type,
+ file->ptr = read_object_file(oid, &type,
(unsigned long *)&file->size);
}
return 1;
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)
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;
}