]> granicus.if.org Git - cgit/commitdiff
filter: make exit status local
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 10 Jan 2014 02:51:02 +0000 (03:51 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Fri, 10 Jan 2014 16:45:43 +0000 (17:45 +0100)
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>
cgit.h
shared.c

diff --git a/cgit.h b/cgit.h
index a474d7777b3b4b5aadb76a9549a49d878c829cdd..f7b606c1b98a5f9262583844c29c0644392f1023 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -62,7 +62,6 @@ struct cgit_filter {
        int old_stdout;
        int pipe_fh[2];
        int pid;
-       int exitstatus;
 };
 
 struct cgit_repo {
index 01197f10e9600913e5fb11d9f61332486c64d2cc..6259d75d8841c26756aaf00d266940672b6162f3 100644 (file)
--- a/shared.c
+++ b/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);
 }