diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2007-05-15 01:05:39 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-15 01:05:39 +0200 | 
| commit | cfd2aa079770ddb4c93d5995b2cd7b5f25da3681 (patch) | |
| tree | 44dd0fba85d035e445168b365618000ff82239f3 | |
| parent | Don't hardcode urls when SCRIPT_NAME is available (diff) | |
| download | cgit-cfd2aa079770ddb4c93d5995b2cd7b5f25da3681.tar.gz cgit-cfd2aa079770ddb4c93d5995b2cd7b5f25da3681.tar.bz2 cgit-cfd2aa079770ddb4c93d5995b2cd7b5f25da3681.zip | |
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>
| -rw-r--r-- | ui-summary.c | 7 | 
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); | 
