Move flush_outbuf to the file in which it is used, and by doing so fix a
nasty error dealing with two different variables with the same name.
diff --git a/archival/gunzip.c b/archival/gunzip.c
index 1ff3c40..70b25bd 100644
--- a/archival/gunzip.c
+++ b/archival/gunzip.c
@@ -1176,21 +1176,6 @@
 	bytes_in = bytes_out = 0L;
 }
 
-/* ===========================================================================
- * Write the output buffer outbuf[0..outcnt-1] and update bytes_out.
- * (used for the compressed data only)
- */
-void flush_outbuf()
-{
-	if (outcnt == 0)
-		return;
-
-	if (!test_mode)
-		write_buf(ofd, (char *) outbuf, outcnt);
-	bytes_out += (ulg) outcnt;
-	outcnt = 0;
-}
-
 /* ======================================================================== */
 int gunzip_main(int argc, char **argv)
 {
diff --git a/archival/gzip.c b/archival/gzip.c
index add94d0..2e147b1 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -3380,3 +3380,17 @@
 	isize += (ulg) len;
 	return (int) len;
 }
+
+/* ===========================================================================
+ * Write the output buffer outbuf[0..outcnt-1] and update bytes_out.
+ * (used for the compressed data only)
+ */
+void flush_outbuf()
+{
+	if (outcnt == 0)
+		return;
+
+	write_buf(ofd, (char *) outbuf, outcnt);
+	bytes_out += (ulg) outcnt;
+	outcnt = 0;
+}
diff --git a/gunzip.c b/gunzip.c
index 1ff3c40..70b25bd 100644
--- a/gunzip.c
+++ b/gunzip.c
@@ -1176,21 +1176,6 @@
 	bytes_in = bytes_out = 0L;
 }
 
-/* ===========================================================================
- * Write the output buffer outbuf[0..outcnt-1] and update bytes_out.
- * (used for the compressed data only)
- */
-void flush_outbuf()
-{
-	if (outcnt == 0)
-		return;
-
-	if (!test_mode)
-		write_buf(ofd, (char *) outbuf, outcnt);
-	bytes_out += (ulg) outcnt;
-	outcnt = 0;
-}
-
 /* ======================================================================== */
 int gunzip_main(int argc, char **argv)
 {
diff --git a/gzip.c b/gzip.c
index add94d0..2e147b1 100644
--- a/gzip.c
+++ b/gzip.c
@@ -3380,3 +3380,17 @@
 	isize += (ulg) len;
 	return (int) len;
 }
+
+/* ===========================================================================
+ * Write the output buffer outbuf[0..outcnt-1] and update bytes_out.
+ * (used for the compressed data only)
+ */
+void flush_outbuf()
+{
+	if (outcnt == 0)
+		return;
+
+	write_buf(ofd, (char *) outbuf, outcnt);
+	bytes_out += (ulg) outcnt;
+	outcnt = 0;
+}