]> the.earth.li Git - onak.git/commitdiff
Fix problem with closing stderr in add.c
authorJonathan McDowell <noodles@earth.li>
Fri, 17 Dec 2004 10:17:14 +0000 (10:17 +0000)
committerJonathan McDowell <noodles@earth.li>
Fri, 17 Dec 2004 10:17:14 +0000 (10:17 +0000)
Fred Strauss reported a problem when we close stderr in add.c; we now
do some basic checking to try to ensure it's a valid file ptr before
we close it. Also do this for stdout just in case.

add.c

diff --git a/add.c b/add.c
index 10627f281105d8bb3369aaf5c122b7d37e2086c0..167e5bd46aa13a0380fcd8e288eecce19f2cb478 100644 (file)
--- a/add.c
+++ b/add.c
@@ -68,8 +68,13 @@ int main(int argc, char *argv[])
                                count);
                        printf("Storing %d keys.\n", count);
                        end_html();
-                       fclose(stdout);
-                       fclose(stderr);
+                       if (stdout != NULL && fileno(stdout) != -1) {
+                               fclose(stdout);
+                       }
+                       if (stderr != NULL && stderr != stdout &&
+                                       fileno(stderr) != -1) {
+                               fclose(stderr);
+                       }
                        catchsignals();
                        initdb(false);