summaryrefslogtreecommitdiff
path: root/ui-summary.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-05-15 01:05:39 +0200
committerLars Hjemli <hjemli@gmail.com>2007-05-15 01:05:39 +0200
commitcfd2aa079770ddb4c93d5995b2cd7b5f25da3681 (patch)
tree44dd0fba85d035e445168b365618000ff82239f3 /ui-summary.c
parentea2831f1c826d92c0158474c2d07837ec2f9fd6c (diff)
Do not alter incoming sha1 when handling the download refs.
The code used to overwrite the const sha1 parameter just to avoid declaring an extra variable. Fix it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-summary.c')
-rw-r--r--ui-summary.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ui-summary.c b/ui-summary.c
index 3410e1a..b99ea98 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -130,6 +130,7 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
struct taginfo *info;
struct object *obj;
char buf[256], *url;
+ unsigned char fileid[20];
if (prefixcmp(refname, "refs/archives"))
return 0;
@@ -141,9 +142,11 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
tag = lookup_tag(sha1);
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
return 0;
- hashcpy(sha1, tag->tagged->sha1);
+ hashcpy(fileid, tag->tagged->sha1);
} else if (obj->type != OBJ_BLOB) {
return 0;
+ } else {
+ hashcpy(fileid, sha1);
}
if (!header) {
html("<table>");
@@ -152,7 +155,7 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
}
html("<tr><td>");
url = cgit_pageurl(cgit_query_repo, "blob",
- fmt("id=%s&path=%s", sha1_to_hex(sha1),
+ fmt("id=%s&path=%s", sha1_to_hex(fileid),
buf));
html_link_open(url, NULL, NULL);
html_txt(buf);