1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#ifndef PNGCONF_H
21#define PNGCONF_H
22
23#define PNG_1_2_X
24
25
26
27
28
29#ifdef PNG_USER_CONFIG
30# ifndef PNG_USER_PRIVATEBUILD
31# define PNG_USER_PRIVATEBUILD
32# endif
33#include "pngusr.h"
34#endif
35
36
37#ifdef PNG_CONFIGURE_LIBPNG
38#ifdef HAVE_CONFIG_H
39#include "config.h"
40#endif
41#endif
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64#ifdef __STDC__
65#ifdef SPECIALBUILD
66# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\
67 are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.")
68#endif
69
70#ifdef PRIVATEBUILD
71# pragma message("PRIVATEBUILD is deprecated.\
72 Use PNG_USER_PRIVATEBUILD instead.")
73# define PNG_USER_PRIVATEBUILD PRIVATEBUILD
74#endif
75#endif
76
77#ifndef PNG_VERSION_INFO_ONLY
78
79
80
81
82
83#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \
84 !defined(PNG_WARN_UNINITIALIZED_ROW)
85# define PNG_WARN_UNINITIALIZED_ROW 1
86#endif
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102#ifndef PNG_ZBUF_SIZE
103# define PNG_ZBUF_SIZE 8192
104#endif
105
106
107
108#ifndef PNG_NO_READ_SUPPORTED
109# define PNG_READ_SUPPORTED
110#endif
111
112
113
114#ifndef PNG_NO_WRITE_SUPPORTED
115# define PNG_WRITE_SUPPORTED
116#endif
117
118
119#ifdef PNG_ALLOW_BENIGN_ERRORS
120# define png_benign_error png_warning
121# define png_chunk_benign_error png_chunk_warning
122#else
123# ifndef PNG_BENIGN_ERRORS_SUPPORTED
124# define png_benign_error png_error
125# define png_chunk_benign_error png_chunk_error
126# endif
127#endif
128
129
130#if !defined(PNG_NO_WARNINGS) && !defined(PNG_WARNINGS_SUPPORTED)
131# define PNG_WARNINGS_SUPPORTED
132#endif
133
134#if !defined(PNG_NO_ERROR_TEXT) && !defined(PNG_ERROR_TEXT_SUPPORTED)
135# define PNG_ERROR_TEXT_SUPPORTED
136#endif
137
138#if !defined(PNG_NO_CHECK_cHRM) && !defined(PNG_CHECK_cHRM_SUPPORTED)
139# define PNG_CHECK_cHRM_SUPPORTED
140#endif
141
142
143
144
145#if !defined(PNG_1_0_X) && !defined(PNG_NO_MNG_FEATURES)
146# ifndef PNG_MNG_FEATURES_SUPPORTED
147# define PNG_MNG_FEATURES_SUPPORTED
148# endif
149#endif
150
151#ifndef PNG_NO_FLOATING_POINT_SUPPORTED
152# ifndef PNG_FLOATING_POINT_SUPPORTED
153# define PNG_FLOATING_POINT_SUPPORTED
154# endif
155#endif
156
157
158
159
160
161
162
163
164
165#if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K)
166# define PNG_MAX_MALLOC_64K
167#endif
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202#ifdef __CYGWIN__
203# ifdef ALL_STATIC
204# ifdef PNG_BUILD_DLL
205# undef PNG_BUILD_DLL
206# endif
207# ifdef PNG_USE_DLL
208# undef PNG_USE_DLL
209# endif
210# ifdef PNG_DLL
211# undef PNG_DLL
212# endif
213# ifndef PNG_STATIC
214# define PNG_STATIC
215# endif
216# else
217# ifdef PNG_BUILD_DLL
218# ifdef PNG_STATIC
219# undef PNG_STATIC
220# endif
221# ifdef PNG_USE_DLL
222# undef PNG_USE_DLL
223# endif
224# ifndef PNG_DLL
225# define PNG_DLL
226# endif
227# else
228# ifdef PNG_STATIC
229# ifdef PNG_USE_DLL
230# undef PNG_USE_DLL
231# endif
232# ifdef PNG_DLL
233# undef PNG_DLL
234# endif
235# else
236# ifndef PNG_USE_DLL
237# define PNG_USE_DLL
238# endif
239# ifndef PNG_DLL
240# define PNG_DLL
241# endif
242# endif
243# endif
244# endif
245#endif
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260#if !defined(PNG_NO_STDIO) && !defined(PNG_STDIO_SUPPORTED)
261# define PNG_STDIO_SUPPORTED
262#endif
263
264#ifdef _WIN32_WCE
265# include <windows.h>
266
267# define PNG_NO_CONSOLE_IO
268
269# define PNG_ABORT() exit(-1)
270# ifdef PNG_DEBUG
271# undef PNG_DEBUG
272# endif
273#endif
274
275#ifdef PNG_BUILD_DLL
276# ifndef PNG_CONSOLE_IO_SUPPORTED
277# ifndef PNG_NO_CONSOLE_IO
278# define PNG_NO_CONSOLE_IO
279# endif
280# endif
281#endif
282
283# ifdef PNG_NO_STDIO
284# ifndef PNG_NO_CONSOLE_IO
285# define PNG_NO_CONSOLE_IO
286# endif
287# ifdef PNG_DEBUG
288# if (PNG_DEBUG > 0)
289# include <stdio.h>
290# endif
291# endif
292# else
293# ifndef _WIN32_WCE
294
295# include <stdio.h>
296# endif
297# endif
298
299#if !(defined PNG_NO_CONSOLE_IO) && !defined(PNG_CONSOLE_IO_SUPPORTED)
300# define PNG_CONSOLE_IO_SUPPORTED
301#endif
302
303
304
305
306
307
308
309
310#ifndef PNGARG
311
312#ifdef OF
313# define PNGARG(arglist) OF(arglist)
314#else
315
316#ifdef _NO_PROTO
317# define PNGARG(arglist) ()
318# ifndef PNG_TYPECAST_NULL
319# define PNG_TYPECAST_NULL
320# endif
321#else
322# define PNGARG(arglist) arglist
323#endif
324
325
326#endif
327
328#endif
329
330
331
332
333
334#ifndef MACOS
335# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
336 defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
337# define MACOS
338# endif
339#endif
340
341
342#if !defined(MACOS) && !defined(RISCOS) && !defined(_WIN32_WCE)
343# include <sys/types.h>
344#endif
345
346#if !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED)
347# define PNG_SETJMP_SUPPORTED
348#endif
349
350#ifdef PNG_SETJMP_SUPPORTED
351
352
353
354
355
356
357
358
359
360
361# ifndef PNG_SKIP_SETJMP_CHECK
362# ifdef __linux__
363# ifdef _BSD_SOURCE
364# define PNG_SAVE_BSD_SOURCE
365# undef _BSD_SOURCE
366# endif
367# ifdef _SETJMP_H
368
369
370
371 __pngconf.h__ in libpng already includes setjmp.h;
372 __dont__ include it again.;
373# endif
374# endif
375# endif
376
377
378# include <setjmp.h>
379
380# ifdef __linux__
381# ifdef PNG_SAVE_BSD_SOURCE
382# ifndef _BSD_SOURCE
383# define _BSD_SOURCE
384# endif
385# undef PNG_SAVE_BSD_SOURCE
386# endif
387# endif
388#endif
389
390#ifdef BSD
391# include <strings.h>
392#else
393# include <string.h>
394#endif
395
396
397#ifdef PNG_INTERNAL
398
399#include <stdlib.h>
400
401
402
403
404
405
406
407
408#define PNG_EXTERN
409
410
411
412
413
414#ifdef PNG_FLOATING_POINT_SUPPORTED
415# ifdef MACOS
416
417
418
419
420# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
421# include <fp.h>
422# endif
423# else
424# include <math.h>
425# endif
426# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
427
428
429
430# include <m68881.h>
431# endif
432#endif
433
434
435#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__)
436# define PNG_ALWAYS_EXTERN
437#endif
438
439
440#if defined(__TURBOC__) && defined(__MSDOS__)
441# include <mem.h>
442# include <alloc.h>
443#endif
444
445
446#if defined(_MSC_VER) && (defined(WIN32) || defined(_Windows) || \
447 defined(_WINDOWS) || defined(_WIN32) || defined(__WIN32__))
448# include <malloc.h>
449#endif
450
451
452
453
454
455#ifndef PNG_DITHER_RED_BITS
456# define PNG_DITHER_RED_BITS 5
457#endif
458#ifndef PNG_DITHER_GREEN_BITS
459# define PNG_DITHER_GREEN_BITS 5
460#endif
461#ifndef PNG_DITHER_BLUE_BITS
462# define PNG_DITHER_BLUE_BITS 5
463#endif
464
465
466
467
468
469
470
471
472#ifndef PNG_MAX_GAMMA_8
473# define PNG_MAX_GAMMA_8 11
474#endif
475
476
477
478
479#ifndef PNG_GAMMA_THRESHOLD
480# define PNG_GAMMA_THRESHOLD 0.05
481#endif
482
483#endif
484
485
486
487
488
489
490#ifndef PNG_NO_CONST
491# define PNG_CONST const
492#else
493# define PNG_CONST
494#endif
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
530# ifndef PNG_NO_iTXt_SUPPORTED
531# define PNG_NO_iTXt_SUPPORTED
532# endif
533# ifndef PNG_NO_READ_iTXt
534# define PNG_NO_READ_iTXt
535# endif
536# ifndef PNG_NO_WRITE_iTXt
537# define PNG_NO_WRITE_iTXt
538# endif
539#endif
540
541#if !defined(PNG_NO_iTXt_SUPPORTED)
542# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt)
543# define PNG_READ_iTXt
544# endif
545# if !defined(PNG_WRITE_iTXt_SUPPORTED) && !defined(PNG_NO_WRITE_iTXt)
546# define PNG_WRITE_iTXt
547# endif
548#endif
549
550
551
552
553
554
555
556#ifdef PNG_LEGACY_SUPPORTED
557# define PNG_NO_FREE_ME
558# define PNG_NO_READ_UNKNOWN_CHUNKS
559# define PNG_NO_WRITE_UNKNOWN_CHUNKS
560# define PNG_NO_HANDLE_AS_UNKNOWN
561# define PNG_NO_READ_USER_CHUNKS
562# define PNG_NO_READ_iCCP
563# define PNG_NO_WRITE_iCCP
564# define PNG_NO_READ_iTXt
565# define PNG_NO_WRITE_iTXt
566# define PNG_NO_READ_sCAL
567# define PNG_NO_WRITE_sCAL
568# define PNG_NO_READ_sPLT
569# define PNG_NO_WRITE_sPLT
570# define PNG_NO_INFO_IMAGE
571# define PNG_NO_READ_RGB_TO_GRAY
572# define PNG_NO_READ_USER_TRANSFORM
573# define PNG_NO_WRITE_USER_TRANSFORM
574# define PNG_NO_USER_MEM
575# define PNG_NO_READ_EMPTY_PLTE
576# define PNG_NO_MNG_FEATURES
577# define PNG_NO_FIXED_POINT_SUPPORTED
578#endif
579
580
581#if !defined(PNG_FLOATING_POINT_SUPPORTED) || \
582 !defined(PNG_NO_FIXED_POINT_SUPPORTED)
583# define PNG_FIXED_POINT_SUPPORTED
584#endif
585
586#ifndef PNG_NO_FREE_ME
587# define PNG_FREE_ME_SUPPORTED
588#endif
589
590#ifdef PNG_READ_SUPPORTED
591
592#if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \
593 !defined(PNG_NO_READ_TRANSFORMS)
594# define PNG_READ_TRANSFORMS_SUPPORTED
595#endif
596
597#ifdef PNG_READ_TRANSFORMS_SUPPORTED
598# ifndef PNG_NO_READ_EXPAND
599# define PNG_READ_EXPAND_SUPPORTED
600# endif
601# ifndef PNG_NO_READ_SHIFT
602# define PNG_READ_SHIFT_SUPPORTED
603# endif
604# ifndef PNG_NO_READ_PACK
605# define PNG_READ_PACK_SUPPORTED
606# endif
607# ifndef PNG_NO_READ_BGR
608# define PNG_READ_BGR_SUPPORTED
609# endif
610# ifndef PNG_NO_READ_SWAP
611# define PNG_READ_SWAP_SUPPORTED
612# endif
613# ifndef PNG_NO_READ_PACKSWAP
614# define PNG_READ_PACKSWAP_SUPPORTED
615# endif
616# ifndef PNG_NO_READ_INVERT
617# define PNG_READ_INVERT_SUPPORTED
618# endif
619# ifndef PNG_NO_READ_DITHER
620# define PNG_READ_DITHER_SUPPORTED
621# endif
622# ifndef PNG_NO_READ_BACKGROUND
623# define PNG_READ_BACKGROUND_SUPPORTED
624# endif
625# ifndef PNG_NO_READ_16_TO_8
626# define PNG_READ_16_TO_8_SUPPORTED
627# endif
628# ifndef PNG_NO_READ_FILLER
629# define PNG_READ_FILLER_SUPPORTED
630# endif
631# ifndef PNG_NO_READ_GAMMA
632# define PNG_READ_GAMMA_SUPPORTED
633# endif
634# ifndef PNG_NO_READ_GRAY_TO_RGB
635# define PNG_READ_GRAY_TO_RGB_SUPPORTED
636# endif
637# ifndef PNG_NO_READ_SWAP_ALPHA
638# define PNG_READ_SWAP_ALPHA_SUPPORTED
639# endif
640# ifndef PNG_NO_READ_INVERT_ALPHA
641# define PNG_READ_INVERT_ALPHA_SUPPORTED
642# endif
643# ifndef PNG_NO_READ_STRIP_ALPHA
644# define PNG_READ_STRIP_ALPHA_SUPPORTED
645# endif
646# ifndef PNG_NO_READ_USER_TRANSFORM
647# define PNG_READ_USER_TRANSFORM_SUPPORTED
648# endif
649# ifndef PNG_NO_READ_RGB_TO_GRAY
650# define PNG_READ_RGB_TO_GRAY_SUPPORTED
651# endif
652#endif
653
654
655#if !defined(PNG_NO_PROGRESSIVE_READ) && \
656 !defined(PNG_PROGRESSIVE_READ_NOT_SUPPORTED)
657# define PNG_PROGRESSIVE_READ_SUPPORTED
658#endif
659
660#define PNG_READ_INTERLACING_SUPPORTED
661
662
663#if !defined(PNG_NO_SEQUENTIAL_READ) && \
664 !defined(PNG_SEQUENTIAL_READ_SUPPORTED) && \
665 !defined(PNG_NO_SEQUENTIAL_READ_SUPPORTED)
666# define PNG_SEQUENTIAL_READ_SUPPORTED
667#endif
668
669#define PNG_READ_INTERLACING_SUPPORTED
670
671#ifndef PNG_NO_READ_COMPOSITE_NODIV
672# ifndef PNG_NO_READ_COMPOSITED_NODIV
673# define PNG_READ_COMPOSITE_NODIV_SUPPORTED
674# endif
675#endif
676
677#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
678
679
680#ifndef PNG_NO_READ_EMPTY_PLTE
681# define PNG_READ_EMPTY_PLTE_SUPPORTED
682#endif
683#endif
684
685#endif
686
687#ifdef PNG_WRITE_SUPPORTED
688
689# if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \
690 !defined(PNG_NO_WRITE_TRANSFORMS)
691# define PNG_WRITE_TRANSFORMS_SUPPORTED
692#endif
693
694#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
695# ifndef PNG_NO_WRITE_SHIFT
696# define PNG_WRITE_SHIFT_SUPPORTED
697# endif
698# ifndef PNG_NO_WRITE_PACK
699# define PNG_WRITE_PACK_SUPPORTED
700# endif
701# ifndef PNG_NO_WRITE_BGR
702# define PNG_WRITE_BGR_SUPPORTED
703# endif
704# ifndef PNG_NO_WRITE_SWAP
705# define PNG_WRITE_SWAP_SUPPORTED
706# endif
707# ifndef PNG_NO_WRITE_PACKSWAP
708# define PNG_WRITE_PACKSWAP_SUPPORTED
709# endif
710# ifndef PNG_NO_WRITE_INVERT
711# define PNG_WRITE_INVERT_SUPPORTED
712# endif
713# ifndef PNG_NO_WRITE_FILLER
714# define PNG_WRITE_FILLER_SUPPORTED
715# endif
716# ifndef PNG_NO_WRITE_SWAP_ALPHA
717# define PNG_WRITE_SWAP_ALPHA_SUPPORTED
718# endif
719#ifndef PNG_1_0_X
720# ifndef PNG_NO_WRITE_INVERT_ALPHA
721# define PNG_WRITE_INVERT_ALPHA_SUPPORTED
722# endif
723#endif
724# ifndef PNG_NO_WRITE_USER_TRANSFORM
725# define PNG_WRITE_USER_TRANSFORM_SUPPORTED
726# endif
727#endif
728
729#if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \
730 !defined(PNG_WRITE_INTERLACING_SUPPORTED)
731#define PNG_WRITE_INTERLACING_SUPPORTED
732
733
734#endif
735
736#if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \
737 !defined(PNG_WRITE_WEIGHTED_FILTER) && \
738 defined(PNG_FLOATING_POINT_SUPPORTED)
739# define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
740#endif
741
742#ifndef PNG_NO_WRITE_FLUSH
743# define PNG_WRITE_FLUSH_SUPPORTED
744#endif
745
746#if defined(PNG_1_0_X) || defined (PNG_1_2_X)
747
748#ifndef PNG_NO_WRITE_EMPTY_PLTE
749# define PNG_WRITE_EMPTY_PLTE_SUPPORTED
750#endif
751#endif
752
753#endif
754
755#ifndef PNG_1_0_X
756# ifndef PNG_NO_ERROR_NUMBERS
757# define PNG_ERROR_NUMBERS_SUPPORTED
758# endif
759#endif
760
761#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
762 defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
763# ifndef PNG_NO_USER_TRANSFORM_PTR
764# define PNG_USER_TRANSFORM_PTR_SUPPORTED
765# endif
766#endif
767
768#ifndef PNG_NO_STDIO
769# define PNG_TIME_RFC1123_SUPPORTED
770#endif
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788#if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED)
789# define PNG_EASY_ACCESS_SUPPORTED
790#endif
791
792
793
794
795
796
797#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE)
798# ifndef PNG_OPTIMIZED_CODE_SUPPORTED
799# define PNG_OPTIMIZED_CODE_SUPPORTED
800# endif
801#endif
802
803#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
804# ifndef PNG_ASSEMBLER_CODE_SUPPORTED
805# define PNG_ASSEMBLER_CODE_SUPPORTED
806# endif
807
808# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4)
809
810# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
811# define PNG_NO_MMX_CODE
812# endif
813# endif
814
815# ifdef __APPLE__
816# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
817# define PNG_NO_MMX_CODE
818# endif
819# endif
820
821# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh))
822# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
823# define PNG_NO_MMX_CODE
824# endif
825# endif
826
827# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
828# define PNG_MMX_CODE_SUPPORTED
829# endif
830
831#endif
832
833
834
835#ifndef PNG_1_0_X
836#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED)
837# define PNG_USER_MEM_SUPPORTED
838#endif
839#endif
840
841
842#ifndef PNG_1_0_X
843# ifndef PNG_SET_USER_LIMITS_SUPPORTED
844# ifndef PNG_NO_SET_USER_LIMITS
845# define PNG_SET_USER_LIMITS_SUPPORTED
846# endif
847# endif
848#endif
849
850
851#ifndef PNG_USER_LIMITS_SUPPORTED
852# ifndef PNG_NO_USER_LIMITS
853# define PNG_USER_LIMITS_SUPPORTED
854# endif
855#endif
856
857
858
859
860#ifndef PNG_USER_WIDTH_MAX
861# define PNG_USER_WIDTH_MAX 1000000L
862#endif
863#ifndef PNG_USER_HEIGHT_MAX
864# define PNG_USER_HEIGHT_MAX 1000000L
865#endif
866
867
868
869
870#ifndef PNG_USER_CHUNK_CACHE_MAX
871# define PNG_USER_CHUNK_CACHE_MAX 0
872#endif
873
874
875#ifndef PNG_USER_CHUNK_MALLOC_MAX
876# define PNG_USER_CHUNK_MALLOC_MAX 0
877#endif
878
879#ifndef PNG_LITERAL_SHARP
880# define PNG_LITERAL_SHARP 0x23
881#endif
882#ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET
883# define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b
884#endif
885#ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET
886# define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d
887#endif
888
889
890#ifndef PNG_STRING_NEWLINE
891#define PNG_STRING_NEWLINE "\n"
892#endif
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918#if !defined(PNG_NO_POINTER_INDEXING) && \
919 !defined(PNG_POINTER_INDEXING_SUPPORTED)
920# define PNG_POINTER_INDEXING_SUPPORTED
921#endif
922
923
924
925
926
927
928
929
930
931
932
933
934
935#if defined(PNG_READ_SUPPORTED) && \
936 !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
937 !defined(PNG_NO_READ_ANCILLARY_CHUNKS)
938# define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
939#endif
940
941#if defined(PNG_WRITE_SUPPORTED) && \
942 !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \
943 !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS)
944# define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
945#endif
946
947#ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
948
949#ifdef PNG_NO_READ_TEXT
950# define PNG_NO_READ_iTXt
951# define PNG_NO_READ_tEXt
952# define PNG_NO_READ_zTXt
953#endif
954#ifndef PNG_NO_READ_bKGD
955# define PNG_READ_bKGD_SUPPORTED
956# define PNG_bKGD_SUPPORTED
957#endif
958#ifndef PNG_NO_READ_cHRM
959# define PNG_READ_cHRM_SUPPORTED
960# define PNG_cHRM_SUPPORTED
961#endif
962#ifndef PNG_NO_READ_gAMA
963# define PNG_READ_gAMA_SUPPORTED
964# define PNG_gAMA_SUPPORTED
965#endif
966#ifndef PNG_NO_READ_hIST
967# define PNG_READ_hIST_SUPPORTED
968# define PNG_hIST_SUPPORTED
969#endif
970#ifndef PNG_NO_READ_iCCP
971# define PNG_READ_iCCP_SUPPORTED
972# define PNG_iCCP_SUPPORTED
973#endif
974#ifndef PNG_NO_READ_iTXt
975# ifndef PNG_READ_iTXt_SUPPORTED
976# define PNG_READ_iTXt_SUPPORTED
977# endif
978# ifndef PNG_iTXt_SUPPORTED
979# define PNG_iTXt_SUPPORTED
980# endif
981#endif
982#ifndef PNG_NO_READ_oFFs
983# define PNG_READ_oFFs_SUPPORTED
984# define PNG_oFFs_SUPPORTED
985#endif
986#ifndef PNG_NO_READ_pCAL
987# define PNG_READ_pCAL_SUPPORTED
988# define PNG_pCAL_SUPPORTED
989#endif
990#ifndef PNG_NO_READ_sCAL
991# define PNG_READ_sCAL_SUPPORTED
992# define PNG_sCAL_SUPPORTED
993#endif
994#ifndef PNG_NO_READ_pHYs
995# define PNG_READ_pHYs_SUPPORTED
996# define PNG_pHYs_SUPPORTED
997#endif
998#ifndef PNG_NO_READ_sBIT
999# define PNG_READ_sBIT_SUPPORTED
1000# define PNG_sBIT_SUPPORTED
1001#endif
1002#ifndef PNG_NO_READ_sPLT
1003# define PNG_READ_sPLT_SUPPORTED
1004# define PNG_sPLT_SUPPORTED
1005#endif
1006#ifndef PNG_NO_READ_sRGB
1007# define PNG_READ_sRGB_SUPPORTED
1008# define PNG_sRGB_SUPPORTED
1009#endif
1010#ifndef PNG_NO_READ_tEXt
1011# define PNG_READ_tEXt_SUPPORTED
1012# define PNG_tEXt_SUPPORTED
1013#endif
1014#ifndef PNG_NO_READ_tIME
1015# define PNG_READ_tIME_SUPPORTED
1016# define PNG_tIME_SUPPORTED
1017#endif
1018#ifndef PNG_NO_READ_tRNS
1019# define PNG_READ_tRNS_SUPPORTED
1020# define PNG_tRNS_SUPPORTED
1021#endif
1022#ifndef PNG_NO_READ_zTXt
1023# define PNG_READ_zTXt_SUPPORTED
1024# define PNG_zTXt_SUPPORTED
1025#endif
1026#ifndef PNG_NO_READ_OPT_PLTE
1027# define PNG_READ_OPT_PLTE_SUPPORTED
1028#endif
1029#if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \
1030 defined(PNG_READ_zTXt_SUPPORTED)
1031# define PNG_READ_TEXT_SUPPORTED
1032# define PNG_TEXT_SUPPORTED
1033#endif
1034
1035#endif
1036
1037#ifndef PNG_NO_READ_UNKNOWN_CHUNKS
1038# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
1039# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
1040# define PNG_UNKNOWN_CHUNKS_SUPPORTED
1041# endif
1042#endif
1043#if !defined(PNG_NO_READ_USER_CHUNKS) && \
1044 defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED)
1045# define PNG_READ_USER_CHUNKS_SUPPORTED
1046# define PNG_USER_CHUNKS_SUPPORTED
1047# ifdef PNG_NO_READ_UNKNOWN_CHUNKS
1048# undef PNG_NO_READ_UNKNOWN_CHUNKS
1049# endif
1050# ifdef PNG_NO_HANDLE_AS_UNKNOWN
1051# undef PNG_NO_HANDLE_AS_UNKNOWN
1052# endif
1053#endif
1054
1055#ifndef PNG_NO_HANDLE_AS_UNKNOWN
1056# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1057# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1058# endif
1059#endif
1060
1061#ifdef PNG_WRITE_SUPPORTED
1062#ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
1063
1064#ifdef PNG_NO_WRITE_TEXT
1065# define PNG_NO_WRITE_iTXt
1066# define PNG_NO_WRITE_tEXt
1067# define PNG_NO_WRITE_zTXt
1068#endif
1069#ifndef PNG_NO_WRITE_bKGD
1070# define PNG_WRITE_bKGD_SUPPORTED
1071# ifndef PNG_bKGD_SUPPORTED
1072# define PNG_bKGD_SUPPORTED
1073# endif
1074#endif
1075#ifndef PNG_NO_WRITE_cHRM
1076# define PNG_WRITE_cHRM_SUPPORTED
1077# ifndef PNG_cHRM_SUPPORTED
1078# define PNG_cHRM_SUPPORTED
1079# endif
1080#endif
1081#ifndef PNG_NO_WRITE_gAMA
1082# define PNG_WRITE_gAMA_SUPPORTED
1083# ifndef PNG_gAMA_SUPPORTED
1084# define PNG_gAMA_SUPPORTED
1085# endif
1086#endif
1087#ifndef PNG_NO_WRITE_hIST
1088# define PNG_WRITE_hIST_SUPPORTED
1089# ifndef PNG_hIST_SUPPORTED
1090# define PNG_hIST_SUPPORTED
1091# endif
1092#endif
1093#ifndef PNG_NO_WRITE_iCCP
1094# define PNG_WRITE_iCCP_SUPPORTED
1095# ifndef PNG_iCCP_SUPPORTED
1096# define PNG_iCCP_SUPPORTED
1097# endif
1098#endif
1099#ifndef PNG_NO_WRITE_iTXt
1100# ifndef PNG_WRITE_iTXt_SUPPORTED
1101# define PNG_WRITE_iTXt_SUPPORTED
1102# endif
1103# ifndef PNG_iTXt_SUPPORTED
1104# define PNG_iTXt_SUPPORTED
1105# endif
1106#endif
1107#ifndef PNG_NO_WRITE_oFFs
1108# define PNG_WRITE_oFFs_SUPPORTED
1109# ifndef PNG_oFFs_SUPPORTED
1110# define PNG_oFFs_SUPPORTED
1111# endif
1112#endif
1113#ifndef PNG_NO_WRITE_pCAL
1114# define PNG_WRITE_pCAL_SUPPORTED
1115# ifndef PNG_pCAL_SUPPORTED
1116# define PNG_pCAL_SUPPORTED
1117# endif
1118#endif
1119#ifndef PNG_NO_WRITE_sCAL
1120# define PNG_WRITE_sCAL_SUPPORTED
1121# ifndef PNG_sCAL_SUPPORTED
1122# define PNG_sCAL_SUPPORTED
1123# endif
1124#endif
1125#ifndef PNG_NO_WRITE_pHYs
1126# define PNG_WRITE_pHYs_SUPPORTED
1127# ifndef PNG_pHYs_SUPPORTED
1128# define PNG_pHYs_SUPPORTED
1129# endif
1130#endif
1131#ifndef PNG_NO_WRITE_sBIT
1132# define PNG_WRITE_sBIT_SUPPORTED
1133# ifndef PNG_sBIT_SUPPORTED
1134# define PNG_sBIT_SUPPORTED
1135# endif
1136#endif
1137#ifndef PNG_NO_WRITE_sPLT
1138# define PNG_WRITE_sPLT_SUPPORTED
1139# ifndef PNG_sPLT_SUPPORTED
1140# define PNG_sPLT_SUPPORTED
1141# endif
1142#endif
1143#ifndef PNG_NO_WRITE_sRGB
1144# define PNG_WRITE_sRGB_SUPPORTED
1145# ifndef PNG_sRGB_SUPPORTED
1146# define PNG_sRGB_SUPPORTED
1147# endif
1148#endif
1149#ifndef PNG_NO_WRITE_tEXt
1150# define PNG_WRITE_tEXt_SUPPORTED
1151# ifndef PNG_tEXt_SUPPORTED
1152# define PNG_tEXt_SUPPORTED
1153# endif
1154#endif
1155#ifndef PNG_NO_WRITE_tIME
1156# define PNG_WRITE_tIME_SUPPORTED
1157# ifndef PNG_tIME_SUPPORTED
1158# define PNG_tIME_SUPPORTED
1159# endif
1160#endif
1161#ifndef PNG_NO_WRITE_tRNS
1162# define PNG_WRITE_tRNS_SUPPORTED
1163# ifndef PNG_tRNS_SUPPORTED
1164# define PNG_tRNS_SUPPORTED
1165# endif
1166#endif
1167#ifndef PNG_NO_WRITE_zTXt
1168# define PNG_WRITE_zTXt_SUPPORTED
1169# ifndef PNG_zTXt_SUPPORTED
1170# define PNG_zTXt_SUPPORTED
1171# endif
1172#endif
1173#if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \
1174 defined(PNG_WRITE_zTXt_SUPPORTED)
1175# define PNG_WRITE_TEXT_SUPPORTED
1176# ifndef PNG_TEXT_SUPPORTED
1177# define PNG_TEXT_SUPPORTED
1178# endif
1179#endif
1180
1181#ifdef PNG_WRITE_tIME_SUPPORTED
1182# ifndef PNG_NO_CONVERT_tIME
1183# ifndef _WIN32_WCE
1184
1185# ifndef PNG_CONVERT_tIME_SUPPORTED
1186# define PNG_CONVERT_tIME_SUPPORTED
1187# endif
1188# endif
1189# endif
1190#endif
1191
1192#endif
1193
1194#if !defined(PNG_NO_WRITE_FILTER) && !defined(PNG_WRITE_FILTER_SUPPORTED)
1195# define PNG_WRITE_FILTER_SUPPORTED
1196#endif
1197
1198#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS
1199# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
1200# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
1201# define PNG_UNKNOWN_CHUNKS_SUPPORTED
1202# endif
1203#endif
1204
1205#ifndef PNG_NO_HANDLE_AS_UNKNOWN
1206# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1207# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
1208# endif
1209#endif
1210#endif
1211
1212
1213
1214
1215
1216#ifndef PNG_NO_INFO_IMAGE
1217# define PNG_INFO_IMAGE_SUPPORTED
1218#endif
1219
1220
1221#ifdef PNG_CONVERT_tIME_SUPPORTED
1222
1223# include <time.h>
1224#endif
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235typedef unsigned long png_uint_32;
1236typedef long png_int_32;
1237typedef unsigned short png_uint_16;
1238typedef short png_int_16;
1239typedef unsigned char png_byte;
1240
1241
1242
1243#ifdef PNG_SIZE_T
1244 typedef PNG_SIZE_T png_size_t;
1245# define png_sizeof(x) png_convert_size(sizeof(x))
1246#else
1247 typedef size_t png_size_t;
1248# define png_sizeof(x) sizeof(x)
1249#endif
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262#ifdef __BORLANDC__
1263# if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__)
1264# define LDATA 1
1265# else
1266# define LDATA 0
1267# endif
1268
1269# if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__)
1270# define PNG_MAX_MALLOC_64K
1271# if (LDATA != 1)
1272# ifndef FAR
1273# define FAR __far
1274# endif
1275# define USE_FAR_KEYWORD
1276# endif
1277
1278
1279
1280
1281
1282# endif
1283#endif
1284
1285
1286
1287
1288
1289
1290
1291
1292#ifdef FAR
1293# ifdef M_I86MM
1294# define USE_FAR_KEYWORD
1295# define FARDATA FAR
1296# include <dos.h>
1297# endif
1298#endif
1299
1300
1301#ifndef FAR
1302# define FAR
1303#endif
1304
1305
1306#ifndef FARDATA
1307# define FARDATA
1308#endif
1309
1310
1311
1312typedef png_int_32 png_fixed_point;
1313
1314
1315typedef void FAR * png_voidp;
1316typedef png_byte FAR * png_bytep;
1317typedef png_uint_32 FAR * png_uint_32p;
1318typedef png_int_32 FAR * png_int_32p;
1319typedef png_uint_16 FAR * png_uint_16p;
1320typedef png_int_16 FAR * png_int_16p;
1321typedef PNG_CONST char FAR * png_const_charp;
1322typedef char FAR * png_charp;
1323typedef png_fixed_point FAR * png_fixed_point_p;
1324
1325#ifndef PNG_NO_STDIO
1326#ifdef _WIN32_WCE
1327typedef HANDLE png_FILE_p;
1328#else
1329typedef FILE * png_FILE_p;
1330#endif
1331#endif
1332
1333#ifdef PNG_FLOATING_POINT_SUPPORTED
1334typedef double FAR * png_doublep;
1335#endif
1336
1337
1338typedef png_byte FAR * FAR * png_bytepp;
1339typedef png_uint_32 FAR * FAR * png_uint_32pp;
1340typedef png_int_32 FAR * FAR * png_int_32pp;
1341typedef png_uint_16 FAR * FAR * png_uint_16pp;
1342typedef png_int_16 FAR * FAR * png_int_16pp;
1343typedef PNG_CONST char FAR * FAR * png_const_charpp;
1344typedef char FAR * FAR * png_charpp;
1345typedef png_fixed_point FAR * FAR * png_fixed_point_pp;
1346#ifdef PNG_FLOATING_POINT_SUPPORTED
1347typedef double FAR * FAR * png_doublepp;
1348#endif
1349
1350
1351typedef char FAR * FAR * FAR * png_charppp;
1352
1353#if defined(PNG_1_0_X) || defined(PNG_1_2_X)
1354
1355
1356
1357
1358
1359
1360typedef charf * png_zcharp;
1361typedef charf * FAR * png_zcharpp;
1362typedef z_stream FAR * png_zstreamp;
1363#endif
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL))
1384# define PNG_DLL
1385#endif
1386
1387
1388
1389
1390#ifdef __CYGWIN__
1391# ifndef PNG_STATIC
1392# ifdef PNG_USE_GLOBAL_ARRAYS
1393# undef PNG_USE_GLOBAL_ARRAYS
1394# endif
1395# ifndef PNG_USE_LOCAL_ARRAYS
1396# define PNG_USE_LOCAL_ARRAYS
1397# endif
1398# else
1399# if defined(PNG_USE_LOCAL_ARRAYS) || defined(PNG_NO_GLOBAL_ARRAYS)
1400# ifdef PNG_USE_GLOBAL_ARRAYS
1401# undef PNG_USE_GLOBAL_ARRAYS
1402# endif
1403# endif
1404# endif
1405# if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
1406# define PNG_USE_LOCAL_ARRAYS
1407# endif
1408#endif
1409
1410
1411
1412
1413
1414#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS)
1415# if defined(PNG_NO_GLOBAL_ARRAYS) || \
1416 (defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER)
1417# define PNG_USE_LOCAL_ARRAYS
1418# else
1419# define PNG_USE_GLOBAL_ARRAYS
1420# endif
1421#endif
1422
1423#ifdef __CYGWIN__
1424# undef PNGAPI
1425# define PNGAPI __cdecl
1426# undef PNG_IMPEXP
1427# define PNG_IMPEXP
1428#endif
1429
1430
1431
1432
1433
1434
1435
1436
1437#if defined(__MINGW32__) && !defined(PNG_MODULEDEF)
1438# ifndef PNG_NO_MODULEDEF
1439# define PNG_NO_MODULEDEF
1440# endif
1441#endif
1442
1443#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
1444# define PNG_IMPEXP
1445#endif
1446
1447#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \
1448 (( defined(_Windows) || defined(_WINDOWS) || \
1449 defined(WIN32) || defined(_WIN32) || defined(__WIN32__) ))
1450
1451# ifndef PNGAPI
1452# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
1453# define PNGAPI __cdecl
1454# else
1455# define PNGAPI _cdecl
1456# endif
1457# endif
1458
1459# if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \
1460 0 )
1461# define PNG_IMPEXP
1462# endif
1463
1464# ifndef PNG_IMPEXP
1465
1466# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol
1467# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol
1468
1469
1470# if defined(_MSC_VER) || defined(__BORLANDC__)
1471# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500)
1472# define PNG_EXPORT PNG_EXPORT_TYPE1
1473# else
1474# define PNG_EXPORT PNG_EXPORT_TYPE2
1475# ifdef PNG_BUILD_DLL
1476# define PNG_IMPEXP __export
1477# else
1478# define PNG_IMPEXP
1479
1480# endif
1481
1482# endif
1483# endif
1484
1485# ifndef PNG_IMPEXP
1486# ifdef PNG_BUILD_DLL
1487# define PNG_IMPEXP __declspec(dllexport)
1488# else
1489# define PNG_IMPEXP __declspec(dllimport)
1490# endif
1491# endif
1492# endif
1493#else
1494# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
1495# ifndef PNGAPI
1496# define PNGAPI _System
1497# endif
1498# else
1499# if 0
1500# endif
1501# endif
1502#endif
1503
1504#ifndef PNGAPI
1505# define PNGAPI
1506#endif
1507#ifndef PNG_IMPEXP
1508# define PNG_IMPEXP
1509#endif
1510
1511#ifdef PNG_BUILDSYMS
1512# ifndef PNG_EXPORT
1513# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END
1514# endif
1515# ifdef PNG_USE_GLOBAL_ARRAYS
1516# ifndef PNG_EXPORT_VAR
1517# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT
1518# endif
1519# endif
1520#endif
1521
1522#ifndef PNG_EXPORT
1523# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
1524#endif
1525
1526#ifdef PNG_USE_GLOBAL_ARRAYS
1527# ifndef PNG_EXPORT_VAR
1528# define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type
1529# endif
1530#endif
1531
1532#ifdef PNG_PEDANTIC_WARNINGS
1533# ifndef PNG_PEDANTIC_WARNINGS_SUPPORTED
1534# define PNG_PEDANTIC_WARNINGS_SUPPORTED
1535# endif
1536#endif
1537
1538#ifdef PNG_PEDANTIC_WARNINGS_SUPPORTED
1539
1540
1541
1542
1543
1544# ifdef __GNUC__
1545# ifndef PNG_USE_RESULT
1546# define PNG_USE_RESULT __attribute__((__warn_unused_result__))
1547# endif
1548# ifndef PNG_NORETURN
1549# define PNG_NORETURN __attribute__((__noreturn__))
1550# endif
1551# ifndef PNG_ALLOCATED
1552# define PNG_ALLOCATED __attribute__((__malloc__))
1553# endif
1554
1555
1556
1557
1558
1559# ifndef PNG_DEPRECATED
1560# define PNG_DEPRECATED __attribute__((__deprecated__))
1561# endif
1562# ifndef PNG_DEPSTRUCT
1563# define PNG_DEPSTRUCT __attribute__((__deprecated__))
1564# endif
1565# ifndef PNG_PRIVATE
1566# if 0
1567# define PNG_PRIVATE \
1568 __attribute__((warning("This function is not exported by libpng.")))
1569# else
1570# define PNG_PRIVATE \
1571 __attribute__((__deprecated__))
1572# endif
1573# endif
1574# endif
1575#endif
1576
1577#ifndef PNG_DEPRECATED
1578# define PNG_DEPRECATED
1579#endif
1580#ifndef PNG_USE_RESULT
1581# define PNG_USE_RESULT
1582#endif
1583#ifndef PNG_NORETURN
1584# define PNG_NORETURN
1585#endif
1586#ifndef PNG_ALLOCATED
1587# define PNG_ALLOCATED
1588#endif
1589#ifndef PNG_DEPSTRUCT
1590# define PNG_DEPSTRUCT
1591#endif
1592#ifndef PNG_PRIVATE
1593# define PNG_PRIVATE
1594#endif
1595
1596
1597
1598
1599
1600#ifndef PNG_ABORT
1601# define PNG_ABORT() abort()
1602#endif
1603
1604#ifdef PNG_SETJMP_SUPPORTED
1605# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
1606#else
1607# define png_jmpbuf(png_ptr) \
1608 (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED)
1609#endif
1610
1611#ifdef USE_FAR_KEYWORD
1612
1613# define CHECK 1
1614# define NOCHECK 0
1615# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK))
1616# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK))
1617# define png_snprintf _fsnprintf
1618# define png_strlen _fstrlen
1619# define png_memcmp _fmemcmp
1620# define png_memcpy _fmemcpy
1621# define png_memset _fmemset
1622#else
1623# define CVT_PTR(ptr) (ptr)
1624# define CVT_PTR_NOCHECK(ptr) (ptr)
1625# ifndef PNG_NO_SNPRINTF
1626# ifdef _MSC_VER
1627# define png_snprintf _snprintf
1628# define png_snprintf2 _snprintf
1629# define png_snprintf6 _snprintf
1630# else
1631# define png_snprintf snprintf
1632# define png_snprintf2 snprintf
1633# define png_snprintf6 snprintf
1634# endif
1635# else
1636
1637
1638
1639
1640
1641
1642# define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1)
1643# define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2)
1644# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \
1645 sprintf(s1,fmt,x1,x2,x3,x4,x5,x6)
1646# endif
1647# define png_strlen strlen
1648# define png_memcmp memcmp
1649# define png_memcpy memcpy
1650# define png_memset memset
1651#endif
1652
1653
1654
1655
1656
1657#if (PNG_ZBUF_SIZE > 65536L) && defined(PNG_MAX_MALLOC_64K)
1658# undef PNG_ZBUF_SIZE
1659# define PNG_ZBUF_SIZE 65536L
1660#endif
1661
1662
1663#endif
1664
1665#endif
1666