blob: 25c293d61e2b37daaa099df36700238dfd84e730 [file] [log] [blame]
--- zopfli-zopfli-1.0.2/src/zopfli/deflate.c.orig 2018-08-15 06:14:22.925696200 -0400
+++ zopfli-zopfli-1.0.2/src/zopfli/deflate.c 2018-08-15 06:20:54.096191800 -0400
@@ -431,10 +431,17 @@ Changes the population counts in a way t
compression, especially its rle-part, will be more likely to compress this data
more efficiently. length contains the size of the histogram.
*/
+#ifdef _WIN32
+void OptimizeHuffmanForRle(size_t length, size_t* counts) {
+ int i, k, stride;
+ size_t symbol, sum, limit;
+ size_t* good_for_rle;
+#else
void OptimizeHuffmanForRle(int length, size_t* counts) {
int i, k, stride;
size_t symbol, sum, limit;
int* good_for_rle;
+#endif
/* 1) We don't want to touch the trailing zeros. We may break the
rules of the format by adding more data in the distance codes. */
@@ -449,7 +456,11 @@ void OptimizeHuffmanForRle(int length, s
}
/* 2) Let's mark all population counts that already can be encoded
with an rle code.*/
+#ifdef _WIN32
+ good_for_rle = (size_t*)malloc((unsigned)length * sizeof(size_t));
+#else
good_for_rle = (int*)malloc((unsigned)length * sizeof(int));
+#endif
for (i = 0; i < length; ++i) good_for_rle[i] = 0;
/* Let's not spoil any of the existing good rle codes.