gunzip'ing many files to stdout works now
Fixed a missing initialisation and made a for loop more readable.
diff --git a/archival/gunzip.c b/archival/gunzip.c
index 032b43c..83ed5e8 100644
--- a/archival/gunzip.c
+++ b/archival/gunzip.c
@@ -75,7 +75,7 @@
 {
     FILE *in_file, *out_file;
     struct stat stat_buf;
-    const char *delete_path;
+    const char *delete_path = NULL;
     char *out_path = NULL;
 
     if (path == NULL || strcmp (path, "-") == 0) {
@@ -142,8 +142,10 @@
 	delete_path = out_path;
     }
 
-    fclose(out_file);
-    fclose(in_file);
+    if (out_file != stdout)
+	    fclose(out_file);
+    if (in_file != stdin)
+	    fclose(in_file);
 
     if (delete_path && !(flags & gunzip_test)) {
 	if (unlink(delete_path) < 0) {
@@ -194,10 +196,11 @@
 	if (optind == argc) {
 	    if (gunzip_file (NULL, flags) < 0)
 		status = EXIT_FAILURE;
-	} else
-	    for (i = optind; i < argc; i++)
+	} else {
+	    for (i = optind; i < argc; i++) {
 		if (gunzip_file (argv[i], flags) < 0)
 		    status = EXIT_FAILURE;
-
+	    }
+	}
 	return status;
 }