X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/caca860ba79fe9f6bc387f64ddb57ac0db1fac33..389cc17357e2040c9542d3e085f64a8d2f085e9a:/ui-refs.c diff --git a/ui-refs.c b/ui-refs.c index 0399e6b..0ae0612 100644 --- a/ui-refs.c +++ b/ui-refs.c @@ -99,7 +99,7 @@ static void print_tag_header() static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) { const struct cgit_snapshot_format* f; - char *filename; + struct strbuf filename = STRBUF_INIT; const char *basename; int free_ref = 0; @@ -111,7 +111,7 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1])) ref++; if (isdigit(ref[0])) { - ref = xstrdup(fmt("%s-%s", basename, ref)); + ref = fmtalloc("%s-%s", basename, ref); free_ref = 1; } } @@ -119,55 +119,55 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref) for (f = cgit_snapshot_formats; f->suffix; f++) { if (!(repo->snapshots & f->bit)) continue; - filename = fmt("%s%s", ref, f->suffix); - cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename); + strbuf_reset(&filename); + strbuf_addf(&filename, "%s%s", ref, f->suffix); + cgit_snapshot_link(filename.buf, NULL, NULL, NULL, NULL, filename.buf); html(" "); } if (free_ref) free((char *)ref); + strbuf_release(&filename); } + static int print_tag(struct refinfo *ref) { - struct tag *tag; - struct taginfo *info; + struct tag *tag = NULL; + struct taginfo *info = NULL; char *name = (char *)ref->refname; + struct object *obj = ref->object; - if (ref->object->type == OBJ_TAG) { - tag = (struct tag *)ref->object; + if (obj->type == OBJ_TAG) { + tag = (struct tag *)obj; + obj = tag->tagged; info = ref->tag; if (!tag || !info) return 1; - html("