diff options
Diffstat (limited to 'ui-view.c')
-rw-r--r-- | ui-view.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -11,7 +11,7 @@ | |||
11 | void cgit_print_view(const char *hex) | 11 | void cgit_print_view(const char *hex) |
12 | { | 12 | { |
13 | unsigned char sha1[20]; | 13 | unsigned char sha1[20]; |
14 | char type[20]; | 14 | enum object_type type; |
15 | unsigned char *buf; | 15 | unsigned char *buf; |
16 | unsigned long size; | 16 | unsigned long size; |
17 | 17 | ||
@@ -20,20 +20,22 @@ void cgit_print_view(const char *hex) | |||
20 | return; | 20 | return; |
21 | } | 21 | } |
22 | 22 | ||
23 | if (sha1_object_info(sha1, type, &size)){ | 23 | type = sha1_object_info(sha1, &size); |
24 | cgit_print_error("Bad object name"); | 24 | if (type == OBJ_BAD) { |
25 | cgit_print_error(fmt("Bad object name: %s", hex)); | ||
25 | return; | 26 | return; |
26 | } | 27 | } |
27 | 28 | ||
28 | buf = read_sha1_file(sha1, type, &size); | 29 | buf = read_sha1_file(sha1, &type, &size); |
29 | if (!buf) { | 30 | if (!buf) { |
30 | cgit_print_error("Error reading object"); | 31 | cgit_print_error(fmt("Error reading object %s", hex)); |
31 | return; | 32 | return; |
32 | } | 33 | } |
33 | 34 | ||
34 | buf[size] = '\0'; | 35 | buf[size] = '\0'; |
35 | html("<table class='list'>\n"); | 36 | html("<table class='list'>\n"); |
36 | htmlf("<tr class='nohover'><th class='left'>%s %s, %li bytes</th></tr>\n", type, hex, size); | 37 | htmlf("<tr class='nohover'><th class='left'>%s %s, %li bytes</th></tr>\n", |
38 | typename(type), hex, size); | ||
37 | html("<tr><td class='blob'>\n"); | 39 | html("<tr><td class='blob'>\n"); |
38 | html_txt(buf); | 40 | html_txt(buf); |
39 | html("\n</td></tr>\n"); | 41 | html("\n</td></tr>\n"); |