Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/comp/c_rle.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | static int rle_compress_block(COMP_CTX *ctx, unsigned char *out, | - | ||||||||||||
4 | unsigned int olen, unsigned char *in, unsigned int ilen); | - | ||||||||||||
5 | static int rle_expand_block(COMP_CTX *ctx, unsigned char *out, | - | ||||||||||||
6 | unsigned int olen, unsigned char *in, unsigned int ilen); | - | ||||||||||||
7 | - | |||||||||||||
8 | static COMP_METHOD rle_method = { | - | ||||||||||||
9 | .type = 124, | - | ||||||||||||
10 | .name = "run length compression", | - | ||||||||||||
11 | .compress = rle_compress_block, | - | ||||||||||||
12 | .expand = rle_expand_block | - | ||||||||||||
13 | }; | - | ||||||||||||
14 | - | |||||||||||||
15 | COMP_METHOD * | - | ||||||||||||
16 | COMP_rle(void) | - | ||||||||||||
17 | { | - | ||||||||||||
18 | return never executed: (&rle_method);return (&rle_method); never executed: return (&rle_method); | 0 | ||||||||||||
19 | } | - | ||||||||||||
20 | - | |||||||||||||
21 | static int | - | ||||||||||||
22 | rle_compress_block(COMP_CTX *ctx, unsigned char *out, unsigned int olen, | - | ||||||||||||
23 | unsigned char *in, unsigned int ilen) | - | ||||||||||||
24 | { | - | ||||||||||||
25 | - | |||||||||||||
26 | if (ilen == 0
| 0 | ||||||||||||
27 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
28 | } | - | ||||||||||||
29 | - | |||||||||||||
30 | *(out++) = 0; | - | ||||||||||||
31 | memcpy(out, in, ilen); | - | ||||||||||||
32 | return never executed: (ilen + 1);return (ilen + 1); never executed: return (ilen + 1); | 0 | ||||||||||||
33 | } | - | ||||||||||||
34 | - | |||||||||||||
35 | static int | - | ||||||||||||
36 | rle_expand_block(COMP_CTX *ctx, unsigned char *out, unsigned int olen, | - | ||||||||||||
37 | unsigned char *in, unsigned int ilen) | - | ||||||||||||
38 | { | - | ||||||||||||
39 | int i; | - | ||||||||||||
40 | - | |||||||||||||
41 | if (olen < (ilen - 1)
| 0 | ||||||||||||
42 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
43 | } | - | ||||||||||||
44 | - | |||||||||||||
45 | i= *(in++); | - | ||||||||||||
46 | if (i == 0
| 0 | ||||||||||||
47 | memcpy(out, in, ilen - 1); | - | ||||||||||||
48 | } never executed: end of block | 0 | ||||||||||||
49 | return never executed: (ilen - 1);return (ilen - 1); never executed: return (ilen - 1); | 0 | ||||||||||||
50 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |