source: trunk/src/3rdparty/libmng/libmng_chunk_prc.c

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 52.8 KB
Line 
1/* ************************************************************************** */
2/* * For conditions of distribution and use, * */
3/* * see copyright notice in libmng.h * */
4/* ************************************************************************** */
5/* * * */
6/* * project : libmng * */
7/* * file : libmng_chunk_prc.c copyright (c) 2000 G.Juyn * */
8/* * version : 1.0.0 * */
9/* * * */
10/* * purpose : Chunk initialization & cleanup (implementation) * */
11/* * * */
12/* * author : G.Juyn * */
13/* * web : http://www.3-t.com * */
14/* * email : mailto:info@3-t.com * */
15/* * * */
16/* * comment : implementation of the chunk initialization & cleanup * */
17/* * routines * */
18/* * * */
19/* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
20/* * - changed strict-ANSI stuff * */
21/* * 0.5.1 - 05/12/2000 - G.Juyn * */
22/* * - changed trace to macro for callback error-reporting * */
23/* * * */
24/* * 0.9.1 - 07/19/2000 - G.Juyn * */
25/* * - fixed creation-code * */
26/* * * */
27/* * 0.9.2 - 07/31/2000 - G.Juyn * */
28/* * - put add_chunk() inside MNG_INCLUDE_WRITE_PROCS wrapper * */
29/* * 0.9.2 - 08/01/2000 - G.Juyn * */
30/* * - wrapper for add_chunk() changed * */
31/* * 0.9.2 - 08/05/2000 - G.Juyn * */
32/* * - changed file-prefixes * */
33/* * * */
34/* * 0.9.3 - 08/26/2000 - G.Juyn * */
35/* * - added MAGN chunk * */
36/* * 0.9.3 - 10/16/2000 - G.Juyn * */
37/* * - added support for JDAA * */
38/* * * */
39/* ************************************************************************** */
40
41#include "libmng.h"
42#include "libmng_data.h"
43#include "libmng_error.h"
44#include "libmng_trace.h"
45#ifdef __BORLANDC__
46#pragma hdrstop
47#endif
48#include "libmng_memory.h"
49#include "libmng_chunks.h"
50#include "libmng_chunk_prc.h"
51
52#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
53#pragma option -A /* force ANSI-C */
54#endif
55
56/* ************************************************************************** */
57/* * * */
58/* * General chunk routines * */
59/* * * */
60/* ************************************************************************** */
61
62void add_chunk (mng_datap pData,
63 mng_chunkp pChunk)
64{
65 if (!pData->pFirstchunk) /* list is still empty ? */
66 {
67 pData->pFirstchunk = pChunk; /* then this becomes the first */
68
69#ifdef MNG_SUPPORT_WRITE
70 pData->iFirstchunkadded = ((mng_chunk_headerp)pChunk)->iChunkname;
71#endif
72
73 if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_IHDR)
74 pData->eImagetype = mng_it_png;
75 else
76#ifdef MNG_INCLUDE_JNG
77 if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_JHDR)
78 pData->eImagetype = mng_it_jng;
79 else
80#endif
81 pData->eImagetype = mng_it_mng;
82
83 pData->eSigtype = pData->eImagetype;
84 }
85 else
86 { /* else we make appropriate links */
87 ((mng_chunk_headerp)pChunk)->pPrev = pData->pLastchunk;
88 ((mng_chunk_headerp)pData->pLastchunk)->pNext = pChunk;
89 }
90
91 pData->pLastchunk = pChunk; /* and it's always the last */
92
93 return;
94}
95
96/* ************************************************************************** */
97/* * * */
98/* * Chunk specific initialization routines * */
99/* * * */
100/* ************************************************************************** */
101
102INIT_CHUNK_HDR (init_ihdr)
103{
104#ifdef MNG_SUPPORT_TRACE
105 MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_START)
106#endif
107
108 MNG_ALLOC (pData, *ppChunk, sizeof (mng_ihdr))
109 ((mng_ihdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
110
111#ifdef MNG_SUPPORT_TRACE
112 MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_END)
113#endif
114
115 return MNG_NOERROR;
116}
117
118/* ************************************************************************** */
119
120INIT_CHUNK_HDR (init_plte)
121{
122#ifdef MNG_SUPPORT_TRACE
123 MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_START)
124#endif
125
126 MNG_ALLOC (pData, *ppChunk, sizeof (mng_plte))
127 ((mng_pltep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
128
129#ifdef MNG_SUPPORT_TRACE
130 MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_END)
131#endif
132
133 return MNG_NOERROR;
134}
135
136/* ************************************************************************** */
137
138INIT_CHUNK_HDR (init_idat)
139{
140#ifdef MNG_SUPPORT_TRACE
141 MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_START)
142#endif
143
144 MNG_ALLOC (pData, *ppChunk, sizeof (mng_idat))
145 ((mng_idatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
146
147#ifdef MNG_SUPPORT_TRACE
148 MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_END)
149#endif
150
151 return MNG_NOERROR;
152}
153
154/* ************************************************************************** */
155
156INIT_CHUNK_HDR (init_iend)
157{
158#ifdef MNG_SUPPORT_TRACE
159 MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_START)
160#endif
161
162 MNG_ALLOC (pData, *ppChunk, sizeof (mng_iend))
163 ((mng_iendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
164
165#ifdef MNG_SUPPORT_TRACE
166 MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_END)
167#endif
168
169 return MNG_NOERROR;
170}
171
172/* ************************************************************************** */
173
174INIT_CHUNK_HDR (init_trns)
175{
176#ifdef MNG_SUPPORT_TRACE
177 MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_START)
178#endif
179
180 MNG_ALLOC (pData, *ppChunk, sizeof (mng_trns))
181 ((mng_trnsp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
182
183#ifdef MNG_SUPPORT_TRACE
184 MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_END)
185#endif
186
187 return MNG_NOERROR;
188}
189
190/* ************************************************************************** */
191
192INIT_CHUNK_HDR (init_gama)
193{
194#ifdef MNG_SUPPORT_TRACE
195 MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_START)
196#endif
197
198 MNG_ALLOC (pData, *ppChunk, sizeof (mng_gama))
199 ((mng_gamap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
200
201#ifdef MNG_SUPPORT_TRACE
202 MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_END)
203#endif
204
205 return MNG_NOERROR;
206}
207
208/* ************************************************************************** */
209
210INIT_CHUNK_HDR (init_chrm)
211{
212#ifdef MNG_SUPPORT_TRACE
213 MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_START)
214#endif
215
216 MNG_ALLOC (pData, *ppChunk, sizeof (mng_chrm))
217 ((mng_chrmp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
218
219#ifdef MNG_SUPPORT_TRACE
220 MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_END)
221#endif
222
223 return MNG_NOERROR;
224}
225
226/* ************************************************************************** */
227
228INIT_CHUNK_HDR (init_srgb)
229{
230#ifdef MNG_SUPPORT_TRACE
231 MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_START)
232#endif
233
234 MNG_ALLOC (pData, *ppChunk, sizeof (mng_srgb))
235 ((mng_srgbp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
236
237#ifdef MNG_SUPPORT_TRACE
238 MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_END)
239#endif
240
241 return MNG_NOERROR;
242}
243
244/* ************************************************************************** */
245
246INIT_CHUNK_HDR (init_iccp)
247{
248#ifdef MNG_SUPPORT_TRACE
249 MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_START)
250#endif
251
252 MNG_ALLOC (pData, *ppChunk, sizeof (mng_iccp))
253 ((mng_iccpp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
254
255#ifdef MNG_SUPPORT_TRACE
256 MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_END)
257#endif
258
259 return MNG_NOERROR;
260}
261
262/* ************************************************************************** */
263
264INIT_CHUNK_HDR (init_text)
265{
266#ifdef MNG_SUPPORT_TRACE
267 MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_START)
268#endif
269
270 MNG_ALLOC (pData, *ppChunk, sizeof (mng_text))
271 ((mng_textp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
272
273#ifdef MNG_SUPPORT_TRACE
274 MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_END)
275#endif
276
277 return MNG_NOERROR;
278}
279
280/* ************************************************************************** */
281
282INIT_CHUNK_HDR (init_ztxt)
283{
284#ifdef MNG_SUPPORT_TRACE
285 MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_START)
286#endif
287
288 MNG_ALLOC (pData, *ppChunk, sizeof (mng_ztxt))
289 ((mng_ztxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
290
291#ifdef MNG_SUPPORT_TRACE
292 MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_END)
293#endif
294
295 return MNG_NOERROR;
296}
297
298/* ************************************************************************** */
299
300INIT_CHUNK_HDR (init_itxt)
301{
302#ifdef MNG_SUPPORT_TRACE
303 MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_START)
304#endif
305
306 MNG_ALLOC (pData, *ppChunk, sizeof (mng_itxt))
307 ((mng_itxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
308
309#ifdef MNG_SUPPORT_TRACE
310 MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_END)
311#endif
312
313 return MNG_NOERROR;
314}
315
316/* ************************************************************************** */
317
318INIT_CHUNK_HDR (init_bkgd)
319{
320#ifdef MNG_SUPPORT_TRACE
321 MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_START)
322#endif
323
324 MNG_ALLOC (pData, *ppChunk, sizeof (mng_bkgd))
325 ((mng_bkgdp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
326
327#ifdef MNG_SUPPORT_TRACE
328 MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_END)
329#endif
330
331 return MNG_NOERROR;
332}
333
334/* ************************************************************************** */
335
336INIT_CHUNK_HDR (init_phys)
337{
338#ifdef MNG_SUPPORT_TRACE
339 MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_START)
340#endif
341
342 MNG_ALLOC (pData, *ppChunk, sizeof (mng_phys))
343 ((mng_physp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
344
345#ifdef MNG_SUPPORT_TRACE
346 MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_END)
347#endif
348
349 return MNG_NOERROR;
350}
351
352/* ************************************************************************** */
353
354INIT_CHUNK_HDR (init_sbit)
355{
356#ifdef MNG_SUPPORT_TRACE
357 MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_START)
358#endif
359
360 MNG_ALLOC (pData, *ppChunk, sizeof (mng_sbit))
361 ((mng_sbitp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
362
363#ifdef MNG_SUPPORT_TRACE
364 MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_END)
365#endif
366
367 return MNG_NOERROR;
368}
369
370/* ************************************************************************** */
371
372INIT_CHUNK_HDR (init_splt)
373{
374#ifdef MNG_SUPPORT_TRACE
375 MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_START)
376#endif
377
378 MNG_ALLOC (pData, *ppChunk, sizeof (mng_splt))
379 ((mng_spltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
380
381#ifdef MNG_SUPPORT_TRACE
382 MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_END)
383#endif
384
385 return MNG_NOERROR;
386}
387
388/* ************************************************************************** */
389
390INIT_CHUNK_HDR (init_hist)
391{
392#ifdef MNG_SUPPORT_TRACE
393 MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_START)
394#endif
395
396 MNG_ALLOC (pData, *ppChunk, sizeof (mng_hist))
397 ((mng_histp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
398
399#ifdef MNG_SUPPORT_TRACE
400 MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_END)
401#endif
402
403 return MNG_NOERROR;
404}
405
406/* ************************************************************************** */
407
408INIT_CHUNK_HDR (init_time)
409{
410#ifdef MNG_SUPPORT_TRACE
411 MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_START)
412#endif
413
414 MNG_ALLOC (pData, *ppChunk, sizeof (mng_time))
415 ((mng_timep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
416
417#ifdef MNG_SUPPORT_TRACE
418 MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_END)
419#endif
420
421 return MNG_NOERROR;
422}
423
424/* ************************************************************************** */
425
426INIT_CHUNK_HDR (init_mhdr)
427{
428#ifdef MNG_SUPPORT_TRACE
429 MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_START)
430#endif
431
432 MNG_ALLOC (pData, *ppChunk, sizeof (mng_mhdr))
433 ((mng_mhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
434
435#ifdef MNG_SUPPORT_TRACE
436 MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_END)
437#endif
438
439 return MNG_NOERROR;
440}
441
442/* ************************************************************************** */
443
444INIT_CHUNK_HDR (init_mend)
445{
446#ifdef MNG_SUPPORT_TRACE
447 MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_START)
448#endif
449
450 MNG_ALLOC (pData, *ppChunk, sizeof (mng_mend))
451 ((mng_mendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
452
453#ifdef MNG_SUPPORT_TRACE
454 MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_END)
455#endif
456
457 return MNG_NOERROR;
458}
459
460/* ************************************************************************** */
461
462INIT_CHUNK_HDR (init_loop)
463{
464#ifdef MNG_SUPPORT_TRACE
465 MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_START)
466#endif
467
468 MNG_ALLOC (pData, *ppChunk, sizeof (mng_loop))
469 ((mng_loopp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
470
471#ifdef MNG_SUPPORT_TRACE
472 MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_END)
473#endif
474
475 return MNG_NOERROR;
476}
477
478/* ************************************************************************** */
479
480INIT_CHUNK_HDR (init_endl)
481{
482#ifdef MNG_SUPPORT_TRACE
483 MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_START)
484#endif
485
486 MNG_ALLOC (pData, *ppChunk, sizeof (mng_endl))
487 ((mng_endlp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
488
489#ifdef MNG_SUPPORT_TRACE
490 MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_END)
491#endif
492
493 return MNG_NOERROR;
494}
495
496/* ************************************************************************** */
497
498INIT_CHUNK_HDR (init_defi)
499{
500#ifdef MNG_SUPPORT_TRACE
501 MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_START)
502#endif
503
504 MNG_ALLOC (pData, *ppChunk, sizeof (mng_defi))
505 ((mng_defip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
506
507#ifdef MNG_SUPPORT_TRACE
508 MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_END)
509#endif
510
511 return MNG_NOERROR;
512}
513
514/* ************************************************************************** */
515
516INIT_CHUNK_HDR (init_basi)
517{
518#ifdef MNG_SUPPORT_TRACE
519 MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_START)
520#endif
521
522 MNG_ALLOC (pData, *ppChunk, sizeof (mng_basi))
523 ((mng_basip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
524
525#ifdef MNG_SUPPORT_TRACE
526 MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_END)
527#endif
528
529 return MNG_NOERROR;
530}
531
532/* ************************************************************************** */
533
534INIT_CHUNK_HDR (init_clon)
535{
536#ifdef MNG_SUPPORT_TRACE
537 MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_START)
538#endif
539
540 MNG_ALLOC (pData, *ppChunk, sizeof (mng_clon))
541 ((mng_clonp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
542
543#ifdef MNG_SUPPORT_TRACE
544 MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_END)
545#endif
546
547 return MNG_NOERROR;
548}
549
550/* ************************************************************************** */
551
552INIT_CHUNK_HDR (init_past)
553{
554#ifdef MNG_SUPPORT_TRACE
555 MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_START)
556#endif
557
558 MNG_ALLOC (pData, *ppChunk, sizeof (mng_past))
559 ((mng_pastp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
560
561#ifdef MNG_SUPPORT_TRACE
562 MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_END)
563#endif
564
565 return MNG_NOERROR;
566}
567
568/* ************************************************************************** */
569
570INIT_CHUNK_HDR (init_disc)
571{
572#ifdef MNG_SUPPORT_TRACE
573 MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_START)
574#endif
575
576 MNG_ALLOC (pData, *ppChunk, sizeof (mng_disc))
577 ((mng_discp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
578
579#ifdef MNG_SUPPORT_TRACE
580 MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_END)
581#endif
582
583 return MNG_NOERROR;
584}
585
586/* ************************************************************************** */
587
588INIT_CHUNK_HDR (init_back)
589{
590#ifdef MNG_SUPPORT_TRACE
591 MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_START)
592#endif
593
594 MNG_ALLOC (pData, *ppChunk, sizeof (mng_back))
595 ((mng_backp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
596
597#ifdef MNG_SUPPORT_TRACE
598 MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_END)
599#endif
600
601 return MNG_NOERROR;
602}
603
604/* ************************************************************************** */
605
606INIT_CHUNK_HDR (init_fram)
607{
608#ifdef MNG_SUPPORT_TRACE
609 MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_START)
610#endif
611
612 MNG_ALLOC (pData, *ppChunk, sizeof (mng_fram))
613 ((mng_framp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
614
615#ifdef MNG_SUPPORT_TRACE
616 MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_END)
617#endif
618
619 return MNG_NOERROR;
620}
621
622/* ************************************************************************** */
623
624INIT_CHUNK_HDR (init_move)
625{
626#ifdef MNG_SUPPORT_TRACE
627 MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_START)
628#endif
629
630 MNG_ALLOC (pData, *ppChunk, sizeof (mng_move))
631 ((mng_movep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
632
633#ifdef MNG_SUPPORT_TRACE
634 MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_END)
635#endif
636
637 return MNG_NOERROR;
638}
639
640/* ************************************************************************** */
641
642INIT_CHUNK_HDR (init_clip)
643{
644#ifdef MNG_SUPPORT_TRACE
645 MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_START)
646#endif
647
648 MNG_ALLOC (pData, *ppChunk, sizeof (mng_clip))
649 ((mng_clipp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
650
651#ifdef MNG_SUPPORT_TRACE
652 MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_END)
653#endif
654
655 return MNG_NOERROR;
656}
657
658/* ************************************************************************** */
659
660INIT_CHUNK_HDR (init_show)
661{
662#ifdef MNG_SUPPORT_TRACE
663 MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_START)
664#endif
665
666 MNG_ALLOC (pData, *ppChunk, sizeof (mng_show))
667 ((mng_showp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
668
669#ifdef MNG_SUPPORT_TRACE
670 MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_END)
671#endif
672
673 return MNG_NOERROR;
674}
675
676/* ************************************************************************** */
677
678INIT_CHUNK_HDR (init_term)
679{
680#ifdef MNG_SUPPORT_TRACE
681 MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_START)
682#endif
683
684 MNG_ALLOC (pData, *ppChunk, sizeof (mng_term))
685 ((mng_termp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
686
687#ifdef MNG_SUPPORT_TRACE
688 MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_END)
689#endif
690
691 return MNG_NOERROR;
692}
693
694/* ************************************************************************** */
695
696INIT_CHUNK_HDR (init_save)
697{
698#ifdef MNG_SUPPORT_TRACE
699 MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_START)
700#endif
701
702 MNG_ALLOC (pData, *ppChunk, sizeof (mng_save))
703 ((mng_savep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
704
705#ifdef MNG_SUPPORT_TRACE
706 MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_END)
707#endif
708
709 return MNG_NOERROR;
710}
711
712/* ************************************************************************** */
713
714INIT_CHUNK_HDR (init_seek)
715{
716#ifdef MNG_SUPPORT_TRACE
717 MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_START)
718#endif
719
720 MNG_ALLOC (pData, *ppChunk, sizeof (mng_seek))
721 ((mng_seekp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
722
723#ifdef MNG_SUPPORT_TRACE
724 MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_END)
725#endif
726
727 return MNG_NOERROR;
728}
729
730/* ************************************************************************** */
731
732INIT_CHUNK_HDR (init_expi)
733{
734#ifdef MNG_SUPPORT_TRACE
735 MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_START)
736#endif
737
738 MNG_ALLOC (pData, *ppChunk, sizeof (mng_expi))
739 ((mng_expip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
740
741#ifdef MNG_SUPPORT_TRACE
742 MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_END)
743#endif
744
745 return MNG_NOERROR;
746}
747
748/* ************************************************************************** */
749
750INIT_CHUNK_HDR (init_fpri)
751{
752#ifdef MNG_SUPPORT_TRACE
753 MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_START)
754#endif
755
756 MNG_ALLOC (pData, *ppChunk, sizeof (mng_fpri))
757 ((mng_fprip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
758
759#ifdef MNG_SUPPORT_TRACE
760 MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_END)
761#endif
762
763 return MNG_NOERROR;
764}
765
766/* ************************************************************************** */
767
768INIT_CHUNK_HDR (init_need)
769{
770#ifdef MNG_SUPPORT_TRACE
771 MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_START)
772#endif
773
774 MNG_ALLOC (pData, *ppChunk, sizeof (mng_need))
775 ((mng_needp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
776
777#ifdef MNG_SUPPORT_TRACE
778 MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_END)
779#endif
780
781 return MNG_NOERROR;
782}
783
784/* ************************************************************************** */
785
786INIT_CHUNK_HDR (init_phyg)
787{
788#ifdef MNG_SUPPORT_TRACE
789 MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_START)
790#endif
791
792 MNG_ALLOC (pData, *ppChunk, sizeof (mng_phyg))
793 ((mng_phygp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
794
795#ifdef MNG_SUPPORT_TRACE
796 MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_END)
797#endif
798
799 return MNG_NOERROR;
800}
801
802/* ************************************************************************** */
803
804#ifdef MNG_INCLUDE_JNG
805INIT_CHUNK_HDR (init_jhdr)
806{
807#ifdef MNG_SUPPORT_TRACE
808 MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_START)
809#endif
810
811 MNG_ALLOC (pData, *ppChunk, sizeof (mng_jhdr))
812 ((mng_jhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
813
814#ifdef MNG_SUPPORT_TRACE
815 MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_END)
816#endif
817
818 return MNG_NOERROR;
819}
820#endif /* MNG_INCLUDE_JNG */
821
822/* ************************************************************************** */
823
824#ifdef MNG_INCLUDE_JNG
825INIT_CHUNK_HDR (init_jdaa)
826{
827#ifdef MNG_SUPPORT_TRACE
828 MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_START)
829#endif
830
831 MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdaa))
832 ((mng_jdaap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
833
834#ifdef MNG_SUPPORT_TRACE
835 MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_END)
836#endif
837
838 return MNG_NOERROR;
839}
840#endif /* MNG_INCLUDE_JNG */
841
842/* ************************************************************************** */
843
844#ifdef MNG_INCLUDE_JNG
845INIT_CHUNK_HDR (init_jdat)
846{
847#ifdef MNG_SUPPORT_TRACE
848 MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_START)
849#endif
850
851 MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdat))
852 ((mng_jdatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
853
854#ifdef MNG_SUPPORT_TRACE
855 MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_END)
856#endif
857
858 return MNG_NOERROR;
859}
860#endif /* MNG_INCLUDE_JNG */
861
862/* ************************************************************************** */
863
864#ifdef MNG_INCLUDE_JNG
865INIT_CHUNK_HDR (init_jsep)
866{
867#ifdef MNG_SUPPORT_TRACE
868 MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_START)
869#endif
870
871 MNG_ALLOC (pData, *ppChunk, sizeof (mng_jsep))
872 ((mng_jsepp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
873
874#ifdef MNG_SUPPORT_TRACE
875 MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_END)
876#endif
877
878 return MNG_NOERROR;
879}
880#endif /* MNG_INCLUDE_JNG */
881
882/* ************************************************************************** */
883
884INIT_CHUNK_HDR (init_dhdr)
885{
886#ifdef MNG_SUPPORT_TRACE
887 MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_START)
888#endif
889
890 MNG_ALLOC (pData, *ppChunk, sizeof (mng_dhdr))
891 ((mng_dhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
892
893#ifdef MNG_SUPPORT_TRACE
894 MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_END)
895#endif
896
897 return MNG_NOERROR;
898}
899
900/* ************************************************************************** */
901
902INIT_CHUNK_HDR (init_prom)
903{
904#ifdef MNG_SUPPORT_TRACE
905 MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_START)
906#endif
907
908 MNG_ALLOC (pData, *ppChunk, sizeof (mng_prom))
909 ((mng_promp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
910
911#ifdef MNG_SUPPORT_TRACE
912 MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_END)
913#endif
914
915 return MNG_NOERROR;
916}
917
918/* ************************************************************************** */
919
920INIT_CHUNK_HDR (init_ipng)
921{
922#ifdef MNG_SUPPORT_TRACE
923 MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_START)
924#endif
925
926 MNG_ALLOC (pData, *ppChunk, sizeof (mng_ipng))
927 ((mng_ipngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
928
929#ifdef MNG_SUPPORT_TRACE
930 MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_END)
931#endif
932
933 return MNG_NOERROR;
934}
935
936/* ************************************************************************** */
937
938INIT_CHUNK_HDR (init_pplt)
939{
940#ifdef MNG_SUPPORT_TRACE
941 MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_START)
942#endif
943
944 MNG_ALLOC (pData, *ppChunk, sizeof (mng_pplt))
945 ((mng_ppltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
946
947#ifdef MNG_SUPPORT_TRACE
948 MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_END)
949#endif
950
951 return MNG_NOERROR;
952}
953
954/* ************************************************************************** */
955
956INIT_CHUNK_HDR (init_ijng)
957{
958#ifdef MNG_SUPPORT_TRACE
959 MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_START)
960#endif
961
962 MNG_ALLOC (pData, *ppChunk, sizeof (mng_ijng))
963 ((mng_ijngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
964
965#ifdef MNG_SUPPORT_TRACE
966 MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_END)
967#endif
968
969 return MNG_NOERROR;
970}
971
972/* ************************************************************************** */
973
974INIT_CHUNK_HDR (init_drop)
975{
976#ifdef MNG_SUPPORT_TRACE
977 MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_START)
978#endif
979
980 MNG_ALLOC (pData, *ppChunk, sizeof (mng_drop))
981 ((mng_dropp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
982
983#ifdef MNG_SUPPORT_TRACE
984 MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_END)
985#endif
986
987 return MNG_NOERROR;
988}
989
990/* ************************************************************************** */
991
992INIT_CHUNK_HDR (init_dbyk)
993{
994#ifdef MNG_SUPPORT_TRACE
995 MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_START)
996#endif
997
998 MNG_ALLOC (pData, *ppChunk, sizeof (mng_dbyk))
999 ((mng_dbykp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
1000
1001#ifdef MNG_SUPPORT_TRACE
1002 MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_END)
1003#endif
1004
1005 return MNG_NOERROR;
1006}
1007
1008/* ************************************************************************** */
1009
1010INIT_CHUNK_HDR (init_ordr)
1011{
1012#ifdef MNG_SUPPORT_TRACE
1013 MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_START)
1014#endif
1015
1016 MNG_ALLOC (pData, *ppChunk, sizeof (mng_ordr))
1017 ((mng_ordrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
1018
1019#ifdef MNG_SUPPORT_TRACE
1020 MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_END)
1021#endif
1022
1023 return MNG_NOERROR;
1024}
1025
1026/* ************************************************************************** */
1027
1028INIT_CHUNK_HDR (init_magn)
1029{
1030#ifdef MNG_SUPPORT_TRACE
1031 MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_START)
1032#endif
1033
1034 MNG_ALLOC (pData, *ppChunk, sizeof (mng_magn))
1035 ((mng_magnp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
1036
1037#ifdef MNG_SUPPORT_TRACE
1038 MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_END)
1039#endif
1040
1041 return MNG_NOERROR;
1042}
1043
1044/* ************************************************************************** */
1045
1046INIT_CHUNK_HDR (init_unknown)
1047{
1048#ifdef MNG_SUPPORT_TRACE
1049 MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_START)
1050#endif
1051
1052 MNG_ALLOC (pData, *ppChunk, sizeof (mng_unknown_chunk))
1053 ((mng_unknown_chunkp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
1054
1055#ifdef MNG_SUPPORT_TRACE
1056 MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_END)
1057#endif
1058
1059 return MNG_NOERROR;
1060}
1061
1062/* ************************************************************************** */
1063/* * * */
1064/* * Chunk specific cleanup routines * */
1065/* * * */
1066/* ************************************************************************** */
1067
1068FREE_CHUNK_HDR (free_ihdr)
1069{
1070#ifdef MNG_SUPPORT_TRACE
1071 MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_START)
1072#endif
1073
1074 MNG_FREEX (pData, pHeader, sizeof (mng_ihdr))
1075
1076#ifdef MNG_SUPPORT_TRACE
1077 MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_END)
1078#endif
1079
1080 return MNG_NOERROR;
1081}
1082
1083/* ************************************************************************** */
1084
1085FREE_CHUNK_HDR (free_plte)
1086{
1087#ifdef MNG_SUPPORT_TRACE
1088 MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_START)
1089#endif
1090
1091 MNG_FREEX (pData, pHeader, sizeof (mng_plte))
1092
1093#ifdef MNG_SUPPORT_TRACE
1094 MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_END)
1095#endif
1096
1097 return MNG_NOERROR;
1098}
1099
1100/* ************************************************************************** */
1101
1102FREE_CHUNK_HDR (free_idat)
1103{
1104#ifdef MNG_SUPPORT_TRACE
1105 MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_START)
1106#endif
1107
1108 if (((mng_idatp)pHeader)->iDatasize)
1109 MNG_FREEX (pData, ((mng_idatp)pHeader)->pData,
1110 ((mng_idatp)pHeader)->iDatasize)
1111
1112 MNG_FREEX (pData, pHeader, sizeof (mng_idat))
1113
1114#ifdef MNG_SUPPORT_TRACE
1115 MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_END)
1116#endif
1117
1118 return MNG_NOERROR;
1119}
1120
1121/* ************************************************************************** */
1122
1123FREE_CHUNK_HDR (free_iend)
1124{
1125#ifdef MNG_SUPPORT_TRACE
1126 MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_START)
1127#endif
1128
1129 MNG_FREEX (pData, pHeader, sizeof (mng_iend))
1130
1131#ifdef MNG_SUPPORT_TRACE
1132 MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_END)
1133#endif
1134
1135 return MNG_NOERROR;
1136}
1137
1138/* ************************************************************************** */
1139
1140FREE_CHUNK_HDR (free_trns)
1141{
1142#ifdef MNG_SUPPORT_TRACE
1143 MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_START)
1144#endif
1145
1146 MNG_FREEX (pData, pHeader, sizeof (mng_trns))
1147
1148#ifdef MNG_SUPPORT_TRACE
1149 MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_END)
1150#endif
1151
1152 return MNG_NOERROR;
1153}
1154
1155/* ************************************************************************** */
1156
1157FREE_CHUNK_HDR (free_gama)
1158{
1159#ifdef MNG_SUPPORT_TRACE
1160 MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_START)
1161#endif
1162
1163 MNG_FREEX (pData, pHeader, sizeof (mng_gama))
1164
1165#ifdef MNG_SUPPORT_TRACE
1166 MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_END)
1167#endif
1168
1169 return MNG_NOERROR;
1170}
1171
1172/* ************************************************************************** */
1173
1174FREE_CHUNK_HDR (free_chrm)
1175{
1176#ifdef MNG_SUPPORT_TRACE
1177 MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_START)
1178#endif
1179
1180 MNG_FREEX (pData, pHeader, sizeof (mng_chrm))
1181
1182#ifdef MNG_SUPPORT_TRACE
1183 MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_END)
1184#endif
1185
1186 return MNG_NOERROR;
1187}
1188
1189/* ************************************************************************** */
1190
1191FREE_CHUNK_HDR (free_srgb)
1192{
1193#ifdef MNG_SUPPORT_TRACE
1194 MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_START)
1195#endif
1196
1197 MNG_FREEX (pData, pHeader, sizeof (mng_srgb))
1198
1199#ifdef MNG_SUPPORT_TRACE
1200 MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_END)
1201#endif
1202
1203 return MNG_NOERROR;
1204}
1205
1206/* ************************************************************************** */
1207
1208FREE_CHUNK_HDR (free_iccp)
1209{
1210#ifdef MNG_SUPPORT_TRACE
1211 MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_START)
1212#endif
1213
1214 if (((mng_iccpp)pHeader)->iNamesize)
1215 MNG_FREEX (pData, ((mng_iccpp)pHeader)->zName,
1216 ((mng_iccpp)pHeader)->iNamesize + 1)
1217
1218 if (((mng_iccpp)pHeader)->iProfilesize)
1219 MNG_FREEX (pData, ((mng_iccpp)pHeader)->pProfile,
1220 ((mng_iccpp)pHeader)->iProfilesize)
1221
1222 MNG_FREEX (pData, pHeader, sizeof (mng_iccp))
1223
1224#ifdef MNG_SUPPORT_TRACE
1225 MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_END)
1226#endif
1227
1228 return MNG_NOERROR;
1229}
1230
1231/* ************************************************************************** */
1232
1233FREE_CHUNK_HDR (free_text)
1234{
1235#ifdef MNG_SUPPORT_TRACE
1236 MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_START)
1237#endif
1238
1239 if (((mng_textp)pHeader)->iKeywordsize)
1240 MNG_FREEX (pData, ((mng_textp)pHeader)->zKeyword,
1241 ((mng_textp)pHeader)->iKeywordsize + 1)
1242
1243 if (((mng_textp)pHeader)->iTextsize)
1244 MNG_FREEX (pData, ((mng_textp)pHeader)->zText,
1245 ((mng_textp)pHeader)->iTextsize + 1)
1246
1247 MNG_FREEX (pData, pHeader, sizeof (mng_text))
1248
1249#ifdef MNG_SUPPORT_TRACE
1250 MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_END)
1251#endif
1252
1253 return MNG_NOERROR;
1254}
1255
1256/* ************************************************************************** */
1257
1258FREE_CHUNK_HDR (free_ztxt)
1259{
1260#ifdef MNG_SUPPORT_TRACE
1261 MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_START)
1262#endif
1263
1264 if (((mng_ztxtp)pHeader)->iKeywordsize)
1265 MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zKeyword,
1266 ((mng_ztxtp)pHeader)->iKeywordsize + 1)
1267
1268 if (((mng_ztxtp)pHeader)->iTextsize)
1269 MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zText,
1270 ((mng_ztxtp)pHeader)->iTextsize)
1271
1272 MNG_FREEX (pData, pHeader, sizeof (mng_ztxt))
1273
1274#ifdef MNG_SUPPORT_TRACE
1275 MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_END)
1276#endif
1277
1278 return MNG_NOERROR;
1279}
1280
1281/* ************************************************************************** */
1282
1283FREE_CHUNK_HDR (free_itxt)
1284{
1285#ifdef MNG_SUPPORT_TRACE
1286 MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_START)
1287#endif
1288
1289 if (((mng_itxtp)pHeader)->iKeywordsize)
1290 MNG_FREEX (pData, ((mng_itxtp)pHeader)->zKeyword,
1291 ((mng_itxtp)pHeader)->iKeywordsize + 1)
1292
1293 if (((mng_itxtp)pHeader)->iLanguagesize)
1294 MNG_FREEX (pData, ((mng_itxtp)pHeader)->zLanguage,
1295 ((mng_itxtp)pHeader)->iLanguagesize + 1)
1296
1297 if (((mng_itxtp)pHeader)->iTranslationsize)
1298 MNG_FREEX (pData, ((mng_itxtp)pHeader)->zTranslation,
1299 ((mng_itxtp)pHeader)->iTranslationsize + 1)
1300
1301 if (((mng_itxtp)pHeader)->iTextsize)
1302 MNG_FREEX (pData, ((mng_itxtp)pHeader)->zText,
1303 ((mng_itxtp)pHeader)->iTextsize)
1304
1305 MNG_FREEX (pData, pHeader, sizeof (mng_itxt))
1306
1307#ifdef MNG_SUPPORT_TRACE
1308 MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_END)
1309#endif
1310
1311 return MNG_NOERROR;
1312}
1313
1314/* ************************************************************************** */
1315
1316FREE_CHUNK_HDR (free_bkgd)
1317{
1318#ifdef MNG_SUPPORT_TRACE
1319 MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_START)
1320#endif
1321
1322 MNG_FREEX (pData, pHeader, sizeof (mng_bkgd))
1323
1324#ifdef MNG_SUPPORT_TRACE
1325 MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_END)
1326#endif
1327
1328 return MNG_NOERROR;
1329}
1330
1331/* ************************************************************************** */
1332
1333FREE_CHUNK_HDR (free_phys)
1334{
1335#ifdef MNG_SUPPORT_TRACE
1336 MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_START)
1337#endif
1338
1339 MNG_FREEX (pData, pHeader, sizeof (mng_phys))
1340
1341#ifdef MNG_SUPPORT_TRACE
1342 MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_END)
1343#endif
1344
1345 return MNG_NOERROR;
1346}
1347
1348/* ************************************************************************** */
1349
1350FREE_CHUNK_HDR (free_sbit)
1351{
1352#ifdef MNG_SUPPORT_TRACE
1353 MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_START)
1354#endif
1355
1356 MNG_FREEX (pData, pHeader, sizeof (mng_sbit))
1357
1358#ifdef MNG_SUPPORT_TRACE
1359 MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_END)
1360#endif
1361
1362 return MNG_NOERROR;
1363}
1364
1365/* ************************************************************************** */
1366
1367FREE_CHUNK_HDR (free_splt)
1368{
1369#ifdef MNG_SUPPORT_TRACE
1370 MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_START)
1371#endif
1372
1373 if (((mng_spltp)pHeader)->iNamesize)
1374 MNG_FREEX (pData, ((mng_spltp)pHeader)->zName,
1375 ((mng_spltp)pHeader)->iNamesize + 1)
1376
1377 if (((mng_spltp)pHeader)->iEntrycount)
1378 MNG_FREEX (pData, ((mng_spltp)pHeader)->pEntries,
1379 ((mng_spltp)pHeader)->iEntrycount *
1380 (((mng_spltp)pHeader)->iSampledepth * 3 + sizeof (mng_uint16)) )
1381
1382 MNG_FREEX (pData, pHeader, sizeof (mng_splt))
1383
1384#ifdef MNG_SUPPORT_TRACE
1385 MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_END)
1386#endif
1387
1388 return MNG_NOERROR;
1389}
1390
1391/* ************************************************************************** */
1392
1393FREE_CHUNK_HDR (free_hist)
1394{
1395#ifdef MNG_SUPPORT_TRACE
1396 MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_START)
1397#endif
1398
1399 MNG_FREEX (pData, pHeader, sizeof (mng_hist))
1400
1401#ifdef MNG_SUPPORT_TRACE
1402 MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_END)
1403#endif
1404
1405 return MNG_NOERROR;
1406}
1407
1408/* ************************************************************************** */
1409
1410FREE_CHUNK_HDR (free_time)
1411{
1412#ifdef MNG_SUPPORT_TRACE
1413 MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_START)
1414#endif
1415
1416 MNG_FREEX (pData, pHeader, sizeof (mng_time))
1417
1418#ifdef MNG_SUPPORT_TRACE
1419 MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_END)
1420#endif
1421
1422 return MNG_NOERROR;
1423}
1424
1425/* ************************************************************************** */
1426
1427FREE_CHUNK_HDR (free_mhdr)
1428{
1429#ifdef MNG_SUPPORT_TRACE
1430 MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_START)
1431#endif
1432
1433 MNG_FREEX (pData, pHeader, sizeof (mng_mhdr))
1434
1435#ifdef MNG_SUPPORT_TRACE
1436 MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_END)
1437#endif
1438
1439 return MNG_NOERROR;
1440}
1441
1442/* ************************************************************************** */
1443
1444FREE_CHUNK_HDR (free_mend)
1445{
1446#ifdef MNG_SUPPORT_TRACE
1447 MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_START)
1448#endif
1449
1450 MNG_FREEX (pData, pHeader, sizeof (mng_mend))
1451
1452#ifdef MNG_SUPPORT_TRACE
1453 MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_END)
1454#endif
1455
1456 return MNG_NOERROR;
1457}
1458
1459/* ************************************************************************** */
1460
1461FREE_CHUNK_HDR (free_loop)
1462{
1463#ifdef MNG_SUPPORT_TRACE
1464 MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_START)
1465#endif
1466
1467 if (((mng_loopp)pHeader)->iCount)
1468 MNG_FREEX (pData, ((mng_loopp)pHeader)->pSignals,
1469 ((mng_loopp)pHeader)->iCount * sizeof (mng_uint32) )
1470
1471 MNG_FREEX (pData, pHeader, sizeof (mng_loop))
1472
1473#ifdef MNG_SUPPORT_TRACE
1474 MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_END)
1475#endif
1476
1477 return MNG_NOERROR;
1478}
1479
1480/* ************************************************************************** */
1481
1482FREE_CHUNK_HDR (free_endl)
1483{
1484#ifdef MNG_SUPPORT_TRACE
1485 MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_START)
1486#endif
1487
1488 MNG_FREEX (pData, pHeader, sizeof (mng_endl))
1489
1490#ifdef MNG_SUPPORT_TRACE
1491 MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_END)
1492#endif
1493
1494 return MNG_NOERROR;
1495}
1496
1497/* ************************************************************************** */
1498
1499FREE_CHUNK_HDR (free_defi)
1500{
1501#ifdef MNG_SUPPORT_TRACE
1502 MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_START)
1503#endif
1504
1505 MNG_FREEX (pData, pHeader, sizeof (mng_defi))
1506
1507#ifdef MNG_SUPPORT_TRACE
1508 MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_END)
1509#endif
1510
1511 return MNG_NOERROR;
1512}
1513
1514/* ************************************************************************** */
1515
1516FREE_CHUNK_HDR (free_basi)
1517{
1518#ifdef MNG_SUPPORT_TRACE
1519 MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_START)
1520#endif
1521
1522 MNG_FREEX (pData, pHeader, sizeof (mng_basi))
1523
1524#ifdef MNG_SUPPORT_TRACE
1525 MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_END)
1526#endif
1527
1528 return MNG_NOERROR;
1529}
1530
1531/* ************************************************************************** */
1532
1533FREE_CHUNK_HDR (free_clon)
1534{
1535#ifdef MNG_SUPPORT_TRACE
1536 MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_START)
1537#endif
1538
1539 MNG_FREEX (pData, pHeader, sizeof (mng_clon))
1540
1541#ifdef MNG_SUPPORT_TRACE
1542 MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_END)
1543#endif
1544
1545 return MNG_NOERROR;
1546}
1547
1548/* ************************************************************************** */
1549
1550FREE_CHUNK_HDR (free_past)
1551{
1552#ifdef MNG_SUPPORT_TRACE
1553 MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_START)
1554#endif
1555
1556 if (((mng_pastp)pHeader)->iCount)
1557 MNG_FREEX (pData, ((mng_pastp)pHeader)->pSources,
1558 ((mng_pastp)pHeader)->iCount * sizeof (mng_past_source) )
1559
1560 MNG_FREEX (pData, pHeader, sizeof (mng_past))
1561
1562#ifdef MNG_SUPPORT_TRACE
1563 MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_END)
1564#endif
1565
1566 return MNG_NOERROR;
1567}
1568
1569/* ************************************************************************** */
1570
1571FREE_CHUNK_HDR (free_disc)
1572{
1573#ifdef MNG_SUPPORT_TRACE
1574 MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_START)
1575#endif
1576
1577 if (((mng_discp)pHeader)->iCount)
1578 MNG_FREEX (pData, ((mng_discp)pHeader)->pObjectids,
1579 ((mng_discp)pHeader)->iCount * sizeof (mng_uint16) )
1580
1581 MNG_FREEX (pData, pHeader, sizeof (mng_disc))
1582
1583#ifdef MNG_SUPPORT_TRACE
1584 MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_END)
1585#endif
1586
1587 return MNG_NOERROR;
1588}
1589
1590/* ************************************************************************** */
1591
1592FREE_CHUNK_HDR (free_back)
1593{
1594#ifdef MNG_SUPPORT_TRACE
1595 MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_START)
1596#endif
1597
1598 MNG_FREEX (pData, pHeader, sizeof (mng_back))
1599
1600#ifdef MNG_SUPPORT_TRACE
1601 MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_END)
1602#endif
1603
1604 return MNG_NOERROR;
1605}
1606
1607/* ************************************************************************** */
1608
1609FREE_CHUNK_HDR (free_fram)
1610{
1611#ifdef MNG_SUPPORT_TRACE
1612 MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_START)
1613#endif
1614
1615 if (((mng_framp)pHeader)->iNamesize)
1616 MNG_FREEX (pData, ((mng_framp)pHeader)->zName,
1617 ((mng_framp)pHeader)->iNamesize + 1)
1618
1619 if (((mng_framp)pHeader)->iCount)
1620 MNG_FREEX (pData, ((mng_framp)pHeader)->pSyncids,
1621 ((mng_framp)pHeader)->iCount * sizeof (mng_uint32) )
1622
1623 MNG_FREEX (pData, pHeader, sizeof (mng_fram))
1624
1625#ifdef MNG_SUPPORT_TRACE
1626 MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_END)
1627#endif
1628
1629 return MNG_NOERROR;
1630}
1631
1632/* ************************************************************************** */
1633
1634FREE_CHUNK_HDR (free_move)
1635{
1636#ifdef MNG_SUPPORT_TRACE
1637 MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_START)
1638#endif
1639
1640 MNG_FREEX (pData, pHeader, sizeof (mng_move))
1641
1642#ifdef MNG_SUPPORT_TRACE
1643 MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_END)
1644#endif
1645
1646 return MNG_NOERROR;
1647}
1648
1649/* ************************************************************************** */
1650
1651FREE_CHUNK_HDR (free_clip)
1652{
1653#ifdef MNG_SUPPORT_TRACE
1654 MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_START)
1655#endif
1656
1657 MNG_FREEX (pData, pHeader, sizeof (mng_clip))
1658
1659#ifdef MNG_SUPPORT_TRACE
1660 MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_END)
1661#endif
1662
1663 return MNG_NOERROR;
1664}
1665
1666/* ************************************************************************** */
1667
1668FREE_CHUNK_HDR (free_show)
1669{
1670#ifdef MNG_SUPPORT_TRACE
1671 MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_START)
1672#endif
1673
1674 MNG_FREEX (pData, pHeader, sizeof (mng_show))
1675
1676#ifdef MNG_SUPPORT_TRACE
1677 MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_END)
1678#endif
1679
1680 return MNG_NOERROR;
1681}
1682
1683/* ************************************************************************** */
1684
1685FREE_CHUNK_HDR (free_term)
1686{
1687#ifdef MNG_SUPPORT_TRACE
1688 MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_START)
1689#endif
1690
1691 MNG_FREEX (pData, pHeader, sizeof (mng_term))
1692
1693#ifdef MNG_SUPPORT_TRACE
1694 MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_END)
1695#endif
1696
1697 return MNG_NOERROR;
1698}
1699
1700/* ************************************************************************** */
1701
1702FREE_CHUNK_HDR (free_save)
1703{
1704 mng_save_entryp pEntry = ((mng_savep)pHeader)->pEntries;
1705 mng_uint32 iX;
1706
1707#ifdef MNG_SUPPORT_TRACE
1708 MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_START)
1709#endif
1710
1711 for (iX = 0; iX < ((mng_savep)pHeader)->iCount; iX++)
1712 {
1713 if (pEntry->iNamesize)
1714 MNG_FREEX (pData, pEntry->zName, pEntry->iNamesize)
1715
1716 pEntry = pEntry + sizeof (mng_save_entry);
1717 }
1718
1719 if (((mng_savep)pHeader)->iCount)
1720 MNG_FREEX (pData, ((mng_savep)pHeader)->pEntries,
1721 ((mng_savep)pHeader)->iCount * sizeof (mng_save_entry) )
1722
1723 MNG_FREEX (pData, pHeader, sizeof (mng_save))
1724
1725#ifdef MNG_SUPPORT_TRACE
1726 MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_END)
1727#endif
1728
1729 return MNG_NOERROR;
1730}
1731
1732/* ************************************************************************** */
1733
1734FREE_CHUNK_HDR (free_seek)
1735{
1736#ifdef MNG_SUPPORT_TRACE
1737 MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_START)
1738#endif
1739
1740 if (((mng_seekp)pHeader)->iNamesize)
1741 MNG_FREEX (pData, ((mng_seekp)pHeader)->zName,
1742 ((mng_seekp)pHeader)->iNamesize + 1)
1743
1744 MNG_FREEX (pData, pHeader, sizeof (mng_seek))
1745
1746#ifdef MNG_SUPPORT_TRACE
1747 MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_END)
1748#endif
1749
1750 return MNG_NOERROR;
1751}
1752
1753/* ************************************************************************** */
1754
1755FREE_CHUNK_HDR (free_expi)
1756{
1757#ifdef MNG_SUPPORT_TRACE
1758 MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_START)
1759#endif
1760
1761 if (((mng_expip)pHeader)->iNamesize)
1762 MNG_FREEX (pData, ((mng_expip)pHeader)->zName,
1763 ((mng_expip)pHeader)->iNamesize + 1)
1764
1765 MNG_FREEX (pData, pHeader, sizeof (mng_expi))
1766
1767#ifdef MNG_SUPPORT_TRACE
1768 MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_END)
1769#endif
1770
1771 return MNG_NOERROR;
1772}
1773
1774/* ************************************************************************** */
1775
1776FREE_CHUNK_HDR (free_fpri)
1777{
1778#ifdef MNG_SUPPORT_TRACE
1779 MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_START)
1780#endif
1781
1782 MNG_FREEX (pData, pHeader, sizeof (mng_fpri))
1783
1784#ifdef MNG_SUPPORT_TRACE
1785 MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_END)
1786#endif
1787
1788 return MNG_NOERROR;
1789}
1790
1791/* ************************************************************************** */
1792
1793FREE_CHUNK_HDR (free_need)
1794{
1795#ifdef MNG_SUPPORT_TRACE
1796 MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_START)
1797#endif
1798
1799 if (((mng_needp)pHeader)->iKeywordssize)
1800 MNG_FREEX (pData, ((mng_needp)pHeader)->zKeywords,
1801 ((mng_needp)pHeader)->iKeywordssize + 1)
1802
1803 MNG_FREEX (pData, pHeader, sizeof (mng_need))
1804
1805#ifdef MNG_SUPPORT_TRACE
1806 MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_END)
1807#endif
1808
1809 return MNG_NOERROR;
1810}
1811
1812/* ************************************************************************** */
1813
1814FREE_CHUNK_HDR (free_phyg)
1815{
1816#ifdef MNG_SUPPORT_TRACE
1817 MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_START)
1818#endif
1819
1820 MNG_FREEX (pData, pHeader, sizeof (mng_phyg))
1821
1822#ifdef MNG_SUPPORT_TRACE
1823 MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_END)
1824#endif
1825
1826 return MNG_NOERROR;
1827}
1828
1829/* ************************************************************************** */
1830
1831#ifdef MNG_INCLUDE_JNG
1832FREE_CHUNK_HDR (free_jhdr)
1833{
1834#ifdef MNG_SUPPORT_TRACE
1835 MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_START)
1836#endif
1837
1838 MNG_FREEX (pData, pHeader, sizeof (mng_jhdr))
1839
1840#ifdef MNG_SUPPORT_TRACE
1841 MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_END)
1842#endif
1843
1844 return MNG_NOERROR;
1845}
1846#endif /* MNG_INCLUDE_JNG */
1847
1848/* ************************************************************************** */
1849
1850#ifdef MNG_INCLUDE_JNG
1851FREE_CHUNK_HDR (free_jdaa)
1852{
1853#ifdef MNG_SUPPORT_TRACE
1854 MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_START)
1855#endif
1856
1857 if (((mng_jdaap)pHeader)->iDatasize)
1858 MNG_FREEX (pData, ((mng_jdaap)pHeader)->pData,
1859 ((mng_jdaap)pHeader)->iDatasize)
1860
1861 MNG_FREEX (pData, pHeader, sizeof (mng_jdaa))
1862
1863#ifdef MNG_SUPPORT_TRACE
1864 MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_END)
1865#endif
1866
1867 return MNG_NOERROR;
1868}
1869#endif /* MNG_INCLUDE_JNG */
1870
1871/* ************************************************************************** */
1872
1873#ifdef MNG_INCLUDE_JNG
1874FREE_CHUNK_HDR (free_jdat)
1875{
1876#ifdef MNG_SUPPORT_TRACE
1877 MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_START)
1878#endif
1879
1880 if (((mng_jdatp)pHeader)->iDatasize)
1881 MNG_FREEX (pData, ((mng_jdatp)pHeader)->pData,
1882 ((mng_jdatp)pHeader)->iDatasize)
1883
1884 MNG_FREEX (pData, pHeader, sizeof (mng_jdat))
1885
1886#ifdef MNG_SUPPORT_TRACE
1887 MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_END)
1888#endif
1889
1890 return MNG_NOERROR;
1891}
1892#endif /* MNG_INCLUDE_JNG */
1893
1894/* ************************************************************************** */
1895
1896#ifdef MNG_INCLUDE_JNG
1897FREE_CHUNK_HDR (free_jsep)
1898{
1899#ifdef MNG_SUPPORT_TRACE
1900 MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_START)
1901#endif
1902
1903 MNG_FREEX (pData, pHeader, sizeof (mng_jsep))
1904
1905#ifdef MNG_SUPPORT_TRACE
1906 MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_END)
1907#endif
1908
1909 return MNG_NOERROR;
1910}
1911#endif /* MNG_INCLUDE_JNG */
1912
1913/* ************************************************************************** */
1914
1915FREE_CHUNK_HDR (free_dhdr)
1916{
1917#ifdef MNG_SUPPORT_TRACE
1918 MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_START)
1919#endif
1920
1921 MNG_FREEX (pData, pHeader, sizeof (mng_dhdr))
1922
1923#ifdef MNG_SUPPORT_TRACE
1924 MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_END)
1925#endif
1926
1927 return MNG_NOERROR;
1928}
1929
1930/* ************************************************************************** */
1931
1932FREE_CHUNK_HDR (free_prom)
1933{
1934#ifdef MNG_SUPPORT_TRACE
1935 MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_START)
1936#endif
1937
1938 MNG_FREEX (pData, pHeader, sizeof (mng_prom))
1939
1940#ifdef MNG_SUPPORT_TRACE
1941 MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_END)
1942#endif
1943
1944 return MNG_NOERROR;
1945}
1946
1947/* ************************************************************************** */
1948
1949FREE_CHUNK_HDR (free_ipng)
1950{
1951#ifdef MNG_SUPPORT_TRACE
1952 MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_START)
1953#endif
1954
1955 MNG_FREEX (pData, pHeader, sizeof (mng_ipng))
1956
1957#ifdef MNG_SUPPORT_TRACE
1958 MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_END)
1959#endif
1960
1961 return MNG_NOERROR;
1962}
1963
1964/* ************************************************************************** */
1965
1966FREE_CHUNK_HDR (free_pplt)
1967{
1968#ifdef MNG_SUPPORT_TRACE
1969 MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_START)
1970#endif
1971
1972 MNG_FREEX (pData, pHeader, sizeof (mng_pplt))
1973
1974#ifdef MNG_SUPPORT_TRACE
1975 MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_END)
1976#endif
1977
1978 return MNG_NOERROR;
1979}
1980
1981/* ************************************************************************** */
1982
1983FREE_CHUNK_HDR (free_ijng)
1984{
1985#ifdef MNG_SUPPORT_TRACE
1986 MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_START)
1987#endif
1988
1989 MNG_FREEX (pData, pHeader, sizeof (mng_ijng))
1990
1991#ifdef MNG_SUPPORT_TRACE
1992 MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_END)
1993#endif
1994
1995 return MNG_NOERROR;
1996}
1997
1998/* ************************************************************************** */
1999
2000FREE_CHUNK_HDR (free_drop)
2001{
2002#ifdef MNG_SUPPORT_TRACE
2003 MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_START)
2004#endif
2005
2006 if (((mng_dropp)pHeader)->iCount)
2007 MNG_FREEX (pData, ((mng_dropp)pHeader)->pChunknames,
2008 ((mng_dropp)pHeader)->iCount * sizeof (mng_chunkid) )
2009
2010 MNG_FREEX (pData, pHeader, sizeof (mng_drop))
2011
2012#ifdef MNG_SUPPORT_TRACE
2013 MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_END)
2014#endif
2015
2016 return MNG_NOERROR;
2017}
2018
2019/* ************************************************************************** */
2020
2021FREE_CHUNK_HDR (free_dbyk)
2022{
2023#ifdef MNG_SUPPORT_TRACE
2024 MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_START)
2025#endif
2026
2027 if (((mng_dbykp)pHeader)->iKeywordssize)
2028 MNG_FREEX (pData, ((mng_dbykp)pHeader)->zKeywords,
2029 ((mng_dbykp)pHeader)->iKeywordssize)
2030
2031 MNG_FREEX (pData, pHeader, sizeof (mng_dbyk))
2032
2033#ifdef MNG_SUPPORT_TRACE
2034 MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_END)
2035#endif
2036
2037 return MNG_NOERROR;
2038}
2039
2040/* ************************************************************************** */
2041
2042FREE_CHUNK_HDR (free_ordr)
2043{
2044#ifdef MNG_SUPPORT_TRACE
2045 MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_START)
2046#endif
2047
2048 if (((mng_ordrp)pHeader)->iCount)
2049 MNG_FREEX (pData, ((mng_ordrp)pHeader)->pEntries,
2050 ((mng_ordrp)pHeader)->iCount * sizeof (mng_ordr_entry) )
2051
2052 MNG_FREEX (pData, pHeader, sizeof (mng_ordr))
2053
2054#ifdef MNG_SUPPORT_TRACE
2055 MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_END)
2056#endif
2057
2058 return MNG_NOERROR;
2059}
2060
2061/* ************************************************************************** */
2062
2063FREE_CHUNK_HDR (free_magn)
2064{
2065#ifdef MNG_SUPPORT_TRACE
2066 MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_START)
2067#endif
2068
2069 MNG_FREEX (pData, pHeader, sizeof (mng_magn))
2070
2071#ifdef MNG_SUPPORT_TRACE
2072 MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_END)
2073#endif
2074
2075 return MNG_NOERROR;
2076}
2077
2078/* ************************************************************************** */
2079
2080FREE_CHUNK_HDR (free_unknown)
2081{
2082#ifdef MNG_SUPPORT_TRACE
2083 MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_START)
2084#endif
2085
2086 if (((mng_unknown_chunkp)pHeader)->iDatasize)
2087 MNG_FREEX (pData, ((mng_unknown_chunkp)pHeader)->pData,
2088 ((mng_unknown_chunkp)pHeader)->iDatasize)
2089
2090 MNG_FREEX (pData, pHeader, sizeof (mng_unknown_chunk))
2091
2092#ifdef MNG_SUPPORT_TRACE
2093 MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_END)
2094#endif
2095
2096 return MNG_NOERROR;
2097}
2098
2099/* ************************************************************************** */
2100/* * end of file * */
2101/* ************************************************************************** */
2102
Note: See TracBrowser for help on using the repository browser.