]> wimlib.net Git - wimlib/blobdiff - src/write.c
Use STACK_MAX
[wimlib] / src / write.c
index 36a431a6c3f7289fae764970af5f022528acbdc7..ce301063612327662f3936e0e6b82ee227320734 100644 (file)
@@ -315,7 +315,6 @@ write_resource_cb(const void *chunk, size_t chunk_size, void *_ctx)
        void *compressed_chunk = NULL;
        unsigned compressed_size;
        bool compressed_chunk_malloced = false;
-       size_t stack_max = 32768;
 
        if (ctx->doing_sha)
                sha1_update(&ctx->sha_ctx, chunk, chunk_size);
@@ -325,7 +324,7 @@ write_resource_cb(const void *chunk, size_t chunk_size, void *_ctx)
        if (ctx->out_ctype != WIMLIB_COMPRESSION_TYPE_NONE) {
 
                /* Compress the chunk.  */
-               if (chunk_size <= stack_max) {
+               if (chunk_size <= STACK_MAX) {
                        compressed_chunk = alloca(chunk_size);
                } else {
                        compressed_chunk = MALLOC(chunk_size);
@@ -2668,8 +2667,10 @@ write_wim_part(WIMStruct *wim,
        wim->hdr.total_parts = total_parts;
 
        /* Set compression type if different.  */
-       if (wim->compression_type != wim->out_compression_type)
-               wim->hdr.flags = get_wim_hdr_cflags(wim->out_compression_type);
+       if (wim->compression_type != wim->out_compression_type) {
+               ret = set_wim_hdr_cflags(wim->out_compression_type, &wim->hdr);
+               wimlib_assert(ret == 0);
+       }
 
        /* Set chunk size if different.  */
        wim->hdr.chunk_size = wim->out_chunk_size;