Last change
on this file was 98730, checked in by vboxsync, 22 months ago |
libs/liblzma-5.4.1: Export to OSE, bugref:10254
|
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Author Date Id Revision
|
File size:
982 bytes
|
Line | |
---|
1 | ///////////////////////////////////////////////////////////////////////////////
|
---|
2 | //
|
---|
3 | /// \file simple_decoder.c
|
---|
4 | /// \brief Properties decoder for simple filters
|
---|
5 | //
|
---|
6 | // Author: Lasse Collin
|
---|
7 | //
|
---|
8 | // This file has been put into the public domain.
|
---|
9 | // You can do whatever you want with this file.
|
---|
10 | //
|
---|
11 | ///////////////////////////////////////////////////////////////////////////////
|
---|
12 |
|
---|
13 | #include "simple_decoder.h"
|
---|
14 |
|
---|
15 |
|
---|
16 | extern lzma_ret
|
---|
17 | lzma_simple_props_decode(void **options, const lzma_allocator *allocator,
|
---|
18 | const uint8_t *props, size_t props_size)
|
---|
19 | {
|
---|
20 | if (props_size == 0)
|
---|
21 | return LZMA_OK;
|
---|
22 |
|
---|
23 | if (props_size != 4)
|
---|
24 | return LZMA_OPTIONS_ERROR;
|
---|
25 |
|
---|
26 | lzma_options_bcj *opt = lzma_alloc(
|
---|
27 | sizeof(lzma_options_bcj), allocator);
|
---|
28 | if (opt == NULL)
|
---|
29 | return LZMA_MEM_ERROR;
|
---|
30 |
|
---|
31 | opt->start_offset = read32le(props);
|
---|
32 |
|
---|
33 | // Don't leave an options structure allocated if start_offset is zero.
|
---|
34 | if (opt->start_offset == 0)
|
---|
35 | lzma_free(opt, allocator);
|
---|
36 | else
|
---|
37 | *options = opt;
|
---|
38 |
|
---|
39 | return LZMA_OK;
|
---|
40 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.