X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=trees.c;h=3896cf5541682ea7aee6514c6c5cc182aeff8fb2;hb=cb6480b325ebe23e757e524e5fe3cde83ef4df5f;hp=3f5fdca5e83e60124f83328b25341ee22bdbbe77;hpb=e7921f54c622e3b32e525f345bc34308821e4ae0;p=debian%2Fgzip diff --git a/trees.c b/trees.c index 3f5fdca..3896cf5 100644 --- a/trees.c +++ b/trees.c @@ -1,11 +1,11 @@ /* trees.c -- output deflated data using Huffman coding - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997-1999, 2009-2010 Free Software Foundation, Inc. Copyright (C) 1992-1993 Jean-loup Gailly This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -59,13 +59,12 @@ * void ct_tally (int dist, int lc); * Save the match info and tally the frequency counts. * - * off_t flush_block (char *buf, ulg stored_len, int pad, int eof) + * off_t flush_block (char *buf, ulg stored_len, int eof) * Determine the best encoding for the current block: dynamic trees, * static trees or store, and output the encoded block to the zip - * file. If pad is set, pads the block to the next - * byte. Returns the total compressed length for the file so - * far. - * */ + * file. Returns the total compressed length for the file so far. + * + */ #include #include @@ -73,10 +72,6 @@ #include "tailor.h" #include "gzip.h" -#ifdef RCSID -static char rcsid[] = "$Id: trees.c,v 1.4 2006/11/20 08:40:33 eggert Exp $"; -#endif - /* =========================================================================== * Constants */ @@ -861,10 +856,9 @@ local void send_all_trees(lcodes, dcodes, blcodes) * trees or store, and output the encoded block to the zip file. This function * returns the total compressed length for the file so far. */ -off_t flush_block(buf, stored_len, pad, eof) +off_t flush_block(buf, stored_len, eof) char *buf; /* input block, or NULL if too old */ ulg stored_len; /* length of input block */ - int pad; /* pad output to byte boundary */ int eof; /* true if this is the last block for a file */ { ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ @@ -957,10 +951,6 @@ off_t flush_block(buf, stored_len, pad, eof) Assert (input_len == bytes_in, "bad input size"); bi_windup(); compressed_len += 7; /* align on byte boundary */ - } else if (pad && (compressed_len % 8) != 0) { - send_bits((STORED_BLOCK<<1)+eof, 3); /* send block type */ - compressed_len = (compressed_len + 3 + 7) & ~7L; - copy_block(buf, 0, 1); /* with header */ } return compressed_len >> 3;