OLD | NEW |
(Empty) | |
| 1 /////////////////////////////////////////////////////////////////////////////// |
| 2 // |
| 3 /// \file stream_flags_common.c |
| 4 /// \brief Common stuff for Stream flags coders |
| 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 "stream_flags_common.h" |
| 14 |
| 15 |
| 16 const uint8_t lzma_header_magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 }; |
| 17 const uint8_t lzma_footer_magic[2] = { 0x59, 0x5A }; |
| 18 |
| 19 |
| 20 extern LZMA_API(lzma_ret) |
| 21 lzma_stream_flags_compare( |
| 22 const lzma_stream_flags *a, const lzma_stream_flags *b) |
| 23 { |
| 24 // We can compare only version 0 structures. |
| 25 if (a->version != 0 || b->version != 0) |
| 26 return LZMA_OPTIONS_ERROR; |
| 27 |
| 28 // Check type |
| 29 if ((unsigned int)(a->check) > LZMA_CHECK_ID_MAX |
| 30 || (unsigned int)(b->check) > LZMA_CHECK_ID_MAX) |
| 31 return LZMA_PROG_ERROR; |
| 32 |
| 33 if (a->check != b->check) |
| 34 return LZMA_DATA_ERROR; |
| 35 |
| 36 // Backward Sizes are compared only if they are known in both. |
| 37 if (a->backward_size != LZMA_VLI_UNKNOWN |
| 38 && b->backward_size != LZMA_VLI_UNKNOWN) { |
| 39 if (!is_backward_size_valid(a) || !is_backward_size_valid(b)) |
| 40 return LZMA_PROG_ERROR; |
| 41 |
| 42 if (a->backward_size != b->backward_size) |
| 43 return LZMA_DATA_ERROR; |
| 44 } |
| 45 |
| 46 return LZMA_OK; |
| 47 } |
OLD | NEW |