/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 | 158 | { |
62 | 158 | 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 | 158 | unsigned int p1 = p[1]; |
68 | 158 | unsigned int p0 = p[0]; |
69 | | |
70 | 158 | return ((p0 << 8) | p1); |
71 | 158 | } 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 | 38 | { | 62 | 38 | 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 | 38 | unsigned int p1 = p[1]; | 68 | 38 | unsigned int p0 = p[0]; | 69 | | | 70 | 38 | return ((p0 << 8) | p1); | 71 | 38 | } |
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 | 120 | { | 62 | 120 | 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 | 120 | unsigned int p1 = p[1]; | 68 | 120 | unsigned int p0 = p[0]; | 69 | | | 70 | 120 | return ((p0 << 8) | p1); | 71 | 120 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be16dec |
72 | | |
73 | | static inline uint32_t |
74 | | archive_be32dec(const void *pp) |
75 | 82 | { |
76 | 82 | 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 | 82 | unsigned int p3 = p[3]; |
82 | 82 | unsigned int p2 = p[2]; |
83 | 82 | unsigned int p1 = p[1]; |
84 | 82 | unsigned int p0 = p[0]; |
85 | | |
86 | 82 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); |
87 | 82 | } 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 | 82 | { | 76 | 82 | 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 | 82 | unsigned int p3 = p[3]; | 82 | 82 | unsigned int p2 = p[2]; | 83 | 82 | unsigned int p1 = p[1]; | 84 | 82 | unsigned int p0 = p[0]; | 85 | | | 86 | 82 | return ((p0 << 24) | (p1 << 16) | (p2 << 8) | p3); | 87 | 82 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be32dec |
88 | | |
89 | | static inline uint64_t |
90 | | archive_be64dec(const void *pp) |
91 | 34 | { |
92 | 34 | unsigned char const *p = (unsigned char const *)pp; |
93 | | |
94 | 34 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); |
95 | 34 | } 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 | 34 | { | 92 | 34 | unsigned char const *p = (unsigned char const *)pp; | 93 | | | 94 | 34 | return (((uint64_t)archive_be32dec(p) << 32) | archive_be32dec(p + 4)); | 95 | 34 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_be64dec |
96 | | |
97 | | static inline uint16_t |
98 | | archive_le16dec(const void *pp) |
99 | 21.0k | { |
100 | 21.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 | 21.0k | unsigned int p1 = p[1]; |
106 | 21.0k | unsigned int p0 = p[0]; |
107 | | |
108 | 21.0k | return ((p1 << 8) | p0); |
109 | 21.0k | } 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 | 2.63k | { | 100 | 2.63k | 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.63k | unsigned int p1 = p[1]; | 106 | 2.63k | unsigned int p0 = p[0]; | 107 | | | 108 | 2.63k | return ((p1 << 8) | p0); | 109 | 2.63k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le16dec archive_read_support_format_lha.c:archive_le16dec Line | Count | Source | 99 | 1.21k | { | 100 | 1.21k | 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.21k | unsigned int p1 = p[1]; | 106 | 1.21k | unsigned int p0 = p[0]; | 107 | | | 108 | 1.21k | return ((p1 << 8) | p0); | 109 | 1.21k | } |
archive_read_support_format_rar.c:archive_le16dec Line | Count | Source | 99 | 252 | { | 100 | 252 | 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 | 252 | unsigned int p1 = p[1]; | 106 | 252 | unsigned int p0 = p[0]; | 107 | | | 108 | 252 | return ((p1 << 8) | p0); | 109 | 252 | } |
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 | 15.4k | { | 100 | 15.4k | 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 | 15.4k | unsigned int p1 = p[1]; | 106 | 15.4k | unsigned int p0 = p[0]; | 107 | | | 108 | 15.4k | return ((p1 << 8) | p0); | 109 | 15.4k | } |
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.45k | { | 100 | 1.45k | 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.45k | unsigned int p1 = p[1]; | 106 | 1.45k | unsigned int p0 = p[0]; | 107 | | | 108 | 1.45k | return ((p1 << 8) | p0); | 109 | 1.45k | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le16dec |
110 | | |
111 | | static inline uint32_t |
112 | | archive_le32dec(const void *pp) |
113 | 111k | { |
114 | 111k | 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 | 111k | unsigned int p3 = p[3]; |
120 | 111k | unsigned int p2 = p[2]; |
121 | 111k | unsigned int p1 = p[1]; |
122 | 111k | unsigned int p0 = p[0]; |
123 | | |
124 | 111k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); |
125 | 111k | } archive_read_support_filter_gzip.c:archive_le32dec Line | Count | Source | 113 | 886 | { | 114 | 886 | 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 | 886 | unsigned int p3 = p[3]; | 120 | 886 | unsigned int p2 = p[2]; | 121 | 886 | unsigned int p1 = p[1]; | 122 | 886 | unsigned int p0 = p[0]; | 123 | | | 124 | 886 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 886 | } |
archive_read_support_filter_lz4.c:archive_le32dec Line | Count | Source | 113 | 18.5k | { | 114 | 18.5k | 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 | 18.5k | unsigned int p3 = p[3]; | 120 | 18.5k | unsigned int p2 = p[2]; | 121 | 18.5k | unsigned int p1 = p[1]; | 122 | 18.5k | unsigned int p0 = p[0]; | 123 | | | 124 | 18.5k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 18.5k | } |
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 | 51.4k | { | 114 | 51.4k | 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 | 51.4k | unsigned int p3 = p[3]; | 120 | 51.4k | unsigned int p2 = p[2]; | 121 | 51.4k | unsigned int p1 = p[1]; | 122 | 51.4k | unsigned int p0 = p[0]; | 123 | | | 124 | 51.4k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 51.4k | } |
archive_read_support_filter_zstd.c:archive_le32dec Line | Count | Source | 113 | 19.1k | { | 114 | 19.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 | 19.1k | unsigned int p3 = p[3]; | 120 | 19.1k | unsigned int p2 = p[2]; | 121 | 19.1k | unsigned int p1 = p[1]; | 122 | 19.1k | unsigned int p0 = p[0]; | 123 | | | 124 | 19.1k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 19.1k | } |
archive_read_support_format_cab.c:archive_le32dec Line | Count | Source | 113 | 1.03k | { | 114 | 1.03k | 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.03k | unsigned int p3 = p[3]; | 120 | 1.03k | unsigned int p2 = p[2]; | 121 | 1.03k | unsigned int p1 = p[1]; | 122 | 1.03k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.03k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.03k | } |
Unexecuted instantiation: archive_read_support_format_iso9660.c:archive_le32dec archive_read_support_format_lha.c:archive_le32dec Line | Count | Source | 113 | 1.64k | { | 114 | 1.64k | 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.64k | unsigned int p3 = p[3]; | 120 | 1.64k | unsigned int p2 = p[2]; | 121 | 1.64k | unsigned int p1 = p[1]; | 122 | 1.64k | unsigned int p0 = p[0]; | 123 | | | 124 | 1.64k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 1.64k | } |
archive_read_support_format_rar.c:archive_le32dec Line | Count | Source | 113 | 2 | { | 114 | 2 | 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 | unsigned int p3 = p[3]; | 120 | 2 | unsigned int p2 = p[2]; | 121 | 2 | unsigned int p1 = p[1]; | 122 | 2 | unsigned int p0 = p[0]; | 123 | | | 124 | 2 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 2 | } |
archive_read_support_format_rar5.c:archive_le32dec Line | Count | Source | 113 | 208 | { | 114 | 208 | 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 | 208 | unsigned int p3 = p[3]; | 120 | 208 | unsigned int p2 = p[2]; | 121 | 208 | unsigned int p1 = p[1]; | 122 | 208 | unsigned int p0 = p[0]; | 123 | | | 124 | 208 | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 208 | } |
Unexecuted instantiation: archive_read_support_format_xar.c:archive_le32dec archive_read_support_format_zip.c:archive_le32dec Line | Count | Source | 113 | 17.2k | { | 114 | 17.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 | 17.2k | unsigned int p3 = p[3]; | 120 | 17.2k | unsigned int p2 = p[2]; | 121 | 17.2k | unsigned int p1 = p[1]; | 122 | 17.2k | unsigned int p0 = p[0]; | 123 | | | 124 | 17.2k | return ((p3 << 24) | (p2 << 16) | (p1 << 8) | p0); | 125 | 17.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 | 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 | } |
Unexecuted instantiation: archive_write_set_format_7zip.c:archive_le32dec |
126 | | |
127 | | static inline uint64_t |
128 | | archive_le64dec(const void *pp) |
129 | 18.3k | { |
130 | 18.3k | unsigned char const *p = (unsigned char const *)pp; |
131 | | |
132 | 18.3k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); |
133 | 18.3k | } 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 | 17.1k | { | 130 | 17.1k | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 17.1k | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 17.1k | } |
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 | 60 | { | 130 | 60 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 60 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 60 | } |
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 | 710 | { | 130 | 710 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 710 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 710 | } |
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 | 412 | { | 130 | 412 | unsigned char const *p = (unsigned char const *)pp; | 131 | | | 132 | 412 | return (((uint64_t)archive_le32dec(p + 4) << 32) | archive_le32dec(p)); | 133 | 412 | } |
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 | 2.67k | { |
176 | 2.67k | unsigned char *p = (unsigned char *)pp; |
177 | | |
178 | 2.67k | p[0] = u & 0xff; |
179 | 2.67k | p[1] = (u >> 8) & 0xff; |
180 | 2.67k | p[2] = (u >> 16) & 0xff; |
181 | 2.67k | p[3] = (u >> 24) & 0xff; |
182 | 2.67k | } 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.67k | { | 176 | 2.67k | unsigned char *p = (unsigned char *)pp; | 177 | | | 178 | 2.67k | p[0] = u & 0xff; | 179 | 2.67k | p[1] = (u >> 8) & 0xff; | 180 | 2.67k | p[2] = (u >> 16) & 0xff; | 181 | 2.67k | p[3] = (u >> 24) & 0xff; | 182 | 2.67k | } |
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 |