/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 | 192 | { |
62 | 192 | 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 | 192 | unsigned int p1 = p[1]; |
68 | 192 | unsigned int p0 = p[0]; |
69 | | |
70 | 192 | return ((p0 << 8) | p1); |
71 | 192 | } 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 | 90 | { | 62 | 90 | 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 | 90 | unsigned int p1 = p[1]; | 68 | 90 | unsigned int p0 = p[0]; | 69 | | | 70 | 90 | return ((p0 << 8) | p1); | 71 | 90 | } |
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 | 102 | { | 62 | 102 | 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 | 102 | unsigned int p1 = p[1]; | 68 | 102 | unsigned int p0 = p[0]; | 69 | | | 70 | 102 | return ((p0 << 8) | p1); | 71 | 102 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be16dec |
72 | | |
73 | | static inline uint32_t |
74 | | archive_be32dec(const void *pp) |
75 | 78 | { |
76 | 78 | 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 | 78 | unsigned int p3 = p[3]; |
82 | 78 | unsigned int p2 = p[2]; |
83 | 78 | unsigned int p1 = p[1]; |
84 | 78 | unsigned int p0 = p[0]; |
85 | | |
86 | 78 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); |
87 | 78 | } 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 | 78 | { | 76 | 78 | 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 | 78 | unsigned int p3 = p[3]; | 82 | 78 | unsigned int p2 = p[2]; | 83 | 78 | unsigned int p1 = p[1]; | 84 | 78 | unsigned int p0 = p[0]; | 85 | | | 86 | 78 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); | 87 | 78 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be32dec |
88 | | |
89 | | static inline uint64_t |
90 | | archive_be64dec(const void *pp) |
91 | 28 | { |
92 | 28 | unsigned char const *p = (unsigned char const *)pp; |
93 | | |
94 | 28 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); |
95 | 28 | } 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 | 28 | { | 92 | 28 | unsigned char const *p = (unsigned char const *)pp; | 93 | | | 94 | 28 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); | 95 | 28 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be64dec |
96 | | |
97 | | static inline uint16_t |
98 | | archive_le16dec(const void *pp) |
99 | 185k | { |
100 | 185k | 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 | 185k | unsigned int p1 = p[1]; |
106 | 185k | unsigned int p0 = p[0]; |
107 | | |
108 | 185k | return ((p1 << 8) | p0); |
109 | 185k | } 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 | 19.7k | { | 100 | 19.7k | 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 | 19.7k | unsigned int p1 = p[1]; | 106 | 19.7k | unsigned int p0 = p[0]; | 107 | | | 108 | 19.7k | return ((p1 << 8) | p0); | 109 | 19.7k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le16dec archive_read_support_format_lha.c:archive_le16dec Line | Count | Source | 99 | 4.03k | { | 100 | 4.03k | 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 | 4.03k | unsigned int p1 = p[1]; | 106 | 4.03k | unsigned int p0 = p[0]; | 107 | | | 108 | 4.03k | return ((p1 << 8) | p0); | 109 | 4.03k | } |
archive_read_support_format_rar.c:archive_le16dec Line | Count | Source | 99 | 348 | { | 100 | 348 | 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 | 348 | unsigned int p1 = p[1]; | 106 | 348 | unsigned int p0 = p[0]; | 107 | | | 108 | 348 | return ((p1 << 8) | p0); | 109 | 348 | } |
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 | 159k | { | 100 | 159k | 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 | 159k | unsigned int p1 = p[1]; | 106 | 159k | unsigned int p0 = p[0]; | 107 | | | 108 | 159k | return ((p1 << 8) | p0); | 109 | 159k | } |
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.11k | { | 100 | 2.11k | 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.11k | unsigned int p1 = p[1]; | 106 | 2.11k | unsigned int p0 = p[0]; | 107 | | | 108 | 2.11k | return ((p1 << 8) | p0); | 109 | 2.11k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le16dec |
110 | | |
111 | | static inline uint32_t |
112 | | archive_le32dec(const void *pp) |
113 | 434k | { |
114 | 434k | 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 | 434k | unsigned int p3 = p[3]; |
120 | 434k | unsigned int p2 = p[2]; |
121 | 434k | unsigned int p1 = p[1]; |
122 | 434k | unsigned int p0 = p[0]; |
123 | | |
124 | 434k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); |
125 | 434k | } archive_read_support_filter_gzip.c:archive_le32dec Line | Count | Source | 113 | 1.65k | { | 114 | 1.65k | 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.65k | unsigned int p3 = p[3]; | 120 | 1.65k | unsigned int p2 = p[2]; | 121 | 1.65k | unsigned int p1 = p[1]; | 122 | 1.65k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.65k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.65k | } |
archive_read_support_filter_lz4.c:archive_le32dec Line | Count | Source | 113 | 32.0k | { | 114 | 32.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 | 32.0k | unsigned int p3 = p[3]; | 120 | 32.0k | unsigned int p2 = p[2]; | 121 | 32.0k | unsigned int p1 = p[1]; | 122 | 32.0k | unsigned int p0 = p[0]; | 123 | | | 124 | 32.0k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 32.0k | } |
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 | 83.7k | { | 114 | 83.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 | 83.7k | unsigned int p3 = p[3]; | 120 | 83.7k | unsigned int p2 = p[2]; | 121 | 83.7k | unsigned int p1 = p[1]; | 122 | 83.7k | unsigned int p0 = p[0]; | 123 | | | 124 | 83.7k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 83.7k | } |
archive_read_support_filter_zstd.c:archive_le32dec Line | Count | Source | 113 | 33.1k | { | 114 | 33.1k | 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 | 33.1k | unsigned int p3 = p[3]; | 120 | 33.1k | unsigned int p2 = p[2]; | 121 | 33.1k | unsigned int p1 = p[1]; | 122 | 33.1k | unsigned int p0 = p[0]; | 123 | | | 124 | 33.1k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 33.1k | } |
archive_read_support_format_cab.c:archive_le32dec Line | Count | Source | 113 | 102k | { | 114 | 102k | 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 | 102k | unsigned int p3 = p[3]; | 120 | 102k | unsigned int p2 = p[2]; | 121 | 102k | unsigned int p1 = p[1]; | 122 | 102k | unsigned int p0 = p[0]; | 123 | | | 124 | 102k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 102k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le32dec archive_read_support_format_lha.c:archive_le32dec Line | Count | Source | 113 | 5.99k | { | 114 | 5.99k | 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 | 5.99k | unsigned int p3 = p[3]; | 120 | 5.99k | unsigned int p2 = p[2]; | 121 | 5.99k | unsigned int p1 = p[1]; | 122 | 5.99k | unsigned int p0 = p[0]; | 123 | | | 124 | 5.99k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 5.99k | } |
archive_read_support_format_rar.c:archive_le32dec Line | Count | Source | 113 | 26 | { | 114 | 26 | 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 | 26 | unsigned int p3 = p[3]; | 120 | 26 | unsigned int p2 = p[2]; | 121 | 26 | unsigned int p1 = p[1]; | 122 | 26 | unsigned int p0 = p[0]; | 123 | | | 124 | 26 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 26 | } |
archive_read_support_format_rar5.c:archive_le32dec Line | Count | Source | 113 | 214 | { | 114 | 214 | 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 | 214 | unsigned int p3 = p[3]; | 120 | 214 | unsigned int p2 = p[2]; | 121 | 214 | unsigned int p1 = p[1]; | 122 | 214 | unsigned int p0 = p[0]; | 123 | | | 124 | 214 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 214 | } |
Unexecuted instantiation: archive_read_support_format_xar.c:archive_le32dec archive_read_support_format_zip.c:archive_le32dec Line | Count | Source | 113 | 167k | { | 114 | 167k | 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 | 167k | unsigned int p3 = p[3]; | 120 | 167k | unsigned int p2 = p[2]; | 121 | 167k | unsigned int p1 = p[1]; | 122 | 167k | unsigned int p0 = p[0]; | 123 | | | 124 | 167k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 167k | } |
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 | 7.33k | { | 114 | 7.33k | 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 | 7.33k | unsigned int p3 = p[3]; | 120 | 7.33k | unsigned int p2 = p[2]; | 121 | 7.33k | unsigned int p1 = p[1]; | 122 | 7.33k | unsigned int p0 = p[0]; | 123 | | | 124 | 7.33k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 7.33k | } |
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 | 27.9k | { | 130 | 27.9k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 27.9k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 27.9k | } |
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 | 686 | { | 130 | 686 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 686 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 686 | } |
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.21k | { | 130 | 1.21k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 1.21k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 1.21k | } |
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 | 694 | { | 130 | 694 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 694 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 694 | } |
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 | 134 | { |
167 | 134 | unsigned char *p = (unsigned char *)pp; |
168 | | |
169 | 134 | p[0] = u & 0xff; |
170 | 134 | p[1] = (u >> 8) & 0xff; |
171 | 134 | } 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 | 134 | { | 167 | 134 | unsigned char *p = (unsigned char *)pp; | 168 | | | 169 | 134 | p[0] = u & 0xff; | 170 | 134 | p[1] = (u >> 8) & 0xff; | 171 | 134 | } |
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 | 3.00k | { |
176 | 3.00k | unsigned char *p = (unsigned char *)pp; |
177 | | |
178 | 3.00k | p[0] = u & 0xff; |
179 | 3.00k | p[1] = (u >> 8) & 0xff; |
180 | 3.00k | p[2] = (u >> 16) & 0xff; |
181 | 3.00k | p[3] = (u >> 24) & 0xff; |
182 | 3.00k | } 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 | 3.00k | { | 176 | 3.00k | unsigned char *p = (unsigned char *)pp; | 177 | | | 178 | 3.00k | p[0] = u & 0xff; | 179 | 3.00k | p[1] = (u >> 8) & 0xff; | 180 | 3.00k | p[2] = (u >> 16) & 0xff; | 181 | 3.00k | p[3] = (u >> 24) & 0xff; | 182 | 3.00k | } |
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 |