When the struct compressor_ops does not provide get_needed_memory(),
still include the size of the struct wimlib_compressor.
{
const struct compressor_ops *ops;
const struct wimlib_compressor_params_header *params;
{
const struct compressor_ops *ops;
const struct wimlib_compressor_params_header *params;
if (!compressor_ctype_valid(ctype))
return 0;
ops = compressor_ops[ctype];
if (!compressor_ctype_valid(ctype))
return 0;
ops = compressor_ops[ctype];
- if (ops->get_needed_memory == NULL)
- return 0;
if (extra_params) {
params = extra_params;
if (extra_params) {
params = extra_params;
params = compressor_default_params[ctype];
}
params = compressor_default_params[ctype];
}
- return sizeof(struct wimlib_compressor) +
- ops->get_needed_memory(max_block_size, params);
+ size = sizeof(struct wimlib_compressor);
+ if (ops->get_needed_memory)
+ size += ops->get_needed_memory(max_block_size, params);
+ return size;