Move unzip, gz_open, gz_close to libbb
diff --git a/libbb/gz_open.c b/libbb/gz_open.c
new file mode 100644
index 0000000..1be5a17
--- /dev/null
+++ b/libbb/gz_open.c
@@ -0,0 +1,34 @@
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "libbb.h"
+
+extern int gz_open(FILE *compressed_file, int *pid)
+{
+	int unzip_pipe[2];
+
+	if (pipe(unzip_pipe)!=0) {
+		error_msg("pipe error");
+		return(EXIT_FAILURE);
+	}
+	if ((*pid = fork()) == -1) {
+		error_msg("fork failured");
+		return(EXIT_FAILURE);
+	}
+	if (*pid==0) {
+		/* child process */
+		close(unzip_pipe[0]);
+		unzip(compressed_file, fdopen(unzip_pipe[1], "w"));
+		printf("finished unzipping\n");
+		fflush(NULL);
+		fclose(compressed_file);
+		close(unzip_pipe[1]);
+		exit(EXIT_SUCCESS);
+	}
+	
+	close(unzip_pipe[1]);
+	return(unzip_pipe[0]);
+}
\ No newline at end of file