return error? -1 : 0;
return (error ? -1 : 0);
compress(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 ((ofd = open(out, O_WRONLY|O_CREAT, S_IWUSR)) < 0) {		if (verbose >= 0)			warn("%s", out);		return -1;	}	if (method != M_COMPRESS && !force && isatty(ofd)) {		if (verbose >= 0)			warnx("%s: won't write compressed data to terminal",			      out);		return -1;	}	if ((ifd = open(in, O_RDONLY)) < 0) {		if (verbose >= 0)			warn("%s", out);		return -1;	}	if ((cookie = (*method->open)(ofd, "w", bits)) != NULL) {		while ((nr = read(ifd, buf, sizeof(buf))) > 0)			if ((method->write)(cookie, buf, nr) != nr) {				if (verbose >= 0)					warn("%s", out);				error++;				break;			}	}	if (cookie == NULL || nr < 0) {		if (!error && verbose >= 0)			warn("%s", in);		error++;	}	if (cookie == NULL || (method->close)(cookie)) {		if (!error && verbose >= 0)			warn("%s", out);		error++;		(void) close(ofd);	}	if (close(ifd)) {		if (!error && verbose >= 0)			warn("%s", out);		error++;	}	return error? -1 : 0;}