]> granicus.if.org Git - cgit/commitdiff
Add cgit_index_link() function with support for offset
authorLars Hjemli <hjemli@gmail.com>
Sat, 3 May 2008 08:37:02 +0000 (10:37 +0200)
committerLars Hjemli <hjemli@gmail.com>
Sat, 3 May 2008 08:37:02 +0000 (10:37 +0200)
This function will be used to build a pager in ui-repolist.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
ui-shared.c
ui-shared.h

index d08ede90b8125a63d1b553c8c78b02e18dd133e8..f36635495b7fdb2671af6ba949b31e9a9b4cdd8c 100644 (file)
@@ -114,7 +114,7 @@ char *cgit_currurl()
                return fmt("%s/", ctx.cfg.virtual_root);
 }
 
-static void site_url(char *page, char *search)
+static void site_url(char *page, char *search, int ofs)
 {
        char *delim = "?";
 
@@ -133,11 +133,16 @@ static void site_url(char *page, char *search)
                html(delim);
                html("q=");
                html_attr(search);
+               delim = "&";
+       }
+       if (ofs) {
+               html(delim);
+               htmlf("ofs=%d", ofs);
        }
 }
 
 static void site_link(char *page, char *name, char *title, char *class,
-                      char *search)
+                     char *search, int ofs)
 {
        html("<a");
        if (title) {
@@ -151,12 +156,18 @@ static void site_link(char *page, char *name, char *title, char *class,
                html("'");
        }
        html(" href='");
-       site_url(page, search);
+       site_url(page, search, ofs);
        html("'>");
        html_txt(name);
        html("</a>");
 }
 
+void cgit_index_link(char *name, char *title, char *class, char *pattern,
+                    int ofs)
+{
+       site_link(NULL, name, title, class, pattern, ofs);
+}
+
 static char *repolink(char *title, char *class, char *page, char *head,
                      char *path)
 {
@@ -596,9 +607,10 @@ void cgit_print_pageheader(struct cgit_context *ctx)
                html("<input type='submit' value='search'/>\n");
                html("</form>\n");
        } else {
-               site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL);
+               site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0);
                if (ctx->cfg.root_readme)
-                       site_link("about", "about", NULL, hc(cmd, "about"), NULL);
+                       site_link("about", "about", NULL, hc(cmd, "about"),
+                                 NULL, 0);
                html("</td><td class='form'>");
                html("<form method='get' action='");
                html_attr(cgit_rooturl());
index 76c2b1fd232a8bd566fa4d141c121933312a48a8..3005d305d41a3bf916e63093a61d4589a8399c10 100644 (file)
@@ -7,6 +7,8 @@ extern char *cgit_fileurl(const char *reponame, const char *pagename,
 extern char *cgit_pageurl(const char *reponame, const char *pagename,
                          const char *query);
 
+extern void cgit_index_link(char *name, char *title, char *class,
+                           char *pattern, int ofs);
 extern void cgit_tree_link(char *name, char *title, char *class, char *head,
                           char *rev, char *path);
 extern void cgit_log_link(char *name, char *title, char *class, char *head,