diff options
Diffstat (limited to '')
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | cgit.c | 34 | ||||
| -rw-r--r-- | cgit.h | 1 | ||||
| -rw-r--r-- | ui-view.c | 40 | 
4 files changed, 43 insertions, 34 deletions
| @@ -6,7 +6,7 @@ CACHE_ROOT = /var/cache/cgit  EXTLIBS = ../git/libgit.a ../git/xdiff/lib.a -lz -lcrypto  OBJECTS = cache.o parsing.o html.o ui-shared.o ui-repolist.o ui-summary.o \ -	ui-log.o +	ui-log.o ui-view.c  CFLAGS += -Wall @@ -84,38 +84,6 @@ void cgit_querystring_cb(const char *name, const char *value)  	}  } -static void cgit_print_object(char *hex) -{ -	unsigned char sha1[20]; -	//struct object *object; -	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>"); -} -  static void cgit_print_repo_page(struct cacheitem *item)  {  	if (chdir(fmt("%s/%s", cgit_root, cgit_query_repo)) ||  @@ -137,7 +105,7 @@ static void cgit_print_repo_page(struct cacheitem *item)  	else if (!strcmp(cgit_query_page, "log")) {  		cgit_print_log(cgit_query_head, 0, 100);  	} else if (!strcmp(cgit_query_page, "view")) { -		cgit_print_object(cgit_query_sha1); +		cgit_print_view(cgit_query_sha1);  	}  	cgit_print_docend();  } @@ -77,6 +77,7 @@ extern void cgit_print_pageheader(char *title);  extern void cgit_print_repolist(struct cacheitem *item);  extern void cgit_print_summary();  extern void cgit_print_log(const char *tip, int ofs, int cnt); +extern void cgit_print_view(char *hex);  extern void cgit_repo_config_cb(const char *name, const char *value); 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>"); +} | 
