reap_filter(ctx.cfg.commit_filter);
reap_filter(ctx.cfg.source_filter);
reap_filter(ctx.cfg.email_filter);
reap_filter(ctx.cfg.commit_filter);
reap_filter(ctx.cfg.source_filter);
reap_filter(ctx.cfg.email_filter);
for (i = 0; i < cgit_repolist.count; ++i) {
reap_filter(cgit_repolist.repos[i].about_filter);
reap_filter(cgit_repolist.repos[i].commit_filter);
reap_filter(cgit_repolist.repos[i].source_filter);
reap_filter(cgit_repolist.repos[i].email_filter);
for (i = 0; i < cgit_repolist.count; ++i) {
reap_filter(cgit_repolist.repos[i].about_filter);
reap_filter(cgit_repolist.repos[i].commit_filter);
reap_filter(cgit_repolist.repos[i].source_filter);
reap_filter(cgit_repolist.repos[i].email_filter);
filter->old_stdout = chk_positive(dup(STDOUT_FILENO),
"Unable to duplicate STDOUT");
filter->old_stdout = chk_positive(dup(STDOUT_FILENO),
"Unable to duplicate STDOUT");
chk_non_negative(dup2(filter->old_stdout, STDOUT_FILENO),
"Unable to restore STDOUT");
chk_non_negative(dup2(filter->old_stdout, STDOUT_FILENO),
"Unable to restore STDOUT");
goto done;
die("Subprocess %s exited abnormally", filter->cmd);
done:
for (i = 0; i < filter->base.argument_count; i++)
goto done;
die("Subprocess %s exited abnormally", filter->cmd);
done:
for (i = 0; i < filter->base.argument_count; i++)
fprintf(f, "%sexec:%s\n", prefix, filter->cmd);
}
static void cleanup_exec_filter(struct cgit_filter *base)
{
fprintf(f, "%sexec:%s\n", prefix, filter->cmd);
}
static void cleanup_exec_filter(struct cgit_filter *base)
{
lua_getglobal(filter->lua_state, "filter_write");
lua_pushlstring(filter->lua_state, buf, count);
lua_getglobal(filter->lua_state, "filter_write");
lua_pushlstring(filter->lua_state, buf, count);
lua_setglobal(filter->lua_state, "html_url_path");
lua_pushcfunction(filter->lua_state, html_url_arg_lua_filter);
lua_setglobal(filter->lua_state, "html_url_arg");
lua_setglobal(filter->lua_state, "html_url_path");
lua_pushcfunction(filter->lua_state, html_url_arg_lua_filter);
lua_setglobal(filter->lua_state, "html_url_arg");
if (luaL_dofile(filter->lua_state, filter->script_file)) {
error_lua_filter(filter);
if (luaL_dofile(filter->lua_state, filter->script_file)) {
error_lua_filter(filter);
- if (lua_pcall(filter->lua_state, 0, 0, 0)) {
+ if (lua_pcall(filter->lua_state, 0, 1, 0)) {
fprintf(f, "%slua:%s\n", prefix, filter->script_file);
}
fprintf(f, "%slua:%s\n", prefix, filter->script_file);
}