]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-log.c
Make git_pageurl handle NULL querystrings
[ps-cgit] / ui-log.c
index 7d1985e94ab9c60d3d72ce3bc5cd540ede84f1b9..9d0ec025ddc50e54bb4017978166da73f8d2881e 100644 (file)
--- a/ui-log.c
+++ b/ui-log.c
@@ -34,7 +34,7 @@ void print_commit(struct commit *commit)
        strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M", time);
        html_txt(buf);
        html("</td><td>");
-       char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1));
+       char *qry = fmt("h=%s", sha1_to_hex(commit->object.sha1));
        char *url = cgit_pageurl(cgit_query_repo, "commit", qry);
        html_link_open(url, NULL, NULL);
        html_ntxt(cgit_max_msg_len, info->subject);
@@ -53,16 +53,20 @@ void print_commit(struct commit *commit)
 }
 
 
-void cgit_print_log(const char *tip, int ofs, int cnt, char *grep)
+void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path)
 {
        struct rev_info rev;
        struct commit *commit;
-       const char *argv[3] = {NULL, tip, NULL};
+       const char *argv[] = {NULL, tip, NULL, NULL, NULL};
        int argc = 2;
        int i;
 
        if (grep)
                argv[argc++] = fmt("--grep=%s", grep);
+       if (path) {
+               argv[argc++] = "--";
+               argv[argc++] = path;
+       }
        init_revisions(&rev, NULL);
        rev.abbrev = DEFAULT_ABBREV;
        rev.commit_format = CMIT_FMT_DEFAULT;
@@ -117,4 +121,3 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep)
        }
        html("</div>");
 }
-