1 /* shared.c: global vars + some callback functions
3 * Copyright (C) 2006 Lars Hjemli
5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text)
11 char *cgit_root
= "/usr/src/git";
12 char *cgit_root_title
= "Git repository browser";
13 char *cgit_css
= "/cgit.css";
14 char *cgit_logo
= "/git-logo.png";
15 char *cgit_logo_link
= "http://www.kernel.org/pub/software/scm/git/docs/";
16 char *cgit_virtual_root
= NULL
;
18 char *cgit_cache_root
= "/var/cache/cgit";
21 int cgit_max_lock_attempts
= 5;
22 int cgit_cache_root_ttl
= 5;
23 int cgit_cache_repo_ttl
= 5;
24 int cgit_cache_dynamic_ttl
= 5;
25 int cgit_cache_static_ttl
= -1;
26 int cgit_cache_max_create_time
= 5;
28 char *cgit_repo_name
= NULL
;
29 char *cgit_repo_desc
= NULL
;
30 char *cgit_repo_owner
= NULL
;
32 int cgit_query_has_symref
= 0;
33 int cgit_query_has_sha1
= 0;
35 char *cgit_querystring
= NULL
;
36 char *cgit_query_repo
= NULL
;
37 char *cgit_query_page
= NULL
;
38 char *cgit_query_head
= NULL
;
39 char *cgit_query_sha1
= NULL
;
40 char *cgit_query_sha2
= NULL
;
41 int cgit_query_ofs
= 0;
45 void cgit_global_config_cb(const char *name
, const char *value
)
47 if (!strcmp(name
, "root"))
48 cgit_root
= xstrdup(value
);
49 else if (!strcmp(name
, "root-title"))
50 cgit_root_title
= xstrdup(value
);
51 else if (!strcmp(name
, "css"))
52 cgit_css
= xstrdup(value
);
53 else if (!strcmp(name
, "logo"))
54 cgit_logo
= xstrdup(value
);
55 else if (!strcmp(name
, "logo-link"))
56 cgit_logo_link
= xstrdup(value
);
57 else if (!strcmp(name
, "virtual-root"))
58 cgit_virtual_root
= xstrdup(value
);
59 else if (!strcmp(name
, "nocache"))
60 cgit_nocache
= atoi(value
);
61 else if (!strcmp(name
, "cache-root"))
62 cgit_cache_root
= xstrdup(value
);
63 else if (!strcmp(name
, "cache-root-ttl"))
64 cgit_cache_root_ttl
= atoi(value
);
65 else if (!strcmp(name
, "cache-repo-ttl"))
66 cgit_cache_repo_ttl
= atoi(value
);
67 else if (!strcmp(name
, "cache-static-ttl"))
68 cgit_cache_static_ttl
= atoi(value
);
69 else if (!strcmp(name
, "cache-dynamic-ttl"))
70 cgit_cache_dynamic_ttl
= atoi(value
);
73 void cgit_repo_config_cb(const char *name
, const char *value
)
75 if (!strcmp(name
, "name"))
76 cgit_repo_name
= xstrdup(value
);
77 else if (!strcmp(name
, "desc"))
78 cgit_repo_desc
= xstrdup(value
);
79 else if (!strcmp(name
, "owner"))
80 cgit_repo_owner
= xstrdup(value
);
83 void cgit_querystring_cb(const char *name
, const char *value
)
85 if (!strcmp(name
,"r")) {
86 cgit_query_repo
= xstrdup(value
);
87 } else if (!strcmp(name
, "p")) {
88 cgit_query_page
= xstrdup(value
);
89 } else if (!strcmp(name
, "h")) {
90 cgit_query_head
= xstrdup(value
);
91 cgit_query_has_symref
= 1;
92 } else if (!strcmp(name
, "id")) {
93 cgit_query_sha1
= xstrdup(value
);
94 cgit_query_has_sha1
= 1;
95 } else if (!strcmp(name
, "id2")) {
96 cgit_query_sha2
= xstrdup(value
);
97 cgit_query_has_sha1
= 1;
98 } else if (!strcmp(name
, "ofs")) {
99 cgit_query_ofs
= atoi(value
);
103 void *cgit_free_commitinfo(struct commitinfo
*info
)
106 free(info
->author_email
);
107 free(info
->committer
);
108 free(info
->committer_email
);