Rev 49813 | Blame | Last modification | View Log | Download | RSS feed
//////////////////////////////////////////////////////////////////////////////////// \file simple_decoder.c/// \brief Properties decoder for simple filters//// Author: Lasse Collin//// This file has been put into the public domain.// You can do whatever you want with this file./////////////////////////////////////////////////////////////////////////////////#include "simple_decoder.h"extern lzma_retlzma_simple_props_decode(void **options, lzma_allocator *allocator,const uint8_t *props, size_t props_size){if (props_size == 0)return LZMA_OK;if (props_size != 4)return LZMA_OPTIONS_ERROR;lzma_options_bcj *opt = lzma_alloc(sizeof(lzma_options_bcj), allocator);if (opt == NULL)return LZMA_MEM_ERROR;opt->start_offset = unaligned_read32le(props);// Don't leave an options structure allocated if start_offset is zero.if (opt->start_offset == 0)lzma_free(opt, allocator);else*options = opt;return LZMA_OK;}