diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2008-12-17 21:49:53 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2008-12-17 21:49:53 +0200 |
commit | 634636fa56ccee6e744f78b0abed76c8940f2f8f (patch) | |
tree | 9d3e945d7c5673007e12928cd78f3071e34ac7dd /src/liblzma/common/alignment.c | |
parent | xz message handling improvements (diff) | |
download | xz-634636fa56ccee6e744f78b0abed76c8940f2f8f.tar.xz |
Remove the alignment functions for now. Maybe they will
be added back in some form later, but the current version
wasn't modular, so it would need fixing anyway.
Diffstat (limited to '')
-rw-r--r-- | src/liblzma/common/alignment.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/src/liblzma/common/alignment.c b/src/liblzma/common/alignment.c deleted file mode 100644 index ff38062e..00000000 --- a/src/liblzma/common/alignment.c +++ /dev/null @@ -1,114 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file alignment.c -/// \brief Calculates preferred alignments of different filters -// -// Copyright (C) 2007 Lasse Collin -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -extern LZMA_API uint32_t -lzma_alignment_input(const lzma_filter *filters, uint32_t guess) -{ - for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) { - switch (filters[i].id) { - case LZMA_FILTER_DELTA: - // The same as the input, check the next filter. - continue; - - case LZMA_FILTER_SUBBLOCK: - if (filters[i].options == NULL) - return LZMA_SUBBLOCK_ALIGNMENT_DEFAULT; - else - return ((const lzma_options_subblock *)( - filters[i].options))->alignment; - - case LZMA_FILTER_X86: - return 1; - - case LZMA_FILTER_ARMTHUMB: - return 2; - - case LZMA_FILTER_POWERPC: - case LZMA_FILTER_ARM: - case LZMA_FILTER_SPARC: - return 4; - - case LZMA_FILTER_IA64: - return 16; - - case LZMA_FILTER_LZMA1: { - const lzma_options_lzma *lzma = filters[i].options; - return 1 << MAX(lzma->pb, lzma->lp); - } - - default: - return UINT32_MAX; - } - } - - return guess; -} - - -extern LZMA_API uint32_t -lzma_alignment_output(const lzma_filter *filters, uint32_t guess) -{ - if (filters[0].id == LZMA_VLI_UNKNOWN) - return UINT32_MAX; - - // Find the last filter in the chain. - size_t i = 0; - while (filters[i + 1].id != LZMA_VLI_UNKNOWN) - ++i; - - do { - switch (filters[i].id) { - case LZMA_FILTER_DELTA: - // It's the same as the input alignment, so - // check the next filter. - continue; - - case LZMA_FILTER_SUBBLOCK: - if (filters[i].options == NULL) - return LZMA_SUBBLOCK_ALIGNMENT_DEFAULT; - else - return ((const lzma_options_subblock *)( - filters[i].options))->alignment; - - case LZMA_FILTER_X86: - case LZMA_FILTER_LZMA1: - return 1; - - case LZMA_FILTER_ARMTHUMB: - return 2; - - case LZMA_FILTER_POWERPC: - case LZMA_FILTER_ARM: - case LZMA_FILTER_SPARC: - return 4; - - case LZMA_FILTER_IA64: - return 16; - - default: - return UINT32_MAX; - } - } while (i-- != 0); - - // If we get here, we have the same alignment as the input data. - return guess; -} |