/**
* \brief Extra information in the Header Metadata Block
*/
- lzma_extra *header;
+ const lzma_extra *header;
/**
* \brief Extra information in the Footer Metadata Block
* It is enough to set this pointer any time before calling
* lzma_code() with LZMA_FINISH as the second argument.
*/
- lzma_extra *footer;
+ const lzma_extra *footer;
} lzma_options_stream;
.uncompressed_size = coder->stream_options
->uncompressed_size,
.index = NULL,
- .extra = coder->stream_options->header,
+ // Metadata encoder doesn't modify this, but since
+ // the lzma_extra structure is used also when decoding
+ // Metadata, the pointer is not const, and we need
+ // to cast the constness away in the encoder.
+ .extra = (lzma_extra *)(coder->stream_options->header),
};
return_if_error(metadata_encoder_init(coder, allocator,
.total_size = LZMA_VLI_VALUE_UNKNOWN,
.uncompressed_size = LZMA_VLI_VALUE_UNKNOWN,
.index = lzma_info_index_get(coder->info, false),
- .extra = coder->stream_options->footer,
+ .extra = (lzma_extra *)(coder->stream_options->footer),
};
return_if_error(metadata_encoder_init(coder, allocator,