mirror of
https://git.zx2c4.com/cgit
synced 2024-11-26 02:18:42 +00:00
Add include-parameter to config files
This parameter can be used to include another config-file, like a standalone repository listing. Suggested in a patch by Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
9ecde6568a
commit
5ec6e02bd1
3
cgitrc
3
cgitrc
@ -63,6 +63,9 @@
|
||||
#cache-root=/var/cache/cgit
|
||||
|
||||
|
||||
## Include another config-file
|
||||
#include=/var/cgit/repolist
|
||||
|
||||
##
|
||||
## Time-To-Live settings: specifies how long (in minutes) different pages
|
||||
## should be cached (0 for instant expiration, -1 for immortal pages)
|
||||
|
14
parsing.c
14
parsing.c
@ -64,19 +64,21 @@ int read_config_line(FILE *f, char *line, const char **value, int bufsize)
|
||||
|
||||
int cgit_read_config(const char *filename, configfn fn)
|
||||
{
|
||||
int ret = 0, len;
|
||||
static int nesting;
|
||||
int len;
|
||||
char line[256];
|
||||
const char *value;
|
||||
FILE *f = fopen(filename, "r");
|
||||
FILE *f;
|
||||
|
||||
if (!f)
|
||||
/* cancel the reading of yet another configfile after 16 invocations */
|
||||
if (nesting++ > 16)
|
||||
return -1;
|
||||
if (!(f = fopen(filename, "r")))
|
||||
return -1;
|
||||
|
||||
while((len = read_config_line(f, line, &value, sizeof(line))) > 0)
|
||||
(*fn)(line, value);
|
||||
|
||||
fclose(f);
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *convert_query_hexchar(char *txt)
|
||||
|
2
shared.c
2
shared.c
@ -137,6 +137,8 @@ void cgit_global_config_cb(const char *name, const char *value)
|
||||
cgit_repo->snapshots = atoi(value);
|
||||
else if (cgit_repo && !strcmp(name, "repo.module-link"))
|
||||
cgit_repo->module_link= xstrdup(value);
|
||||
else if (!strcmp(name, "include"))
|
||||
cgit_read_config(value, cgit_global_config_cb);
|
||||
}
|
||||
|
||||
void cgit_repo_config_cb(const char *name, const char *value)
|
||||
|
Loading…
Reference in New Issue
Block a user