const struct cgit_snapshot_format* f;
char *filename;
const char *basename;
+ int free_ref = 0;
if (!ref || strlen(ref) < 2)
return;
if (prefixcmp(ref, basename) != 0) {
if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))
ref++;
- if (isdigit(ref[0]))
+ if (isdigit(ref[0])) {
ref = xstrdup(fmt("%s-%s", basename, ref));
+ free_ref = 1;
+ }
}
for (f = cgit_snapshot_formats; f->suffix; f++) {
cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);
html(" ");
}
+
+ if (free_ref)
+ free((char *)ref);
}
static int print_tag(struct refinfo *ref)
{