mirror of
https://git.zx2c4.com/cgit
synced 2024-11-22 08:28:42 +00:00
filter: make exit status local
It's only used in one place, and not useful to have around since close_filter will die() if exit_status isn't what it expects, anyway. So this is best as just a local variable instead of as part of the struct. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
d01a6eec43
commit
b67ea0c022
1
cgit.h
1
cgit.h
@ -62,7 +62,6 @@ struct cgit_filter {
|
||||
int old_stdout;
|
||||
int pipe_fh[2];
|
||||
int pid;
|
||||
int exitstatus;
|
||||
};
|
||||
|
||||
struct cgit_repo {
|
||||
|
7
shared.c
7
shared.c
@ -459,7 +459,6 @@ void cgit_prepare_repo_env(struct cgit_repo * repo)
|
||||
|
||||
int cgit_open_filter(struct cgit_filter *filter)
|
||||
{
|
||||
|
||||
filter->old_stdout = chk_positive(dup(STDOUT_FILENO),
|
||||
"Unable to duplicate STDOUT");
|
||||
chk_zero(pipe(filter->pipe_fh), "Unable to create pipe to subprocess");
|
||||
@ -480,13 +479,15 @@ int cgit_open_filter(struct cgit_filter *filter)
|
||||
|
||||
int cgit_close_filter(struct cgit_filter *filter)
|
||||
{
|
||||
int exit_status;
|
||||
|
||||
chk_non_negative(dup2(filter->old_stdout, STDOUT_FILENO),
|
||||
"Unable to restore STDOUT");
|
||||
close(filter->old_stdout);
|
||||
if (filter->pid < 0)
|
||||
return 0;
|
||||
waitpid(filter->pid, &filter->exitstatus, 0);
|
||||
if (WIFEXITED(filter->exitstatus) && !WEXITSTATUS(filter->exitstatus))
|
||||
waitpid(filter->pid, &exit_status, 0);
|
||||
if (WIFEXITED(exit_status) && !WEXITSTATUS(exit_status))
|
||||
return 0;
|
||||
die("Subprocess %s exited abnormally", filter->cmd);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user