-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | ui-atom.c | 4 |
3 files changed, 6 insertions, 1 deletions
@@ -245,16 +245,18 @@ static void querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "s")){ ctx.qry.sort = xstrdup(value); } else if (!strcmp(name, "showmsg")) { ctx.qry.showmsg = atoi(value); } else if (!strcmp(name, "period")) { ctx.qry.period = xstrdup(value); } else if (!strcmp(name, "ss")) { ctx.qry.ssdiff = atoi(value); + } else if (!strcmp(name, "all")) { + ctx.qry.show_all = atoi(value); } } char *xstrdupn(const char *str) { return (str ? xstrdup(str) : NULL); } @@ -140,16 +140,17 @@ struct cgit_query { char *mimetype; char *url; char *period; int ofs; int nohead; char *sort; int showmsg; int ssdiff; + int show_all; }; struct cgit_config { char *agefile; char *cache_root; char *clone_prefix; char *css; char *favicon; @@ -80,17 +80,19 @@ void add_entry(struct commit *commit, char *host) void cgit_print_atom(char *tip, char *path, int max_count) { char *host; const char *argv[] = {NULL, tip, NULL, NULL, NULL}; struct commit *commit; struct rev_info rev; int argc = 2; - if (!tip) + if (ctx.qry.show_all) + argv[1] = "--all"; + else if (!tip) argv[1] = ctx.qry.head; if (path) { argv[argc++] = "--"; argv[argc++] = path; } init_revisions(&rev, NULL); |