summaryrefslogtreecommitdiff
path: root/ui-snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-snapshot.c')
-rw-r--r--ui-snapshot.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/ui-snapshot.c b/ui-snapshot.c
index d6be55b..f9879ed 100644
--- a/ui-snapshot.c
+++ b/ui-snapshot.c
@@ -65,16 +65,19 @@ static const struct snapshot_archive_t {
{ ".tar", "application/x-tar", write_tar_archive, 0x8 }
};
-void cgit_print_snapshot(struct cacheitem *item, const char *hex,
- const char *prefix, const char *filename,
- int snapshots)
+void cgit_print_snapshot(struct cacheitem *item, const char *head,
+ const char *hex, const char *prefix,
+ const char *filename, int snapshots)
{
int fnl = strlen(filename);
- int f;
- for(f=0;f<(sizeof(snapshot_archives)/sizeof(*snapshot_archives));++f) {
+ int f, n;
+
+ n = sizeof(snapshot_archives) / sizeof(*snapshot_archives);
+ for(f=0; f<n; f++) {
const struct snapshot_archive_t* sat = &snapshot_archives[f];
int sl;
- if(!(snapshots&sat->bit)) continue;
+ if(!(snapshots & sat->bit))
+ continue;
sl = strlen(sat->suffix);
if(fnl<sl || strcmp(&filename[fnl-sl],sat->suffix))
continue;
@@ -83,6 +86,8 @@ void cgit_print_snapshot(struct cacheitem *item, const char *hex,
struct commit *commit;
unsigned char sha1[20];
+ if (!hex)
+ hex = head;
if(get_sha1(hex, sha1)) {
cgit_print_error(fmt("Bad object id: %s", hex));
return;
@@ -105,17 +110,22 @@ void cgit_print_snapshot(struct cacheitem *item, const char *hex,
cgit_print_error(fmt("Unsupported snapshot format: %s", filename));
}
-void cgit_print_snapshot_links(const char *repo,const char *hex,int snapshots)
+void cgit_print_snapshot_links(const char *repo, const char *head,
+ const char *hex, int snapshots)
{
char *filename;
- int f;
- for(f=0;f<(sizeof(snapshot_archives)/sizeof(*snapshot_archives));++f) {
+ int f, n;
+
+ n = sizeof(snapshot_archives) / sizeof(*snapshot_archives);
+ for(f=0; f<n ;f++) {
const struct snapshot_archive_t* sat = &snapshot_archives[f];
- if(!(snapshots&sat->bit)) continue;
- filename = fmt("%s-%s%s",cgit_repobasename(repo),hex,sat->suffix);
- htmlf("<a href='%s'>%s</a><br/>",
- cgit_fileurl(repo,"snapshot",filename,
- fmt("id=%s&amp;name=%s",hex,filename)), filename);
+ if(!(snapshots & sat->bit))
+ continue;
+ filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
+ sat->suffix);
+ cgit_snapshot_link(filename, NULL, NULL, (char *)head,
+ (char *)hex, filename);
+ html("<br/>");
}
}
?h=v0.8.1.1&id=2101e26fd68f816e77de62b93df4c32fd1110d0c&follow=1'>Add a common commit parserLars Hjemli3-63/+75 2006-12-14Add simple pager to log pageLars Hjemli4-6/+37 2006-12-13Add separate makefile-rule to clear current cacheLars Hjemli1-2/+4 2006-12-13Remove implementation details from READMELars Hjemli1-53/+34 2006-12-13Small layout adjustments to summary and blob viewLars Hjemli3-5/+13 2006-12-13Add display of tree content w/ui-tree.cLars Hjemli9-8/+113 2006-12-12cache_lock: do xstrdup/free on lockfileLars Hjemli1-1/+2 2006-12-11Don't truncate valid cachefilesLars Hjemli3-4/+16 2006-12-11Move global variables + callback functions into shared.cLars Hjemli4-82/+86 2006-12-11Move functions for generic object output into ui-view.cLars Hjemli4-34/+43 2006-12-11Move log-functions into ui-log.cLars Hjemli5-111/+121 2006-12-11Move repo summary functions into ui-summary.cLars Hjemli4-47/+59 2006-12-11Move functions for repolist output into ui-repolist.cLars Hjemli5-70/+90 2006-12-11Move common output-functions into ui-shared.cLars Hjemli4-82/+99 2006-12-11Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.cLars Hjemli4-28/+29 2006-12-11Avoid infinite loops in caching layerLars Hjemli3-14/+31 2006-12-11Let 'make install' clear all cachefilesLars Hjemli1-0/+2 2006-12-11Fix cache algorithm loopholeLars Hjemli3-11/+16 2006-12-10Add version identifier in generated filesLars Hjemli2-9/+14 2006-12-10Add license file and copyright noticesLars Hjemli5-0/+372 2006-12-10Add caching infrastructureLars Hjemli9-28/+353