| /* | 
 |  * THIS FILE IS NOT IDENTICAL TO THE ORIGINAL | 
 |  * FROM THE BZIP2 DISTRIBUTION. | 
 |  * | 
 |  * It has been modified, mainly to break the library | 
 |  * into smaller pieces. | 
 |  * | 
 |  * Russ Cox | 
 |  * rsc@plan9.bell-labs.com | 
 |  * July 2000 | 
 |  */ | 
 |  | 
 | /*-------------------------------------------------------------*/ | 
 | /*--- Library top-level functions.                          ---*/ | 
 | /*---                                               bzlib.c ---*/ | 
 | /*-------------------------------------------------------------*/ | 
 |  | 
 | /*-- | 
 |   This file is a part of bzip2 and/or libbzip2, a program and | 
 |   library for lossless, block-sorting data compression. | 
 |  | 
 |   Copyright (C) 1996-2000 Julian R Seward.  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. The origin of this software must not be misrepresented; you must  | 
 |      not claim that you wrote the original software.  If you use this  | 
 |      software in a product, an acknowledgment in the product  | 
 |      documentation would be appreciated but is not required. | 
 |  | 
 |   3. Altered source versions must be plainly marked as such, and must | 
 |      not be misrepresented as being the original software. | 
 |  | 
 |   4. The name of the author may not be used to endorse or promote  | 
 |      products derived from this software without specific prior written  | 
 |      permission. | 
 |  | 
 |   THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. | 
 |  | 
 |   Julian Seward, Cambridge, UK. | 
 |   jseward@acm.org | 
 |   bzip2/libbzip2 version 1.0 of 21 March 2000 | 
 |  | 
 |   This program is based on (at least) the work of: | 
 |      Mike Burrows | 
 |      David Wheeler | 
 |      Peter Fenwick | 
 |      Alistair Moffat | 
 |      Radford Neal | 
 |      Ian H. Witten | 
 |      Robert Sedgewick | 
 |      Jon L. Bentley | 
 |  | 
 |   For more information on these sources, see the manual. | 
 | --*/ | 
 |  | 
 | /*-- | 
 |    CHANGES | 
 |    ~~~~~~~ | 
 |    0.9.0 -- original version. | 
 |  | 
 |    0.9.0a/b -- no changes in this file. | 
 |  | 
 |    0.9.0c | 
 |       * made zero-length BZ_FLUSH work correctly in bzCompress(). | 
 |       * fixed bzWrite/bzRead to ignore zero-length requests. | 
 |       * fixed bzread to correctly handle read requests after EOF. | 
 |       * wrong parameter order in call to bzDecompressInit in | 
 |         bzBuffToBuffDecompress.  Fixed. | 
 | --*/ | 
 |  | 
 | #include "os.h" | 
 | #include "bzlib.h" | 
 | #include "bzlib_private.h" | 
 | #include "bzlib_stdio.h" | 
 | #include "bzlib_stdio_private.h" | 
 |  | 
 |  | 
 | void BZ2_bz__AssertH__fail ( int errcode ) | 
 | { | 
 |    fprintf(stderr,  | 
 |       "\n\nbzip2/libbzip2: internal error number %d.\n" | 
 |       "This is a bug in bzip2/libbzip2, %s.\n" | 
 |       "Please report it to me at: jseward@acm.org.  If this happened\n" | 
 |       "when you were using some program which uses libbzip2 as a\n" | 
 |       "component, you should also report this bug to the author(s)\n" | 
 |       "of that program.  Please make an effort to report this bug;\n" | 
 |       "timely and accurate bug reports eventually lead to higher\n" | 
 |       "quality software.  Thanks.  Julian Seward, 21 March 2000.\n\n", | 
 |       errcode, | 
 |       BZ2_bzlibVersion() | 
 |    ); | 
 |    exit(3); | 
 | } |