Date: Fri, 10 Aug 2012 21:40:04 +0000 From: jhagewood@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r240259 - soc2012/jhagewood/sdiff Message-ID: <20120810214004.4D5AE106564A@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhagewood Date: Fri Aug 10 21:40:03 2012 New Revision: 240259 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=240259 Log: gzip decompression sdiff Added: soc2012/jhagewood/sdiff/decompress.c Added: soc2012/jhagewood/sdiff/decompress.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2012/jhagewood/sdiff/decompress.c Fri Aug 10 21:40:03 2012 (r240259) @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2012 Jesse Hagewood <jhagewood@freebsd.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#if 0 +#ifndef lint +static char sccsid[] = "@(#)decompress.c 6/6/93"; +#endif +#endif /* not lint */ +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/param.h> +#include <sys/stat.h> +#include <sys/wait.h> + +#include <ctype.h> +#include <err.h> +#include <errno.h> +#include <fcntl.h> +#include <stddef.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <zlib.h> + +#ifndef WITHOUT_BZIP2 +#include <bzlib.h> +#endif + +#include "common.h" + +#define MAXBUFSIZE (32 * 1024) + +/* Decompresses a gzip file and returns a regular FILE. */ +FILE * +decompressfile(char *filename, char *mode) { + + FILE *file; + char *buf = ""; + gzFile comprfile; + + if (comprfile = gzopen(filename, mode) == Z_NULL) + err(1, "Could not open compressed file %s.", filename); + gzread(comprfile, buf, MAXBUFSIZE); + fputs(buf, file); + + return file; +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120810214004.4D5AE106564A>