diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-05-15 10:41:03 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-05-15 10:41:03 (GMT) |
commit | f4d3ebde2af3c5df88de0299af83dddf06c41822 (patch) | |
tree | e41acfb37b7397d31cf5d91943a5ebf8bd2f7ca6 /compat/zlib/examples/gzjoin.c | |
parent | 1eacac1aa2e8e1f6a11ad280d4d5ac4774672c81 (diff) | |
parent | 1d99d2af062fbf3e3af72e1347840eb3555250dc (diff) | |
download | tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.zip tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.tar.gz tcl-f4d3ebde2af3c5df88de0299af83dddf06c41822.tar.bz2 |
merge trunkdkf_bcc_optimize
Diffstat (limited to 'compat/zlib/examples/gzjoin.c')
-rw-r--r-- | compat/zlib/examples/gzjoin.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/compat/zlib/examples/gzjoin.c b/compat/zlib/examples/gzjoin.c index 129347c..89e8098 100644 --- a/compat/zlib/examples/gzjoin.c +++ b/compat/zlib/examples/gzjoin.c @@ -1,7 +1,7 @@ /* gzjoin -- command to join gzip files into one gzip file - Copyright (C) 2004 Mark Adler, all rights reserved - version 1.0, 11 Dec 2004 + Copyright (C) 2004, 2005, 2012 Mark Adler, all rights reserved + version 1.2, 14 Aug 2012 This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages @@ -27,6 +27,7 @@ * * 1.0 11 Dec 2004 - First version * 1.1 12 Jun 2005 - Changed ssize_t to long for portability + * 1.2 14 Aug 2012 - Clean up for z_const usage */ /* @@ -308,7 +309,7 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot, /* inflate and copy compressed data, clear last-block bit if requested */ len = 0; zpull(&strm, in); - start = strm.next_in; + start = in->next; last = start[0] & 1; if (last && clr) start[0] &= ~1; @@ -351,7 +352,7 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot, pos = 0x100 >> pos; last = strm.next_in[-1] & pos; if (last && clr) - strm.next_in[-1] &= ~pos; + in->buf[strm.next_in - in->buf - 1] &= ~pos; } else { /* next last-block bit is in next unused byte */ @@ -364,14 +365,14 @@ local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot, } last = strm.next_in[0] & 1; if (last && clr) - strm.next_in[0] &= ~1; + in->buf[strm.next_in - in->buf] &= ~1; } } } /* update buffer with unused input */ in->left = strm.avail_in; - in->next = strm.next_in; + in->next = in->buf + (strm.next_in - in->buf); /* copy used input, write empty blocks to get to byte boundary */ pos = strm.data_type & 7; |