xz/src/liblzma/common/vli_size.c

31 lines
630 B
C
Raw Normal View History

2007-12-08 22:42:33 +00:00
///////////////////////////////////////////////////////////////////////////////
//
/// \file vli_size.c
/// \brief Calculates the encoded size of a variable-length integer
2007-12-08 22:42:33 +00:00
//
// Author: Lasse Collin
2007-12-08 22:42:33 +00:00
//
// This file has been put into the public domain.
// You can do whatever you want with this file.
2007-12-08 22:42:33 +00:00
//
///////////////////////////////////////////////////////////////////////////////
#include "common.h"
extern LZMA_API(uint32_t)
lzma_vli_size(lzma_vli vli)
{
if (vli > LZMA_VLI_MAX)
return 0;
uint32_t i = 0;
do {
vli >>= 7;
++i;
} while (vli != 0);
2007-12-08 22:42:33 +00:00
assert(i <= LZMA_VLI_BYTES_MAX);
return i;
}