64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
|
/*
|
||
|
Copyright (c) 1990-2008 Info-ZIP. All rights reserved.
|
||
|
|
||
|
See the accompanying file LICENSE, version 2007-Mar-04 or later
|
||
|
(the contents of which are also included in unzip.h) for terms of use.
|
||
|
If, for some reason, all these files are missing, the Info-ZIP license
|
||
|
also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
|
||
|
*/
|
||
|
/*---------------------------------------------------------------------------
|
||
|
|
||
|
ubz2err.c
|
||
|
|
||
|
This file contains the "fatal error" callback routine required by the
|
||
|
"minimal" (silent, non-stdio) setup of the bzip2 compression library.
|
||
|
|
||
|
The fatal bzip2 error bail-out routine is provided in a separate code
|
||
|
module, so that it can be easily overridden when the UnZip package is
|
||
|
used as a static link library. One example is the WinDLL static library
|
||
|
usage for building a monolythic binary of the Windows application "WiZ"
|
||
|
that supports bzip2 both in compression and decompression operations.
|
||
|
|
||
|
Contains: bz_internal_error() (USE_BZIP2 only)
|
||
|
|
||
|
---------------------------------------------------------------------------*/
|
||
|
|
||
|
|
||
|
#define __UBZ2ERR_C /* identifies this source module */
|
||
|
#define UNZIP_INTERNAL
|
||
|
#include "unzip.h"
|
||
|
#ifdef WINDLL
|
||
|
# ifdef POCKET_UNZIP
|
||
|
# include "wince/intrface.h"
|
||
|
# else
|
||
|
# include "windll/windll.h"
|
||
|
# endif
|
||
|
#endif
|
||
|
|
||
|
#ifdef USE_BZIP2
|
||
|
|
||
|
/**********************************/
|
||
|
/* Function bz_internal_error() */
|
||
|
/**********************************/
|
||
|
|
||
|
/* Call-back function for the bzip2 decompression code (compiled with
|
||
|
* BZ_NO_STDIO), required to handle fatal internal bug-type errors of
|
||
|
* the bzip2 library.
|
||
|
*/
|
||
|
void bz_internal_error(bzerrcode)
|
||
|
int bzerrcode;
|
||
|
{
|
||
|
GETGLOBALS();
|
||
|
|
||
|
Info(slide, 0x421, ((char *)slide,
|
||
|
"error: internal fatal libbzip2 error number %d\n", bzerrcode));
|
||
|
#ifdef WINDLL
|
||
|
longjmp(dll_error_return, 1);
|
||
|
#else
|
||
|
DESTROYGLOBALS();
|
||
|
EXIT(PK_BADERR);
|
||
|
#endif
|
||
|
} /* end function bz_internal_error() */
|
||
|
|
||
|
#endif /* USE_BZIP2 */
|