summaryrefslogtreecommitdiff
path: root/ui-view.c
blob: dbe4b29d18dc8f799075d93b88b02662813e903f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* ui-view.c: functions to output _any_ object, given it's sha1
 *
 * Copyright (C) 2006 Lars Hjemli
 *
 * Licensed under GNU General Public License v2
 *   (see COPYING for full license text)
 */

#include "cgit.h"

void cgit_print_view(const char *hex, char *path)
{
	unsigned char sha1[20];
	enum object_type type;
	unsigned char *buf;
	unsigned long size;

	if (get_sha1_hex(hex, sha1)){
		cgit_print_error(fmt("Bad hex value: %s", hex));
	        return;
	}

	type = sha1_object_info(sha1, &size);
	if (type == OBJ_BAD) {
		cgit_print_error(fmt("Bad object name: %s", hex));
		return;
	}

	buf = read_sha1_file(sha1, &type, &size);
	if (!buf) {
		cgit_print_error(fmt("Error reading object %s", hex));
		return;
	}

	buf[size] = '\0';
	html("<table class='list'>\n");
	html("<tr class='nohover'><th class='left'>");
	if (path)
		htmlf("%s (", path);
	htmlf("%s %s, %li bytes", typename(type), hex, size);
	if (path)
		html(")");

	html(" <a href='");
	html_attr(cgit_pageurl(cgit_query_repo, "blob", 
			       fmt("id=%s&path=%s", 
				   hex,
				   path)));
	html("'>download</a>");
	html("</th></tr>\n");
	html("<tr><td class='blob'>\n");
	html_txt(buf);
	html("\n</td></tr>\n");
	html("</table>\n");
}
ef='/others/pass.git/commit/src/password-store.sh?h=1.7.3&id=311c98c9140205f32be2720db9261c67da658c4c&follow=1'>edit: Quote editor so tests work in spaced directories.Jason A. Donenfeld1-1/+1 2014-05-10reencryption: Properly escape input to sedJason A. Donenfeld1-1/+1 2014-05-10git: use secure tmp directoryJason A. Donenfeld1-4/+11 2014-05-10configure git to decrypt gpg files automaticallySamuel Le Thiec1-0/+5 - usefull for git commands showing diff, e.g.: pass git log -p - from what I can see, not 'cleartext' temporary files are created 2014-05-08completion: add new generate flagsJason A. Donenfeld3-2/+7 2014-05-08inplace: mutually exclusive with forceJason A. Donenfeld2-3/+3 2014-05-08usage: tab to spacesJason A. Donenfeld1-1/+1 2014-05-08generate: use nice ansi colors instead.Jason A. Donenfeld1-3/+2 Revert "Mute git-commit messages to make pass insert readable" This reverts commit f30ce6374d554e704162d5fa8e49acd9c6fd0ecc. I decided I like the git output. Instead highlight generated passwords using nice terminal output instead. 2014-05-08zsh: posix compatible sed fix for zsh-completionJason A. Donenfeld1-1/+1 This reverts commit 56381287a16792b4c6410f07db68e02f3574c213, and further fixes things. 2014-05-07Implement interactive init functionSvend Sorensen1-0/+8 2014-05-07Implement interactive rename functionSvend Sorensen1-0/+7 2014-05-07Reorder interactive function to match order of helper functionsSvend Sorensen1-13/+13 2014-05-07Make edit helper function name consistent with other helpersSvend Sorensen1-1/+1 2014-05-07Factor out password completing-read functionSvend Sorensen1-4/+8 2014-05-07Add dash to Package-RequiresSvend Sorensen1-1/+1 2014-05-06Force sane sort order.Jason A. Donenfeld1-2/+2 2014-05-06generate: add --in-place optionJason A. Donenfeld4-9/+33