diff options
| author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-10-12 10:49:29 +0000 | 
|---|---|---|
| committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-10-12 10:49:29 +0000 | 
| commit | 557f2816f5cd30705dec989c97a8a67c026d36d1 (patch) | |
| tree | 4900789ab5d52219bf065744a61f9ea5863b3428 /plugins/FreeImage/Source/LibMNG/libmng_zlib.c | |
| parent | 69fe21d6e2262d6fb2b14278b7a20364468cbdcf (diff) | |
FreeImage: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1884 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FreeImage/Source/LibMNG/libmng_zlib.c')
| -rw-r--r-- | plugins/FreeImage/Source/LibMNG/libmng_zlib.c | 607 | 
1 files changed, 0 insertions, 607 deletions
diff --git a/plugins/FreeImage/Source/LibMNG/libmng_zlib.c b/plugins/FreeImage/Source/LibMNG/libmng_zlib.c deleted file mode 100644 index 894bc74ac7..0000000000 --- a/plugins/FreeImage/Source/LibMNG/libmng_zlib.c +++ /dev/null @@ -1,607 +0,0 @@ -/* ************************************************************************** */
 -/* *             For conditions of distribution and use,                    * */
 -/* *                see copyright notice in libmng.h                        * */
 -/* ************************************************************************** */
 -/* *                                                                        * */
 -/* * project   : libmng                                                     * */
 -/* * file      : libmng_zlib.c             copyright (c) 2000-2004 G.Juyn   * */
 -/* * version   : 1.0.9                                                      * */
 -/* *                                                                        * */
 -/* * purpose   : ZLIB library interface (implementation)                    * */
 -/* *                                                                        * */
 -/* * author    : G.Juyn                                                     * */
 -/* *                                                                        * */
 -/* * comment   : implementation of the ZLIB library interface               * */
 -/* *                                                                        * */
 -/* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
 -/* *             - changed strict-ANSI stuff                                * */
 -/* *             0.5.1 - 05/11/2000 - G.Juyn                                * */
 -/* *             - filled the deflatedata routine                           * */
 -/* *             0.5.1 - 05/12/2000 - G.Juyn                                * */
 -/* *             - changed trace to macro for callback error-reporting      * */
 -/* *                                                                        * */
 -/* *             0.5.2 - 05/20/2000 - G.Juyn                                * */
 -/* *             - fixed for JNG alpha handling                             * */
 -/* *             0.5.2 - 05/24/2000 - G.Juyn                                * */
 -/* *             - moved init of default zlib parms from here to            * */
 -/* *               "mng_hlapi.c"                                            * */
 -/* *                                                                        * */
 -/* *             0.5.3 - 06/16/2000 - G.Juyn                                * */
 -/* *             - changed progressive-display processing                   * */
 -/* *                                                                        * */
 -/* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
 -/* *             - changed file-prefixes                                    * */
 -/* *                                                                        * */
 -/* *             0.9.3 - 08/08/2000 - G.Juyn                                * */
 -/* *             - fixed compiler-warnings from Mozilla                     * */
 -/* *             0.9.3 - 09/07/2000 - G.Juyn                                * */
 -/* *             - added support for new filter_types                       * */
 -/* *                                                                        * */
 -/* *             1.0.5 - 08/07/2002 - G.Juyn                                * */
 -/* *             - added test-option for PNG filter method 193 (=no filter) * */
 -/* *             1.0.5 - 08/19/2002 - G.Juyn                                * */
 -/* *             - B597134 - libmng pollutes the linker namespace           * */
 -/* *             1.0.5 - 09/19/2002 - G.Juyn                                * */
 -/* *             - added warning for too much IDAT data                     * */
 -/* *                                                                        * */
 -/* *             1.0.6 - 07/07/2003 - G.R-P                                 * */
 -/* *             - added MNG_NO_16BIT_SUPPORT support                       * */
 -/* *                                                                        * */
 -/* *             1.0.9 - 10/09/2004 - G.R-P                                 * */
 -/* *             - added MNG_NO_1_2_4BIT_SUPPORT support                    * */
 -/* *                                                                        * */
 -/* ************************************************************************** */
 -
 -#include "libmng.h"
 -#include "libmng_data.h"
 -#include "libmng_error.h"
 -#include "libmng_trace.h"
 -#ifdef __BORLANDC__
 -#pragma hdrstop
 -#endif
 -#include "libmng_memory.h"
 -#include "libmng_pixels.h"
 -#include "libmng_filter.h"
 -#include "libmng_zlib.h"
 -
 -#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
 -#pragma option -A                      /* force ANSI-C */
 -#endif
 -
 -/* ************************************************************************** */
 -
 -#ifdef MNG_INCLUDE_ZLIB
 -
 -/* ************************************************************************** */
 -
 -voidpf mngzlib_alloc (voidpf pData,
 -                      uInt   iCount,
 -                      uInt   iSize)
 -{
 -  voidpf pPtr;                         /* temporary space */
 -
 -#ifdef MNG_INTERNAL_MEMMNGMT
 -  pPtr = calloc (iCount, iSize);       /* local allocation */
 -#else
 -  if (((mng_datap)pData)->fMemalloc)   /* callback function set ? */
 -    pPtr = ((mng_datap)pData)->fMemalloc (iCount * iSize);
 -  else
 -    pPtr = Z_NULL;                     /* can't allocate! */
 -#endif
 -
 -  return pPtr;                         /* return the result */
 -}
 -
 -/* ************************************************************************** */
 -
 -void mngzlib_free (voidpf pData,
 -                   voidpf pAddress)
 -{
 -#ifdef MNG_INTERNAL_MEMMNGMT
 -  free (pAddress);                     /* free locally */
 -#else
 -  if (((mng_datap)pData)->fMemfree)    /* callback set? */
 -    ((mng_datap)pData)->fMemfree (pAddress, 1);
 -#endif
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_initialize (mng_datap pData)
 -{
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INITIALIZE, MNG_LC_START);
 -#endif
 -
 -#ifdef MNG_INTERNAL_MEMMNGMT
 -  pData->sZlib.zalloc = Z_NULL;        /* let zlib figure out memory management */
 -  pData->sZlib.zfree  = Z_NULL;
 -  pData->sZlib.opaque = Z_NULL;
 -#else                                  /* use user-provided callbacks */
 -  pData->sZlib.zalloc = mngzlib_alloc;
 -  pData->sZlib.zfree  = mngzlib_free;
 -  pData->sZlib.opaque = (voidpf)pData;
 -#endif
 -
 -  pData->bInflating   = MNG_FALSE;     /* not performing any action yet */
 -  pData->bDeflating   = MNG_FALSE;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INITIALIZE, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_cleanup (mng_datap pData)
 -{
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_CLEANUP, MNG_LC_START);
 -#endif
 -
 -  if (pData->bInflating)               /* force zlib cleanup */
 -    mngzlib_inflatefree (pData);
 -  if (pData->bDeflating)
 -    mngzlib_deflatefree (pData);
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_CLEANUP, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_inflateinit (mng_datap pData)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEINIT, MNG_LC_START);
 -#endif
 -                                       /* initialize zlib structures and such */
 -  iZrslt = inflateInit (&pData->sZlib);
 -
 -  if (iZrslt != Z_OK)                  /* on error bail out */
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -  pData->bInflating      = MNG_TRUE;   /* really inflating something now */
 -  pData->sZlib.next_out  = 0;          /* force JIT initialization */
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEINIT, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -#ifdef MNG_SUPPORT_DISPLAY
 -mng_retcode mngzlib_inflaterows (mng_datap  pData,
 -                                 mng_uint32 iInlen,
 -                                 mng_uint8p pIndata)
 -{
 -  int         iZrslt;
 -  mng_retcode iRslt;
 -  mng_ptr     pSwap;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEROWS, MNG_LC_START);
 -#endif
 -
 -  pData->sZlib.next_in   = pIndata;    /* let zlib know where to get stuff */
 -  pData->sZlib.avail_in  = (uInt)iInlen;
 -
 -  if (pData->sZlib.next_out == 0)      /* initialize output variables ? */
 -  {                                    /* let zlib know where to store stuff */
 -    pData->sZlib.next_out  = pData->pWorkrow;
 -    pData->sZlib.avail_out = (uInt)(pData->iRowsize + pData->iPixelofs);
 -#ifdef MNG_NO_1_2_4BIT_SUPPORT
 -    if (pData->iPNGdepth < 8)
 -       pData->sZlib.avail_out = (uInt)((pData->iPNGdepth*pData->iRowsize + 7)/8
 -           + pData->iPixelofs);
 -#endif
 -#ifdef MNG_NO_16BIT_SUPPORT
 -    if (pData->iPNGdepth > 8)
 -       pData->sZlib.avail_out = (uInt)(2*pData->iRowsize + pData->iPixelofs);
 -#endif
 -  }
 -
 -  do
 -  {                                    /* now inflate a row */
 -    iZrslt = inflate (&pData->sZlib, Z_SYNC_FLUSH);
 -                                       /* produced a full row ? */
 -    if (((iZrslt == Z_OK) || (iZrslt == Z_STREAM_END)) &&
 -        (pData->sZlib.avail_out == 0))
 -    {                                  /* image not completed yet ? */
 -      if (pData->iRow < (mng_int32)pData->iDataheight)
 -      {
 -#ifdef MNG_NO_1_2_4BIT_SUPPORT
 -        if (pData->iPNGdepth == 1)
 -        {
 -          /* Inflate Workrow to 8-bit */
 -          mng_int32  iX;
 -          mng_uint8p pSrc = pData->pWorkrow+1;
 -          mng_uint8p pDest = pSrc + pData->iRowsize - (pData->iRowsize+7)/8;
 -
 -          for (iX = ((pData->iRowsize+7)/8) ; iX > 0 ; iX--)
 -             *pDest++ = *pSrc++;
 -
 -          pDest = pData->pWorkrow+1;
 -          pSrc = pDest + pData->iRowsize - (pData->iRowsize+7)/8;
 -          for (iX = pData->iRowsize; ;)
 -          {
 -            *pDest++ = (((*pSrc)>>7)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>6)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>5)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>4)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>3)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>2)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>1)&1);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)   )&1);
 -            if (iX-- <= 0)
 -              break;
 -            pSrc++;
 -          }
 -        }
 -        else if (pData->iPNGdepth == 2)
 -        {
 -          /* Inflate Workrow to 8-bit */
 -          mng_int32  iX;
 -          mng_uint8p pSrc = pData->pWorkrow+1;
 -          mng_uint8p pDest = pSrc + pData->iRowsize - (2*pData->iRowsize+7)/8;
 -
 -          for (iX = ((2*pData->iRowsize+7)/8) ; iX > 0 ; iX--)
 -             *pDest++ = *pSrc++;
 -
 -          pDest = pData->pWorkrow+1;
 -          pSrc = pDest + pData->iRowsize - (2*pData->iRowsize+7)/8;
 -          for (iX = pData->iRowsize; ;)
 -          {
 -            *pDest++ = (((*pSrc)>>6)&3);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>4)&3);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)>>2)&3);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)   )&3);
 -            if (iX-- <= 0)
 -              break;
 -            pSrc++;
 -          }
 -        }
 -        else if (pData->iPNGdepth == 4)
 -        {
 -          /* Inflate Workrow to 8-bit */
 -          mng_int32  iX;
 -          mng_uint8p pSrc = pData->pWorkrow+1;
 -          mng_uint8p pDest = pSrc + pData->iRowsize - (4*pData->iRowsize+7)/8;
 -
 -          for (iX = ((4*pData->iRowsize+7)/8) ; iX > 0 ; iX--)
 -             *pDest++ = *pSrc++;
 -
 -          pDest = pData->pWorkrow+1;
 -          pSrc = pDest + pData->iRowsize - (4*pData->iRowsize+7)/8;
 -          for (iX = pData->iRowsize; ;)
 -          {
 -            *pDest++ = (((*pSrc)>>4)&0x0f);
 -            if (iX-- <= 0)
 -              break;
 -            *pDest++ = (((*pSrc)   )&0x0f);
 -            if (iX-- <= 0)
 -              break;
 -            pSrc++;
 -          }
 -        }
 -        if (pData->iPNGdepth < 8 && pData->iColortype == 0)
 -        {
 -          /* Expand samples to 8-bit by LBR */
 -          mng_int32  iX;
 -          mng_uint8p pSrc = pData->pWorkrow+1;
 -          mng_uint8 multiplier[]={0,255,85,0,17,0,0,0,1};
 -
 -          for (iX = pData->iRowsize; iX > 0; iX--)
 -              *pSrc++ *= multiplier[pData->iPNGdepth];
 -        }
 -#endif
 -#ifdef MNG_NO_16BIT_SUPPORT
 -        if (pData->iPNGdepth > 8)
 -        {
 -          /* Reduce Workrow to 8-bit */
 -          mng_int32  iX;
 -          mng_uint8p pSrc = pData->pWorkrow+1;
 -          mng_uint8p pDest = pSrc;
 -
 -          for (iX = pData->iRowsize; iX > 0; iX--)
 -          {
 -            *pDest = *pSrc;
 -            pDest++;
 -            pSrc+=2;
 -          }
 -        }
 -#endif
 -
 -#ifdef FILTER192                       /* has leveling info ? */
 -        if (pData->iFilterofs == MNG_FILTER_DIFFERING)
 -          iRslt = init_rowdiffering (pData);
 -        else
 -#endif
 -          iRslt = MNG_NOERROR;
 -                                       /* filter the row if necessary */
 -        if ((!iRslt) && (pData->iFilterofs < pData->iPixelofs  ) &&
 -                        (*(pData->pWorkrow + pData->iFilterofs))    )
 -          iRslt = mng_filter_a_row (pData);
 -        else
 -          iRslt = MNG_NOERROR;
 -                                       /* additional leveling/differing ? */
 -        if ((!iRslt) && (pData->fDifferrow))
 -        {
 -          iRslt = ((mng_differrow)pData->fDifferrow) (pData);
 -
 -          pSwap           = pData->pWorkrow;
 -          pData->pWorkrow = pData->pPrevrow;
 -          pData->pPrevrow = pSwap;     /* make sure we're processing the right data */
 -        }
 -
 -        if (!iRslt)
 -        {
 -#ifdef MNG_INCLUDE_JNG
 -          if (pData->bHasJHDR)         /* is JNG alpha-channel ? */
 -          {                            /* just store in object ? */
 -            if ((!iRslt) && (pData->fStorerow))
 -              iRslt = ((mng_storerow)pData->fStorerow)     (pData);
 -          }
 -          else
 -#endif /* MNG_INCLUDE_JNG */
 -          {                            /* process this row */
 -            if ((!iRslt) && (pData->fProcessrow))
 -              iRslt = ((mng_processrow)pData->fProcessrow) (pData);
 -                                       /* store in object ? */
 -            if ((!iRslt) && (pData->fStorerow))
 -              iRslt = ((mng_storerow)pData->fStorerow)     (pData);
 -                                       /* color correction ? */
 -            if ((!iRslt) && (pData->fCorrectrow))
 -              iRslt = ((mng_correctrow)pData->fCorrectrow) (pData);
 -                                       /* slap onto canvas ? */
 -            if ((!iRslt) && (pData->fDisplayrow))
 -            {
 -              iRslt = ((mng_displayrow)pData->fDisplayrow) (pData);
 -
 -              if (!iRslt)              /* check progressive display refresh */
 -                iRslt = mng_display_progressive_check (pData);
 -
 -            }
 -          }
 -        }
 -
 -        if (iRslt)                     /* on error bail out */
 -          MNG_ERROR (pData, iRslt);
 -
 -        if (!pData->fDifferrow)        /* swap row-pointers */
 -        {
 -          pSwap           = pData->pWorkrow;
 -          pData->pWorkrow = pData->pPrevrow;
 -          pData->pPrevrow = pSwap;     /* so prev points to the processed row! */
 -        }
 -
 -        iRslt = mng_next_row (pData);  /* adjust variables for next row */
 -
 -        if (iRslt)                     /* on error bail out */
 -          MNG_ERROR (pData, iRslt);
 -      }
 -                                       /* let zlib know where to store next output */
 -      pData->sZlib.next_out  = pData->pWorkrow;
 -      pData->sZlib.avail_out = (uInt)(pData->iRowsize + pData->iPixelofs);
 -#ifdef MNG_NO_1_2_4BIT_SUPPORT
 -    if (pData->iPNGdepth < 8)
 -       pData->sZlib.avail_out = (uInt)((pData->iPNGdepth*pData->iRowsize + 7)/8
 -           + pData->iPixelofs);
 -#endif
 -#ifdef MNG_NO_16BIT_SUPPORT
 -      if (pData->iPNGdepth > 8)
 -        pData->sZlib.avail_out = (uInt)(2*pData->iRowsize + pData->iPixelofs);
 -#endif
 -    }
 -  }                                    /* until some error or EOI
 -                                          or all pixels received */
 -  while ( (iZrslt == Z_OK) && (pData->sZlib.avail_in > 0)      &&
 -          ( (pData->iRow < (mng_int32)pData->iDataheight) ||
 -            ( (pData->iPass >= 0) && (pData->iPass < 7) )    )    );
 -                                       /* on error bail out */
 -  if ((iZrslt != Z_OK) && (iZrslt != Z_STREAM_END))
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -                                       /* too much data ? */
 -  if ((iZrslt == Z_OK) && (pData->sZlib.avail_in > 0))
 -    MNG_WARNING (pData, MNG_TOOMUCHIDAT);
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEROWS, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;
 -}
 -#endif /* MNG_SUPPORT_DISPLAY */
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_inflatedata (mng_datap  pData,
 -                                 mng_uint32 iInlen,
 -                                 mng_uint8p pIndata)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEDATA, MNG_LC_START);
 -#endif
 -                                       /* let zlib know where to get stuff */
 -  pData->sZlib.next_in   = pIndata;
 -  pData->sZlib.avail_in  = (uInt)iInlen;
 -                                       /* now inflate the data in one go! */
 -  iZrslt = inflate (&pData->sZlib, Z_FINISH);
 -                                       /* not enough room in output-buffer ? */
 -  if ((iZrslt == Z_BUF_ERROR) || (pData->sZlib.avail_in > 0))
 -    return MNG_BUFOVERFLOW;
 -                                       /* on error bail out */
 -  if ((iZrslt != Z_OK) && (iZrslt != Z_STREAM_END))
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEDATA, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_inflatefree (mng_datap pData)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEFREE, MNG_LC_START);
 -#endif
 -
 -  pData->bInflating = MNG_FALSE;       /* stopped it */
 -
 -  iZrslt = inflateEnd (&pData->sZlib); /* let zlib cleanup its own stuff */
 -
 -  if (iZrslt != Z_OK)                  /* on error bail out */
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_INFLATEFREE, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_deflateinit (mng_datap pData)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEINIT, MNG_LC_START);
 -#endif
 -                                       /* initialize zlib structures and such */
 -  iZrslt = deflateInit2 (&pData->sZlib, pData->iZlevel, pData->iZmethod,
 -                         pData->iZwindowbits, pData->iZmemlevel,
 -                         pData->iZstrategy);
 -
 -  if (iZrslt != Z_OK)                  /* on error bail out */
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -  pData->bDeflating = MNG_TRUE;        /* really deflating something now */
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEINIT, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_deflaterows (mng_datap  pData,
 -                                 mng_uint32 iInlen,
 -                                 mng_uint8p pIndata)
 -{
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEROWS, MNG_LC_START);
 -#endif
 -
 -
 -
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEROWS, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_deflatedata (mng_datap  pData,
 -                                 mng_uint32 iInlen,
 -                                 mng_uint8p pIndata)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEDATA, MNG_LC_START);
 -#endif
 -
 -  pData->sZlib.next_in  = pIndata;     /* let zlib know where to get stuff */
 -  pData->sZlib.avail_in = (uInt)iInlen;
 -                                       /* now deflate the data in one go! */
 -  iZrslt = deflate (&pData->sZlib, Z_FINISH);
 -                                       /* not enough room in output-buffer ? */
 -  if ((iZrslt == Z_BUF_ERROR) || (pData->sZlib.avail_in > 0))
 -    return MNG_BUFOVERFLOW;
 -                                       /* on error bail out */
 -  if ((iZrslt != Z_OK) && (iZrslt != Z_STREAM_END))
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEDATA, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;
 -}
 -
 -/* ************************************************************************** */
 -
 -mng_retcode mngzlib_deflatefree (mng_datap pData)
 -{
 -  int iZrslt;
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEFREE, MNG_LC_START);
 -#endif
 -
 -  iZrslt = deflateEnd (&pData->sZlib); /* let zlib cleanup its own stuff */
 -
 -  if (iZrslt != Z_OK)                  /* on error bail out */
 -    MNG_ERRORZ (pData, (mng_uint32)iZrslt);
 -
 -  pData->bDeflating = MNG_FALSE;       /* stopped it */
 -
 -#ifdef MNG_SUPPORT_TRACE
 -  MNG_TRACE (pData, MNG_FN_ZLIB_DEFLATEFREE, MNG_LC_END);
 -#endif
 -
 -  return MNG_NOERROR;                  /* done */
 -}
 -
 -/* ************************************************************************** */
 -
 -#endif /* MNG_INCLUDE_ZLIB */
 -
 -/* ************************************************************************** */
 -/* * end of file                                                            * */
 -/* ************************************************************************** */
 -
  | 
