diff options
context:
space:
mode:
Diffstat (limited to 'source/ui-shared.h')
-rw-r--r--source/ui-shared.h10
1 file changed, 8 insertions, 2 deletions
diff --git a/source/ui-shared.h b/source/ui-shared.h
index 4809bc1..c4b96a9 100644
--- a/source/ui-shared.h
+++ b/source/ui-shared.h
@@ -18,10 +18,12 @@ extern char *cgit_hosturl(void);
/*
* The URL of the request being answered, which cgit_currentfullurl gives with
* the query string on the end as well, minus the url argument that the path
- * was taken from.
+ * was taken from. cgit_currentquery is that query string alone, led by its
+ * question mark, or an empty string when nothing is left of it.
*/
extern char *cgit_currenturl(void);
extern char *cgit_currentfullurl(void);
+extern char *cgit_currentquery(void);
extern const char *cgit_loginurl(void);
extern char *cgit_repourl(const char *reponame);
extern void cgit_print_clone_row(const char *url, int colspan);
@@ -85,7 +87,11 @@ extern struct date_mode cgit_date_mode(enum date_mode_type type);
*/
extern void cgit_print_age(time_t t, int tz, time_t max_relative);
extern void cgit_print_http_headers(void);
-extern void cgit_redirect(const char *url, bool permanent);
+/*
+ * Answer with a redirect to url, followed by query when one is given, which
+ * is written as it arrived.
+ */
+extern void cgit_redirect(const char *url, const char *query, bool permanent);
extern void cgit_print_docstart(void);
extern void cgit_print_docend(void);
__attribute__((format (printf,3,4)))