]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-log.c
ui-shared: currenturl should take into account leading slash
[ps-cgit] / ui-log.c
index 2de8017329f2acb60d0803564c26b25c5e2ff5d8..32b4c4734d0cc26b457fc45c26d0fd8f31089e62 100644 (file)
--- a/ui-log.c
+++ b/ui-log.c
@@ -12,7 +12,7 @@
 #include "ui-shared.h"
 #include "argv-array.h"
 
-int files, add_lines, rem_lines;
+static int files, add_lines, rem_lines;
 
 /*
  * The list of available column colors in the commit graph.
@@ -56,11 +56,11 @@ static void inspect_files(struct diff_filepair *pair)
 
 void show_commit_decorations(struct commit *commit)
 {
-       struct name_decoration *deco;
+       const struct name_decoration *deco;
        static char buf[1024];
 
        buf[sizeof(buf) - 1] = 0;
-       deco = lookup_decoration(&name_decoration, &commit->object);
+       deco = get_name_decoration(&commit->object);
        html("<span class='decoration'>");
        while (deco) {
                if (starts_with(deco->name, "refs/heads/")) {
@@ -71,11 +71,11 @@ void show_commit_decorations(struct commit *commit)
                }
                else if (starts_with(deco->name, "tag: refs/tags/")) {
                        strncpy(buf, deco->name + 15, sizeof(buf) - 1);
-                       cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);
+                       cgit_tag_link(buf, NULL, "tag-deco", buf);
                }
                else if (starts_with(deco->name, "refs/tags/")) {
                        strncpy(buf, deco->name + 10, sizeof(buf) - 1);
-                       cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);
+                       cgit_tag_link(buf, NULL, "tag-deco", buf);
                }
                else if (starts_with(deco->name, "refs/remotes/")) {
                        if (!ctx.repo->enable_remote_branches)
@@ -90,7 +90,7 @@ void show_commit_decorations(struct commit *commit)
                        strncpy(buf, deco->name, sizeof(buf) - 1);
                        cgit_commit_link(buf, NULL, "deco", ctx.qry.head,
                                         sha1_to_hex(commit->object.sha1),
-                                        ctx.qry.vpath, 0);
+                                        ctx.qry.vpath);
                }
 next:
                deco = deco->next;
@@ -165,7 +165,7 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
                }
        }
        cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,
-                        sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0);
+                        sha1_to_hex(commit->object.sha1), ctx.qry.vpath);
        show_commit_decorations(commit);
        html("</td><td>");
        cgit_open_filter(ctx.repo->email_filter, info->author_email, "log");
@@ -337,16 +337,16 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
        else if (commit_sort == 2)
                argv_array_push(&rev_argv, "--topo-order");
 
-       if (path) {
-               argv_array_push(&rev_argv, "--");
+       argv_array_push(&rev_argv, "--");
+       if (path)
                argv_array_push(&rev_argv, path);
-       }
 
        init_revisions(&rev, NULL);
        rev.abbrev = DEFAULT_ABBREV;
        rev.commit_format = CMIT_FMT_DEFAULT;
        rev.verbose_header = 1;
        rev.show_root_diff = 0;
+       rev.ignore_missing = 1;
        setup_revisions(rev_argv.argc, rev_argv.argv, &rev, NULL);
        load_ref_decorations(DECORATE_FULL_REFS);
        rev.show_decorations = 1;
@@ -388,16 +388,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
                ofs = 0;
 
        for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; i++) {
-               free(commit->buffer);
-               commit->buffer = NULL;
+               free_commit_buffer(commit);
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }
 
        for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) {
                print_commit(commit, &rev);
-               free(commit->buffer);
-               commit->buffer = NULL;
+               free_commit_buffer(commit);
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }