/src/CMake/Utilities/cmlibarchive/libarchive/archive_endian.h
Line | Count | Source |
1 | | /*- |
2 | | * Copyright (c) 2002 Thomas Moestl <tmm@FreeBSD.org> |
3 | | * All rights reserved. |
4 | | * |
5 | | * Redistribution and use in source and binary forms, with or without |
6 | | * modification, are permitted provided that the following conditions |
7 | | * are met: |
8 | | * 1. Redistributions of source code must retain the above copyright |
9 | | * notice, this list of conditions and the following disclaimer. |
10 | | * 2. Redistributions in binary form must reproduce the above copyright |
11 | | * notice, this list of conditions and the following disclaimer in the |
12 | | * documentation and/or other materials provided with the distribution. |
13 | | * |
14 | | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
15 | | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
16 | | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
17 | | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
18 | | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
19 | | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
20 | | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
21 | | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
22 | | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
23 | | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
24 | | * SUCH DAMAGE. |
25 | | * |
26 | | * Borrowed from FreeBSD's <sys/endian.h> |
27 | | */ |
28 | | |
29 | | #ifndef ARCHIVE_ENDIAN_H_INCLUDED |
30 | | #define ARCHIVE_ENDIAN_H_INCLUDED |
31 | | |
32 | | /* Note: This is a purely internal header! */ |
33 | | /* Do not use this outside of libarchive internal code! */ |
34 | | |
35 | | #ifndef __LIBARCHIVE_BUILD |
36 | | #error This header is only to be used internally to libarchive. |
37 | | #endif |
38 | | |
39 | | /* |
40 | | * Disabling inline keyword for compilers known to choke on it: |
41 | | * - Watcom C++ in C code. (For any version?) |
42 | | * - SGI MIPSpro |
43 | | * - Microsoft Visual C++ 6.0 (supposedly newer versions too) |
44 | | * - IBM VisualAge 6 (XL v6) |
45 | | * - Sun WorkShop C (SunPro) before 5.9 |
46 | | */ |
47 | | #if defined(__WATCOMC__) || defined(__sgi) || defined(__hpux) || defined(__BORLANDC__) |
48 | | #define inline |
49 | | #elif defined(__IBMC__) && __IBMC__ < 700 |
50 | | #define inline |
51 | | #elif defined(__SUNPRO_C) && __SUNPRO_C < 0x590 |
52 | | #define inline |
53 | | #elif defined(_MSC_VER) || defined(__osf__) |
54 | | #define inline __inline |
55 | | #endif |
56 | | |
57 | | /* Alignment-agnostic encode/decode bytestream to/from little/big endian. */ |
58 | | |
59 | | static inline uint16_t |
60 | | archive_be16dec(const void *pp) |
61 | 114 | { |
62 | 114 | unsigned char const *p = (unsigned char const *)pp; |
63 | | |
64 | | /* Store into unsigned temporaries before left shifting, to avoid |
65 | | promotion to signed int and then left shifting into the sign bit, |
66 | | which is undefined behaviour. */ |
67 | 114 | unsigned int p1 = p[1]; |
68 | 114 | unsigned int p0 = p[0]; |
69 | | |
70 | 114 | return ((p0 << 8) | p1); |
71 | 114 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be16dec Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be16dec Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be16dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be16dec Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be16dec Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be16dec Unexecuted instantiation: archive_read_support_format_cab.c:archive_be16dec Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be16dec archive_read_support_format_lha.c:archive_be16dec Line | Count | Source | 61 | 72 | { | 62 | 72 | unsigned char const *p = (unsigned char const *)pp; | 63 | | | 64 | | /* Store into unsigned temporaries before left shifting, to avoid | 65 | | promotion to signed int and then left shifting into the sign bit, | 66 | | which is undefined behaviour. */ | 67 | 72 | unsigned int p1 = p[1]; | 68 | 72 | unsigned int p0 = p[0]; | 69 | | | 70 | 72 | return ((p0 << 8) | p1); | 71 | 72 | } |
Unexecuted instantiation: archive_read_support_format_rar.c:archive_be16dec Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be16dec Unexecuted instantiation: archive_read_support_format_xar.c:archive_be16dec Unexecuted instantiation: archive_read_support_format_zip.c:archive_be16dec Unexecuted instantiation: archive_string.c:archive_be16dec Unexecuted instantiation: archive_write_disk_posix.c:archive_be16dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be16dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be16dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_be16dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_be16dec archive_read_support_format_7zip.c:archive_be16dec Line | Count | Source | 61 | 42 | { | 62 | 42 | unsigned char const *p = (unsigned char const *)pp; | 63 | | | 64 | | /* Store into unsigned temporaries before left shifting, to avoid | 65 | | promotion to signed int and then left shifting into the sign bit, | 66 | | which is undefined behaviour. */ | 67 | 42 | unsigned int p1 = p[1]; | 68 | 42 | unsigned int p0 = p[0]; | 69 | | | 70 | 42 | return ((p0 << 8) | p1); | 71 | 42 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be16dec |
72 | | |
73 | | static inline uint32_t |
74 | | archive_be32dec(const void *pp) |
75 | 30 | { |
76 | 30 | unsigned char const *p = (unsigned char const *)pp; |
77 | | |
78 | | /* Store into unsigned temporaries before left shifting, to avoid |
79 | | promotion to signed int and then left shifting into the sign bit, |
80 | | which is undefined behaviour. */ |
81 | 30 | unsigned int p3 = p[3]; |
82 | 30 | unsigned int p2 = p[2]; |
83 | 30 | unsigned int p1 = p[1]; |
84 | 30 | unsigned int p0 = p[0]; |
85 | | |
86 | 30 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); |
87 | 30 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be32dec Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be32dec Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be32dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be32dec Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be32dec Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_cab.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_lha.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_rar.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_xar.c:archive_be32dec Unexecuted instantiation: archive_read_support_format_zip.c:archive_be32dec Unexecuted instantiation: archive_string.c:archive_be32dec Unexecuted instantiation: archive_write_disk_posix.c:archive_be32dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be32dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be32dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_be32dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_be32dec archive_read_support_format_7zip.c:archive_be32dec Line | Count | Source | 75 | 30 | { | 76 | 30 | unsigned char const *p = (unsigned char const *)pp; | 77 | | | 78 | | /* Store into unsigned temporaries before left shifting, to avoid | 79 | | promotion to signed int and then left shifting into the sign bit, | 80 | | which is undefined behaviour. */ | 81 | 30 | unsigned int p3 = p[3]; | 82 | 30 | unsigned int p2 = p[2]; | 83 | 30 | unsigned int p1 = p[1]; | 84 | 30 | unsigned int p0 = p[0]; | 85 | | | 86 | 30 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); | 87 | 30 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be32dec |
88 | | |
89 | | static inline uint64_t |
90 | | archive_be64dec(const void *pp) |
91 | 12 | { |
92 | 12 | unsigned char const *p = (unsigned char const *)pp; |
93 | | |
94 | 12 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); |
95 | 12 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be64dec Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be64dec Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be64dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be64dec Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be64dec Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_cab.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_lha.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_rar.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_xar.c:archive_be64dec Unexecuted instantiation: archive_read_support_format_zip.c:archive_be64dec Unexecuted instantiation: archive_string.c:archive_be64dec Unexecuted instantiation: archive_write_disk_posix.c:archive_be64dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be64dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be64dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_be64dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_be64dec archive_read_support_format_7zip.c:archive_be64dec Line | Count | Source | 91 | 12 | { | 92 | 12 | unsigned char const *p = (unsigned char const *)pp; | 93 | | | 94 | 12 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); | 95 | 12 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be64dec |
96 | | |
97 | | static inline uint16_t |
98 | | archive_le16dec(const void *pp) |
99 | 218k | { |
100 | 218k | unsigned char const *p = (unsigned char const *)pp; |
101 | | |
102 | | /* Store into unsigned temporaries before left shifting, to avoid |
103 | | promotion to signed int and then left shifting into the sign bit, |
104 | | which is undefined behaviour. */ |
105 | 218k | unsigned int p1 = p[1]; |
106 | 218k | unsigned int p0 = p[0]; |
107 | | |
108 | 218k | return ((p1 << 8) | p0); |
109 | 218k | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_le16dec Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_le16dec Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le16dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le16dec Unexecuted instantiation: archive_read_support_filter_xz.c:archive_le16dec Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_le16dec archive_read_support_format_cab.c:archive_le16dec Line | Count | Source | 99 | 22.0k | { | 100 | 22.0k | unsigned char const *p = (unsigned char const *)pp; | 101 | | | 102 | | /* Store into unsigned temporaries before left shifting, to avoid | 103 | | promotion to signed int and then left shifting into the sign bit, | 104 | | which is undefined behaviour. */ | 105 | 22.0k | unsigned int p1 = p[1]; | 106 | 22.0k | unsigned int p0 = p[0]; | 107 | | | 108 | 22.0k | return ((p1 << 8) | p0); | 109 | 22.0k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le16dec archive_read_support_format_lha.c:archive_le16dec Line | Count | Source | 99 | 5.85k | { | 100 | 5.85k | unsigned char const *p = (unsigned char const *)pp; | 101 | | | 102 | | /* Store into unsigned temporaries before left shifting, to avoid | 103 | | promotion to signed int and then left shifting into the sign bit, | 104 | | which is undefined behaviour. */ | 105 | 5.85k | unsigned int p1 = p[1]; | 106 | 5.85k | unsigned int p0 = p[0]; | 107 | | | 108 | 5.85k | return ((p1 << 8) | p0); | 109 | 5.85k | } |
archive_read_support_format_rar.c:archive_le16dec Line | Count | Source | 99 | 390 | { | 100 | 390 | unsigned char const *p = (unsigned char const *)pp; | 101 | | | 102 | | /* Store into unsigned temporaries before left shifting, to avoid | 103 | | promotion to signed int and then left shifting into the sign bit, | 104 | | which is undefined behaviour. */ | 105 | 390 | unsigned int p1 = p[1]; | 106 | 390 | unsigned int p0 = p[0]; | 107 | | | 108 | 390 | return ((p1 << 8) | p0); | 109 | 390 | } |
Unexecuted instantiation: archive_read_support_format_rar5.c:archive_le16dec Unexecuted instantiation: archive_read_support_format_xar.c:archive_le16dec archive_read_support_format_zip.c:archive_le16dec Line | Count | Source | 99 | 187k | { | 100 | 187k | unsigned char const *p = (unsigned char const *)pp; | 101 | | | 102 | | /* Store into unsigned temporaries before left shifting, to avoid | 103 | | promotion to signed int and then left shifting into the sign bit, | 104 | | which is undefined behaviour. */ | 105 | 187k | unsigned int p1 = p[1]; | 106 | 187k | unsigned int p0 = p[0]; | 107 | | | 108 | 187k | return ((p1 << 8) | p0); | 109 | 187k | } |
Unexecuted instantiation: archive_string.c:archive_le16dec Unexecuted instantiation: archive_write_disk_posix.c:archive_le16dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le16dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le16dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_le16dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_le16dec archive_read_support_format_7zip.c:archive_le16dec Line | Count | Source | 99 | 2.57k | { | 100 | 2.57k | unsigned char const *p = (unsigned char const *)pp; | 101 | | | 102 | | /* Store into unsigned temporaries before left shifting, to avoid | 103 | | promotion to signed int and then left shifting into the sign bit, | 104 | | which is undefined behaviour. */ | 105 | 2.57k | unsigned int p1 = p[1]; | 106 | 2.57k | unsigned int p0 = p[0]; | 107 | | | 108 | 2.57k | return ((p1 << 8) | p0); | 109 | 2.57k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le16dec |
110 | | |
111 | | static inline uint32_t |
112 | | archive_le32dec(const void *pp) |
113 | 606k | { |
114 | 606k | unsigned char const *p = (unsigned char const *)pp; |
115 | | |
116 | | /* Store into unsigned temporaries before left shifting, to avoid |
117 | | promotion to signed int and then left shifting into the sign bit, |
118 | | which is undefined behaviour. */ |
119 | 606k | unsigned int p3 = p[3]; |
120 | 606k | unsigned int p2 = p[2]; |
121 | 606k | unsigned int p1 = p[1]; |
122 | 606k | unsigned int p0 = p[0]; |
123 | | |
124 | 606k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); |
125 | 606k | } archive_read_support_filter_gzip.c:archive_le32dec Line | Count | Source | 113 | 1.35k | { | 114 | 1.35k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 1.35k | unsigned int p3 = p[3]; | 120 | 1.35k | unsigned int p2 = p[2]; | 121 | 1.35k | unsigned int p1 = p[1]; | 122 | 1.35k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.35k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.35k | } |
archive_read_support_filter_lz4.c:archive_le32dec Line | Count | Source | 113 | 28.7k | { | 114 | 28.7k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 28.7k | unsigned int p3 = p[3]; | 120 | 28.7k | unsigned int p2 = p[2]; | 121 | 28.7k | unsigned int p1 = p[1]; | 122 | 28.7k | unsigned int p0 = p[0]; | 123 | | | 124 | 28.7k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 28.7k | } |
Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le32dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le32dec archive_read_support_filter_xz.c:archive_le32dec Line | Count | Source | 113 | 76.0k | { | 114 | 76.0k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 76.0k | unsigned int p3 = p[3]; | 120 | 76.0k | unsigned int p2 = p[2]; | 121 | 76.0k | unsigned int p1 = p[1]; | 122 | 76.0k | unsigned int p0 = p[0]; | 123 | | | 124 | 76.0k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 76.0k | } |
archive_read_support_filter_zstd.c:archive_le32dec Line | Count | Source | 113 | 29.6k | { | 114 | 29.6k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 29.6k | unsigned int p3 = p[3]; | 120 | 29.6k | unsigned int p2 = p[2]; | 121 | 29.6k | unsigned int p1 = p[1]; | 122 | 29.6k | unsigned int p0 = p[0]; | 123 | | | 124 | 29.6k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 29.6k | } |
archive_read_support_format_cab.c:archive_le32dec Line | Count | Source | 113 | 255k | { | 114 | 255k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 255k | unsigned int p3 = p[3]; | 120 | 255k | unsigned int p2 = p[2]; | 121 | 255k | unsigned int p1 = p[1]; | 122 | 255k | unsigned int p0 = p[0]; | 123 | | | 124 | 255k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 255k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le32dec archive_read_support_format_lha.c:archive_le32dec Line | Count | Source | 113 | 9.88k | { | 114 | 9.88k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 9.88k | unsigned int p3 = p[3]; | 120 | 9.88k | unsigned int p2 = p[2]; | 121 | 9.88k | unsigned int p1 = p[1]; | 122 | 9.88k | unsigned int p0 = p[0]; | 123 | | | 124 | 9.88k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 9.88k | } |
archive_read_support_format_rar.c:archive_le32dec Line | Count | Source | 113 | 36 | { | 114 | 36 | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 36 | unsigned int p3 = p[3]; | 120 | 36 | unsigned int p2 = p[2]; | 121 | 36 | unsigned int p1 = p[1]; | 122 | 36 | unsigned int p0 = p[0]; | 123 | | | 124 | 36 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 36 | } |
archive_read_support_format_rar5.c:archive_le32dec Line | Count | Source | 113 | 178 | { | 114 | 178 | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 178 | unsigned int p3 = p[3]; | 120 | 178 | unsigned int p2 = p[2]; | 121 | 178 | unsigned int p1 = p[1]; | 122 | 178 | unsigned int p0 = p[0]; | 123 | | | 124 | 178 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 178 | } |
Unexecuted instantiation: archive_read_support_format_xar.c:archive_le32dec archive_read_support_format_zip.c:archive_le32dec Line | Count | Source | 113 | 196k | { | 114 | 196k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 196k | unsigned int p3 = p[3]; | 120 | 196k | unsigned int p2 = p[2]; | 121 | 196k | unsigned int p1 = p[1]; | 122 | 196k | unsigned int p0 = p[0]; | 123 | | | 124 | 196k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 196k | } |
Unexecuted instantiation: archive_string.c:archive_le32dec Unexecuted instantiation: archive_write_disk_posix.c:archive_le32dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le32dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le32dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_le32dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_le32dec archive_read_support_format_7zip.c:archive_le32dec Line | Count | Source | 113 | 9.19k | { | 114 | 9.19k | unsigned char const *p = (unsigned char const *)pp; | 115 | | | 116 | | /* Store into unsigned temporaries before left shifting, to avoid | 117 | | promotion to signed int and then left shifting into the sign bit, | 118 | | which is undefined behaviour. */ | 119 | 9.19k | unsigned int p3 = p[3]; | 120 | 9.19k | unsigned int p2 = p[2]; | 121 | 9.19k | unsigned int p1 = p[1]; | 122 | 9.19k | unsigned int p0 = p[0]; | 123 | | | 124 | 9.19k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 9.19k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le32dec |
126 | | |
127 | | static inline uint64_t |
128 | | archive_le64dec(const void *pp) |
129 | 30.5k | { |
130 | 30.5k | unsigned char const *p = (unsigned char const *)pp; |
131 | | |
132 | 30.5k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); |
133 | 30.5k | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_le64dec Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_le64dec Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le64dec Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le64dec archive_read_support_filter_xz.c:archive_le64dec Line | Count | Source | 129 | 25.3k | { | 130 | 25.3k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 25.3k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 25.3k | } |
Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_le64dec Unexecuted instantiation: archive_read_support_format_cab.c:archive_le64dec Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le64dec archive_read_support_format_lha.c:archive_le64dec Line | Count | Source | 129 | 2.56k | { | 130 | 2.56k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 2.56k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 2.56k | } |
Unexecuted instantiation: archive_read_support_format_rar.c:archive_le64dec Unexecuted instantiation: archive_read_support_format_rar5.c:archive_le64dec Unexecuted instantiation: archive_read_support_format_xar.c:archive_le64dec archive_read_support_format_zip.c:archive_le64dec Line | Count | Source | 129 | 1.72k | { | 130 | 1.72k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 1.72k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 1.72k | } |
Unexecuted instantiation: archive_string.c:archive_le64dec Unexecuted instantiation: archive_write_disk_posix.c:archive_le64dec Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le64dec Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le64dec Unexecuted instantiation: archive_write_set_format_xar.c:archive_le64dec Unexecuted instantiation: archive_write_set_format_zip.c:archive_le64dec archive_read_support_format_7zip.c:archive_le64dec Line | Count | Source | 129 | 916 | { | 130 | 916 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 916 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 916 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le64dec |
134 | | |
135 | | static inline void |
136 | | archive_be16enc(void *pp, uint16_t u) |
137 | 0 | { |
138 | 0 | unsigned char *p = (unsigned char *)pp; |
139 | |
|
140 | 0 | p[0] = (u >> 8) & 0xff; |
141 | 0 | p[1] = u & 0xff; |
142 | 0 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be16enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be16enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be16enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be16enc Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be16enc Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_cab.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_be16enc Unexecuted instantiation: archive_string.c:archive_be16enc Unexecuted instantiation: archive_write_disk_posix.c:archive_be16enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be16enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be16enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_be16enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_be16enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_be16enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be16enc |
143 | | |
144 | | static inline void |
145 | | archive_be32enc(void *pp, uint32_t u) |
146 | 0 | { |
147 | 0 | unsigned char *p = (unsigned char *)pp; |
148 | |
|
149 | 0 | p[0] = (u >> 24) & 0xff; |
150 | 0 | p[1] = (u >> 16) & 0xff; |
151 | 0 | p[2] = (u >> 8) & 0xff; |
152 | 0 | p[3] = u & 0xff; |
153 | 0 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be32enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be32enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be32enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be32enc Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be32enc Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_cab.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_be32enc Unexecuted instantiation: archive_string.c:archive_be32enc Unexecuted instantiation: archive_write_disk_posix.c:archive_be32enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be32enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be32enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_be32enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_be32enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_be32enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be32enc |
154 | | |
155 | | static inline void |
156 | | archive_be64enc(void *pp, uint64_t u) |
157 | 0 | { |
158 | 0 | unsigned char *p = (unsigned char *)pp; |
159 | |
|
160 | 0 | archive_be32enc(p, (uint32_t)(u >> 32)); |
161 | 0 | archive_be32enc(p + 4, (uint32_t)(u & 0xffffffff)); |
162 | 0 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_be64enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_be64enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_be64enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_be64enc Unexecuted instantiation: archive_read_support_filter_xz.c:archive_be64enc Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_cab.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_be64enc Unexecuted instantiation: archive_string.c:archive_be64enc Unexecuted instantiation: archive_write_disk_posix.c:archive_be64enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_be64enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_be64enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_be64enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_be64enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_be64enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be64enc |
163 | | |
164 | | static inline void |
165 | | archive_le16enc(void *pp, uint16_t u) |
166 | 184 | { |
167 | 184 | unsigned char *p = (unsigned char *)pp; |
168 | | |
169 | 184 | p[0] = u & 0xff; |
170 | 184 | p[1] = (u >> 8) & 0xff; |
171 | 184 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_le16enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_le16enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le16enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le16enc Unexecuted instantiation: archive_read_support_filter_xz.c:archive_le16enc Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_le16enc archive_read_support_format_cab.c:archive_le16enc Line | Count | Source | 166 | 184 | { | 167 | 184 | unsigned char *p = (unsigned char *)pp; | 168 | | | 169 | 184 | p[0] = u & 0xff; | 170 | 184 | p[1] = (u >> 8) & 0xff; | 171 | 184 | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_le16enc Unexecuted instantiation: archive_string.c:archive_le16enc Unexecuted instantiation: archive_write_disk_posix.c:archive_le16enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le16enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le16enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_le16enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_le16enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_le16enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le16enc |
172 | | |
173 | | static inline void |
174 | | archive_le32enc(void *pp, uint32_t u) |
175 | 2.47k | { |
176 | 2.47k | unsigned char *p = (unsigned char *)pp; |
177 | | |
178 | 2.47k | p[0] = u & 0xff; |
179 | 2.47k | p[1] = (u >> 8) & 0xff; |
180 | 2.47k | p[2] = (u >> 16) & 0xff; |
181 | 2.47k | p[3] = (u >> 24) & 0xff; |
182 | 2.47k | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_le32enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_le32enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le32enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le32enc archive_read_support_filter_xz.c:archive_le32enc Line | Count | Source | 175 | 2.47k | { | 176 | 2.47k | unsigned char *p = (unsigned char *)pp; | 177 | | | 178 | 2.47k | p[0] = u & 0xff; | 179 | 2.47k | p[1] = (u >> 8) & 0xff; | 180 | 2.47k | p[2] = (u >> 16) & 0xff; | 181 | 2.47k | p[3] = (u >> 24) & 0xff; | 182 | 2.47k | } |
Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_cab.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_le32enc Unexecuted instantiation: archive_string.c:archive_le32enc Unexecuted instantiation: archive_write_disk_posix.c:archive_le32enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le32enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le32enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_le32enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_le32enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_le32enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le32enc |
183 | | |
184 | | static inline void |
185 | | archive_le64enc(void *pp, uint64_t u) |
186 | 0 | { |
187 | 0 | unsigned char *p = (unsigned char *)pp; |
188 | |
|
189 | 0 | archive_le32enc(p, (uint32_t)(u & 0xffffffff)); |
190 | 0 | archive_le32enc(p + 4, (uint32_t)(u >> 32)); |
191 | 0 | } Unexecuted instantiation: archive_read_support_filter_gzip.c:archive_le64enc Unexecuted instantiation: archive_read_support_filter_lz4.c:archive_le64enc Unexecuted instantiation: archive_read_support_filter_lzop.c:archive_le64enc Unexecuted instantiation: archive_read_support_filter_rpm.c:archive_le64enc Unexecuted instantiation: archive_read_support_filter_xz.c:archive_le64enc Unexecuted instantiation: archive_read_support_filter_zstd.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_cab.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_lha.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_rar.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_rar5.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_xar.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_zip.c:archive_le64enc Unexecuted instantiation: archive_string.c:archive_le64enc Unexecuted instantiation: archive_write_disk_posix.c:archive_le64enc Unexecuted instantiation: archive_write_add_filter_xz.c:archive_le64enc Unexecuted instantiation: archive_write_set_format_iso9660.c:archive_le64enc Unexecuted instantiation: archive_write_set_format_xar.c:archive_le64enc Unexecuted instantiation: archive_write_set_format_zip.c:archive_le64enc Unexecuted instantiation: archive_read_support_format_7zip.c:archive_le64enc Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le64enc |
192 | | |
193 | | #endif |