fast_excel 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +1 -7
  3. data/CHANGELOG.md +9 -0
  4. data/Gemfile +1 -1
  5. data/examples/example.rb +2 -0
  6. data/examples/example_date_time.rb +38 -0
  7. data/fast_excel.gemspec +2 -2
  8. data/lib/fast_excel/binding/format.rb +17 -0
  9. data/lib/fast_excel/binding/workbook.rb +39 -17
  10. data/lib/fast_excel/binding/worksheet.rb +57 -13
  11. data/lib/fast_excel/binding.rb +7 -7
  12. data/lib/fast_excel.rb +27 -20
  13. data/libxlsxwriter/.github/FUNDING.yml +1 -0
  14. data/libxlsxwriter/.github/ISSUE_TEMPLATE.md +85 -0
  15. data/libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md +130 -0
  16. data/libxlsxwriter/.github/workflows/cmake_actions.yml +48 -0
  17. data/libxlsxwriter/.github/workflows/code_style.yml +23 -0
  18. data/libxlsxwriter/.github/workflows/coverity.yml +22 -0
  19. data/libxlsxwriter/.github/workflows/make_actions.yml +52 -0
  20. data/libxlsxwriter/.github/workflows/valgrind.yml +23 -0
  21. data/libxlsxwriter/.github/workflows/windows_build.yml +54 -0
  22. data/libxlsxwriter/.github/workflows/zig_build.yml +22 -0
  23. data/libxlsxwriter/.gitignore +16 -1
  24. data/libxlsxwriter/.indent.pro +24 -0
  25. data/libxlsxwriter/CMakeLists.txt +156 -56
  26. data/libxlsxwriter/CONTRIBUTING.md +2 -2
  27. data/libxlsxwriter/Changes.txt +344 -2
  28. data/libxlsxwriter/LICENSE.txt +66 -8
  29. data/libxlsxwriter/Makefile +151 -54
  30. data/libxlsxwriter/Package.swift +42 -0
  31. data/libxlsxwriter/Readme.md +4 -2
  32. data/libxlsxwriter/build.zig +324 -0
  33. data/libxlsxwriter/build.zig.zon +11 -0
  34. data/libxlsxwriter/cmake/FindMINIZIP.cmake +3 -3
  35. data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +6 -0
  36. data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
  37. data/libxlsxwriter/include/xlsxwriter/chart.h +236 -32
  38. data/libxlsxwriter/include/xlsxwriter/chartsheet.h +7 -7
  39. data/libxlsxwriter/include/xlsxwriter/comment.h +76 -0
  40. data/libxlsxwriter/include/xlsxwriter/common.h +111 -50
  41. data/libxlsxwriter/include/xlsxwriter/content_types.h +8 -1
  42. data/libxlsxwriter/include/xlsxwriter/core.h +1 -1
  43. data/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
  44. data/libxlsxwriter/include/xlsxwriter/drawing.h +11 -20
  45. data/libxlsxwriter/include/xlsxwriter/format.h +121 -8
  46. data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
  47. data/libxlsxwriter/include/xlsxwriter/metadata.h +49 -0
  48. data/libxlsxwriter/include/xlsxwriter/packager.h +27 -16
  49. data/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
  50. data/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
  51. data/libxlsxwriter/include/xlsxwriter/styles.h +13 -7
  52. data/libxlsxwriter/include/xlsxwriter/table.h +51 -0
  53. data/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
  54. data/libxlsxwriter/include/xlsxwriter/third_party/emyg_dtoa.h +26 -0
  55. data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +27 -25
  56. data/libxlsxwriter/include/xlsxwriter/third_party/md5.h +45 -0
  57. data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +155 -153
  58. data/libxlsxwriter/include/xlsxwriter/utility.h +70 -8
  59. data/libxlsxwriter/include/xlsxwriter/vml.h +55 -0
  60. data/libxlsxwriter/include/xlsxwriter/workbook.h +218 -47
  61. data/libxlsxwriter/include/xlsxwriter/worksheet.h +2770 -241
  62. data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +12 -8
  63. data/libxlsxwriter/include/xlsxwriter.h +4 -2
  64. data/libxlsxwriter/libxlsxwriter.podspec +8 -5
  65. data/libxlsxwriter/src/Makefile +58 -21
  66. data/libxlsxwriter/src/app.c +5 -2
  67. data/libxlsxwriter/src/chart.c +396 -81
  68. data/libxlsxwriter/src/chartsheet.c +22 -22
  69. data/libxlsxwriter/src/comment.c +443 -0
  70. data/libxlsxwriter/src/content_types.c +40 -1
  71. data/libxlsxwriter/src/core.c +2 -2
  72. data/libxlsxwriter/src/custom.c +1 -1
  73. data/libxlsxwriter/src/drawing.c +160 -40
  74. data/libxlsxwriter/src/format.c +109 -25
  75. data/libxlsxwriter/src/hash_table.c +1 -1
  76. data/libxlsxwriter/src/metadata.c +283 -0
  77. data/libxlsxwriter/src/packager.c +794 -94
  78. data/libxlsxwriter/src/relationships.c +1 -1
  79. data/libxlsxwriter/src/shared_strings.c +2 -4
  80. data/libxlsxwriter/src/styles.c +353 -58
  81. data/libxlsxwriter/src/table.c +304 -0
  82. data/libxlsxwriter/src/theme.c +1 -1
  83. data/libxlsxwriter/src/utility.c +143 -43
  84. data/libxlsxwriter/src/vml.c +1062 -0
  85. data/libxlsxwriter/src/workbook.c +567 -77
  86. data/libxlsxwriter/src/worksheet.c +6668 -1462
  87. data/libxlsxwriter/src/xmlwriter.c +95 -5
  88. data/libxlsxwriter/third_party/dtoa/Makefile +42 -0
  89. data/libxlsxwriter/third_party/dtoa/emyg_dtoa.c +461 -0
  90. data/libxlsxwriter/third_party/dtoa/emyg_dtoa.h +26 -0
  91. data/libxlsxwriter/third_party/md5/Makefile +42 -0
  92. data/libxlsxwriter/third_party/md5/md5.c +291 -0
  93. data/libxlsxwriter/third_party/md5/md5.h +45 -0
  94. data/libxlsxwriter/third_party/minizip/Makefile +3 -8
  95. data/libxlsxwriter/third_party/minizip/Makefile.orig +8 -4
  96. data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +1 -1
  97. data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
  98. data/libxlsxwriter/third_party/minizip/crypt.h +13 -16
  99. data/libxlsxwriter/third_party/minizip/ioapi.c +31 -57
  100. data/libxlsxwriter/third_party/minizip/ioapi.h +31 -23
  101. data/libxlsxwriter/third_party/minizip/iowin32.c +29 -45
  102. data/libxlsxwriter/third_party/minizip/iowin32.h +4 -4
  103. data/libxlsxwriter/third_party/minizip/miniunz.c +29 -56
  104. data/libxlsxwriter/third_party/minizip/minizip.c +38 -49
  105. data/libxlsxwriter/third_party/minizip/mztools.c +1 -7
  106. data/libxlsxwriter/third_party/minizip/unzip.c +202 -342
  107. data/libxlsxwriter/third_party/minizip/unzip.h +74 -74
  108. data/libxlsxwriter/third_party/minizip/zip.c +165 -218
  109. data/libxlsxwriter/third_party/minizip/zip.h +164 -154
  110. data/libxlsxwriter/third_party/tmpfileplus/Makefile +3 -3
  111. data/libxlsxwriter/version.txt +1 -1
  112. data/test/auto_width_test.rb +20 -0
  113. data/test/default_format_test.rb +1 -1
  114. data/test/validations_test.rb +3 -3
  115. data/test/worksheet_test.rb +6 -1
  116. metadata +33 -7
  117. 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 ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode));
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) opaque;
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 (voidpf opaque, const void* filename, int mode)
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) opaque;
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 (voidpf opaque, voidpf stream, void* buf, uLong size)
135
- {
119
+ static uLong ZCALLBACK fread_file_func(voidpf opaque, voidpf stream, void* buf, uLong size) {
136
120
  uLong ret;
137
- (void) opaque;
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 (voidpf opaque, voidpf stream, const void* buf, uLong size)
143
- {
126
+ static uLong ZCALLBACK fwrite_file_func(voidpf opaque, voidpf stream, const void* buf, uLong size) {
144
127
  uLong ret;
145
- (void) opaque;
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 (voidpf opaque, voidpf stream)
151
- {
133
+ static long ZCALLBACK ftell_file_func(voidpf opaque, voidpf stream) {
152
134
  long ret;
153
- (void) opaque;
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 (voidpf opaque, voidpf stream)
160
- {
141
+ static ZPOS64_T ZCALLBACK ftell64_file_func(voidpf opaque, voidpf stream) {
161
142
  ZPOS64_T ret;
162
- (void) opaque;
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 (voidpf opaque, voidpf stream, uLong offset, int origin)
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) opaque;
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 (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
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) opaque;
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 (voidpf opaque, voidpf stream)
219
- {
197
+ static int ZCALLBACK fclose_file_func(voidpf opaque, voidpf stream) {
220
198
  int ret;
221
- (void) opaque;
199
+ (void)opaque;
222
200
  ret = fclose((FILE *)stream);
223
201
  return ret;
224
202
  }
225
203
 
226
- static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
227
- {
204
+ static int ZCALLBACK ferror_file_func(voidpf opaque, voidpf stream) {
228
205
  int ret;
229
- (void) opaque;
206
+ (void)opaque;
230
207
  ret = ferror((FILE *)stream);
231
208
  return ret;
232
209
  }
233
210
 
234
- void fill_fopen_filefunc (pzlib_filefunc_def)
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 (zlib_filefunc64_def* pzlib_filefunc_def)
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 choosen by DEFINE */
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
- /* Maximum unsigned 32-bit value used as placeholder for zip64 */
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) OF((voidpf opaque, const char* filename, int mode));
136
- typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
137
- typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
138
- typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
139
- typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
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) OF((voidpf opaque, voidpf stream));
142
- typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin));
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) OF((voidpf opaque, voidpf stream));
159
- typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
160
- typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode));
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 OF((zlib_filefunc64_def* pzlib_filefunc_def));
175
- void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
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
- /* #define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream)) */
190
- /* #define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode)) */
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 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode));
195
- long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin));
196
- ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream));
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 fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
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
- voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
31
- uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
32
- uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
33
- ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
34
- long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
35
- int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
36
- int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
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 (voidpf opaque,const void* filename,int mode)
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 (voidpf opaque,const void* filename,int mode)
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 (voidpf opaque,const void* filename,int mode)
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 (voidpf opaque,const char* filename,int mode)
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 (voidpf opaque, voidpf stream, void* buf,uLong size)
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 (voidpf opaque,voidpf stream,const void* buf,uLong size)
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, DWORD dwMoveMethod)
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 (voidpf opaque,voidpf stream)
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 (voidpf opaque, voidpf stream)
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 (voidpf opaque,voidpf stream,uLong offset,int origin)
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 (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
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 (voidpf opaque, voidpf stream)
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 (voidpf opaque,voidpf stream)
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 (zlib_filefunc_def* pzlib_filefunc_def)
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 OF((zlib_filefunc_def* pzlib_filefunc_def));
22
- void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
23
- void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
24
- void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
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
  }