Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: src/liblzma/common/alone_encoder.c

Issue 7109015: Update XZ Utils to 5.0.3 (in deps) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/xz/
Patch Set: Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/liblzma/common/alone_decoder.c ('k') | src/liblzma/common/block_buffer_encoder.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /////////////////////////////////////////////////////////////////////////////// 1 ///////////////////////////////////////////////////////////////////////////////
2 // 2 //
3 /// \file alone_decoder.c 3 /// \file alone_decoder.c
4 /// \brief Decoder for LZMA_Alone files 4 /// \brief Decoder for LZMA_Alone files
5 // 5 //
6 // Author: Lasse Collin 6 // Author: Lasse Collin
7 // 7 //
8 // This file has been put into the public domain. 8 // This file has been put into the public domain.
9 // You can do whatever you want with this file. 9 // You can do whatever you want with this file.
10 // 10 //
(...skipping 14 matching lines...) Expand all
25 SEQ_CODE, 25 SEQ_CODE,
26 } sequence; 26 } sequence;
27 27
28 size_t header_pos; 28 size_t header_pos;
29 uint8_t header[ALONE_HEADER_SIZE]; 29 uint8_t header[ALONE_HEADER_SIZE];
30 }; 30 };
31 31
32 32
33 static lzma_ret 33 static lzma_ret
34 alone_encode(lzma_coder *coder, 34 alone_encode(lzma_coder *coder,
35 » » lzma_allocator *allocator lzma_attribute((unused)), 35 » » lzma_allocator *allocator lzma_attribute((__unused__)),
36 const uint8_t *restrict in, size_t *restrict in_pos, 36 const uint8_t *restrict in, size_t *restrict in_pos,
37 size_t in_size, uint8_t *restrict out, 37 size_t in_size, uint8_t *restrict out,
38 size_t *restrict out_pos, size_t out_size, 38 size_t *restrict out_pos, size_t out_size,
39 lzma_action action) 39 lzma_action action)
40 { 40 {
41 while (*out_pos < out_size) 41 while (*out_pos < out_size)
42 switch (coder->sequence) { 42 switch (coder->sequence) {
43 case SEQ_HEADER: 43 case SEQ_HEADER:
44 lzma_bufcpy(coder->header, &coder->header_pos, 44 lzma_bufcpy(coder->header, &coder->header_pos,
45 ALONE_HEADER_SIZE, 45 ALONE_HEADER_SIZE,
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 // Encode the header: 97 // Encode the header:
98 // - Properties (1 byte) 98 // - Properties (1 byte)
99 if (lzma_lzma_lclppb_encode(options, next->coder->header)) 99 if (lzma_lzma_lclppb_encode(options, next->coder->header))
100 return LZMA_OPTIONS_ERROR; 100 return LZMA_OPTIONS_ERROR;
101 101
102 // - Dictionary size (4 bytes) 102 // - Dictionary size (4 bytes)
103 if (options->dict_size < LZMA_DICT_SIZE_MIN) 103 if (options->dict_size < LZMA_DICT_SIZE_MIN)
104 return LZMA_OPTIONS_ERROR; 104 return LZMA_OPTIONS_ERROR;
105 105
106 » // Round up to to the next 2^n or 2^n + 2^(n - 1) depending on which 106 » // Round up to the next 2^n or 2^n + 2^(n - 1) depending on which
107 // one is the next unless it is UINT32_MAX. While the header would 107 // one is the next unless it is UINT32_MAX. While the header would
108 // allow any 32-bit integer, we do this to keep the decoder of liblzma 108 // allow any 32-bit integer, we do this to keep the decoder of liblzma
109 // accepting the resulting files. 109 // accepting the resulting files.
110 uint32_t d = options->dict_size - 1; 110 uint32_t d = options->dict_size - 1;
111 d |= d >> 2; 111 d |= d >> 2;
112 d |= d >> 3; 112 d |= d >> 3;
113 d |= d >> 4; 113 d |= d >> 4;
114 d |= d >> 8; 114 d |= d >> 8;
115 d |= d >> 16; 115 d |= d >> 16;
116 if (d != UINT32_MAX) 116 if (d != UINT32_MAX)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 extern LZMA_API(lzma_ret) 148 extern LZMA_API(lzma_ret)
149 lzma_alone_encoder(lzma_stream *strm, const lzma_options_lzma *options) 149 lzma_alone_encoder(lzma_stream *strm, const lzma_options_lzma *options)
150 { 150 {
151 lzma_next_strm_init(alone_encoder_init, strm, options); 151 lzma_next_strm_init(alone_encoder_init, strm, options);
152 152
153 strm->internal->supported_actions[LZMA_RUN] = true; 153 strm->internal->supported_actions[LZMA_RUN] = true;
154 strm->internal->supported_actions[LZMA_FINISH] = true; 154 strm->internal->supported_actions[LZMA_FINISH] = true;
155 155
156 return LZMA_OK; 156 return LZMA_OK;
157 } 157 }
OLDNEW
« no previous file with comments | « src/liblzma/common/alone_decoder.c ('k') | src/liblzma/common/block_buffer_encoder.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698