diff options
Diffstat (limited to '')
| -rw-r--r-- | ui-view.c | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/ui-view.c b/ui-view.c new file mode 100644 index 0000000..193c685 --- /dev/null +++ b/ui-view.c @@ -0,0 +1,40 @@ +/* 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(char *hex) +{ +	unsigned char sha1[20]; +	char type[20]; +	unsigned char *buf; +	unsigned long size; + +	if (get_sha1_hex(hex, sha1)){ +		cgit_print_error(fmt("Bad hex value: %s", hex)); +	        return; +	} + +	if (sha1_object_info(sha1, type, NULL)){ +		cgit_print_error("Bad object name"); +		return; +	} + +	buf = read_sha1_file(sha1, type, &size); +	if (!buf) { +		cgit_print_error("Error reading object"); +		return; +	} + +	buf[size] = '\0'; +	html("<h2>Object view</h2>"); +	htmlf("sha1=%s<br/>type=%s<br/>size=%i<br/>", hex, type, size); +	html("<pre>"); +	html_txt(buf); +	html("</pre>"); +} | 
