- case -1:
- return -1;
-
- case 0:
- to_devnull(STDERR_FILENO);
-
- if (filename) {
- to_devnull(STDIN_FILENO);
- }
- else {
- dup2(wpipe[0], STDIN_FILENO);
- close(wpipe[0]);
- close(wpipe[1]);
- }
-
- dup2(rpipe[1], STDOUT_FILENO);
- close(rpipe[0]);
- close(rpipe[1]);
-
- execlp("gzip", "gzip", "-d", "-c", filename, NULL);
- exit(-1);
-
- default:
- zh->rfd = rpipe[0];
- zh->wfd = wpipe[1];
-
- fcntl(zh->rfd, F_SETFD, fcntl(zh->rfd, F_GETFD) | FD_CLOEXEC);
- close(rpipe[1]);
-
- if (zh->wfd >= 0) {
- fcntl(zh->wfd, F_SETFD, fcntl(zh->wfd, F_GETFD) | FD_CLOEXEC);
- close(wpipe[0]);
- pthread_create(&zh->thread, NULL, gzip_thread, zh);
- }
+ case -1:
+ return -1;
+
+ case 0:
+ to_devnull(STDERR_FILENO);
+
+ if (filename) {
+ to_devnull(STDIN_FILENO);
+ } else {
+ dup2(wpipe[0], STDIN_FILENO);
+ close(wpipe[0]);
+ close(wpipe[1]);
+ }
+
+ dup2(rpipe[1], STDOUT_FILENO);
+ close(rpipe[0]);
+ close(rpipe[1]);
+
+ execlp("gzip", "gzip", "-d", "-c", filename, NULL);
+ exit(-1);
+
+ default:
+ zh->rfd = rpipe[0];
+ zh->wfd = wpipe[1];
+
+ fcntl(zh->rfd, F_SETFD, fcntl(zh->rfd, F_GETFD) | FD_CLOEXEC);
+ close(rpipe[1]);
+
+ if (zh->wfd >= 0) {
+ fcntl(zh->wfd, F_SETFD,
+ fcntl(zh->wfd, F_GETFD) | FD_CLOEXEC);
+ close(wpipe[0]);
+ pthread_create(&zh->thread, NULL, gzip_thread, zh);
+ }