about summary refs log tree commit diff
path: root/shared.c
diff options
context:
space:
mode:
Diffstat (limited to 'shared.c')
-rw-r--r--shared.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/shared.c b/shared.c
new file mode 100644
index 0000000..c58a2ff
--- /dev/null
+++ b/shared.c
@@ -0,0 +1,74 @@
+#include "cgit.h"
+
+char *cgit_root         = "/usr/src/git";
+char *cgit_root_title   = "Git repository browser";
+char *cgit_css          = "/cgit.css";
+char *cgit_logo         = "/git-logo.png";
+char *cgit_logo_link    = "http://www.kernel.org/pub/software/scm/git/docs/";
+char *cgit_virtual_root = NULL;
+
+char *cgit_cache_root   = "/var/cache/cgit";
+
+int cgit_max_lock_attempts     =  5;
+int cgit_cache_root_ttl        =  5;
+int cgit_cache_repo_ttl        =  5;
+int cgit_cache_dynamic_ttl     =  5;
+int cgit_cache_static_ttl      = -1;
+int cgit_cache_max_create_time =  5;
+
+char *cgit_repo_name    = NULL;
+char *cgit_repo_desc    = NULL;
+char *cgit_repo_owner   = NULL;
+
+int cgit_query_has_symref = 0;
+int cgit_query_has_sha1   = 0;
+
+char *cgit_querystring  = NULL;
+char *cgit_query_repo   = NULL;
+char *cgit_query_page   = NULL;
+char *cgit_query_head   = NULL;
+char *cgit_query_sha1   = NULL;
+
+int htmlfd = 0;
+
+void cgit_global_config_cb(const char *name, const char *value)
+{
+	if (!strcmp(name, "root"))
+		cgit_root = xstrdup(value);
+	else if (!strcmp(name, "root-title"))
+		cgit_root_title = xstrdup(value);
+	else if (!strcmp(name, "css"))
+		cgit_css = xstrdup(value);
+	else if (!strcmp(name, "logo"))
+		cgit_logo = xstrdup(value);
+	else if (!strcmp(name, "logo-link"))
+		cgit_logo_link = xstrdup(value);
+	else if (!strcmp(name, "virtual-root"))
+		cgit_virtual_root = xstrdup(value);
+}
+
+void cgit_repo_config_cb(const char *name, const char *value)
+{
+	if (!strcmp(name, "name"))
+		cgit_repo_name = xstrdup(value);
+	else if (!strcmp(name, "desc"))
+		cgit_repo_desc = xstrdup(value);
+	else if (!strcmp(name, "owner"))
+		cgit_repo_owner = xstrdup(value);
+}
+
+void cgit_querystring_cb(const char *name, const char *value)
+{
+	if (!strcmp(name,"r"))
+		cgit_query_repo = xstrdup(value);
+	else if (!strcmp(name, "p"))
+		cgit_query_page = xstrdup(value);
+	else if (!strcmp(name, "h")) {
+		cgit_query_head = xstrdup(value);
+		cgit_query_has_symref = 1;
+	} else if (!strcmp(name, "id")) {
+		cgit_query_sha1 = xstrdup(value);
+		cgit_query_has_sha1 = 1;
+	}
+}
+