|
|
|
@ -70,6 +70,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
|
|
|
|
|
ret->about_filter = ctx.cfg.about_filter;
|
|
|
|
|
ret->commit_filter = ctx.cfg.commit_filter;
|
|
|
|
|
ret->source_filter = ctx.cfg.source_filter;
|
|
|
|
|
ret->clone_url = ctx.cfg.clone_url;
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -374,7 +375,8 @@ typedef struct {
|
|
|
|
|
char * value;
|
|
|
|
|
} cgit_env_var;
|
|
|
|
|
|
|
|
|
|
static void prepare_env(struct cgit_repo * repo) {
|
|
|
|
|
void cgit_prepare_repo_env(struct cgit_repo * repo)
|
|
|
|
|
{
|
|
|
|
|
cgit_env_var env_vars[] = {
|
|
|
|
|
{ .name = "CGIT_REPO_URL", .value = repo->url },
|
|
|
|
|
{ .name = "CGIT_REPO_NAME", .value = repo->name },
|
|
|
|
@ -395,7 +397,7 @@ static void prepare_env(struct cgit_repo * repo) {
|
|
|
|
|
fprintf(stderr, warn, p->name, p->value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int cgit_open_filter(struct cgit_filter *filter, struct cgit_repo * repo)
|
|
|
|
|
int cgit_open_filter(struct cgit_filter *filter)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
filter->old_stdout = chk_positive(dup(STDOUT_FILENO),
|
|
|
|
@ -406,8 +408,6 @@ int cgit_open_filter(struct cgit_filter *filter, struct cgit_repo * repo)
|
|
|
|
|
close(filter->pipe_fh[1]);
|
|
|
|
|
chk_non_negative(dup2(filter->pipe_fh[0], STDIN_FILENO),
|
|
|
|
|
"Unable to use pipe as STDIN");
|
|
|
|
|
if (repo)
|
|
|
|
|
prepare_env(repo);
|
|
|
|
|
execvp(filter->cmd, filter->argv);
|
|
|
|
|
die("Unable to exec subprocess %s: %s (%d)", filter->cmd,
|
|
|
|
|
strerror(errno), errno);
|
|
|
|
|