tioga 1.11 → 1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. data/Tioga_README +58 -35
  2. data/{split/scripts → bin}/tioga +1 -1
  3. data/{split → ext/Dobjects}/Dtable/dtable.c +81 -15
  4. data/{split → ext/Dobjects}/Dtable/dtable_intern.h +0 -0
  5. data/ext/Dobjects/Dtable/extconf.rb +7 -0
  6. data/{split → ext/Dobjects}/Dtable/include/dtable.h +0 -0
  7. data/{split → ext/Dobjects}/Dvector/dvector.c +361 -51
  8. data/{split → ext/Dobjects}/Dvector/dvector_intern.h +0 -0
  9. data/ext/Dobjects/Dvector/extconf.rb +22 -0
  10. data/{split/Dtable → ext/Dobjects/Dvector/include}/dvector.h +0 -0
  11. data/ext/Dobjects/Function/extconf.rb +7 -0
  12. data/{split → ext/Dobjects}/Function/function.c +636 -11
  13. data/{split → ext/Dobjects}/Function/joint_qsort.c +0 -0
  14. data/ext/Flate/extconf.rb +26 -0
  15. data/{split → ext}/Flate/flate.c +7 -3
  16. data/{split → ext}/Flate/flate_intern.h +0 -0
  17. data/{split → ext}/Flate/include/flate.h +0 -0
  18. data/ext/Flate/zlib/adler32.c +149 -0
  19. data/ext/Flate/zlib/compress.c +79 -0
  20. data/ext/Flate/zlib/crc32.c +423 -0
  21. data/ext/Flate/zlib/crc32.h +441 -0
  22. data/ext/Flate/zlib/deflate.c +1736 -0
  23. data/ext/Flate/zlib/deflate.h +331 -0
  24. data/ext/Flate/zlib/gzio.c +1026 -0
  25. data/ext/Flate/zlib/infback.c +623 -0
  26. data/ext/Flate/zlib/inffast.c +318 -0
  27. data/ext/Flate/zlib/inffast.h +11 -0
  28. data/ext/Flate/zlib/inffixed.h +94 -0
  29. data/ext/Flate/zlib/inflate.c +1368 -0
  30. data/ext/Flate/zlib/inflate.h +115 -0
  31. data/ext/Flate/zlib/inftrees.c +329 -0
  32. data/ext/Flate/zlib/inftrees.h +55 -0
  33. data/ext/Flate/zlib/trees.c +1219 -0
  34. data/ext/Flate/zlib/trees.h +128 -0
  35. data/ext/Flate/zlib/uncompr.c +61 -0
  36. data/ext/Flate/zlib/zlib.h +1357 -0
  37. data/ext/Flate/zlib/zutil.c +318 -0
  38. data/ext/Flate/zlib/zutil.h +269 -0
  39. data/ext/Tioga/FigureMaker/__shared_axes.c +1373 -0
  40. data/ext/Tioga/FigureMaker/__shared_makers.c +1303 -0
  41. data/{split/Tioga/pdf_font_dicts.c → ext/Tioga/FigureMaker/__shared_pdf_font_dicts.c} +0 -0
  42. data/{split/Tioga/pdfcolor.c → ext/Tioga/FigureMaker/__shared_pdfcolor.c} +0 -0
  43. data/{split/Tioga/pdfcoords.c → ext/Tioga/FigureMaker/__shared_pdfcoords.c} +0 -0
  44. data/{split/Tioga/pdffile.c → ext/Tioga/FigureMaker/__shared_pdffile.c} +0 -0
  45. data/{split/Tioga/pdfimage.c → ext/Tioga/FigureMaker/__shared_pdfimage.c} +0 -0
  46. data/{split/Tioga/pdfpath.c → ext/Tioga/FigureMaker/__shared_pdfpath.c} +0 -0
  47. data/{split/Tioga/pdftext.c → ext/Tioga/FigureMaker/__shared_pdftext.c} +0 -0
  48. data/{split/Tioga/texout.c → ext/Tioga/FigureMaker/__shared_texout.c} +0 -0
  49. data/ext/Tioga/FigureMaker/extconf.rb +7 -0
  50. data/{split/Tioga → ext/Tioga/FigureMaker}/figures.c +14 -2
  51. data/{split/Tioga → ext/Tioga/FigureMaker}/figures.h +0 -0
  52. data/{split/Tioga → ext/Tioga/FigureMaker}/generic.c +1 -2
  53. data/{split/Tioga → ext/Tioga/FigureMaker}/generic.h +0 -1
  54. data/{split/Tioga → ext/Tioga/FigureMaker}/init.c +0 -0
  55. data/{split/Tioga → ext/Tioga/FigureMaker}/pdfs.h +0 -0
  56. data/{split/Tioga → ext/Tioga/FigureMaker/shared}/axes.c +32 -7
  57. data/{split/Tioga → ext/Tioga/FigureMaker/shared}/makers.c +2 -2
  58. data/ext/Tioga/FigureMaker/shared/pdf_font_dicts.c +18253 -0
  59. data/ext/Tioga/FigureMaker/shared/pdfcolor.c +904 -0
  60. data/ext/Tioga/FigureMaker/shared/pdfcoords.c +518 -0
  61. data/ext/Tioga/FigureMaker/shared/pdffile.c +451 -0
  62. data/ext/Tioga/FigureMaker/shared/pdfimage.c +539 -0
  63. data/ext/Tioga/FigureMaker/shared/pdfpath.c +766 -0
  64. data/ext/Tioga/FigureMaker/shared/pdftext.c +710 -0
  65. data/ext/Tioga/FigureMaker/shared/texout.c +533 -0
  66. data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.c +5 -5
  67. data/{split/Tioga → ext/Tioga/FigureMaker}/wrappers.h +0 -0
  68. data/{split/Dtable → ext/includes}/defs.h +0 -0
  69. data/{split/Dtable → ext/includes}/namespace.h +0 -0
  70. data/{split/Dtable → ext/includes}/safe_double.h +0 -0
  71. data/{split → ext/includes}/symbols.c +0 -1
  72. data/{split/Dtable → ext/includes}/symbols.h +0 -0
  73. data/{split/Dtable/lib → lib/Dobjects}/Dtable_extras.rb +0 -0
  74. data/{split/Dvector/lib → lib/Dobjects}/Dvector_extras.rb +1 -0
  75. data/{split/Function/lib → lib/Dobjects}/Function_extras.rb +0 -0
  76. data/{split/Dvector/lib → lib/Dobjects}/Numeric_extras.rb +0 -0
  77. data/{split/Tioga/lib → lib/Tioga}/Arcs_and_Circles.rb +0 -0
  78. data/{split/Tioga/lib → lib/Tioga}/ColorConstants.rb +0 -0
  79. data/{split/Tioga/lib → lib/Tioga}/Colorbars.rb +0 -0
  80. data/{split/Tioga/lib → lib/Tioga}/Colormaps.rb +0 -0
  81. data/{split/Tioga/lib → lib/Tioga}/Coordinate_Conversions.rb +0 -0
  82. data/{split/Tioga/lib → lib/Tioga}/Creating_Paths.rb +0 -0
  83. data/{split/Tioga/lib → lib/Tioga}/Doc.rb +0 -0
  84. data/{split/Tioga/lib → lib/Tioga}/Executive.rb +0 -0
  85. data/{split/Tioga/lib → lib/Tioga}/FigMkr.rb +13 -70
  86. data/{split/Tioga/lib → lib/Tioga}/FigureConstants.rb +0 -0
  87. data/{split/Tioga/lib → lib/Tioga}/Figures_and_Plots.rb +0 -0
  88. data/{split/Tioga/lib → lib/Tioga}/Images.rb +0 -0
  89. data/{split/Tioga/lib → lib/Tioga}/Legends.rb +0 -0
  90. data/{split/Tioga/lib → lib/Tioga}/MarkerConstants.rb +0 -0
  91. data/{split/Tioga/lib → lib/Tioga}/Markers.rb +0 -0
  92. data/{split/Tioga/lib → lib/Tioga}/Page_Frame_Bounds.rb +0 -0
  93. data/{split/Tioga/lib → lib/Tioga}/Rectangles.rb +0 -0
  94. data/{split/Tioga/lib → lib/Tioga}/Shading.rb +0 -0
  95. data/{split/Tioga/lib → lib/Tioga}/Special_Paths.rb +0 -0
  96. data/{split/Tioga/lib → lib/Tioga}/Strokes.rb +0 -0
  97. data/{split/Tioga/lib → lib/Tioga}/TeX_Text.rb +0 -0
  98. data/{split/Tioga/lib → lib/Tioga}/TexPreamble.rb +0 -0
  99. data/{split/Tioga/lib → lib/Tioga}/Titles_and_Labels.rb +0 -0
  100. data/{split/Tioga/lib → lib/Tioga}/Transparency.rb +0 -0
  101. data/{split/Tioga/lib → lib/Tioga}/Using_Paths.rb +0 -0
  102. data/{split/Tioga/lib → lib/Tioga}/Utils.rb +74 -0
  103. data/{split/Tioga/lib → lib/Tioga}/X_and_Y_Axes.rb +0 -0
  104. data/{split/Tioga/lib → lib/Tioga}/irb_tioga.rb +0 -0
  105. data/{split/Tioga/lib → lib/Tioga}/maker.rb +0 -0
  106. data/{split/Tioga/lib → lib/Tioga}/tioga.rb +0 -0
  107. data/{split/Tioga/lib → lib/Tioga}/tioga_ui.rb +0 -0
  108. data/{split/Tioga/lib → lib/Tioga}/tioga_ui_cmds.rb +0 -0
  109. data/tests/Icon_Test.pdf +0 -0
  110. data/tests/benchmark_dvector_reads.rb +20 -42
  111. data/tests/tc_Dvector.rb +45 -4
  112. data/tests/tc_Flate.rb +4 -5
  113. data/tests/tc_Function.rb +79 -0
  114. data/tests/vg.log +1453 -0
  115. metadata +141 -122
  116. data/split/Dtable/extconf.rb +0 -4
  117. data/split/Dvector/defs.h +0 -39
  118. data/split/Dvector/extconf.rb +0 -4
  119. data/split/Dvector/include/dvector.h +0 -77
  120. data/split/Dvector/namespace.h +0 -59
  121. data/split/Dvector/safe_double.h +0 -104
  122. data/split/Dvector/symbols.h +0 -52
  123. data/split/Flate/defs.h +0 -39
  124. data/split/Flate/extconf.rb +0 -19
  125. data/split/Flate/namespace.h +0 -59
  126. data/split/Flate/safe_double.h +0 -104
  127. data/split/Flate/symbols.h +0 -52
  128. data/split/Function/defs.h +0 -39
  129. data/split/Function/dvector.h +0 -77
  130. data/split/Function/extconf.rb +0 -4
  131. data/split/Function/namespace.h +0 -59
  132. data/split/Function/safe_double.h +0 -104
  133. data/split/Function/symbols.h +0 -52
  134. data/split/Tioga/defs.h +0 -39
  135. data/split/Tioga/dtable.h +0 -35
  136. data/split/Tioga/dvector.h +0 -77
  137. data/split/Tioga/extconf.rb +0 -4
  138. data/split/Tioga/flate.h +0 -98
  139. data/split/Tioga/mk_tioga_sty.rb +0 -53
  140. data/split/Tioga/namespace.h +0 -59
  141. data/split/Tioga/safe_double.h +0 -104
  142. data/split/Tioga/symbols.h +0 -52
  143. data/split/defs.h +0 -39
  144. data/split/extconf.rb +0 -125
  145. data/split/mkmf2.rb +0 -1623
  146. data/split/namespace.h +0 -59
  147. data/split/safe_double.h +0 -104
  148. data/split/symbols.h +0 -52
@@ -0,0 +1,318 @@
1
+ /* zutil.c -- target dependent utility functions for the compression library
2
+ * Copyright (C) 1995-2005 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* @(#) $Id$ */
7
+
8
+ #include "zutil.h"
9
+
10
+ #ifndef NO_DUMMY_DECL
11
+ struct internal_state {int dummy;}; /* for buggy compilers */
12
+ #endif
13
+
14
+ const char * const z_errmsg[10] = {
15
+ "need dictionary", /* Z_NEED_DICT 2 */
16
+ "stream end", /* Z_STREAM_END 1 */
17
+ "", /* Z_OK 0 */
18
+ "file error", /* Z_ERRNO (-1) */
19
+ "stream error", /* Z_STREAM_ERROR (-2) */
20
+ "data error", /* Z_DATA_ERROR (-3) */
21
+ "insufficient memory", /* Z_MEM_ERROR (-4) */
22
+ "buffer error", /* Z_BUF_ERROR (-5) */
23
+ "incompatible version",/* Z_VERSION_ERROR (-6) */
24
+ ""};
25
+
26
+
27
+ const char * ZEXPORT zlibVersion()
28
+ {
29
+ return ZLIB_VERSION;
30
+ }
31
+
32
+ uLong ZEXPORT zlibCompileFlags()
33
+ {
34
+ uLong flags;
35
+
36
+ flags = 0;
37
+ switch (sizeof(uInt)) {
38
+ case 2: break;
39
+ case 4: flags += 1; break;
40
+ case 8: flags += 2; break;
41
+ default: flags += 3;
42
+ }
43
+ switch (sizeof(uLong)) {
44
+ case 2: break;
45
+ case 4: flags += 1 << 2; break;
46
+ case 8: flags += 2 << 2; break;
47
+ default: flags += 3 << 2;
48
+ }
49
+ switch (sizeof(voidpf)) {
50
+ case 2: break;
51
+ case 4: flags += 1 << 4; break;
52
+ case 8: flags += 2 << 4; break;
53
+ default: flags += 3 << 4;
54
+ }
55
+ switch (sizeof(z_off_t)) {
56
+ case 2: break;
57
+ case 4: flags += 1 << 6; break;
58
+ case 8: flags += 2 << 6; break;
59
+ default: flags += 3 << 6;
60
+ }
61
+ #ifdef DEBUG
62
+ flags += 1 << 8;
63
+ #endif
64
+ #if defined(ASMV) || defined(ASMINF)
65
+ flags += 1 << 9;
66
+ #endif
67
+ #ifdef ZLIB_WINAPI
68
+ flags += 1 << 10;
69
+ #endif
70
+ #ifdef BUILDFIXED
71
+ flags += 1 << 12;
72
+ #endif
73
+ #ifdef DYNAMIC_CRC_TABLE
74
+ flags += 1 << 13;
75
+ #endif
76
+ #ifdef NO_GZCOMPRESS
77
+ flags += 1L << 16;
78
+ #endif
79
+ #ifdef NO_GZIP
80
+ flags += 1L << 17;
81
+ #endif
82
+ #ifdef PKZIP_BUG_WORKAROUND
83
+ flags += 1L << 20;
84
+ #endif
85
+ #ifdef FASTEST
86
+ flags += 1L << 21;
87
+ #endif
88
+ #ifdef STDC
89
+ # ifdef NO_vsnprintf
90
+ flags += 1L << 25;
91
+ # ifdef HAS_vsprintf_void
92
+ flags += 1L << 26;
93
+ # endif
94
+ # else
95
+ # ifdef HAS_vsnprintf_void
96
+ flags += 1L << 26;
97
+ # endif
98
+ # endif
99
+ #else
100
+ flags += 1L << 24;
101
+ # ifdef NO_snprintf
102
+ flags += 1L << 25;
103
+ # ifdef HAS_sprintf_void
104
+ flags += 1L << 26;
105
+ # endif
106
+ # else
107
+ # ifdef HAS_snprintf_void
108
+ flags += 1L << 26;
109
+ # endif
110
+ # endif
111
+ #endif
112
+ return flags;
113
+ }
114
+
115
+ #ifdef DEBUG
116
+
117
+ # ifndef verbose
118
+ # define verbose 0
119
+ # endif
120
+ int z_verbose = verbose;
121
+
122
+ void z_error (m)
123
+ char *m;
124
+ {
125
+ fprintf(stderr, "%s\n", m);
126
+ exit(1);
127
+ }
128
+ #endif
129
+
130
+ /* exported to allow conversion of error code to string for compress() and
131
+ * uncompress()
132
+ */
133
+ const char * ZEXPORT zError(err)
134
+ int err;
135
+ {
136
+ return ERR_MSG(err);
137
+ }
138
+
139
+ #if defined(_WIN32_WCE)
140
+ /* The Microsoft C Run-Time Library for Windows CE doesn't have
141
+ * errno. We define it as a global variable to simplify porting.
142
+ * Its value is always 0 and should not be used.
143
+ */
144
+ int errno = 0;
145
+ #endif
146
+
147
+ #ifndef HAVE_MEMCPY
148
+
149
+ void zmemcpy(dest, source, len)
150
+ Bytef* dest;
151
+ const Bytef* source;
152
+ uInt len;
153
+ {
154
+ if (len == 0) return;
155
+ do {
156
+ *dest++ = *source++; /* ??? to be unrolled */
157
+ } while (--len != 0);
158
+ }
159
+
160
+ int zmemcmp(s1, s2, len)
161
+ const Bytef* s1;
162
+ const Bytef* s2;
163
+ uInt len;
164
+ {
165
+ uInt j;
166
+
167
+ for (j = 0; j < len; j++) {
168
+ if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
169
+ }
170
+ return 0;
171
+ }
172
+
173
+ void zmemzero(dest, len)
174
+ Bytef* dest;
175
+ uInt len;
176
+ {
177
+ if (len == 0) return;
178
+ do {
179
+ *dest++ = 0; /* ??? to be unrolled */
180
+ } while (--len != 0);
181
+ }
182
+ #endif
183
+
184
+
185
+ #ifdef SYS16BIT
186
+
187
+ #ifdef __TURBOC__
188
+ /* Turbo C in 16-bit mode */
189
+
190
+ # define MY_ZCALLOC
191
+
192
+ /* Turbo C malloc() does not allow dynamic allocation of 64K bytes
193
+ * and farmalloc(64K) returns a pointer with an offset of 8, so we
194
+ * must fix the pointer. Warning: the pointer must be put back to its
195
+ * original form in order to free it, use zcfree().
196
+ */
197
+
198
+ #define MAX_PTR 10
199
+ /* 10*64K = 640K */
200
+
201
+ local int next_ptr = 0;
202
+
203
+ typedef struct ptr_table_s {
204
+ voidpf org_ptr;
205
+ voidpf new_ptr;
206
+ } ptr_table;
207
+
208
+ local ptr_table table[MAX_PTR];
209
+ /* This table is used to remember the original form of pointers
210
+ * to large buffers (64K). Such pointers are normalized with a zero offset.
211
+ * Since MSDOS is not a preemptive multitasking OS, this table is not
212
+ * protected from concurrent access. This hack doesn't work anyway on
213
+ * a protected system like OS/2. Use Microsoft C instead.
214
+ */
215
+
216
+ voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
217
+ {
218
+ voidpf buf = opaque; /* just to make some compilers happy */
219
+ ulg bsize = (ulg)items*size;
220
+
221
+ /* If we allocate less than 65520 bytes, we assume that farmalloc
222
+ * will return a usable pointer which doesn't have to be normalized.
223
+ */
224
+ if (bsize < 65520L) {
225
+ buf = farmalloc(bsize);
226
+ if (*(ush*)&buf != 0) return buf;
227
+ } else {
228
+ buf = farmalloc(bsize + 16L);
229
+ }
230
+ if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
231
+ table[next_ptr].org_ptr = buf;
232
+
233
+ /* Normalize the pointer to seg:0 */
234
+ *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
235
+ *(ush*)&buf = 0;
236
+ table[next_ptr++].new_ptr = buf;
237
+ return buf;
238
+ }
239
+
240
+ void zcfree (voidpf opaque, voidpf ptr)
241
+ {
242
+ int n;
243
+ if (*(ush*)&ptr != 0) { /* object < 64K */
244
+ farfree(ptr);
245
+ return;
246
+ }
247
+ /* Find the original pointer */
248
+ for (n = 0; n < next_ptr; n++) {
249
+ if (ptr != table[n].new_ptr) continue;
250
+
251
+ farfree(table[n].org_ptr);
252
+ while (++n < next_ptr) {
253
+ table[n-1] = table[n];
254
+ }
255
+ next_ptr--;
256
+ return;
257
+ }
258
+ ptr = opaque; /* just to make some compilers happy */
259
+ Assert(0, "zcfree: ptr not found");
260
+ }
261
+
262
+ #endif /* __TURBOC__ */
263
+
264
+
265
+ #ifdef M_I86
266
+ /* Microsoft C in 16-bit mode */
267
+
268
+ # define MY_ZCALLOC
269
+
270
+ #if (!defined(_MSC_VER) || (_MSC_VER <= 600))
271
+ # define _halloc halloc
272
+ # define _hfree hfree
273
+ #endif
274
+
275
+ voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
276
+ {
277
+ if (opaque) opaque = 0; /* to make compiler happy */
278
+ return _halloc((long)items, size);
279
+ }
280
+
281
+ void zcfree (voidpf opaque, voidpf ptr)
282
+ {
283
+ if (opaque) opaque = 0; /* to make compiler happy */
284
+ _hfree(ptr);
285
+ }
286
+
287
+ #endif /* M_I86 */
288
+
289
+ #endif /* SYS16BIT */
290
+
291
+
292
+ #ifndef MY_ZCALLOC /* Any system without a special alloc function */
293
+
294
+ #ifndef STDC
295
+ extern voidp malloc OF((uInt size));
296
+ extern voidp calloc OF((uInt items, uInt size));
297
+ extern void free OF((voidpf ptr));
298
+ #endif
299
+
300
+ voidpf zcalloc (opaque, items, size)
301
+ voidpf opaque;
302
+ unsigned items;
303
+ unsigned size;
304
+ {
305
+ if (opaque) items += size - size; /* make compiler happy */
306
+ return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
307
+ (voidpf)calloc(items, size);
308
+ }
309
+
310
+ void zcfree (opaque, ptr)
311
+ voidpf opaque;
312
+ voidpf ptr;
313
+ {
314
+ free(ptr);
315
+ if (opaque) return; /* make compiler happy */
316
+ }
317
+
318
+ #endif /* MY_ZCALLOC */
@@ -0,0 +1,269 @@
1
+ /* zutil.h -- internal interface and configuration of the compression library
2
+ * Copyright (C) 1995-2005 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ /* WARNING: this file should *not* be used by applications. It is
7
+ part of the implementation of the compression library and is
8
+ subject to change. Applications should only use zlib.h.
9
+ */
10
+
11
+ /* @(#) $Id$ */
12
+
13
+ #ifndef ZUTIL_H
14
+ #define ZUTIL_H
15
+
16
+ #define ZLIB_INTERNAL
17
+ #include "zlib.h"
18
+
19
+ #ifdef STDC
20
+ # ifndef _WIN32_WCE
21
+ # include <stddef.h>
22
+ # endif
23
+ # include <string.h>
24
+ # include <stdlib.h>
25
+ #endif
26
+ #ifdef NO_ERRNO_H
27
+ # ifdef _WIN32_WCE
28
+ /* The Microsoft C Run-Time Library for Windows CE doesn't have
29
+ * errno. We define it as a global variable to simplify porting.
30
+ * Its value is always 0 and should not be used. We rename it to
31
+ * avoid conflict with other libraries that use the same workaround.
32
+ */
33
+ # define errno z_errno
34
+ # endif
35
+ extern int errno;
36
+ #else
37
+ # ifndef _WIN32_WCE
38
+ # include <errno.h>
39
+ # endif
40
+ #endif
41
+
42
+ #ifndef local
43
+ # define local static
44
+ #endif
45
+ /* compile with -Dlocal if your debugger can't find static symbols */
46
+
47
+ typedef unsigned char uch;
48
+ typedef uch FAR uchf;
49
+ typedef unsigned short ush;
50
+ typedef ush FAR ushf;
51
+ typedef unsigned long ulg;
52
+
53
+ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
54
+ /* (size given to avoid silly warnings with Visual C++) */
55
+
56
+ #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
57
+
58
+ #define ERR_RETURN(strm,err) \
59
+ return (strm->msg = (char*)ERR_MSG(err), (err))
60
+ /* To be used only when the state is known to be valid */
61
+
62
+ /* common constants */
63
+
64
+ #ifndef DEF_WBITS
65
+ # define DEF_WBITS MAX_WBITS
66
+ #endif
67
+ /* default windowBits for decompression. MAX_WBITS is for compression only */
68
+
69
+ #if MAX_MEM_LEVEL >= 8
70
+ # define DEF_MEM_LEVEL 8
71
+ #else
72
+ # define DEF_MEM_LEVEL MAX_MEM_LEVEL
73
+ #endif
74
+ /* default memLevel */
75
+
76
+ #define STORED_BLOCK 0
77
+ #define STATIC_TREES 1
78
+ #define DYN_TREES 2
79
+ /* The three kinds of block type */
80
+
81
+ #define MIN_MATCH 3
82
+ #define MAX_MATCH 258
83
+ /* The minimum and maximum match lengths */
84
+
85
+ #define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
86
+
87
+ /* target dependencies */
88
+
89
+ #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
90
+ # define OS_CODE 0x00
91
+ # if defined(__TURBOC__) || defined(__BORLANDC__)
92
+ # if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
93
+ /* Allow compilation with ANSI keywords only enabled */
94
+ void _Cdecl farfree( void *block );
95
+ void *_Cdecl farmalloc( unsigned long nbytes );
96
+ # else
97
+ # include <alloc.h>
98
+ # endif
99
+ # else /* MSC or DJGPP */
100
+ # include <malloc.h>
101
+ # endif
102
+ #endif
103
+
104
+ #ifdef AMIGA
105
+ # define OS_CODE 0x01
106
+ #endif
107
+
108
+ #if defined(VAXC) || defined(VMS)
109
+ # define OS_CODE 0x02
110
+ # define F_OPEN(name, mode) \
111
+ fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
112
+ #endif
113
+
114
+ #if defined(ATARI) || defined(atarist)
115
+ # define OS_CODE 0x05
116
+ #endif
117
+
118
+ #ifdef OS2
119
+ # define OS_CODE 0x06
120
+ # ifdef M_I86
121
+ #include <malloc.h>
122
+ # endif
123
+ #endif
124
+
125
+ #if defined(MACOS) || defined(TARGET_OS_MAC)
126
+ # define OS_CODE 0x07
127
+ # if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
128
+ # include <unix.h> /* for fdopen */
129
+ # else
130
+ # ifndef fdopen
131
+ # define fdopen(fd,mode) NULL /* No fdopen() */
132
+ # endif
133
+ # endif
134
+ #endif
135
+
136
+ #ifdef TOPS20
137
+ # define OS_CODE 0x0a
138
+ #endif
139
+
140
+ #ifdef WIN32
141
+ # ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
142
+ # define OS_CODE 0x0b
143
+ # endif
144
+ #endif
145
+
146
+ #ifdef __50SERIES /* Prime/PRIMOS */
147
+ # define OS_CODE 0x0f
148
+ #endif
149
+
150
+ #if defined(_BEOS_) || defined(RISCOS)
151
+ # define fdopen(fd,mode) NULL /* No fdopen() */
152
+ #endif
153
+
154
+ #if (defined(_MSC_VER) && (_MSC_VER > 600))
155
+ # if defined(_WIN32_WCE)
156
+ # define fdopen(fd,mode) NULL /* No fdopen() */
157
+ # ifndef _PTRDIFF_T_DEFINED
158
+ typedef int ptrdiff_t;
159
+ # define _PTRDIFF_T_DEFINED
160
+ # endif
161
+ # else
162
+ # define fdopen(fd,type) _fdopen(fd,type)
163
+ # endif
164
+ #endif
165
+
166
+ /* common defaults */
167
+
168
+ #ifndef OS_CODE
169
+ # define OS_CODE 0x03 /* assume Unix */
170
+ #endif
171
+
172
+ #ifndef F_OPEN
173
+ # define F_OPEN(name, mode) fopen((name), (mode))
174
+ #endif
175
+
176
+ /* functions */
177
+
178
+ #if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
179
+ # ifndef HAVE_VSNPRINTF
180
+ # define HAVE_VSNPRINTF
181
+ # endif
182
+ #endif
183
+ #if defined(__CYGWIN__)
184
+ # ifndef HAVE_VSNPRINTF
185
+ # define HAVE_VSNPRINTF
186
+ # endif
187
+ #endif
188
+ #ifndef HAVE_VSNPRINTF
189
+ # ifdef MSDOS
190
+ /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
191
+ but for now we just assume it doesn't. */
192
+ # define NO_vsnprintf
193
+ # endif
194
+ # ifdef __TURBOC__
195
+ # define NO_vsnprintf
196
+ # endif
197
+ # ifdef WIN32
198
+ /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
199
+ # if !defined(vsnprintf) && !defined(NO_vsnprintf)
200
+ # define vsnprintf _vsnprintf
201
+ # endif
202
+ # endif
203
+ # ifdef __SASC
204
+ # define NO_vsnprintf
205
+ # endif
206
+ #endif
207
+ #ifdef VMS
208
+ # define NO_vsnprintf
209
+ #endif
210
+
211
+ #if defined(pyr)
212
+ # define NO_MEMCPY
213
+ #endif
214
+ #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
215
+ /* Use our own functions for small and medium model with MSC <= 5.0.
216
+ * You may have to use the same strategy for Borland C (untested).
217
+ * The __SC__ check is for Symantec.
218
+ */
219
+ # define NO_MEMCPY
220
+ #endif
221
+ #if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
222
+ # define HAVE_MEMCPY
223
+ #endif
224
+ #ifdef HAVE_MEMCPY
225
+ # ifdef SMALL_MEDIUM /* MSDOS small or medium model */
226
+ # define zmemcpy _fmemcpy
227
+ # define zmemcmp _fmemcmp
228
+ # define zmemzero(dest, len) _fmemset(dest, 0, len)
229
+ # else
230
+ # define zmemcpy memcpy
231
+ # define zmemcmp memcmp
232
+ # define zmemzero(dest, len) memset(dest, 0, len)
233
+ # endif
234
+ #else
235
+ extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
236
+ extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
237
+ extern void zmemzero OF((Bytef* dest, uInt len));
238
+ #endif
239
+
240
+ /* Diagnostic functions */
241
+ #ifdef DEBUG
242
+ # include <stdio.h>
243
+ extern int z_verbose;
244
+ extern void z_error OF((char *m));
245
+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
246
+ # define Trace(x) {if (z_verbose>=0) fprintf x ;}
247
+ # define Tracev(x) {if (z_verbose>0) fprintf x ;}
248
+ # define Tracevv(x) {if (z_verbose>1) fprintf x ;}
249
+ # define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
250
+ # define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
251
+ #else
252
+ # define Assert(cond,msg)
253
+ # define Trace(x)
254
+ # define Tracev(x)
255
+ # define Tracevv(x)
256
+ # define Tracec(c,x)
257
+ # define Tracecv(c,x)
258
+ #endif
259
+
260
+
261
+ voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
262
+ void zcfree OF((voidpf opaque, voidpf ptr));
263
+
264
+ #define ZALLOC(strm, items, size) \
265
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
266
+ #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
267
+ #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
268
+
269
+ #endif /* ZUTIL_H */