fast_excel 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -7
- data/CHANGELOG.md +9 -0
- data/Gemfile +1 -1
- data/examples/example.rb +2 -0
- data/examples/example_date_time.rb +38 -0
- data/fast_excel.gemspec +2 -2
- data/lib/fast_excel/binding/format.rb +17 -0
- data/lib/fast_excel/binding/workbook.rb +39 -17
- data/lib/fast_excel/binding/worksheet.rb +57 -13
- data/lib/fast_excel/binding.rb +7 -7
- data/lib/fast_excel.rb +27 -20
- data/libxlsxwriter/.github/FUNDING.yml +1 -0
- data/libxlsxwriter/.github/ISSUE_TEMPLATE.md +85 -0
- data/libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md +130 -0
- data/libxlsxwriter/.github/workflows/cmake_actions.yml +48 -0
- data/libxlsxwriter/.github/workflows/code_style.yml +23 -0
- data/libxlsxwriter/.github/workflows/coverity.yml +22 -0
- data/libxlsxwriter/.github/workflows/make_actions.yml +52 -0
- data/libxlsxwriter/.github/workflows/valgrind.yml +23 -0
- data/libxlsxwriter/.github/workflows/windows_build.yml +54 -0
- data/libxlsxwriter/.github/workflows/zig_build.yml +22 -0
- data/libxlsxwriter/.gitignore +16 -1
- data/libxlsxwriter/.indent.pro +24 -0
- data/libxlsxwriter/CMakeLists.txt +156 -56
- data/libxlsxwriter/CONTRIBUTING.md +2 -2
- data/libxlsxwriter/Changes.txt +344 -2
- data/libxlsxwriter/LICENSE.txt +66 -8
- data/libxlsxwriter/Makefile +151 -54
- data/libxlsxwriter/Package.swift +42 -0
- data/libxlsxwriter/Readme.md +4 -2
- data/libxlsxwriter/build.zig +324 -0
- data/libxlsxwriter/build.zig.zon +11 -0
- data/libxlsxwriter/cmake/FindMINIZIP.cmake +3 -3
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +6 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/chart.h +236 -32
- data/libxlsxwriter/include/xlsxwriter/chartsheet.h +7 -7
- data/libxlsxwriter/include/xlsxwriter/comment.h +76 -0
- data/libxlsxwriter/include/xlsxwriter/common.h +111 -50
- data/libxlsxwriter/include/xlsxwriter/content_types.h +8 -1
- data/libxlsxwriter/include/xlsxwriter/core.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/drawing.h +11 -20
- data/libxlsxwriter/include/xlsxwriter/format.h +121 -8
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/metadata.h +49 -0
- data/libxlsxwriter/include/xlsxwriter/packager.h +27 -16
- data/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/styles.h +13 -7
- data/libxlsxwriter/include/xlsxwriter/table.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
- data/libxlsxwriter/include/xlsxwriter/third_party/emyg_dtoa.h +26 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +27 -25
- data/libxlsxwriter/include/xlsxwriter/third_party/md5.h +45 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +155 -153
- data/libxlsxwriter/include/xlsxwriter/utility.h +70 -8
- data/libxlsxwriter/include/xlsxwriter/vml.h +55 -0
- data/libxlsxwriter/include/xlsxwriter/workbook.h +218 -47
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +2770 -241
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +12 -8
- data/libxlsxwriter/include/xlsxwriter.h +4 -2
- data/libxlsxwriter/libxlsxwriter.podspec +8 -5
- data/libxlsxwriter/src/Makefile +58 -21
- data/libxlsxwriter/src/app.c +5 -2
- data/libxlsxwriter/src/chart.c +396 -81
- data/libxlsxwriter/src/chartsheet.c +22 -22
- data/libxlsxwriter/src/comment.c +443 -0
- data/libxlsxwriter/src/content_types.c +40 -1
- data/libxlsxwriter/src/core.c +2 -2
- data/libxlsxwriter/src/custom.c +1 -1
- data/libxlsxwriter/src/drawing.c +160 -40
- data/libxlsxwriter/src/format.c +109 -25
- data/libxlsxwriter/src/hash_table.c +1 -1
- data/libxlsxwriter/src/metadata.c +283 -0
- data/libxlsxwriter/src/packager.c +794 -94
- data/libxlsxwriter/src/relationships.c +1 -1
- data/libxlsxwriter/src/shared_strings.c +2 -4
- data/libxlsxwriter/src/styles.c +353 -58
- data/libxlsxwriter/src/table.c +304 -0
- data/libxlsxwriter/src/theme.c +1 -1
- data/libxlsxwriter/src/utility.c +143 -43
- data/libxlsxwriter/src/vml.c +1062 -0
- data/libxlsxwriter/src/workbook.c +567 -77
- data/libxlsxwriter/src/worksheet.c +6668 -1462
- data/libxlsxwriter/src/xmlwriter.c +95 -5
- data/libxlsxwriter/third_party/dtoa/Makefile +42 -0
- data/libxlsxwriter/third_party/dtoa/emyg_dtoa.c +461 -0
- data/libxlsxwriter/third_party/dtoa/emyg_dtoa.h +26 -0
- data/libxlsxwriter/third_party/md5/Makefile +42 -0
- data/libxlsxwriter/third_party/md5/md5.c +291 -0
- data/libxlsxwriter/third_party/md5/md5.h +45 -0
- data/libxlsxwriter/third_party/minizip/Makefile +3 -8
- data/libxlsxwriter/third_party/minizip/Makefile.orig +8 -4
- data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +1 -1
- data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
- data/libxlsxwriter/third_party/minizip/crypt.h +13 -16
- data/libxlsxwriter/third_party/minizip/ioapi.c +31 -57
- data/libxlsxwriter/third_party/minizip/ioapi.h +31 -23
- data/libxlsxwriter/third_party/minizip/iowin32.c +29 -45
- data/libxlsxwriter/third_party/minizip/iowin32.h +4 -4
- data/libxlsxwriter/third_party/minizip/miniunz.c +29 -56
- data/libxlsxwriter/third_party/minizip/minizip.c +38 -49
- data/libxlsxwriter/third_party/minizip/mztools.c +1 -7
- data/libxlsxwriter/third_party/minizip/unzip.c +202 -342
- data/libxlsxwriter/third_party/minizip/unzip.h +74 -74
- data/libxlsxwriter/third_party/minizip/zip.c +165 -218
- data/libxlsxwriter/third_party/minizip/zip.h +164 -154
- data/libxlsxwriter/third_party/tmpfileplus/Makefile +3 -3
- data/libxlsxwriter/version.txt +1 -1
- data/test/auto_width_test.rb +20 -0
- data/test/default_format_test.rb +1 -1
- data/test/validations_test.rb +3 -3
- data/test/worksheet_test.rb +6 -1
- metadata +33 -7
- data/libxlsxwriter/.travis.yml +0 -37
@@ -14,7 +14,7 @@
|
|
14
14
|
#define _CRT_SECURE_NO_WARNINGS
|
15
15
|
#endif
|
16
16
|
|
17
|
-
#if defined(__APPLE__) || defined(IOAPI_NO_64)
|
17
|
+
#if defined(__APPLE__) || defined(IOAPI_NO_64) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64)
|
18
18
|
// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
|
19
19
|
#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
|
20
20
|
#define FTELLO_FUNC(stream) ftello(stream)
|
@@ -28,8 +28,7 @@
|
|
28
28
|
|
29
29
|
#include "ioapi.h"
|
30
30
|
|
31
|
-
voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
|
32
|
-
{
|
31
|
+
voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc, const void*filename, int mode) {
|
33
32
|
if (pfilefunc->zfile_func64.zopen64_file != NULL)
|
34
33
|
return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode);
|
35
34
|
else
|
@@ -38,8 +37,7 @@ voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename
|
|
38
37
|
}
|
39
38
|
}
|
40
39
|
|
41
|
-
long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)
|
42
|
-
{
|
40
|
+
long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin) {
|
43
41
|
if (pfilefunc->zfile_func64.zseek64_file != NULL)
|
44
42
|
return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin);
|
45
43
|
else
|
@@ -52,13 +50,12 @@ long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZP
|
|
52
50
|
}
|
53
51
|
}
|
54
52
|
|
55
|
-
ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)
|
56
|
-
{
|
53
|
+
ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc, voidpf filestream) {
|
57
54
|
if (pfilefunc->zfile_func64.zseek64_file != NULL)
|
58
55
|
return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream);
|
59
56
|
else
|
60
57
|
{
|
61
|
-
uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
|
58
|
+
uLong tell_uLong = (uLong)(*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
|
62
59
|
if ((tell_uLong) == MAXU32)
|
63
60
|
return (ZPOS64_T)-1;
|
64
61
|
else
|
@@ -66,11 +63,9 @@ ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream
|
|
66
63
|
}
|
67
64
|
}
|
68
65
|
|
69
|
-
void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
|
70
|
-
{
|
66
|
+
void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32, const zlib_filefunc_def* p_filefunc32) {
|
71
67
|
p_filefunc64_32->zfile_func64.zopen64_file = NULL;
|
72
68
|
p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file;
|
73
|
-
p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
|
74
69
|
p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file;
|
75
70
|
p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file;
|
76
71
|
p_filefunc64_32->zfile_func64.ztell64_file = NULL;
|
@@ -84,19 +79,10 @@ void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filef
|
|
84
79
|
|
85
80
|
|
86
81
|
|
87
|
-
static voidpf
|
88
|
-
static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
|
89
|
-
static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size));
|
90
|
-
static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream));
|
91
|
-
static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
|
92
|
-
static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
|
93
|
-
static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
|
94
|
-
|
95
|
-
static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
|
96
|
-
{
|
82
|
+
static voidpf ZCALLBACK fopen_file_func(voidpf opaque, const char* filename, int mode) {
|
97
83
|
FILE* file = NULL;
|
98
84
|
const char* mode_fopen = NULL;
|
99
|
-
(void)
|
85
|
+
(void)opaque;
|
100
86
|
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
|
101
87
|
mode_fopen = "rb";
|
102
88
|
else
|
@@ -111,11 +97,10 @@ static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, in
|
|
111
97
|
return file;
|
112
98
|
}
|
113
99
|
|
114
|
-
static voidpf ZCALLBACK fopen64_file_func
|
115
|
-
{
|
100
|
+
static voidpf ZCALLBACK fopen64_file_func(voidpf opaque, const void* filename, int mode) {
|
116
101
|
FILE* file = NULL;
|
117
102
|
const char* mode_fopen = NULL;
|
118
|
-
(void)
|
103
|
+
(void)opaque;
|
119
104
|
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
|
120
105
|
mode_fopen = "rb";
|
121
106
|
else
|
@@ -131,44 +116,39 @@ static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename,
|
|
131
116
|
}
|
132
117
|
|
133
118
|
|
134
|
-
static uLong ZCALLBACK fread_file_func
|
135
|
-
{
|
119
|
+
static uLong ZCALLBACK fread_file_func(voidpf opaque, voidpf stream, void* buf, uLong size) {
|
136
120
|
uLong ret;
|
137
|
-
(void)
|
121
|
+
(void)opaque;
|
138
122
|
ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
|
139
123
|
return ret;
|
140
124
|
}
|
141
125
|
|
142
|
-
static uLong ZCALLBACK fwrite_file_func
|
143
|
-
{
|
126
|
+
static uLong ZCALLBACK fwrite_file_func(voidpf opaque, voidpf stream, const void* buf, uLong size) {
|
144
127
|
uLong ret;
|
145
|
-
(void)
|
128
|
+
(void)opaque;
|
146
129
|
ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
|
147
130
|
return ret;
|
148
131
|
}
|
149
132
|
|
150
|
-
static long ZCALLBACK ftell_file_func
|
151
|
-
{
|
133
|
+
static long ZCALLBACK ftell_file_func(voidpf opaque, voidpf stream) {
|
152
134
|
long ret;
|
153
|
-
(void)
|
135
|
+
(void)opaque;
|
154
136
|
ret = ftell((FILE *)stream);
|
155
137
|
return ret;
|
156
138
|
}
|
157
139
|
|
158
140
|
|
159
|
-
static ZPOS64_T ZCALLBACK ftell64_file_func
|
160
|
-
{
|
141
|
+
static ZPOS64_T ZCALLBACK ftell64_file_func(voidpf opaque, voidpf stream) {
|
161
142
|
ZPOS64_T ret;
|
162
|
-
(void)
|
163
|
-
ret = FTELLO_FUNC((FILE *)stream);
|
143
|
+
(void)opaque;
|
144
|
+
ret = (ZPOS64_T)FTELLO_FUNC((FILE *)stream);
|
164
145
|
return ret;
|
165
146
|
}
|
166
147
|
|
167
|
-
static long ZCALLBACK fseek_file_func
|
168
|
-
{
|
148
|
+
static long ZCALLBACK fseek_file_func(voidpf opaque, voidpf stream, uLong offset, int origin) {
|
169
149
|
int fseek_origin=0;
|
170
150
|
long ret;
|
171
|
-
(void)
|
151
|
+
(void)opaque;
|
172
152
|
switch (origin)
|
173
153
|
{
|
174
154
|
case ZLIB_FILEFUNC_SEEK_CUR :
|
@@ -183,16 +163,15 @@ static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offs
|
|
183
163
|
default: return -1;
|
184
164
|
}
|
185
165
|
ret = 0;
|
186
|
-
if (fseek((FILE *)stream, offset, fseek_origin) != 0)
|
166
|
+
if (fseek((FILE *)stream, (long)offset, fseek_origin) != 0)
|
187
167
|
ret = -1;
|
188
168
|
return ret;
|
189
169
|
}
|
190
170
|
|
191
|
-
static long ZCALLBACK fseek64_file_func
|
192
|
-
{
|
171
|
+
static long ZCALLBACK fseek64_file_func(voidpf opaque, voidpf stream, ZPOS64_T offset, int origin) {
|
193
172
|
int fseek_origin=0;
|
194
173
|
long ret;
|
195
|
-
(void)
|
174
|
+
(void)opaque;
|
196
175
|
switch (origin)
|
197
176
|
{
|
198
177
|
case ZLIB_FILEFUNC_SEEK_CUR :
|
@@ -208,32 +187,28 @@ static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T
|
|
208
187
|
}
|
209
188
|
ret = 0;
|
210
189
|
|
211
|
-
if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0)
|
190
|
+
if(FSEEKO_FUNC((FILE *)stream, (z_off64_t)offset, fseek_origin) != 0)
|
212
191
|
ret = -1;
|
213
192
|
|
214
193
|
return ret;
|
215
194
|
}
|
216
195
|
|
217
196
|
|
218
|
-
static int ZCALLBACK fclose_file_func
|
219
|
-
{
|
197
|
+
static int ZCALLBACK fclose_file_func(voidpf opaque, voidpf stream) {
|
220
198
|
int ret;
|
221
|
-
(void)
|
199
|
+
(void)opaque;
|
222
200
|
ret = fclose((FILE *)stream);
|
223
201
|
return ret;
|
224
202
|
}
|
225
203
|
|
226
|
-
static int ZCALLBACK ferror_file_func
|
227
|
-
{
|
204
|
+
static int ZCALLBACK ferror_file_func(voidpf opaque, voidpf stream) {
|
228
205
|
int ret;
|
229
|
-
(void)
|
206
|
+
(void)opaque;
|
230
207
|
ret = ferror((FILE *)stream);
|
231
208
|
return ret;
|
232
209
|
}
|
233
210
|
|
234
|
-
void fill_fopen_filefunc
|
235
|
-
zlib_filefunc_def* pzlib_filefunc_def;
|
236
|
-
{
|
211
|
+
void fill_fopen_filefunc(zlib_filefunc_def* pzlib_filefunc_def) {
|
237
212
|
pzlib_filefunc_def->zopen_file = fopen_file_func;
|
238
213
|
pzlib_filefunc_def->zread_file = fread_file_func;
|
239
214
|
pzlib_filefunc_def->zwrite_file = fwrite_file_func;
|
@@ -244,8 +219,7 @@ void fill_fopen_filefunc (pzlib_filefunc_def)
|
|
244
219
|
pzlib_filefunc_def->opaque = NULL;
|
245
220
|
}
|
246
221
|
|
247
|
-
void fill_fopen64_filefunc
|
248
|
-
{
|
222
|
+
void fill_fopen64_filefunc(zlib_filefunc64_def* pzlib_filefunc_def) {
|
249
223
|
pzlib_filefunc_def->zopen64_file = fopen64_file_func;
|
250
224
|
pzlib_filefunc_def->zread_file = fread_file_func;
|
251
225
|
pzlib_filefunc_def->zwrite_file = fwrite_file_func;
|
@@ -18,6 +18,12 @@
|
|
18
18
|
|
19
19
|
*/
|
20
20
|
|
21
|
+
|
22
|
+
/* Pragma added by libxlsxwriter to avoid warnings with -pedantic -ansi. */
|
23
|
+
#ifndef _WIN32
|
24
|
+
#pragma GCC system_header
|
25
|
+
#endif
|
26
|
+
|
21
27
|
#ifndef _ZLIBIOAPI64_H
|
22
28
|
#define _ZLIBIOAPI64_H
|
23
29
|
|
@@ -50,7 +56,7 @@
|
|
50
56
|
#define ftello64 ftell
|
51
57
|
#define fseeko64 fseek
|
52
58
|
#else
|
53
|
-
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
59
|
+
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64)
|
54
60
|
#define fopen64 fopen
|
55
61
|
#define ftello64 ftello
|
56
62
|
#define fseeko64 fseeko
|
@@ -82,7 +88,7 @@
|
|
82
88
|
#include "mz64conf.h"
|
83
89
|
#endif
|
84
90
|
|
85
|
-
/* a type
|
91
|
+
/* a type chosen by DEFINE */
|
86
92
|
#ifdef HAVE_64BIT_INT_CUSTOM
|
87
93
|
typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
|
88
94
|
#else
|
@@ -91,8 +97,7 @@ typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
|
|
91
97
|
typedef uint64_t ZPOS64_T;
|
92
98
|
#else
|
93
99
|
|
94
|
-
|
95
|
-
#define MAXU32 0xffffffff
|
100
|
+
|
96
101
|
|
97
102
|
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
98
103
|
typedef unsigned __int64 ZPOS64_T;
|
@@ -102,7 +107,10 @@ typedef unsigned long long int ZPOS64_T;
|
|
102
107
|
#endif
|
103
108
|
#endif
|
104
109
|
|
105
|
-
|
110
|
+
/* Maximum unsigned 32-bit value used as placeholder for zip64 */
|
111
|
+
#ifndef MAXU32
|
112
|
+
#define MAXU32 (0xffffffff)
|
113
|
+
#endif
|
106
114
|
|
107
115
|
#ifdef __cplusplus
|
108
116
|
extern "C" {
|
@@ -132,14 +140,14 @@ extern "C" {
|
|
132
140
|
|
133
141
|
|
134
142
|
|
135
|
-
typedef voidpf (ZCALLBACK *open_file_func)
|
136
|
-
typedef uLong (ZCALLBACK *read_file_func)
|
137
|
-
typedef uLong (ZCALLBACK *write_file_func)
|
138
|
-
typedef int (ZCALLBACK *close_file_func)
|
139
|
-
typedef int (ZCALLBACK *testerror_file_func)
|
143
|
+
typedef voidpf (ZCALLBACK *open_file_func) (voidpf opaque, const char* filename, int mode);
|
144
|
+
typedef uLong (ZCALLBACK *read_file_func) (voidpf opaque, voidpf stream, void* buf, uLong size);
|
145
|
+
typedef uLong (ZCALLBACK *write_file_func) (voidpf opaque, voidpf stream, const void* buf, uLong size);
|
146
|
+
typedef int (ZCALLBACK *close_file_func) (voidpf opaque, voidpf stream);
|
147
|
+
typedef int (ZCALLBACK *testerror_file_func) (voidpf opaque, voidpf stream);
|
140
148
|
|
141
|
-
typedef long (ZCALLBACK *tell_file_func)
|
142
|
-
typedef long (ZCALLBACK *seek_file_func)
|
149
|
+
typedef long (ZCALLBACK *tell_file_func) (voidpf opaque, voidpf stream);
|
150
|
+
typedef long (ZCALLBACK *seek_file_func) (voidpf opaque, voidpf stream, uLong offset, int origin);
|
143
151
|
|
144
152
|
|
145
153
|
/* here is the "old" 32 bits structure structure */
|
@@ -155,9 +163,9 @@ typedef struct zlib_filefunc_def_s
|
|
155
163
|
voidpf opaque;
|
156
164
|
} zlib_filefunc_def;
|
157
165
|
|
158
|
-
typedef ZPOS64_T (ZCALLBACK *tell64_file_func)
|
159
|
-
typedef long (ZCALLBACK *seek64_file_func)
|
160
|
-
typedef voidpf (ZCALLBACK *open64_file_func)
|
166
|
+
typedef ZPOS64_T (ZCALLBACK *tell64_file_func) (voidpf opaque, voidpf stream);
|
167
|
+
typedef long (ZCALLBACK *seek64_file_func) (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin);
|
168
|
+
typedef voidpf (ZCALLBACK *open64_file_func) (voidpf opaque, const void* filename, int mode);
|
161
169
|
|
162
170
|
typedef struct zlib_filefunc64_def_s
|
163
171
|
{
|
@@ -171,8 +179,8 @@ typedef struct zlib_filefunc64_def_s
|
|
171
179
|
voidpf opaque;
|
172
180
|
} zlib_filefunc64_def;
|
173
181
|
|
174
|
-
void fill_fopen64_filefunc
|
175
|
-
void fill_fopen_filefunc
|
182
|
+
void fill_fopen64_filefunc(zlib_filefunc64_def* pzlib_filefunc_def);
|
183
|
+
void fill_fopen_filefunc(zlib_filefunc_def* pzlib_filefunc_def);
|
176
184
|
|
177
185
|
/* now internal definition, only for zip.c and unzip.h */
|
178
186
|
typedef struct zlib_filefunc64_32_def_s
|
@@ -186,16 +194,16 @@ typedef struct zlib_filefunc64_32_def_s
|
|
186
194
|
|
187
195
|
#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
|
188
196
|
#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
|
189
|
-
|
190
|
-
|
197
|
+
//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))
|
198
|
+
//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))
|
191
199
|
#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))
|
192
200
|
#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))
|
193
201
|
|
194
|
-
voidpf call_zopen64
|
195
|
-
long
|
196
|
-
ZPOS64_T call_ztell64
|
202
|
+
voidpf call_zopen64(const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode);
|
203
|
+
long call_zseek64(const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin);
|
204
|
+
ZPOS64_T call_ztell64(const zlib_filefunc64_32_def* pfilefunc,voidpf filestream);
|
197
205
|
|
198
|
-
void
|
206
|
+
void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
|
199
207
|
|
200
208
|
#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode)))
|
201
209
|
#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream)))
|
@@ -26,14 +26,17 @@
|
|
26
26
|
#endif
|
27
27
|
|
28
28
|
|
29
|
+
// see Include/shared/winapifamily.h in the Windows Kit
|
30
|
+
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
#if !defined(WINAPI_FAMILY_ONE_PARTITION)
|
33
|
+
#define WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition) ((WINAPI_FAMILY & PartitionSet) == Partition)
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
|
37
|
+
#define IOWIN32_USING_WINRT_API 1
|
38
|
+
#endif
|
39
|
+
#endif
|
37
40
|
|
38
41
|
typedef struct
|
39
42
|
{
|
@@ -46,8 +49,7 @@ static void win32_translate_open_mode(int mode,
|
|
46
49
|
DWORD* lpdwDesiredAccess,
|
47
50
|
DWORD* lpdwCreationDisposition,
|
48
51
|
DWORD* lpdwShareMode,
|
49
|
-
DWORD* lpdwFlagsAndAttributes)
|
50
|
-
{
|
52
|
+
DWORD* lpdwFlagsAndAttributes) {
|
51
53
|
*lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
|
52
54
|
|
53
55
|
if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
|
@@ -68,8 +70,7 @@ static void win32_translate_open_mode(int mode,
|
|
68
70
|
}
|
69
71
|
}
|
70
72
|
|
71
|
-
static voidpf win32_build_iowin(HANDLE hFile)
|
72
|
-
{
|
73
|
+
static voidpf win32_build_iowin(HANDLE hFile) {
|
73
74
|
voidpf ret=NULL;
|
74
75
|
|
75
76
|
if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
|
@@ -87,8 +88,7 @@ static voidpf win32_build_iowin(HANDLE hFile)
|
|
87
88
|
return ret;
|
88
89
|
}
|
89
90
|
|
90
|
-
voidpf ZCALLBACK win32_open64_file_func
|
91
|
-
{
|
91
|
+
voidpf ZCALLBACK win32_open64_file_func(voidpf opaque, const void* filename, int mode) {
|
92
92
|
const char* mode_fopen = NULL;
|
93
93
|
DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
|
94
94
|
HANDLE hFile = NULL;
|
@@ -116,8 +116,7 @@ voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int
|
|
116
116
|
}
|
117
117
|
|
118
118
|
|
119
|
-
voidpf ZCALLBACK win32_open64_file_funcA
|
120
|
-
{
|
119
|
+
voidpf ZCALLBACK win32_open64_file_funcA(voidpf opaque, const void* filename, int mode) {
|
121
120
|
const char* mode_fopen = NULL;
|
122
121
|
DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
|
123
122
|
HANDLE hFile = NULL;
|
@@ -140,8 +139,7 @@ voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int
|
|
140
139
|
}
|
141
140
|
|
142
141
|
|
143
|
-
voidpf ZCALLBACK win32_open64_file_funcW
|
144
|
-
{
|
142
|
+
voidpf ZCALLBACK win32_open64_file_funcW(voidpf opaque, const void* filename, int mode) {
|
145
143
|
const char* mode_fopen = NULL;
|
146
144
|
DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
|
147
145
|
HANDLE hFile = NULL;
|
@@ -160,8 +158,7 @@ voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int
|
|
160
158
|
}
|
161
159
|
|
162
160
|
|
163
|
-
voidpf ZCALLBACK win32_open_file_func
|
164
|
-
{
|
161
|
+
voidpf ZCALLBACK win32_open_file_func(voidpf opaque, const char* filename, int mode) {
|
165
162
|
const char* mode_fopen = NULL;
|
166
163
|
DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
|
167
164
|
HANDLE hFile = NULL;
|
@@ -189,8 +186,7 @@ voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mo
|
|
189
186
|
}
|
190
187
|
|
191
188
|
|
192
|
-
uLong ZCALLBACK win32_read_file_func
|
193
|
-
{
|
189
|
+
uLong ZCALLBACK win32_read_file_func(voidpf opaque, voidpf stream, void* buf,uLong size) {
|
194
190
|
uLong ret=0;
|
195
191
|
HANDLE hFile = NULL;
|
196
192
|
if (stream!=NULL)
|
@@ -211,8 +207,7 @@ uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uL
|
|
211
207
|
}
|
212
208
|
|
213
209
|
|
214
|
-
uLong ZCALLBACK win32_write_file_func
|
215
|
-
{
|
210
|
+
uLong ZCALLBACK win32_write_file_func(voidpf opaque, voidpf stream, const void* buf, uLong size) {
|
216
211
|
uLong ret=0;
|
217
212
|
HANDLE hFile = NULL;
|
218
213
|
if (stream!=NULL)
|
@@ -232,8 +227,7 @@ uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* b
|
|
232
227
|
return ret;
|
233
228
|
}
|
234
229
|
|
235
|
-
static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos,
|
236
|
-
{
|
230
|
+
static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod) {
|
237
231
|
#ifdef IOWIN32_USING_WINRT_API
|
238
232
|
return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
|
239
233
|
#else
|
@@ -252,8 +246,7 @@ static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *n
|
|
252
246
|
#endif
|
253
247
|
}
|
254
248
|
|
255
|
-
long ZCALLBACK win32_tell_file_func
|
256
|
-
{
|
249
|
+
long ZCALLBACK win32_tell_file_func(voidpf opaque, voidpf stream) {
|
257
250
|
long ret=-1;
|
258
251
|
HANDLE hFile = NULL;
|
259
252
|
if (stream!=NULL)
|
@@ -275,8 +268,7 @@ long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
|
|
275
268
|
return ret;
|
276
269
|
}
|
277
270
|
|
278
|
-
ZPOS64_T ZCALLBACK win32_tell64_file_func
|
279
|
-
{
|
271
|
+
ZPOS64_T ZCALLBACK win32_tell64_file_func(voidpf opaque, voidpf stream) {
|
280
272
|
ZPOS64_T ret= (ZPOS64_T)-1;
|
281
273
|
HANDLE hFile = NULL;
|
282
274
|
if (stream!=NULL)
|
@@ -300,8 +292,7 @@ ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
|
|
300
292
|
}
|
301
293
|
|
302
294
|
|
303
|
-
long ZCALLBACK win32_seek_file_func
|
304
|
-
{
|
295
|
+
long ZCALLBACK win32_seek_file_func(voidpf opaque, voidpf stream, uLong offset, int origin) {
|
305
296
|
DWORD dwMoveMethod=0xFFFFFFFF;
|
306
297
|
HANDLE hFile = NULL;
|
307
298
|
|
@@ -338,8 +329,7 @@ long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,in
|
|
338
329
|
return ret;
|
339
330
|
}
|
340
331
|
|
341
|
-
long ZCALLBACK win32_seek64_file_func
|
342
|
-
{
|
332
|
+
long ZCALLBACK win32_seek64_file_func(voidpf opaque, voidpf stream, ZPOS64_T offset, int origin) {
|
343
333
|
DWORD dwMoveMethod=0xFFFFFFFF;
|
344
334
|
HANDLE hFile = NULL;
|
345
335
|
long ret=-1;
|
@@ -377,8 +367,7 @@ long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T off
|
|
377
367
|
return ret;
|
378
368
|
}
|
379
369
|
|
380
|
-
int ZCALLBACK win32_close_file_func
|
381
|
-
{
|
370
|
+
int ZCALLBACK win32_close_file_func(voidpf opaque, voidpf stream) {
|
382
371
|
int ret=-1;
|
383
372
|
|
384
373
|
if (stream!=NULL)
|
@@ -395,8 +384,7 @@ int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
|
|
395
384
|
return ret;
|
396
385
|
}
|
397
386
|
|
398
|
-
int ZCALLBACK win32_error_file_func
|
399
|
-
{
|
387
|
+
int ZCALLBACK win32_error_file_func(voidpf opaque, voidpf stream) {
|
400
388
|
int ret=-1;
|
401
389
|
if (stream!=NULL)
|
402
390
|
{
|
@@ -405,8 +393,7 @@ int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
|
|
405
393
|
return ret;
|
406
394
|
}
|
407
395
|
|
408
|
-
void fill_win32_filefunc
|
409
|
-
{
|
396
|
+
void fill_win32_filefunc(zlib_filefunc_def* pzlib_filefunc_def) {
|
410
397
|
pzlib_filefunc_def->zopen_file = win32_open_file_func;
|
411
398
|
pzlib_filefunc_def->zread_file = win32_read_file_func;
|
412
399
|
pzlib_filefunc_def->zwrite_file = win32_write_file_func;
|
@@ -417,8 +404,7 @@ void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
|
|
417
404
|
pzlib_filefunc_def->opaque = NULL;
|
418
405
|
}
|
419
406
|
|
420
|
-
void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
|
421
|
-
{
|
407
|
+
void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def) {
|
422
408
|
pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
|
423
409
|
pzlib_filefunc_def->zread_file = win32_read_file_func;
|
424
410
|
pzlib_filefunc_def->zwrite_file = win32_write_file_func;
|
@@ -430,8 +416,7 @@ void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
|
|
430
416
|
}
|
431
417
|
|
432
418
|
|
433
|
-
void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
|
434
|
-
{
|
419
|
+
void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def) {
|
435
420
|
pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
|
436
421
|
pzlib_filefunc_def->zread_file = win32_read_file_func;
|
437
422
|
pzlib_filefunc_def->zwrite_file = win32_write_file_func;
|
@@ -443,8 +428,7 @@ void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
|
|
443
428
|
}
|
444
429
|
|
445
430
|
|
446
|
-
void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
|
447
|
-
{
|
431
|
+
void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def) {
|
448
432
|
pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
|
449
433
|
pzlib_filefunc_def->zread_file = win32_read_file_func;
|
450
434
|
pzlib_filefunc_def->zwrite_file = win32_write_file_func;
|
@@ -18,10 +18,10 @@
|
|
18
18
|
extern "C" {
|
19
19
|
#endif
|
20
20
|
|
21
|
-
void fill_win32_filefunc
|
22
|
-
void fill_win32_filefunc64
|
23
|
-
void fill_win32_filefunc64A
|
24
|
-
void fill_win32_filefunc64W
|
21
|
+
void fill_win32_filefunc(zlib_filefunc_def* pzlib_filefunc_def);
|
22
|
+
void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def);
|
23
|
+
void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def);
|
24
|
+
void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def);
|
25
25
|
|
26
26
|
#ifdef __cplusplus
|
27
27
|
}
|