]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-shared.c
Convert cgit_print_error to a variadic function
[ps-cgit] / ui-shared.c
index 945d560a300780083e9dabc3f024d2a0dc6eaf5d..b93b77aee4f5718ad74e36a3bc3d4d3a3ed9f65e 100644 (file)
@@ -28,10 +28,21 @@ static char *http_date(time_t t)
                   tm->tm_hour, tm->tm_min, tm->tm_sec);
 }
 
-void cgit_print_error(const char *msg)
+void cgit_print_error(const char *fmt, ...)
 {
+       va_list ap;
+       va_start(ap, fmt);
+       cgit_vprint_error(fmt, ap);
+       va_end(ap);
+}
+
+void cgit_vprint_error(const char *fmt, va_list ap)
+{
+       va_list cp;
        html("<div class='error'>");
-       html_txt(msg);
+       va_copy(cp, ap);
+       html_vtxtf(fmt, cp);
+       va_end(cp);
        html("</div>\n");
 }
 
@@ -57,7 +68,7 @@ const char *cgit_hosturl()
 const char *cgit_rooturl()
 {
        if (ctx.cfg.virtual_root)
-               return fmt("%s/", ctx.cfg.virtual_root);
+               return ctx.cfg.virtual_root;
        else
                return ctx.cfg.script_name;
 }
@@ -65,7 +76,7 @@ const char *cgit_rooturl()
 char *cgit_repourl(const char *reponame)
 {
        if (ctx.cfg.virtual_root) {
-               return fmt("%s/%s/", ctx.cfg.virtual_root, reponame);
+               return fmt("%s%s/", ctx.cfg.virtual_root, reponame);
        } else {
                return fmt("?r=%s", reponame);
        }
@@ -78,7 +89,7 @@ char *cgit_fileurl(const char *reponame, const char *pagename,
        char *delim;
 
        if (ctx.cfg.virtual_root) {
-               tmp = fmt("%s/%s/%s/%s", ctx.cfg.virtual_root, reponame,
+               tmp = fmt("%s%s/%s/%s", ctx.cfg.virtual_root, reponame,
                          pagename, (filename ? filename:""));
                delim = "?";
        } else {
@@ -126,11 +137,9 @@ static void site_url(const char *page, const char *search, const char *sort, int
 {
        char *delim = "?";
 
-       if (ctx.cfg.virtual_root) {
+       if (ctx.cfg.virtual_root)
                html_attr(ctx.cfg.virtual_root);
-               if (ctx.cfg.virtual_root[strlen(ctx.cfg.virtual_root) - 1] != '/')
-                       html("/");
-       } else
+       else
                html(ctx.cfg.script_name);
 
        if (page) {
@@ -201,8 +210,6 @@ static char *repolink(const char *title, const char *class, const char *page,
        html(" href='");
        if (ctx.cfg.virtual_root) {
                html_url_path(ctx.cfg.virtual_root);
-               if (ctx.cfg.virtual_root[strlen(ctx.cfg.virtual_root) - 1] != '/')
-                       html("/");
                html_url_path(ctx.repo->url);
                if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/')
                        html("/");