summaryrefslogtreecommitdiffabout
path: root/ui-shared.c
Unidiff
Diffstat (limited to 'ui-shared.c') (more/less context) (show whitespace changes)
-rw-r--r--ui-shared.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 08ea003..8827fff 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -225,49 +225,49 @@ static char *repolink(char *title, char *class, char *page, char *head,
225 html("/"); 225 html("/");
226 if (page) { 226 if (page) {
227 html_url_arg(page); 227 html_url_arg(page);
228 html("/"); 228 html("/");
229 if (path) 229 if (path)
230 html_url_arg(path); 230 html_url_arg(path);
231 } 231 }
232 delim = "&"; 232 delim = "&";
233 } 233 }
234 if (head && strcmp(head, ctx.repo->defbranch)) { 234 if (head && strcmp(head, ctx.repo->defbranch)) {
235 html(delim); 235 html(delim);
236 html("h="); 236 html("h=");
237 html_url_arg(head); 237 html_url_arg(head);
238 delim = "&"; 238 delim = "&";
239 } 239 }
240 return fmt("%s", delim); 240 return fmt("%s", delim);
241} 241}
242 242
243static void reporevlink(char *page, char *name, char *title, char *class, 243static void reporevlink(char *page, char *name, char *title, char *class,
244 char *head, char *rev, char *path) 244 char *head, char *rev, char *path)
245{ 245{
246 char *delim; 246 char *delim;
247 247
248 delim = repolink(title, class, page, head, path); 248 delim = repolink(title, class, page, head, path);
249 if (rev && strcmp(rev, ctx.qry.head)) { 249 if (rev && ctx.qry.head != NULL && strcmp(rev, ctx.qry.head)) {
250 html(delim); 250 html(delim);
251 html("id="); 251 html("id=");
252 html_url_arg(rev); 252 html_url_arg(rev);
253 } 253 }
254 html("'>"); 254 html("'>");
255 html_txt(name); 255 html_txt(name);
256 html("</a>"); 256 html("</a>");
257} 257}
258 258
259void cgit_summary_link(char *name, char *title, char *class, char *head) 259void cgit_summary_link(char *name, char *title, char *class, char *head)
260{ 260{
261 reporevlink(NULL, name, title, class, head, NULL, NULL); 261 reporevlink(NULL, name, title, class, head, NULL, NULL);
262} 262}
263 263
264void cgit_tag_link(char *name, char *title, char *class, char *head, 264void cgit_tag_link(char *name, char *title, char *class, char *head,
265 char *rev) 265 char *rev)
266{ 266{
267 reporevlink("tag", name, title, class, head, rev, NULL); 267 reporevlink("tag", name, title, class, head, rev, NULL);
268} 268}
269 269
270void cgit_tree_link(char *name, char *title, char *class, char *head, 270void cgit_tree_link(char *name, char *title, char *class, char *head,
271 char *rev, char *path) 271 char *rev, char *path)
272{ 272{
273 reporevlink("tree", name, title, class, head, rev, path); 273 reporevlink("tree", name, title, class, head, rev, path);
@@ -342,49 +342,49 @@ void cgit_commit_link(char *name, char *title, char *class, char *head,
342 html("'>"); 342 html("'>");
343 html_txt(name); 343 html_txt(name);
344 html("</a>"); 344 html("</a>");
345} 345}
346 346
347void cgit_refs_link(char *name, char *title, char *class, char *head, 347void cgit_refs_link(char *name, char *title, char *class, char *head,
348 char *rev, char *path) 348 char *rev, char *path)
349{ 349{
350 reporevlink("refs", name, title, class, head, rev, path); 350 reporevlink("refs", name, title, class, head, rev, path);
351} 351}
352 352
353void cgit_snapshot_link(char *name, char *title, char *class, char *head, 353void cgit_snapshot_link(char *name, char *title, char *class, char *head,
354 char *rev, char *archivename) 354 char *rev, char *archivename)
355{ 355{
356 reporevlink("snapshot", name, title, class, head, rev, archivename); 356 reporevlink("snapshot", name, title, class, head, rev, archivename);
357} 357}
358 358
359void cgit_diff_link(char *name, char *title, char *class, char *head, 359void cgit_diff_link(char *name, char *title, char *class, char *head,
360 char *new_rev, char *old_rev, char *path, 360 char *new_rev, char *old_rev, char *path,
361 int toggle_ssdiff) 361 int toggle_ssdiff)
362{ 362{
363 char *delim; 363 char *delim;
364 364
365 delim = repolink(title, class, "diff", head, path); 365 delim = repolink(title, class, "diff", head, path);
366 if (new_rev && strcmp(new_rev, ctx.qry.head)) { 366 if (new_rev && ctx.qry.head != NULL && strcmp(new_rev, ctx.qry.head)) {
367 html(delim); 367 html(delim);
368 html("id="); 368 html("id=");
369 html_url_arg(new_rev); 369 html_url_arg(new_rev);
370 delim = "&amp;"; 370 delim = "&amp;";
371 } 371 }
372 if (old_rev) { 372 if (old_rev) {
373 html(delim); 373 html(delim);
374 html("id2="); 374 html("id2=");
375 html_url_arg(old_rev); 375 html_url_arg(old_rev);
376 delim = "&amp;"; 376 delim = "&amp;";
377 } 377 }
378 if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) { 378 if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) {
379 html(delim); 379 html(delim);
380 html("ss=1"); 380 html("ss=1");
381 } 381 }
382 html("'>"); 382 html("'>");
383 html_txt(name); 383 html_txt(name);
384 html("</a>"); 384 html("</a>");
385} 385}
386 386
387void cgit_patch_link(char *name, char *title, char *class, char *head, 387void cgit_patch_link(char *name, char *title, char *class, char *head,
388 char *rev) 388 char *rev)
389{ 389{
390 reporevlink("patch", name, title, class, head, rev, NULL); 390 reporevlink("patch", name, title, class, head, rev, NULL);