-rw-r--r-- | ui-shared.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c index d4376ce..fd71c12 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -209,24 +209,48 @@ void cgit_diff_link(char *name, char *title, char *class, char *head, | |||
209 | delim = "&"; | 209 | delim = "&"; |
210 | } | 210 | } |
211 | if (old_rev) { | 211 | if (old_rev) { |
212 | html(delim); | 212 | html(delim); |
213 | html("id2="); | 213 | html("id2="); |
214 | html_attr(old_rev); | 214 | html_attr(old_rev); |
215 | } | 215 | } |
216 | html("'>"); | 216 | html("'>"); |
217 | html_txt(name); | 217 | html_txt(name); |
218 | html("</a>"); | 218 | html("</a>"); |
219 | } | 219 | } |
220 | 220 | ||
221 | void cgit_object_link(struct object *obj) | ||
222 | { | ||
223 | char *page, *arg, *url; | ||
224 | |||
225 | if (obj->type == OBJ_COMMIT) { | ||
226 | cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL, | ||
227 | cgit_query_head, sha1_to_hex(obj->sha1)); | ||
228 | return; | ||
229 | } else if (obj->type == OBJ_TREE) { | ||
230 | page = "tree"; | ||
231 | arg = "id"; | ||
232 | } else { | ||
233 | page = "blob"; | ||
234 | arg = "id"; | ||
235 | } | ||
236 | |||
237 | url = cgit_pageurl(cgit_query_repo, page, | ||
238 | fmt("%s=%s", arg, sha1_to_hex(obj->sha1))); | ||
239 | html_link_open(url, NULL, NULL); | ||
240 | htmlf("%s %s", typename(obj->type), | ||
241 | sha1_to_hex(obj->sha1)); | ||
242 | html_link_close(); | ||
243 | } | ||
244 | |||
221 | void cgit_print_date(time_t secs, char *format) | 245 | void cgit_print_date(time_t secs, char *format) |
222 | { | 246 | { |
223 | char buf[64]; | 247 | char buf[64]; |
224 | struct tm *time; | 248 | struct tm *time; |
225 | 249 | ||
226 | time = gmtime(&secs); | 250 | time = gmtime(&secs); |
227 | strftime(buf, sizeof(buf)-1, format, time); | 251 | strftime(buf, sizeof(buf)-1, format, time); |
228 | html_txt(buf); | 252 | html_txt(buf); |
229 | } | 253 | } |
230 | 254 | ||
231 | void cgit_print_age(time_t t, time_t max_relative, char *format) | 255 | void cgit_print_age(time_t t, time_t max_relative, char *format) |
232 | { | 256 | { |