From owner-svn-soc-all@FreeBSD.ORG Sat Aug 18 17:18:03 2012 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from socsvn.FreeBSD.org (unknown [IPv6:2001:4f8:fff6::2f]) by hub.freebsd.org (Postfix) with SMTP id BC371106566B for ; Sat, 18 Aug 2012 17:18:01 +0000 (UTC) (envelope-from jhagewood@FreeBSD.org) Received: by socsvn.FreeBSD.org (sSMTP sendmail emulation); Sat, 18 Aug 2012 17:18:01 +0000 Date: Sat, 18 Aug 2012 17:18:01 +0000 From: jhagewood@FreeBSD.org To: svn-soc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <20120818171801.BC371106566B@hub.freebsd.org> Cc: Subject: socsvn commit: r240499 - in soc2012/jhagewood: diff sdiff X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Aug 2012 17:18:03 -0000 Author: jhagewood Date: Sat Aug 18 17:18:01 2012 New Revision: 240499 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=240499 Log: Fixed file decompression Modified: soc2012/jhagewood/diff/decompress.c soc2012/jhagewood/sdiff/decompress.c Modified: soc2012/jhagewood/diff/decompress.c ============================================================================== --- soc2012/jhagewood/diff/decompress.c Sat Aug 18 16:14:50 2012 (r240498) +++ soc2012/jhagewood/diff/decompress.c Sat Aug 18 17:18:01 2012 (r240499) @@ -63,13 +63,25 @@ { FILE *file; - char *buf = ""; + char buf[MAXBUFSIZE]; + char ch; + int i = 0; + int length; 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); + file = fopen("./temp", "r+w"); + comprfile = gzopen(filename, mode); + + if (comprfile == Z_NULL) + err(1, "Could not open compressed file."); + + for (ch = '\0'; ch != NULL; ch = gzgetc(comprfile)) { + buf[i] = ch; + i++; + } + for (i = 0; buf[i] != EOF; i++) { + fputs(buf, file); + } return file; } Modified: soc2012/jhagewood/sdiff/decompress.c ============================================================================== --- soc2012/jhagewood/sdiff/decompress.c Sat Aug 18 16:14:50 2012 (r240498) +++ soc2012/jhagewood/sdiff/decompress.c Sat Aug 18 17:18:01 2012 (r240499) @@ -62,13 +62,25 @@ { FILE *file; - char *buf = ""; + char buf[MAXBUFSIZE]; + char ch; + int i = 0; + int length; 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); + file = fopen("./temp", "r+w"); + comprfile = gzopen(filename, mode); + + if (comprfile == Z_NULL) + err(1, "Could not open compressed file."); + + for (ch = '\0'; ch != NULL; ch = gzgetc(comprfile)) { + buf[i] = ch; + i++; + } + for (i = 0; buf[i] != EOF; i++) { + fputs(buf, file); + } return file; }