-char *cgit_root_title = "Git repository browser";
-char *cgit_css = "/cgit.css";
-char *cgit_logo = "/git-logo.png";
-char *cgit_index_header = NULL;
-char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
-char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
-char *cgit_agefile = "info/web/last-modified";
-char *cgit_virtual_root = NULL;
-char *cgit_script_name = CGIT_SCRIPT_NAME;
-char *cgit_cache_root = CGIT_CACHE_ROOT;
-char *cgit_repo_group = NULL;
-
-int cgit_nocache = 0;
-int cgit_snapshots = 0;
-int cgit_enable_index_links = 0;
-int cgit_enable_log_filecount = 0;
-int cgit_enable_log_linecount = 0;
-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;
-int cgit_summary_log = 0;
-int cgit_summary_tags = 0;
-int cgit_summary_branches = 0;
-int cgit_renamelimit = -1;
-
-int cgit_max_msg_len = 60;
-int cgit_max_repodesc_len = 60;
-int cgit_max_commit_count = 50;
-
-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_search = NULL;
-char *cgit_query_sha1 = NULL;
-char *cgit_query_sha2 = NULL;
-char *cgit_query_path = NULL;
-char *cgit_query_name = NULL;
-int cgit_query_ofs = 0;
-
-int htmlfd = 0;
-
+void cgit_prepare_context(struct cgit_context *ctx)
+{
+ memset(ctx, 0, sizeof(ctx));
+ ctx->cfg.agefile = "info/web/last-modified";
+ ctx->cfg.cache_dynamic_ttl = 5;
+ ctx->cfg.cache_max_create_time = 5;
+ ctx->cfg.cache_repo_ttl = 5;
+ ctx->cfg.cache_root = CGIT_CACHE_ROOT;
+ ctx->cfg.cache_root_ttl = 5;
+ ctx->cfg.cache_static_ttl = -1;
+ ctx->cfg.css = "/cgit.css";
+ ctx->cfg.logo = "/git-logo.png";
+ ctx->cfg.max_commit_count = 50;
+ ctx->cfg.max_lock_attempts = 5;
+ ctx->cfg.max_msg_len = 60;
+ ctx->cfg.max_repodesc_len = 60;
+ ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s";
+ ctx->cfg.renamelimit = -1;
+ ctx->cfg.robots = "index, nofollow";
+ ctx->cfg.root_title = "Git repository browser";
+ ctx->cfg.script_name = CGIT_SCRIPT_NAME;
+ ctx->page.mimetype = "text/html";
+ ctx->page.charset = PAGE_ENCODING;
+ ctx->page.filename = NULL;
+}