зеркало из https://github.com/mozilla/pjs.git
2103 строки
51 KiB
C
2103 строки
51 KiB
C
/* ************************************************************************** */
|
|
/* * For conditions of distribution and use, * */
|
|
/* * see copyright notice in libmng.h * */
|
|
/* ************************************************************************** */
|
|
/* * * */
|
|
/* * project : libmng * */
|
|
/* * file : libmng_chunk_prc.c copyright (c) 2000 G.Juyn * */
|
|
/* * version : 1.0.0 * */
|
|
/* * * */
|
|
/* * purpose : Chunk initialization & cleanup (implementation) * */
|
|
/* * * */
|
|
/* * author : G.Juyn * */
|
|
/* * web : http://www.3-t.com * */
|
|
/* * email : mailto:info@3-t.com * */
|
|
/* * * */
|
|
/* * comment : implementation of the chunk initialization & cleanup * */
|
|
/* * routines * */
|
|
/* * * */
|
|
/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
|
|
/* * - changed strict-ANSI stuff * */
|
|
/* * 0.5.1 - 05/12/2000 - G.Juyn * */
|
|
/* * - changed trace to macro for callback error-reporting * */
|
|
/* * * */
|
|
/* * 0.9.1 - 07/19/2000 - G.Juyn * */
|
|
/* * - fixed creation-code * */
|
|
/* * * */
|
|
/* * 0.9.2 - 07/31/2000 - G.Juyn * */
|
|
/* * - put add_chunk() inside MNG_INCLUDE_WRITE_PROCS wrapper * */
|
|
/* * 0.9.2 - 08/01/2000 - G.Juyn * */
|
|
/* * - wrapper for add_chunk() changed * */
|
|
/* * 0.9.2 - 08/05/2000 - G.Juyn * */
|
|
/* * - changed file-prefixes * */
|
|
/* * * */
|
|
/* * 0.9.3 - 08/26/2000 - G.Juyn * */
|
|
/* * - added MAGN chunk * */
|
|
/* * 0.9.3 - 10/16/2000 - G.Juyn * */
|
|
/* * - added support for JDAA * */
|
|
/* * * */
|
|
/* ************************************************************************** */
|
|
|
|
#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_chunks.h"
|
|
#include "libmng_chunk_prc.h"
|
|
|
|
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
|
|
#pragma option -A /* force ANSI-C */
|
|
#endif
|
|
|
|
/* ************************************************************************** */
|
|
/* * * */
|
|
/* * General chunk routines * */
|
|
/* * * */
|
|
/* ************************************************************************** */
|
|
|
|
void add_chunk (mng_datap pData,
|
|
mng_chunkp pChunk)
|
|
{
|
|
if (!pData->pFirstchunk) /* list is still empty ? */
|
|
{
|
|
pData->pFirstchunk = pChunk; /* then this becomes the first */
|
|
|
|
#ifdef MNG_SUPPORT_WRITE
|
|
pData->iFirstchunkadded = ((mng_chunk_headerp)pChunk)->iChunkname;
|
|
#endif
|
|
|
|
if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_IHDR)
|
|
pData->eImagetype = mng_it_png;
|
|
else
|
|
#ifdef MNG_INCLUDE_JNG
|
|
if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_JHDR)
|
|
pData->eImagetype = mng_it_jng;
|
|
else
|
|
#endif
|
|
pData->eImagetype = mng_it_mng;
|
|
|
|
pData->eSigtype = pData->eImagetype;
|
|
}
|
|
else
|
|
{ /* else we make appropriate links */
|
|
((mng_chunk_headerp)pChunk)->pPrev = pData->pLastchunk;
|
|
((mng_chunk_headerp)pData->pLastchunk)->pNext = pChunk;
|
|
}
|
|
|
|
pData->pLastchunk = pChunk; /* and it's always the last */
|
|
|
|
return;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
/* * * */
|
|
/* * Chunk specific initialization routines * */
|
|
/* * * */
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_ihdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_ihdr))
|
|
((mng_ihdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_plte)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_plte))
|
|
((mng_pltep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_idat)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_idat))
|
|
((mng_idatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_iend)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_iend))
|
|
((mng_iendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_trns)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_trns))
|
|
((mng_trnsp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_gama)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_gama))
|
|
((mng_gamap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_chrm)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_chrm))
|
|
((mng_chrmp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_srgb)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_srgb))
|
|
((mng_srgbp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_iccp)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_iccp))
|
|
((mng_iccpp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_text)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_text))
|
|
((mng_textp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_ztxt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_ztxt))
|
|
((mng_ztxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_itxt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_itxt))
|
|
((mng_itxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_bkgd)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_bkgd))
|
|
((mng_bkgdp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_phys)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_phys))
|
|
((mng_physp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_sbit)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_sbit))
|
|
((mng_sbitp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_splt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_splt))
|
|
((mng_spltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_hist)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_hist))
|
|
((mng_histp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_time)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_time))
|
|
((mng_timep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_mhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_mhdr))
|
|
((mng_mhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_mend)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_mend))
|
|
((mng_mendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_loop)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_loop))
|
|
((mng_loopp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_endl)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_endl))
|
|
((mng_endlp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_defi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_defi))
|
|
((mng_defip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_basi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_basi))
|
|
((mng_basip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_clon)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_clon))
|
|
((mng_clonp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_past)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_past))
|
|
((mng_pastp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_disc)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_disc))
|
|
((mng_discp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_back)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_back))
|
|
((mng_backp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_fram)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_fram))
|
|
((mng_framp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_move)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_move))
|
|
((mng_movep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_clip)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_clip))
|
|
((mng_clipp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_show)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_show))
|
|
((mng_showp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_term)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_term))
|
|
((mng_termp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_save)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_save))
|
|
((mng_savep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_seek)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_seek))
|
|
((mng_seekp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_expi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_expi))
|
|
((mng_expip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_fpri)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_fpri))
|
|
((mng_fprip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_need)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_need))
|
|
((mng_needp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_phyg)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_phyg))
|
|
((mng_phygp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
INIT_CHUNK_HDR (init_jhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_jhdr))
|
|
((mng_jhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
INIT_CHUNK_HDR (init_jdaa)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdaa))
|
|
((mng_jdaap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
INIT_CHUNK_HDR (init_jdat)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdat))
|
|
((mng_jdatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
INIT_CHUNK_HDR (init_jsep)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_jsep))
|
|
((mng_jsepp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_dhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_dhdr))
|
|
((mng_dhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_prom)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_prom))
|
|
((mng_promp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_ipng)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_ipng))
|
|
((mng_ipngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_pplt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_pplt))
|
|
((mng_ppltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_ijng)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_ijng))
|
|
((mng_ijngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_drop)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_drop))
|
|
((mng_dropp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_dbyk)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_dbyk))
|
|
((mng_dbykp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_ordr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_ordr))
|
|
((mng_ordrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_magn)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_magn))
|
|
((mng_magnp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
INIT_CHUNK_HDR (init_unknown)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_ALLOC (pData, *ppChunk, sizeof (mng_unknown_chunk))
|
|
((mng_unknown_chunkp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
/* * * */
|
|
/* * Chunk specific cleanup routines * */
|
|
/* * * */
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_ihdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_ihdr))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_plte)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_plte))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_idat)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_idatp)pHeader)->iDatasize)
|
|
MNG_FREEX (pData, ((mng_idatp)pHeader)->pData,
|
|
((mng_idatp)pHeader)->iDatasize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_idat))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_iend)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_iend))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_trns)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_trns))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_gama)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_gama))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_chrm)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_chrm))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_srgb)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_srgb))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_iccp)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_iccpp)pHeader)->iNamesize)
|
|
MNG_FREEX (pData, ((mng_iccpp)pHeader)->zName,
|
|
((mng_iccpp)pHeader)->iNamesize + 1)
|
|
|
|
if (((mng_iccpp)pHeader)->iProfilesize)
|
|
MNG_FREEX (pData, ((mng_iccpp)pHeader)->pProfile,
|
|
((mng_iccpp)pHeader)->iProfilesize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_iccp))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_text)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_textp)pHeader)->iKeywordsize)
|
|
MNG_FREEX (pData, ((mng_textp)pHeader)->zKeyword,
|
|
((mng_textp)pHeader)->iKeywordsize + 1)
|
|
|
|
if (((mng_textp)pHeader)->iTextsize)
|
|
MNG_FREEX (pData, ((mng_textp)pHeader)->zText,
|
|
((mng_textp)pHeader)->iTextsize + 1)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_text))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_ztxt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_ztxtp)pHeader)->iKeywordsize)
|
|
MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zKeyword,
|
|
((mng_ztxtp)pHeader)->iKeywordsize + 1)
|
|
|
|
if (((mng_ztxtp)pHeader)->iTextsize)
|
|
MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zText,
|
|
((mng_ztxtp)pHeader)->iTextsize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_ztxt))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_itxt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_itxtp)pHeader)->iKeywordsize)
|
|
MNG_FREEX (pData, ((mng_itxtp)pHeader)->zKeyword,
|
|
((mng_itxtp)pHeader)->iKeywordsize + 1)
|
|
|
|
if (((mng_itxtp)pHeader)->iLanguagesize)
|
|
MNG_FREEX (pData, ((mng_itxtp)pHeader)->zLanguage,
|
|
((mng_itxtp)pHeader)->iLanguagesize + 1)
|
|
|
|
if (((mng_itxtp)pHeader)->iTranslationsize)
|
|
MNG_FREEX (pData, ((mng_itxtp)pHeader)->zTranslation,
|
|
((mng_itxtp)pHeader)->iTranslationsize + 1)
|
|
|
|
if (((mng_itxtp)pHeader)->iTextsize)
|
|
MNG_FREEX (pData, ((mng_itxtp)pHeader)->zText,
|
|
((mng_itxtp)pHeader)->iTextsize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_itxt))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_bkgd)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_bkgd))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_phys)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_phys))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_sbit)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_sbit))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_splt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_spltp)pHeader)->iNamesize)
|
|
MNG_FREEX (pData, ((mng_spltp)pHeader)->zName,
|
|
((mng_spltp)pHeader)->iNamesize + 1)
|
|
|
|
if (((mng_spltp)pHeader)->iEntrycount)
|
|
MNG_FREEX (pData, ((mng_spltp)pHeader)->pEntries,
|
|
((mng_spltp)pHeader)->iEntrycount *
|
|
(((mng_spltp)pHeader)->iSampledepth * 3 + sizeof (mng_uint16)) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_splt))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_hist)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_hist))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_time)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_time))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_mhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_mhdr))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_mend)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_mend))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_loop)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_loopp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_loopp)pHeader)->pSignals,
|
|
((mng_loopp)pHeader)->iCount * sizeof (mng_uint32) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_loop))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_endl)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_endl))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_defi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_defi))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_basi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_basi))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_clon)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_clon))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_past)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_pastp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_pastp)pHeader)->pSources,
|
|
((mng_pastp)pHeader)->iCount * sizeof (mng_past_source) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_past))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_disc)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_discp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_discp)pHeader)->pObjectids,
|
|
((mng_discp)pHeader)->iCount * sizeof (mng_uint16) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_disc))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_back)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_back))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_fram)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_framp)pHeader)->iNamesize)
|
|
MNG_FREEX (pData, ((mng_framp)pHeader)->zName,
|
|
((mng_framp)pHeader)->iNamesize + 1)
|
|
|
|
if (((mng_framp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_framp)pHeader)->pSyncids,
|
|
((mng_framp)pHeader)->iCount * sizeof (mng_uint32) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_fram))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_move)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_move))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_clip)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_clip))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_show)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_show))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_term)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_term))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_save)
|
|
{
|
|
mng_save_entryp pEntry = ((mng_savep)pHeader)->pEntries;
|
|
mng_uint32 iX;
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_START)
|
|
#endif
|
|
|
|
for (iX = 0; iX < ((mng_savep)pHeader)->iCount; iX++)
|
|
{
|
|
if (pEntry->iNamesize)
|
|
MNG_FREEX (pData, pEntry->zName, pEntry->iNamesize)
|
|
|
|
pEntry = pEntry + sizeof (mng_save_entry);
|
|
}
|
|
|
|
if (((mng_savep)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_savep)pHeader)->pEntries,
|
|
((mng_savep)pHeader)->iCount * sizeof (mng_save_entry) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_save))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_seek)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_seekp)pHeader)->iNamesize)
|
|
MNG_FREEX (pData, ((mng_seekp)pHeader)->zName,
|
|
((mng_seekp)pHeader)->iNamesize + 1)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_seek))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_expi)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_expip)pHeader)->iNamesize)
|
|
MNG_FREEX (pData, ((mng_expip)pHeader)->zName,
|
|
((mng_expip)pHeader)->iNamesize + 1)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_expi))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_fpri)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_fpri))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_need)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_needp)pHeader)->iKeywordssize)
|
|
MNG_FREEX (pData, ((mng_needp)pHeader)->zKeywords,
|
|
((mng_needp)pHeader)->iKeywordssize + 1)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_need))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_phyg)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_phyg))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
FREE_CHUNK_HDR (free_jhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_jhdr))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
FREE_CHUNK_HDR (free_jdaa)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_jdaap)pHeader)->iDatasize)
|
|
MNG_FREEX (pData, ((mng_jdaap)pHeader)->pData,
|
|
((mng_jdaap)pHeader)->iDatasize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_jdaa))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
FREE_CHUNK_HDR (free_jdat)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_jdatp)pHeader)->iDatasize)
|
|
MNG_FREEX (pData, ((mng_jdatp)pHeader)->pData,
|
|
((mng_jdatp)pHeader)->iDatasize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_jdat))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
#ifdef MNG_INCLUDE_JNG
|
|
FREE_CHUNK_HDR (free_jsep)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_jsep))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
#endif /* MNG_INCLUDE_JNG */
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_dhdr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_dhdr))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_prom)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_prom))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_ipng)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_ipng))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_pplt)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_pplt))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_ijng)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_ijng))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_drop)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_dropp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_dropp)pHeader)->pChunknames,
|
|
((mng_dropp)pHeader)->iCount * sizeof (mng_chunkid) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_drop))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_dbyk)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_dbykp)pHeader)->iKeywordssize)
|
|
MNG_FREEX (pData, ((mng_dbykp)pHeader)->zKeywords,
|
|
((mng_dbykp)pHeader)->iKeywordssize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_dbyk))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_ordr)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_ordrp)pHeader)->iCount)
|
|
MNG_FREEX (pData, ((mng_ordrp)pHeader)->pEntries,
|
|
((mng_ordrp)pHeader)->iCount * sizeof (mng_ordr_entry) )
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_ordr))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_magn)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_START)
|
|
#endif
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_magn))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
|
|
FREE_CHUNK_HDR (free_unknown)
|
|
{
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_START)
|
|
#endif
|
|
|
|
if (((mng_unknown_chunkp)pHeader)->iDatasize)
|
|
MNG_FREEX (pData, ((mng_unknown_chunkp)pHeader)->pData,
|
|
((mng_unknown_chunkp)pHeader)->iDatasize)
|
|
|
|
MNG_FREEX (pData, pHeader, sizeof (mng_unknown_chunk))
|
|
|
|
#ifdef MNG_SUPPORT_TRACE
|
|
MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_END)
|
|
#endif
|
|
|
|
return MNG_NOERROR;
|
|
}
|
|
|
|
/* ************************************************************************** */
|
|
/* * end of file * */
|
|
/* ************************************************************************** */
|
|
|