diff options
Diffstat (limited to 'ui-clone.c')
| -rw-r--r-- | ui-clone.c | 16 | 
1 files changed, 11 insertions, 5 deletions
| @@ -32,16 +32,22 @@ static int print_ref_info(const char *refname, const unsigned char *sha1,  static void print_pack_info(void)  {  	struct packed_git *pack; -	int ofs; +	char *offset;  	ctx.page.mimetype = "text/plain";  	ctx.page.filename = "objects/info/packs";  	cgit_print_http_headers(); -	ofs = strlen(ctx.repo->path) + strlen("/objects/pack/");  	prepare_packed_git(); -	for (pack = packed_git; pack; pack = pack->next) -		if (pack->pack_local) -			htmlf("P %s\n", pack->pack_name + ofs); +	for (pack = packed_git; pack; pack = pack->next) { +		if (pack->pack_local) { +			offset = strrchr(pack->pack_name, '/'); +			if (offset && offset[1] != '\0') +				++offset; +			else +				offset = pack->pack_name; +			htmlf("P %s\n", offset); +		} +	}  }  static void send_file(char *path) | 
