]> wimlib.net Git - wimlib/blobdiff - src/xpress-compress.c
wimoptimize: Add --pack-streams option
[wimlib] / src / xpress-compress.c
index ad9dcff76de3718ba19a4a902bb4dfe4deb39353..005a0a22452692d47372907255838ed61d8aa81d 100644 (file)
@@ -39,7 +39,7 @@
 #ifdef HAVE_ALLOCA_H
 #  include <alloca.h>
 #endif
-
+#include <stdlib.h>
 #include <string.h>
 
 /* Intermediate XPRESS match/literal representation.  */
@@ -164,7 +164,6 @@ wimlib_xpress_compress(const void * restrict uncompressed_data,
        input_idx_t num_matches;
        input_idx_t compressed_len;
        input_idx_t i;
-       const size_t stack_max = 65536;
 
        /* XPRESS requires 256 bytes of overhead for the Huffman code, so it's
         * impossible to compress 256 bytes or less of data to less than the
@@ -178,7 +177,7 @@ wimlib_xpress_compress(const void * restrict uncompressed_data,
        if (uncompressed_len < XPRESS_NUM_SYMBOLS / 2 + 1 + 4)
                return 0;
 
-       if (uncompressed_len <= stack_max) {
+       if (uncompressed_len <= STACK_MAX) {
                matches = alloca(uncompressed_len * sizeof(matches[0]));
                udata = alloca(uncompressed_len + 8);
                prev_tab = alloca(uncompressed_len * sizeof(prev_tab[0]));
@@ -259,7 +258,7 @@ wimlib_xpress_compress(const void * restrict uncompressed_data,
 #endif
 
 out_free:
-       if (uncompressed_len > stack_max) {
+       if (uncompressed_len > STACK_MAX) {
                FREE(matches);
                FREE(udata);
                FREE(prev_tab);