-rw-r--r-- | ui-shared.c | 4 |
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 | |||
@@ -217,65 +217,65 @@ static char *repolink(char *title, char *class, char *page, char *head, | |||
217 | if (path) | 217 | if (path) |
218 | html_url_path(path); | 218 | html_url_path(path); |
219 | } | 219 | } |
220 | } else { | 220 | } else { |
221 | html(ctx.cfg.script_name); | 221 | html(ctx.cfg.script_name); |
222 | html("?url="); | 222 | html("?url="); |
223 | html_url_arg(ctx.repo->url); | 223 | html_url_arg(ctx.repo->url); |
224 | if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/') | 224 | if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/') |
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 | ||
243 | static void reporevlink(char *page, char *name, char *title, char *class, | 243 | static 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 | ||
259 | void cgit_summary_link(char *name, char *title, char *class, char *head) | 259 | void 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 | ||
264 | void cgit_tag_link(char *name, char *title, char *class, char *head, | 264 | void 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 | ||
270 | void cgit_tree_link(char *name, char *title, char *class, char *head, | 270 | void 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); |
274 | } | 274 | } |
275 | 275 | ||
276 | void cgit_plain_link(char *name, char *title, char *class, char *head, | 276 | void cgit_plain_link(char *name, char *title, char *class, char *head, |
277 | char *rev, char *path) | 277 | char *rev, char *path) |
278 | { | 278 | { |
279 | reporevlink("plain", name, title, class, head, rev, path); | 279 | reporevlink("plain", name, title, class, head, rev, path); |
280 | } | 280 | } |
281 | 281 | ||
@@ -334,65 +334,65 @@ void cgit_commit_link(char *name, char *title, char *class, char *head, | |||
334 | html("id="); | 334 | html("id="); |
335 | html_url_arg(rev); | 335 | html_url_arg(rev); |
336 | delim = "&"; | 336 | delim = "&"; |
337 | } | 337 | } |
338 | if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) { | 338 | if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) { |
339 | html(delim); | 339 | html(delim); |
340 | html("ss=1"); | 340 | html("ss=1"); |
341 | } | 341 | } |
342 | html("'>"); | 342 | html("'>"); |
343 | html_txt(name); | 343 | html_txt(name); |
344 | html("</a>"); | 344 | html("</a>"); |
345 | } | 345 | } |
346 | 346 | ||
347 | void cgit_refs_link(char *name, char *title, char *class, char *head, | 347 | void 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 | ||
353 | void cgit_snapshot_link(char *name, char *title, char *class, char *head, | 353 | void 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 | ||
359 | void cgit_diff_link(char *name, char *title, char *class, char *head, | 359 | void 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 = "&"; | 370 | delim = "&"; |
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 = "&"; | 376 | delim = "&"; |
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 | ||
387 | void cgit_patch_link(char *name, char *title, char *class, char *head, | 387 | void 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); |
391 | } | 391 | } |
392 | 392 | ||
393 | void cgit_stats_link(char *name, char *title, char *class, char *head, | 393 | void cgit_stats_link(char *name, char *title, char *class, char *head, |
394 | char *path) | 394 | char *path) |
395 | { | 395 | { |
396 | reporevlink("stats", name, title, class, head, NULL, path); | 396 | reporevlink("stats", name, title, class, head, NULL, path); |
397 | } | 397 | } |
398 | 398 | ||