if ((ofd = open(out, O_WRONLY|O_CREAT, S_IWUSR)) < 0) {
if ((ofd = open(out, O_WRONLY|O_CREAT|O_TRUNC, S_IWUSR)) < 0) {
decompress(in, out, method, bits, sb)	const char *in;	const char *out;	const struct compressor *method;	int bits;	struct stat *sb;{	u_char buf[Z_BUFSIZE];	int error, ifd, ofd;	void *cookie;	ssize_t nr;	error = 0;	cookie = NULL;	if ((ifd = open(in, O_RDONLY)) < 0) {		if (verbose >= 0)			warn("%s", in);		return -1;	}	if (!force && isatty(ifd)) {		if (verbose >= 0)			warnx("%s: won't read compressed data from terminal",			      in);		close (ifd);		return -1;	}	if (!pipin && (method = check_method(ifd, sb, out)) == NULL) {		if (verbose >= 0)			warnx("%s: unrecognized file format", in);		close (ifd);		return -1;	}	if ((ofd = open(out, O_WRONLY|O_CREAT, S_IWUSR)) < 0) {		if (verbose >= 0)			warn("%s", in);		return -1;	}	if ((cookie = (*method->open)(ifd, "r", bits)) != NULL) {		while ((nr = (method->read)(cookie, buf, sizeof(buf))) > 0)			if (write(ofd, buf, nr) != nr) {				if (verbose >= 0)					warn("%s", out);				error++;				break;			}	}	if (cookie == NULL || (method->close)(cookie) || nr < 0) {		if (!error && verbose >= 0)			warn("%s", in);		error++;		close (ifd);	}	if (close(ofd)) {		if (!error && verbose >= 0)			warn("%s", out);		error++;	}	return error;}