Coverage Report

Created: 2023-09-25 06:56

/src/xz/src/liblzma/common/vli_size.c
Line
Count
Source (jump to first uncovered line)
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
1.18M
{
19
1.18M
  if (vli > LZMA_VLI_MAX)
20
0
    return 0;
21
22
1.18M
  uint32_t i = 0;
23
1.87M
  do {
24
1.87M
    vli >>= 7;
25
1.87M
    ++i;
26
1.87M
  } while (vli != 0);
27
28
1.18M
  assert(i <= LZMA_VLI_BYTES_MAX);
29
1.18M
  return i;
30
1.18M
}