1/* 2 Copyright (c) 1990-2008 Info-ZIP. All rights reserved. 3 4 See the accompanying file LICENSE, version 2007-Mar-04 or later 5 (the contents of which are also included in unzip.h) for terms of use. 6 If, for some reason, all these files are missing, the Info-ZIP license 7 also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html 8*/ 9/*--------------------------------------------------------------------------- 10 11 ubz2err.c 12 13 This file contains the "fatal error" callback routine required by the 14 "minimal" (silent, non-stdio) setup of the bzip2 compression library. 15 16 The fatal bzip2 error bail-out routine is provided in a separate code 17 module, so that it can be easily overridden when the UnZip package is 18 used as a static link library. One example is the WinDLL static library 19 usage for building a monolythic binary of the Windows application "WiZ" 20 that supports bzip2 both in compression and decompression operations. 21 22 Contains: bz_internal_error() (USE_BZIP2 only) 23 24 ---------------------------------------------------------------------------*/ 25 26 27#define __UBZ2ERR_C /* identifies this source module */ 28#define UNZIP_INTERNAL 29#include "unzip.h" 30#ifdef WINDLL 31# ifdef POCKET_UNZIP 32# include "wince/intrface.h" 33# else 34# include "windll/windll.h" 35# endif 36#endif 37 38#ifdef USE_BZIP2 39 40/**********************************/ 41/* Function bz_internal_error() */ 42/**********************************/ 43 44/* Call-back function for the bzip2 decompression code (compiled with 45 * BZ_NO_STDIO), required to handle fatal internal bug-type errors of 46 * the bzip2 library. 47 */ 48void bz_internal_error(bzerrcode) 49 int bzerrcode; 50{ 51 GETGLOBALS(); 52 53 Info(slide, 0x421, ((char *)slide, 54 "error: internal fatal libbzip2 error number %d\n", bzerrcode)); 55#ifdef WINDLL 56 longjmp(dll_error_return, 1); 57#else 58 DESTROYGLOBALS(); 59 EXIT(PK_BADERR); 60#endif 61} /* end function bz_internal_error() */ 62 63#endif /* USE_BZIP2 */ 64