Mercurial > hg > dmlib
annotate tests/dzlibtest.c @ 1551:31010318ea8c
Do some vetting on the tests, which are rather crappy anyway.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 13 May 2018 04:05:20 +0300 |
parents | tests/dzlib.c@0f07f752cd73 |
children | 33c29e7d1861 |
rev | line source |
---|---|
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 #include "dmlib.h" |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 #include "dmzlib.h" |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
3 #include "dmfile.h" |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
4 #include "dmargs.h" |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 #include <zlib.h> |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
6 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
7 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
8 #define SET_TMPBUF_SIZE (16 * 1024) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
9 |
1065 | 10 char *optInFilename = NULL, |
11 *optOutFilename = NULL; | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
12 |
1104
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
13 unsigned int optSkip = 0; |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
14 unsigned int optCompressLevel = Z_BEST_COMPRESSION; |
1065 | 15 BOOL optCompress = FALSE, |
16 optUseZLIB = FALSE; | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
17 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
18 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
19 static const DMOptArg optList[] = |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
20 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
21 { 0, '?', "help", "Show this help", OPT_NONE }, |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
22 { 1, 'q', "quiet", "Decrease verbosity", OPT_NONE }, |
1065 | 23 { 2, 'Z', "zlib", "Use ZLIB instead of dmzlib", OPT_NONE }, |
24 { 3, 'c', "compress", "Compress instead of decompressing (ZLIB only)", OPT_NONE }, | |
1104
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
25 { 4, 'l', "level", "Set zlib compression level 1-9", OPT_ARGREQ }, |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
26 { 5, 's', "skip", "Skip bytes from input start", OPT_ARGREQ }, |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
27 }; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
28 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
29 static const int optListN = sizeof(optList) / sizeof(optList[0]); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
30 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
31 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
32 void argShowHelp() |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
33 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
34 dmPrintBanner(stdout, dmProgName, "[options] [input filename] [output filename]"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
35 dmArgsPrintHelp(stdout, optList, optListN, 0); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
36 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
37 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
38 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
39 BOOL argHandleOpt(const int optN, char *optArg, char *currArg) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
40 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
41 (void) currArg; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
42 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
43 switch (optN) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
44 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
45 case 0: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
46 argShowHelp(); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
47 exit(0); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
48 break; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
49 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
50 case 1: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
51 dmVerbosity = 0; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
52 break; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
53 |
1065 | 54 case 2: |
55 optUseZLIB = TRUE; | |
56 break; | |
1066 | 57 |
1065 | 58 case 3: |
59 optCompress = TRUE; | |
60 break; | |
61 | |
1104
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
62 case 4: |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
63 if (!dmGetIntVal(optArg, &optCompressLevel) || |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
64 optCompressLevel < 1 || optCompressLevel > 9) |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
65 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
66 dmErrorMsg("Invalid compression level argument '%s', must be 1 .. 9.\n", optArg); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
67 return FALSE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
68 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
69 break; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
70 |
1104
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
71 case 5: |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
72 if (!dmGetIntVal(optArg, &optSkip)) |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
73 { |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
74 dmErrorMsg("Invalid skip value.\n", optArg); |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
75 return FALSE; |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
76 } |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
77 break; |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
78 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
79 default: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
80 return FALSE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
81 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
82 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
83 return TRUE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
84 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
85 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
86 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
87 BOOL argHandleFile(char *currArg) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
88 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
89 if (optInFilename == NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
90 optInFilename = currArg; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
91 else |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
92 if (optOutFilename == NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
93 optOutFilename = currArg; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
94 else |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
95 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
96 dmErrorMsg("Excess filenames specified.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
97 return FALSE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
98 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
99 return TRUE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
100 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
101 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
102 |
1065 | 103 int dmTestDMZlib(FILE *inFile, FILE *outFile, size_t *inSize, size_t *outSize, BOOL compress, int level) |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
104 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
105 Uint8 *inBuffer = NULL, *outBuffer = NULL; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
106 DMZLibContext ctx; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
107 int ret; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
108 |
1065 | 109 (void) level; |
110 | |
111 if (compress) | |
112 { | |
113 ret = dmError(DMERR_NOT_SUPPORTED, | |
114 "Compression is not supported with dmzlib.\n"); | |
115 goto out; | |
116 } | |
117 | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
118 if ((ret = dmReadDataFile(inFile, "-", &inBuffer, inSize)) != DMERR_OK) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
119 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
120 dmErrorMsg("Failed to read file.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
121 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
122 } |
1066 | 123 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
124 if ((outBuffer = dmMalloc(SET_TMPBUF_SIZE)) == NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
125 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
126 ret = dmError(DMERR_MALLOC, |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
127 "Malloc failed.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
128 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
129 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
130 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
131 // Initialize decompression structures |
1121
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
132 if ((ret = dmZLibInitInflate(&ctx)) != DMERR_OK) |
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
133 goto out; |
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
134 |
1076
21b0aedb7b5c
Also initialize DMZLibContext.inBufferStart where needed.
Matti Hamalainen <ccr@tnsp.org>
parents:
1074
diff
changeset
|
135 ctx.inBuffer = ctx.inBufferStart = inBuffer; |
1074
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
136 ctx.inBufferEnd = inBuffer + *inSize; |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
137 |
1074
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
138 ctx.outBuffer = ctx.outBufferStart = outBuffer; |
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
139 ctx.outBufferEnd = outBuffer + SET_TMPBUF_SIZE; |
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
140 ctx.expandable = TRUE; |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
141 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
142 // Attempt decompression |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
143 if ((ret = dmZLibParseHeader(&ctx, TRUE)) != DMERR_OK) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
144 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
145 dmErrorMsg("Error parsing ZLIB header: %d, %s\n", ret, dmErrorStr(ret)); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
146 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
147 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
148 |
1121
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
149 if ((ret = dmZLibInflate(&ctx)) != DMERR_OK) |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
150 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
151 dmErrorMsg("Error in ZLIB decompress: %d, %s\n", ret, dmErrorStr(ret)); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
152 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
153 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 |
1074
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
155 outBuffer = ctx.outBufferStart; |
e98bc627ad08
Rename dmzlib structure members.
Matti Hamalainen <ccr@tnsp.org>
parents:
1068
diff
changeset
|
156 *outSize = ctx.outBuffer - ctx.outBufferStart; |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
157 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
158 if (fwrite(outBuffer, sizeof(Uint8), *outSize, outFile) != *outSize) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
159 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
160 ret = dmError(DMERR_FWRITE, "File write error.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
161 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
162 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
163 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
164 out: |
1121
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
165 dmZLibCloseInflate(&ctx); |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
166 dmFree(inBuffer); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
167 dmFree(outBuffer); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
168 return ret; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
169 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
170 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
171 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
172 int dmTestZlib(FILE *inFile, FILE *outFile, size_t *inSize, size_t *outSize, BOOL compress, int level) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
173 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
174 Uint8 *inBuffer = NULL, *outBuffer = NULL; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
175 int zret, zinit = FALSE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
176 int ret = DMERR_OK; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
177 z_stream zstr; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
178 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
179 dmMsg(0, "Operating mode: %s\n", |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
180 compress ? "compress" : "decompress"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
181 |
1170 | 182 dmMemset(&zstr, 0, sizeof(zstr)); |
1134
d0898867ec4c
Various fixes for issues reported by clang static analyzer.
Matti Hamalainen <ccr@tnsp.org>
parents:
1121
diff
changeset
|
183 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
184 if ((inBuffer = malloc(SET_TMPBUF_SIZE)) == NULL || |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
185 (outBuffer = malloc(SET_TMPBUF_SIZE)) == NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
186 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
187 ret = dmError(DMERR_MALLOC, "Malloc failed.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
188 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
189 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
190 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
191 if (compress) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
192 zret = deflateInit(&zstr, level); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
193 else |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
194 zret = inflateInit(&zstr); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
195 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
196 if (zret != Z_OK) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
197 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
198 ret = dmError(DMERR_INIT_FAIL, "Zlib init fail.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
199 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
200 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
201 zinit = TRUE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
202 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
203 // Initialize compression streams |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
204 zret = Z_OK; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
205 *outSize = 0; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
206 while (!feof(inFile) && zret == Z_OK) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
207 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
208 zstr.avail_in = fread(inBuffer, sizeof(Uint8), SET_TMPBUF_SIZE, inFile); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
209 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
210 zstr.next_in = inBuffer; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
211 zstr.next_out = outBuffer; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
212 zstr.avail_out = SET_TMPBUF_SIZE; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
213 zstr.total_out = 0; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
214 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
215 if (compress) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
216 zret = deflate(&zstr, Z_FULL_FLUSH); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
217 else |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
218 zret = inflate(&zstr, Z_FULL_FLUSH); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
219 |
1105
62ccecea1317
Fix ZLIB decompressor mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
1104
diff
changeset
|
220 if (zstr.total_out > 0) |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
221 { |
1068 | 222 *outSize += zstr.total_out; |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
223 if (fwrite(outBuffer, sizeof(Uint8), zstr.total_out, outFile) != zstr.total_out) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
224 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
225 ret = dmError(DMERR_FWRITE, |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
226 "File write error.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
227 goto out; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
228 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
229 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
230 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
231 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
232 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
233 switch (zret) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
234 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
235 case Z_OK: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
236 break; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
237 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
238 case Z_ERRNO: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
239 dmErrorMsg("Error: errno\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
240 break; |
1066 | 241 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
242 case Z_STREAM_END: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
243 dmErrorMsg("Stream end.\n"); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
244 break; |
1066 | 245 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
246 default: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
247 ret = dmError(DMERR_COMPRESSION, |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
248 "Error: %d, %s\n", zret, zError(zret)); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
249 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
250 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
251 out: |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
252 *inSize = zstr.total_in; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
253 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
254 if (zinit) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
255 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
256 if (compress) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
257 deflateEnd(&zstr); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
258 else |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
259 inflateEnd(&zstr); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
260 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
261 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
262 dmFree(inBuffer); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
263 dmFree(outBuffer); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
264 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
265 return ret; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
266 } |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
267 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
268 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
269 int main(int argc, char *argv[]) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
270 { |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
271 FILE *inFile = NULL, *outFile = NULL; |
1067
b3a54ecdb86f
Initialize output and input size variables.
Matti Hamalainen <ccr@tnsp.org>
parents:
1066
diff
changeset
|
272 size_t inSize = 0, outSize = 0; |
1065 | 273 int ret; |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
274 |
1065 | 275 dmInitProg("testdmzlib", "ZLIB/dmzlib tester", NULL, NULL, NULL); |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
276 dmVerbosity = 1; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
277 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
278 if (!dmArgsProcess(argc, argv, optList, optListN, |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
279 argHandleOpt, argHandleFile, OPTH_BAILOUT)) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
280 exit(1); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
281 |
1121
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
282 dmZLibInit(); |
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
283 |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
284 // Input and output files |
1065 | 285 if (optInFilename == NULL) |
286 inFile = stdin; | |
287 else | |
288 if ((inFile = fopen(optInFilename, "rb")) == NULL) | |
289 { | |
290 int res = dmGetErrno(); | |
291 dmErrorMsg("Failed to open input file '%s': %s\n", | |
292 optInFilename, dmErrorStr(res)); | |
293 goto out; | |
294 } | |
1066 | 295 |
1065 | 296 if (optOutFilename == NULL) |
297 outFile = stdout; | |
298 else | |
299 if ((outFile = fopen(optOutFilename, "wb")) == NULL) | |
300 { | |
301 int res = dmGetErrno(); | |
302 dmErrorMsg("Failed to open output file '%s': %s\n", | |
303 optOutFilename, dmErrorStr(res)); | |
304 goto out; | |
305 } | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
306 |
1108 | 307 if (optSkip > 0 && fseeko(inFile, optSkip, SEEK_CUR) != 0) |
1104
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
308 { |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
309 int res = dmGetErrno(); |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
310 dmErrorMsg("Failed to seek in input stream: %s\n", |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
311 dmErrorStr(res)); |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
312 goto out; |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
313 } |
8a4df37ffe13
Add header skip option to the dmzlib test.
Matti Hamalainen <ccr@tnsp.org>
parents:
1076
diff
changeset
|
314 |
1065 | 315 if (optUseZLIB) |
316 ret = dmTestZlib(inFile, outFile, &inSize, &outSize, optCompress, optCompressLevel); | |
317 else | |
318 ret = dmTestDMZlib(inFile, outFile, &inSize, &outSize, optCompress, optCompressLevel); | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
319 |
1065 | 320 dmMsg(0, "[%d] In %d, out %d bytes.\n", ret, inSize, outSize); |
321 | |
322 out: | |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
323 // Cleanup |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
324 if (outFile != NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
325 fclose(outFile); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
326 |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
327 if (inFile != NULL) |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
328 fclose(inFile); |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
329 |
1121
043b5942fdb6
Rename some dmzlib functions and add context init/close functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
1108
diff
changeset
|
330 dmZLibClose(); |
1064
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
331 return 0; |
a6c5be712b53
Add dmzlib / zlib test utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
332 } |