/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 | 124 | { |
62 | 124 | 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 | 124 | unsigned int p1 = p[1]; |
68 | 124 | unsigned int p0 = p[0]; |
69 | | |
70 | 124 | return ((p0 << 8) | p1); |
71 | 124 | } 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 | 70 | { | 62 | 70 | 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 | 70 | unsigned int p1 = p[1]; | 68 | 70 | unsigned int p0 = p[0]; | 69 | | | 70 | 70 | return ((p0 << 8) | p1); | 71 | 70 | } |
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 | 54 | { | 62 | 54 | 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 | 54 | unsigned int p1 = p[1]; | 68 | 54 | unsigned int p0 = p[0]; | 69 | | | 70 | 54 | return ((p0 << 8) | p1); | 71 | 54 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be16dec |
72 | | |
73 | | static inline uint32_t |
74 | | archive_be32dec(const void *pp) |
75 | 44 | { |
76 | 44 | 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 | 44 | unsigned int p3 = p[3]; |
82 | 44 | unsigned int p2 = p[2]; |
83 | 44 | unsigned int p1 = p[1]; |
84 | 44 | unsigned int p0 = p[0]; |
85 | | |
86 | 44 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); |
87 | 44 | } 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 | 44 | { | 76 | 44 | 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 | 44 | unsigned int p3 = p[3]; | 82 | 44 | unsigned int p2 = p[2]; | 83 | 44 | unsigned int p1 = p[1]; | 84 | 44 | unsigned int p0 = p[0]; | 85 | | | 86 | 44 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); | 87 | 44 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be32dec |
88 | | |
89 | | static inline uint64_t |
90 | | archive_be64dec(const void *pp) |
91 | 18 | { |
92 | 18 | unsigned char const *p = (unsigned char const *)pp; |
93 | | |
94 | 18 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); |
95 | 18 | } 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 | 18 | { | 92 | 18 | unsigned char const *p = (unsigned char const *)pp; | 93 | | | 94 | 18 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); | 95 | 18 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be64dec |
96 | | |
97 | | static inline uint16_t |
98 | | archive_le16dec(const void *pp) |
99 | 35.6k | { |
100 | 35.6k | 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 | 35.6k | unsigned int p1 = p[1]; |
106 | 35.6k | unsigned int p0 = p[0]; |
107 | | |
108 | 35.6k | return ((p1 << 8) | p0); |
109 | 35.6k | } 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 | 4.76k | { | 100 | 4.76k | 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.76k | unsigned int p1 = p[1]; | 106 | 4.76k | unsigned int p0 = p[0]; | 107 | | | 108 | 4.76k | return ((p1 << 8) | p0); | 109 | 4.76k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le16dec archive_read_support_format_lha.c:archive_le16dec Line | Count | Source | 99 | 2.59k | { | 100 | 2.59k | 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.59k | unsigned int p1 = p[1]; | 106 | 2.59k | unsigned int p0 = p[0]; | 107 | | | 108 | 2.59k | return ((p1 << 8) | p0); | 109 | 2.59k | } |
archive_read_support_format_rar.c:archive_le16dec Line | Count | Source | 99 | 446 | { | 100 | 446 | 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 | 446 | unsigned int p1 = p[1]; | 106 | 446 | unsigned int p0 = p[0]; | 107 | | | 108 | 446 | return ((p1 << 8) | p0); | 109 | 446 | } |
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 | 25.9k | { | 100 | 25.9k | 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 | 25.9k | unsigned int p1 = p[1]; | 106 | 25.9k | unsigned int p0 = p[0]; | 107 | | | 108 | 25.9k | return ((p1 << 8) | p0); | 109 | 25.9k | } |
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 | 1.89k | { | 100 | 1.89k | 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 | 1.89k | unsigned int p1 = p[1]; | 106 | 1.89k | unsigned int p0 = p[0]; | 107 | | | 108 | 1.89k | return ((p1 << 8) | p0); | 109 | 1.89k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le16dec |
110 | | |
111 | | static inline uint32_t |
112 | | archive_le32dec(const void *pp) |
113 | 170k | { |
114 | 170k | 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 | 170k | unsigned int p3 = p[3]; |
120 | 170k | unsigned int p2 = p[2]; |
121 | 170k | unsigned int p1 = p[1]; |
122 | 170k | unsigned int p0 = p[0]; |
123 | | |
124 | 170k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); |
125 | 170k | } archive_read_support_filter_gzip.c:archive_le32dec Line | Count | Source | 113 | 1.26k | { | 114 | 1.26k | 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.26k | unsigned int p3 = p[3]; | 120 | 1.26k | unsigned int p2 = p[2]; | 121 | 1.26k | unsigned int p1 = p[1]; | 122 | 1.26k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.26k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.26k | } |
archive_read_support_filter_lz4.c:archive_le32dec Line | Count | Source | 113 | 27.9k | { | 114 | 27.9k | 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 | 27.9k | unsigned int p3 = p[3]; | 120 | 27.9k | unsigned int p2 = p[2]; | 121 | 27.9k | unsigned int p1 = p[1]; | 122 | 27.9k | unsigned int p0 = p[0]; | 123 | | | 124 | 27.9k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 27.9k | } |
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 | 73.2k | { | 114 | 73.2k | 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 | 73.2k | unsigned int p3 = p[3]; | 120 | 73.2k | unsigned int p2 = p[2]; | 121 | 73.2k | unsigned int p1 = p[1]; | 122 | 73.2k | unsigned int p0 = p[0]; | 123 | | | 124 | 73.2k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 73.2k | } |
archive_read_support_filter_zstd.c:archive_le32dec Line | Count | Source | 113 | 29.0k | { | 114 | 29.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 | 29.0k | unsigned int p3 = p[3]; | 120 | 29.0k | unsigned int p2 = p[2]; | 121 | 29.0k | unsigned int p1 = p[1]; | 122 | 29.0k | unsigned int p0 = p[0]; | 123 | | | 124 | 29.0k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 29.0k | } |
archive_read_support_format_cab.c:archive_le32dec Line | Count | Source | 113 | 1.91k | { | 114 | 1.91k | 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.91k | unsigned int p3 = p[3]; | 120 | 1.91k | unsigned int p2 = p[2]; | 121 | 1.91k | unsigned int p1 = p[1]; | 122 | 1.91k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.91k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.91k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le32dec archive_read_support_format_lha.c:archive_le32dec Line | Count | Source | 113 | 4.01k | { | 114 | 4.01k | 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 | 4.01k | unsigned int p3 = p[3]; | 120 | 4.01k | unsigned int p2 = p[2]; | 121 | 4.01k | unsigned int p1 = p[1]; | 122 | 4.01k | unsigned int p0 = p[0]; | 123 | | | 124 | 4.01k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 4.01k | } |
archive_read_support_format_rar.c:archive_le32dec Line | Count | Source | 113 | 24 | { | 114 | 24 | 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 | 24 | unsigned int p3 = p[3]; | 120 | 24 | unsigned int p2 = p[2]; | 121 | 24 | unsigned int p1 = p[1]; | 122 | 24 | unsigned int p0 = p[0]; | 123 | | | 124 | 24 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 24 | } |
archive_read_support_format_rar5.c:archive_le32dec Line | Count | Source | 113 | 264 | { | 114 | 264 | 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 | 264 | unsigned int p3 = p[3]; | 120 | 264 | unsigned int p2 = p[2]; | 121 | 264 | unsigned int p1 = p[1]; | 122 | 264 | unsigned int p0 = p[0]; | 123 | | | 124 | 264 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 264 | } |
Unexecuted instantiation: archive_read_support_format_xar.c:archive_le32dec archive_read_support_format_zip.c:archive_le32dec Line | Count | Source | 113 | 30.2k | { | 114 | 30.2k | 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 | 30.2k | unsigned int p3 = p[3]; | 120 | 30.2k | unsigned int p2 = p[2]; | 121 | 30.2k | unsigned int p1 = p[1]; | 122 | 30.2k | unsigned int p0 = p[0]; | 123 | | | 124 | 30.2k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 30.2k | } |
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 | 2.80k | { | 114 | 2.80k | 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 | 2.80k | unsigned int p3 = p[3]; | 120 | 2.80k | unsigned int p2 = p[2]; | 121 | 2.80k | unsigned int p1 = p[1]; | 122 | 2.80k | unsigned int p0 = p[0]; | 123 | | | 124 | 2.80k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 2.80k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le32dec |
126 | | |
127 | | static inline uint64_t |
128 | | archive_le64dec(const void *pp) |
129 | 27.8k | { |
130 | 27.8k | unsigned char const *p = (unsigned char const *)pp; |
131 | | |
132 | 27.8k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); |
133 | 27.8k | } 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 | 24.4k | { | 130 | 24.4k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 24.4k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 24.4k | } |
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 | 324 | { | 130 | 324 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 324 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 324 | } |
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 | 2.04k | { | 130 | 2.04k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 2.04k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 2.04k | } |
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 | 1.03k | { | 130 | 1.03k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 1.03k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 1.03k | } |
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 | 0 | { |
167 | 0 | unsigned char *p = (unsigned char *)pp; |
168 | |
|
169 | 0 | p[0] = u & 0xff; |
170 | 0 | p[1] = (u >> 8) & 0xff; |
171 | 0 | } 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 Unexecuted instantiation: archive_read_support_format_cab.c:archive_le16enc 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.60k | { |
176 | 3.60k | unsigned char *p = (unsigned char *)pp; |
177 | | |
178 | 3.60k | p[0] = u & 0xff; |
179 | 3.60k | p[1] = (u >> 8) & 0xff; |
180 | 3.60k | p[2] = (u >> 16) & 0xff; |
181 | 3.60k | p[3] = (u >> 24) & 0xff; |
182 | 3.60k | } 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.60k | { | 176 | 3.60k | unsigned char *p = (unsigned char *)pp; | 177 | | | 178 | 3.60k | p[0] = u & 0xff; | 179 | 3.60k | p[1] = (u >> 8) & 0xff; | 180 | 3.60k | p[2] = (u >> 16) & 0xff; | 181 | 3.60k | p[3] = (u >> 24) & 0xff; | 182 | 3.60k | } |
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 |