1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file vli_size.c
4 /// \brief Calculates the encoded size of a variable-length integer
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 "common.h"
14
15
16 extern LZMA_API(uint32_t)
17 lzma_vli_size(lzma_vli vli)
18 {
19 if (vli > LZMA_VLI_MAX)
20 return 0;
21
22 uint32_t i = 0;
23 do {
24 vli >>= 7;
25 ++i;
26 } while (vli != 0);
27
28 assert(i <= LZMA_VLI_BYTES_MAX);
29 return i;
30 }