Ejemplo n.º 1
0
static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
{
	const struct cgit_snapshot_format* f;
    	char *filename;
	const char *basename;

	if (!ref || strlen(ref) < 2)
		return;

	basename = cgit_repobasename(repo->url);
	if (prefixcmp(ref, basename) != 0) {
		if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))
			ref++;
		if (isdigit(ref[0]))
			ref = xstrdup(fmt("%s-%s", basename, 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);
		html("&nbsp;&nbsp;");
	}
}
Ejemplo n.º 2
0
static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
{
	const struct cgit_snapshot_format* f;
	struct strbuf filename = STRBUF_INIT;
	const char *basename;
	int free_ref = 0;

	if (!ref || strlen(ref) < 1)
		return;

	basename = cgit_repobasename(repo->url);
	if (prefixcmp(ref, basename) != 0) {
		if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))
			ref++;
		if (isdigit(ref[0])) {
			ref = fmtalloc("%s-%s", basename, ref);
			free_ref = 1;
		}
	}

	for (f = cgit_snapshot_formats; f->suffix; f++) {
		if (!(repo->snapshots & f->bit))
			continue;
		strbuf_reset(&filename);
		strbuf_addf(&filename, "%s%s", ref, f->suffix);
		cgit_snapshot_link(filename.buf, NULL, NULL, NULL, NULL, filename.buf);
		html("&nbsp;&nbsp;");
	}

	if (free_ref)
		free((char *)ref);
	strbuf_release(&filename);
}