diff options
Diffstat (limited to 'ui-shared.c')
-rw-r--r-- | ui-shared.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c index f8e5bef..838437c 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -65,6 +65,13 @@ const char *cgit_hosturl() | |||
65 | return fmtalloc("%s:%s", ctx.env.server_name, ctx.env.server_port); | 65 | return fmtalloc("%s:%s", ctx.env.server_name, ctx.env.server_port); |
66 | } | 66 | } |
67 | 67 | ||
68 | const char *cgit_currenturl() | ||
69 | { | ||
70 | if (!ctx.qry.url) | ||
71 | return cgit_rooturl(); | ||
72 | return ctx.qry.url; | ||
73 | } | ||
74 | |||
68 | const char *cgit_rooturl() | 75 | const char *cgit_rooturl() |
69 | { | 76 | { |
70 | if (ctx.cfg.virtual_root) | 77 | if (ctx.cfg.virtual_root) |
@@ -145,7 +152,7 @@ static void site_url(const char *page, const char *search, const char *sort, int | |||
145 | char *delim = "?"; | 152 | char *delim = "?"; |
146 | 153 | ||
147 | if (!page) | 154 | if (!page) |
148 | html_attr(ctx.qry.url); | 155 | html_attr(cgit_currenturl()); |
149 | else | 156 | else |
150 | html_attr(cgit_rooturl()); | 157 | html_attr(cgit_rooturl()); |
151 | 158 | ||
@@ -952,7 +959,7 @@ void cgit_print_pageheader(void) | |||
952 | NULL, NULL, 0); | 959 | NULL, NULL, 0); |
953 | html("</td><td class='form'>"); | 960 | html("</td><td class='form'>"); |
954 | html("<form method='get' action='"); | 961 | html("<form method='get' action='"); |
955 | html_attr(ctx.qry.url); | 962 | html_attr(cgit_currenturl()); |
956 | html("'>\n"); | 963 | html("'>\n"); |
957 | html("<input type='text' name='q' size='10' value='"); | 964 | html("<input type='text' name='q' size='10' value='"); |
958 | html_attr(ctx.qry.search); | 965 | html_attr(ctx.qry.search); |