12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // SPDX-License-Identifier: 0BSD
- ///////////////////////////////////////////////////////////////////////////////
- //
- /// \file stream_flags_common.c
- /// \brief Common stuff for Stream flags coders
- //
- // Author: Lasse Collin
- //
- ///////////////////////////////////////////////////////////////////////////////
- #include "stream_flags_common.h"
- const uint8_t lzma_header_magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 };
- const uint8_t lzma_footer_magic[2] = { 0x59, 0x5A };
- extern LZMA_API(lzma_ret)
- lzma_stream_flags_compare(
- const lzma_stream_flags *a, const lzma_stream_flags *b)
- {
- // We can compare only version 0 structures.
- if (a->version != 0 || b->version != 0)
- return LZMA_OPTIONS_ERROR;
- // Check type
- if ((unsigned int)(a->check) > LZMA_CHECK_ID_MAX
- || (unsigned int)(b->check) > LZMA_CHECK_ID_MAX)
- return LZMA_PROG_ERROR;
- if (a->check != b->check)
- return LZMA_DATA_ERROR;
- // Backward Sizes are compared only if they are known in both.
- if (a->backward_size != LZMA_VLI_UNKNOWN
- && b->backward_size != LZMA_VLI_UNKNOWN) {
- if (!is_backward_size_valid(a) || !is_backward_size_valid(b))
- return LZMA_PROG_ERROR;
- if (a->backward_size != b->backward_size)
- return LZMA_DATA_ERROR;
- }
- return LZMA_OK;
- }
|