Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.zx2c4.com/cgit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-05-15 03:05:39 +0400
committerLars Hjemli <hjemli@gmail.com>2007-05-15 03:05:39 +0400
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);