Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: third_party/zlib/contrib/minizip/iowin32.c

Issue 8806004: Update zlib to 1.2.5. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/zlib/contrib/minizip/iowin32.h ('k') | third_party/zlib/contrib/minizip/miniunz.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* iowin32.c -- IO base function header for compress/uncompress .zip 1 /* iowin32.c -- IO base function header for compress/uncompress .zip
2 files using zlib + zip or unzip API 2 Version 1.1, February 14h, 2010
3 This IO API version uses the Win32 API (for Microsoft Windows) 3 part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.htm l )
4 4
5 Version 1.01e, February 12th, 2005 5 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage. com/zLibDll/minizip.html )
6 6
7 Copyright (C) 1998-2005 Gilles Vollant 7 Modifications for Zip64 support
8 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
9
10 For more info read MiniZip_info.txt
11
8 */ 12 */
9 13
10 #include <stdlib.h> 14 #include <stdlib.h>
11 15
12 #include "zlib.h" 16 #include "zlib.h"
13 #include "ioapi.h" 17 #include "ioapi.h"
14 #include "iowin32.h" 18 #include "iowin32.h"
15 19
16 #ifndef INVALID_HANDLE_VALUE 20 #ifndef INVALID_HANDLE_VALUE
17 #define INVALID_HANDLE_VALUE (0xFFFFFFFF) 21 #define INVALID_HANDLE_VALUE (0xFFFFFFFF)
18 #endif 22 #endif
19 23
20 #ifndef INVALID_SET_FILE_POINTER 24 #ifndef INVALID_SET_FILE_POINTER
21 #define INVALID_SET_FILE_POINTER ((DWORD)-1) 25 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
22 #endif 26 #endif
23 27
24 voidpf ZCALLBACK win32_open_file_func OF(( 28 voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
25 voidpf opaque, 29 uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
26 const char* filename, 30 uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
27 int mode)); 31 ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
28 32 long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS 64_T offset, int origin));
29 uLong ZCALLBACK win32_read_file_func OF(( 33 int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
30 voidpf opaque, 34 int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
31 voidpf stream,
32 void* buf,
33 uLong size));
34
35 uLong ZCALLBACK win32_write_file_func OF((
36 voidpf opaque,
37 voidpf stream,
38 const void* buf,
39 uLong size));
40
41 long ZCALLBACK win32_tell_file_func OF((
42 voidpf opaque,
43 voidpf stream));
44
45 long ZCALLBACK win32_seek_file_func OF((
46 voidpf opaque,
47 voidpf stream,
48 uLong offset,
49 int origin));
50
51 int ZCALLBACK win32_close_file_func OF((
52 voidpf opaque,
53 voidpf stream));
54
55 int ZCALLBACK win32_error_file_func OF((
56 voidpf opaque,
57 voidpf stream));
58 35
59 typedef struct 36 typedef struct
60 { 37 {
61 HANDLE hf; 38 HANDLE hf;
62 int error; 39 int error;
63 } WIN32FILE_IOWIN; 40 } WIN32FILE_IOWIN;
64 41
65 voidpf ZCALLBACK win32_open_file_func (opaque, filename, mode) 42
66 voidpf opaque; 43 static void win32_translate_open_mode(int mode,
67 const char* filename; 44 DWORD* lpdwDesiredAccess,
68 int mode; 45 DWORD* lpdwCreationDisposition,
46 DWORD* lpdwShareMode,
47 DWORD* lpdwFlagsAndAttributes)
69 { 48 {
70 const char* mode_fopen = NULL; 49 *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreatio nDisposition = 0;
71 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
72 HANDLE hFile = 0;
73 voidpf ret=NULL;
74
75 dwDesiredAccess = dwShareMode = dwFlagsAndAttributes = 0;
76 50
77 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) 51 if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
78 { 52 {
79 dwDesiredAccess = GENERIC_READ; 53 *lpdwDesiredAccess = GENERIC_READ;
80 dwCreationDisposition = OPEN_EXISTING; 54 *lpdwCreationDisposition = OPEN_EXISTING;
81 dwShareMode = FILE_SHARE_READ; 55 *lpdwShareMode = FILE_SHARE_READ;
82 } 56 }
83 else 57 else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
84 if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
85 { 58 {
86 dwDesiredAccess = GENERIC_WRITE | GENERIC_READ; 59 *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
87 dwCreationDisposition = OPEN_EXISTING; 60 *lpdwCreationDisposition = OPEN_EXISTING;
88 } 61 }
89 else 62 else if (mode & ZLIB_FILEFUNC_MODE_CREATE)
90 if (mode & ZLIB_FILEFUNC_MODE_CREATE)
91 { 63 {
92 dwDesiredAccess = GENERIC_WRITE | GENERIC_READ; 64 *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
93 dwCreationDisposition = CREATE_ALWAYS; 65 *lpdwCreationDisposition = CREATE_ALWAYS;
94 } 66 }
67 }
95 68
96 if ((filename!=NULL) && (dwDesiredAccess != 0)) 69 static voidpf win32_build_iowin(HANDLE hFile)
97 hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL , 70 {
98 dwCreationDisposition, dwFlagsAndAttributes, NULL); 71 voidpf ret=NULL;
99 72
100 if (hFile == INVALID_HANDLE_VALUE) 73 if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
101 hFile = NULL;
102
103 if (hFile != NULL)
104 { 74 {
105 WIN32FILE_IOWIN w32fiow; 75 WIN32FILE_IOWIN w32fiow;
106 w32fiow.hf = hFile; 76 w32fiow.hf = hFile;
107 w32fiow.error = 0; 77 w32fiow.error = 0;
108 ret = malloc(sizeof(WIN32FILE_IOWIN)); 78 ret = malloc(sizeof(WIN32FILE_IOWIN));
79
109 if (ret==NULL) 80 if (ret==NULL)
110 CloseHandle(hFile); 81 CloseHandle(hFile);
111 else *((WIN32FILE_IOWIN*)ret) = w32fiow; 82 else
83 *((WIN32FILE_IOWIN*)ret) = w32fiow;
112 } 84 }
113 return ret; 85 return ret;
114 } 86 }
115 87
88 voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
89 {
90 const char* mode_fopen = NULL;
91 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
92 HANDLE hFile = NULL;
116 93
117 uLong ZCALLBACK win32_read_file_func (opaque, stream, buf, size) 94 win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwSh areMode,&dwFlagsAndAttributes);
118 voidpf opaque; 95
119 voidpf stream; 96 if ((filename!=NULL) && (dwDesiredAccess != 0))
120 void* buf; 97 hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL , dwCreationDisposition, dwFlagsAndAttributes, NULL);
121 uLong size; 98
99 return win32_build_iowin(hFile);
100 }
101
102
103 voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
104 {
105 const char* mode_fopen = NULL;
106 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
107 HANDLE hFile = NULL;
108
109 win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwSh areMode,&dwFlagsAndAttributes);
110
111 if ((filename!=NULL) && (dwDesiredAccess != 0))
112 hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL , dwCreationDisposition, dwFlagsAndAttributes, NULL);
113
114 return win32_build_iowin(hFile);
115 }
116
117
118 voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
119 {
120 const char* mode_fopen = NULL;
121 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
122 HANDLE hFile = NULL;
123
124 win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwSh areMode,&dwFlagsAndAttributes);
125
126 if ((filename!=NULL) && (dwDesiredAccess != 0))
127 hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NUL L, dwCreationDisposition, dwFlagsAndAttributes, NULL);
128
129 return win32_build_iowin(hFile);
130 }
131
132
133 voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mo de)
134 {
135 const char* mode_fopen = NULL;
136 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
137 HANDLE hFile = NULL;
138
139 win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwSh areMode,&dwFlagsAndAttributes);
140
141 if ((filename!=NULL) && (dwDesiredAccess != 0))
142 hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL , dwCreationDisposition, dwFlagsAndAttributes, NULL);
143
144 return win32_build_iowin(hFile);
145 }
146
147
148 uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uL ong size)
122 { 149 {
123 uLong ret=0; 150 uLong ret=0;
124 HANDLE hFile = NULL; 151 HANDLE hFile = NULL;
125 if (stream!=NULL) 152 if (stream!=NULL)
126 hFile = ((WIN32FILE_IOWIN*)stream) -> hf; 153 hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
154
127 if (hFile != NULL) 155 if (hFile != NULL)
156 {
128 if (!ReadFile(hFile, buf, size, &ret, NULL)) 157 if (!ReadFile(hFile, buf, size, &ret, NULL))
129 { 158 {
130 DWORD dwErr = GetLastError(); 159 DWORD dwErr = GetLastError();
131 if (dwErr == ERROR_HANDLE_EOF) 160 if (dwErr == ERROR_HANDLE_EOF)
132 dwErr = 0; 161 dwErr = 0;
133 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; 162 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
134 } 163 }
164 }
135 165
136 return ret; 166 return ret;
137 } 167 }
138 168
139 169
140 uLong ZCALLBACK win32_write_file_func (opaque, stream, buf, size) 170 uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* b uf,uLong size)
141 voidpf opaque;
142 voidpf stream;
143 const void* buf;
144 uLong size;
145 { 171 {
146 uLong ret=0; 172 uLong ret=0;
147 HANDLE hFile = NULL; 173 HANDLE hFile = NULL;
148 if (stream!=NULL) 174 if (stream!=NULL)
149 hFile = ((WIN32FILE_IOWIN*)stream) -> hf; 175 hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
150 176
151 if (hFile !=NULL) 177 if (hFile != NULL)
178 {
152 if (!WriteFile(hFile, buf, size, &ret, NULL)) 179 if (!WriteFile(hFile, buf, size, &ret, NULL))
153 { 180 {
154 DWORD dwErr = GetLastError(); 181 DWORD dwErr = GetLastError();
155 if (dwErr == ERROR_HANDLE_EOF) 182 if (dwErr == ERROR_HANDLE_EOF)
156 dwErr = 0; 183 dwErr = 0;
157 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; 184 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
158 } 185 }
186 }
159 187
160 return ret; 188 return ret;
161 } 189 }
162 190
163 long ZCALLBACK win32_tell_file_func (opaque, stream) 191 long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
164 voidpf opaque;
165 voidpf stream;
166 { 192 {
167 long ret=-1; 193 long ret=-1;
168 HANDLE hFile = NULL; 194 HANDLE hFile = NULL;
169 if (stream!=NULL) 195 if (stream!=NULL)
170 hFile = ((WIN32FILE_IOWIN*)stream) -> hf; 196 hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
171 if (hFile != NULL) 197 if (hFile != NULL)
172 { 198 {
173 DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT); 199 DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
174 if (dwSet == INVALID_SET_FILE_POINTER) 200 if (dwSet == INVALID_SET_FILE_POINTER)
175 { 201 {
176 DWORD dwErr = GetLastError(); 202 DWORD dwErr = GetLastError();
177 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; 203 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
178 ret = -1; 204 ret = -1;
179 } 205 }
180 else 206 else
181 ret=(long)dwSet; 207 ret=(long)dwSet;
182 } 208 }
183 return ret; 209 return ret;
184 } 210 }
185 211
186 long ZCALLBACK win32_seek_file_func (opaque, stream, offset, origin) 212 ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
187 voidpf opaque; 213 {
188 voidpf stream; 214 ZPOS64_T ret= (ZPOS64_T)-1;
189 uLong offset; 215 HANDLE hFile = NULL;
190 int origin; 216 if (stream!=NULL)
217 hFile = ((WIN32FILE_IOWIN*)stream)->hf;
218
219 if (hFile)
220 {
221 LARGE_INTEGER li;
222 li.QuadPart = 0;
223 li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_ CURRENT);
224 if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
225 {
226 DWORD dwErr = GetLastError();
227 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
228 ret = (ZPOS64_T)-1;
229 }
230 else
231 ret=li.QuadPart;
232 }
233 return ret;
234 }
235
236
237 long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,in t origin)
191 { 238 {
192 DWORD dwMoveMethod=0xFFFFFFFF; 239 DWORD dwMoveMethod=0xFFFFFFFF;
193 HANDLE hFile = NULL; 240 HANDLE hFile = NULL;
194 241
195 long ret=-1; 242 long ret=-1;
196 if (stream!=NULL) 243 if (stream!=NULL)
197 hFile = ((WIN32FILE_IOWIN*)stream) -> hf; 244 hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
198 switch (origin) 245 switch (origin)
199 { 246 {
200 case ZLIB_FILEFUNC_SEEK_CUR : 247 case ZLIB_FILEFUNC_SEEK_CUR :
(...skipping 16 matching lines...) Expand all
217 DWORD dwErr = GetLastError(); 264 DWORD dwErr = GetLastError();
218 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; 265 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
219 ret = -1; 266 ret = -1;
220 } 267 }
221 else 268 else
222 ret=0; 269 ret=0;
223 } 270 }
224 return ret; 271 return ret;
225 } 272 }
226 273
227 int ZCALLBACK win32_close_file_func (opaque, stream) 274 long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off set,int origin)
228 voidpf opaque; 275 {
229 voidpf stream; 276 DWORD dwMoveMethod=0xFFFFFFFF;
277 HANDLE hFile = NULL;
278 long ret=-1;
279
280 if (stream!=NULL)
281 hFile = ((WIN32FILE_IOWIN*)stream)->hf;
282
283 switch (origin)
284 {
285 case ZLIB_FILEFUNC_SEEK_CUR :
286 dwMoveMethod = FILE_CURRENT;
287 break;
288 case ZLIB_FILEFUNC_SEEK_END :
289 dwMoveMethod = FILE_END;
290 break;
291 case ZLIB_FILEFUNC_SEEK_SET :
292 dwMoveMethod = FILE_BEGIN;
293 break;
294 default: return -1;
295 }
296
297 if (hFile)
298 {
299 LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
300 DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMo veMethod);
301 if (dwSet == INVALID_SET_FILE_POINTER)
302 {
303 DWORD dwErr = GetLastError();
304 ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
305 ret = -1;
306 }
307 else
308 ret=0;
309 }
310 return ret;
311 }
312
313 int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
230 { 314 {
231 int ret=-1; 315 int ret=-1;
232 316
233 if (stream!=NULL) 317 if (stream!=NULL)
234 { 318 {
235 HANDLE hFile; 319 HANDLE hFile;
236 hFile = ((WIN32FILE_IOWIN*)stream) -> hf; 320 hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
237 if (hFile != NULL) 321 if (hFile != NULL)
238 { 322 {
239 CloseHandle(hFile); 323 CloseHandle(hFile);
240 ret=0; 324 ret=0;
241 } 325 }
242 free(stream); 326 free(stream);
243 } 327 }
244 return ret; 328 return ret;
245 } 329 }
246 330
247 int ZCALLBACK win32_error_file_func (opaque, stream) 331 int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
248 voidpf opaque;
249 voidpf stream;
250 { 332 {
251 int ret=-1; 333 int ret=-1;
252 if (stream!=NULL) 334 if (stream!=NULL)
253 { 335 {
254 ret = ((WIN32FILE_IOWIN*)stream) -> error; 336 ret = ((WIN32FILE_IOWIN*)stream) -> error;
255 } 337 }
256 return ret; 338 return ret;
257 } 339 }
258 340
259 void fill_win32_filefunc (pzlib_filefunc_def) 341 void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
260 zlib_filefunc_def* pzlib_filefunc_def;
261 { 342 {
262 pzlib_filefunc_def->zopen_file = win32_open_file_func; 343 pzlib_filefunc_def->zopen_file = win32_open_file_func;
263 pzlib_filefunc_def->zread_file = win32_read_file_func; 344 pzlib_filefunc_def->zread_file = win32_read_file_func;
264 pzlib_filefunc_def->zwrite_file = win32_write_file_func; 345 pzlib_filefunc_def->zwrite_file = win32_write_file_func;
265 pzlib_filefunc_def->ztell_file = win32_tell_file_func; 346 pzlib_filefunc_def->ztell_file = win32_tell_file_func;
266 pzlib_filefunc_def->zseek_file = win32_seek_file_func; 347 pzlib_filefunc_def->zseek_file = win32_seek_file_func;
267 pzlib_filefunc_def->zclose_file = win32_close_file_func; 348 pzlib_filefunc_def->zclose_file = win32_close_file_func;
268 pzlib_filefunc_def->zerror_file = win32_error_file_func; 349 pzlib_filefunc_def->zerror_file = win32_error_file_func;
269 pzlib_filefunc_def->opaque=NULL; 350 pzlib_filefunc_def->opaque = NULL;
270 } 351 }
352
353 void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
354 {
355 pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
356 pzlib_filefunc_def->zread_file = win32_read_file_func;
357 pzlib_filefunc_def->zwrite_file = win32_write_file_func;
358 pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
359 pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
360 pzlib_filefunc_def->zclose_file = win32_close_file_func;
361 pzlib_filefunc_def->zerror_file = win32_error_file_func;
362 pzlib_filefunc_def->opaque = NULL;
363 }
364
365
366 void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
367 {
368 pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
369 pzlib_filefunc_def->zread_file = win32_read_file_func;
370 pzlib_filefunc_def->zwrite_file = win32_write_file_func;
371 pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
372 pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
373 pzlib_filefunc_def->zclose_file = win32_close_file_func;
374 pzlib_filefunc_def->zerror_file = win32_error_file_func;
375 pzlib_filefunc_def->opaque = NULL;
376 }
377
378
379 void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
380 {
381 pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
382 pzlib_filefunc_def->zread_file = win32_read_file_func;
383 pzlib_filefunc_def->zwrite_file = win32_write_file_func;
384 pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
385 pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
386 pzlib_filefunc_def->zclose_file = win32_close_file_func;
387 pzlib_filefunc_def->zerror_file = win32_error_file_func;
388 pzlib_filefunc_def->opaque = NULL;
389 }
OLDNEW
« no previous file with comments | « third_party/zlib/contrib/minizip/iowin32.h ('k') | third_party/zlib/contrib/minizip/miniunz.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698