Coverage Report

Created: 2026-01-09 06:46

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/gnupg/common/host2net.h
Line
Count
Source
1
/* host2net.h - Endian conversion macros
2
 * Copyright (C) 1998, 2014, 2015  Werner Koch
3
 *
4
 * This file is part of GnuPG.
5
 *
6
 * This file is free software; you can redistribute it and/or modify
7
 * it under the terms of either
8
 *
9
 *   - the GNU Lesser General Public License as published by the Free
10
 *     Software Foundation; either version 3 of the License, or (at
11
 *     your option) any later version.
12
 *
13
 * or
14
 *
15
 *   - the GNU General Public License as published by the Free
16
 *     Software Foundation; either version 2 of the License, or (at
17
 *     your option) any later version.
18
 *
19
 * or both in parallel, as here.
20
 *
21
 * This file is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with this program; if not, see <https://www.gnu.org/licenses/>.
28
 */
29
30
#ifndef GNUPG_COMMON_HOST2NET_H
31
#define GNUPG_COMMON_HOST2NET_H
32
33
#include "types.h"
34
35
269
#define ulongtobuf( p, a ) do {         \
36
269
          ((byte*)p)[0] = a >> 24;  \
37
269
          ((byte*)p)[1] = a >> 16;  \
38
269
          ((byte*)p)[2] = a >>  8;  \
39
269
          ((byte*)p)[3] = a    ;  \
40
269
      } while(0)
41
#define ushorttobuf( p, a ) do {         \
42
          ((byte*)p)[0] = a >>  8;  \
43
          ((byte*)p)[1] = a    ;  \
44
      } while(0)
45
46
47
static inline unsigned long
48
buf16_to_ulong (const void *buffer)
49
0
{
50
0
  const unsigned char *p = buffer;
51
52
0
  return (((unsigned long)p[0] << 8) | p[1]);
53
0
}
Unexecuted instantiation: trustdb.c:buf16_to_ulong
Unexecuted instantiation: pubkey-enc.c:buf16_to_ulong
Unexecuted instantiation: trust.c:buf16_to_ulong
Unexecuted instantiation: export.c:buf16_to_ulong
Unexecuted instantiation: key-clean.c:buf16_to_ulong
Unexecuted instantiation: tdbio.c:buf16_to_ulong
Unexecuted instantiation: build-packet.c:buf16_to_ulong
Unexecuted instantiation: getkey.c:buf16_to_ulong
Unexecuted instantiation: call-agent.c:buf16_to_ulong
Unexecuted instantiation: call-keyboxd.c:buf16_to_ulong
Unexecuted instantiation: keyid.c:buf16_to_ulong
Unexecuted instantiation: tdbdump.c:buf16_to_ulong
Unexecuted instantiation: parse-packet.c:buf16_to_ulong
Unexecuted instantiation: keyedit.c:buf16_to_ulong
Unexecuted instantiation: keygen.c:buf16_to_ulong
Unexecuted instantiation: keybox-blob.c:buf16_to_ulong
Unexecuted instantiation: keybox-search.c:buf16_to_ulong
Unexecuted instantiation: keybox-update.c:buf16_to_ulong
Unexecuted instantiation: keybox-openpgp.c:buf16_to_ulong
Unexecuted instantiation: kbx-client-util.c:buf16_to_ulong
54
55
static inline unsigned int
56
buf16_to_uint (const void *buffer)
57
0
{
58
0
  const unsigned char *p = buffer;
59
60
0
  return (((unsigned int)p[0] << 8) | p[1]);
61
0
}
Unexecuted instantiation: trustdb.c:buf16_to_uint
Unexecuted instantiation: pubkey-enc.c:buf16_to_uint
Unexecuted instantiation: trust.c:buf16_to_uint
Unexecuted instantiation: export.c:buf16_to_uint
Unexecuted instantiation: key-clean.c:buf16_to_uint
Unexecuted instantiation: tdbio.c:buf16_to_uint
Unexecuted instantiation: build-packet.c:buf16_to_uint
Unexecuted instantiation: getkey.c:buf16_to_uint
Unexecuted instantiation: call-agent.c:buf16_to_uint
Unexecuted instantiation: call-keyboxd.c:buf16_to_uint
Unexecuted instantiation: keyid.c:buf16_to_uint
Unexecuted instantiation: tdbdump.c:buf16_to_uint
Unexecuted instantiation: parse-packet.c:buf16_to_uint
Unexecuted instantiation: keyedit.c:buf16_to_uint
Unexecuted instantiation: keygen.c:buf16_to_uint
Unexecuted instantiation: keybox-blob.c:buf16_to_uint
Unexecuted instantiation: keybox-search.c:buf16_to_uint
Unexecuted instantiation: keybox-update.c:buf16_to_uint
Unexecuted instantiation: keybox-openpgp.c:buf16_to_uint
Unexecuted instantiation: kbx-client-util.c:buf16_to_uint
62
63
static inline unsigned short
64
buf16_to_ushort (const void *buffer)
65
0
{
66
0
  const unsigned char *p = buffer;
67
0
68
0
  return (((unsigned short)p[0] << 8) | p[1]);
69
0
}
Unexecuted instantiation: trustdb.c:buf16_to_ushort
Unexecuted instantiation: pubkey-enc.c:buf16_to_ushort
Unexecuted instantiation: trust.c:buf16_to_ushort
Unexecuted instantiation: export.c:buf16_to_ushort
Unexecuted instantiation: key-clean.c:buf16_to_ushort
Unexecuted instantiation: tdbio.c:buf16_to_ushort
Unexecuted instantiation: build-packet.c:buf16_to_ushort
Unexecuted instantiation: getkey.c:buf16_to_ushort
Unexecuted instantiation: call-agent.c:buf16_to_ushort
Unexecuted instantiation: call-keyboxd.c:buf16_to_ushort
Unexecuted instantiation: keyid.c:buf16_to_ushort
Unexecuted instantiation: tdbdump.c:buf16_to_ushort
Unexecuted instantiation: parse-packet.c:buf16_to_ushort
Unexecuted instantiation: keyedit.c:buf16_to_ushort
Unexecuted instantiation: keygen.c:buf16_to_ushort
Unexecuted instantiation: keybox-blob.c:buf16_to_ushort
Unexecuted instantiation: keybox-search.c:buf16_to_ushort
Unexecuted instantiation: keybox-update.c:buf16_to_ushort
Unexecuted instantiation: keybox-openpgp.c:buf16_to_ushort
Unexecuted instantiation: kbx-client-util.c:buf16_to_ushort
70
71
static inline u16
72
buf16_to_u16 (const void *buffer)
73
0
{
74
0
  const unsigned char *p = buffer;
75
76
0
  return (((u16)p[0] << 8) | p[1]);
77
0
}
Unexecuted instantiation: trustdb.c:buf16_to_u16
Unexecuted instantiation: pubkey-enc.c:buf16_to_u16
Unexecuted instantiation: trust.c:buf16_to_u16
Unexecuted instantiation: export.c:buf16_to_u16
Unexecuted instantiation: key-clean.c:buf16_to_u16
Unexecuted instantiation: tdbio.c:buf16_to_u16
Unexecuted instantiation: build-packet.c:buf16_to_u16
Unexecuted instantiation: getkey.c:buf16_to_u16
Unexecuted instantiation: call-agent.c:buf16_to_u16
Unexecuted instantiation: call-keyboxd.c:buf16_to_u16
Unexecuted instantiation: keyid.c:buf16_to_u16
Unexecuted instantiation: tdbdump.c:buf16_to_u16
Unexecuted instantiation: parse-packet.c:buf16_to_u16
Unexecuted instantiation: keyedit.c:buf16_to_u16
Unexecuted instantiation: keygen.c:buf16_to_u16
Unexecuted instantiation: keybox-blob.c:buf16_to_u16
Unexecuted instantiation: keybox-search.c:buf16_to_u16
Unexecuted instantiation: keybox-update.c:buf16_to_u16
Unexecuted instantiation: keybox-openpgp.c:buf16_to_u16
Unexecuted instantiation: kbx-client-util.c:buf16_to_u16
78
79
static inline size_t
80
buf32_to_size_t (const void *buffer)
81
22.2k
{
82
22.2k
  const unsigned char *p = buffer;
83
84
22.2k
  return (((size_t)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
85
22.2k
}
Unexecuted instantiation: trustdb.c:buf32_to_size_t
Unexecuted instantiation: pubkey-enc.c:buf32_to_size_t
Unexecuted instantiation: trust.c:buf32_to_size_t
Unexecuted instantiation: export.c:buf32_to_size_t
Unexecuted instantiation: key-clean.c:buf32_to_size_t
Unexecuted instantiation: tdbio.c:buf32_to_size_t
Unexecuted instantiation: build-packet.c:buf32_to_size_t
Unexecuted instantiation: getkey.c:buf32_to_size_t
Unexecuted instantiation: call-agent.c:buf32_to_size_t
Unexecuted instantiation: call-keyboxd.c:buf32_to_size_t
Unexecuted instantiation: keyid.c:buf32_to_size_t
Unexecuted instantiation: tdbdump.c:buf32_to_size_t
parse-packet.c:buf32_to_size_t
Line
Count
Source
81
22.2k
{
82
22.2k
  const unsigned char *p = buffer;
83
84
22.2k
  return (((size_t)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
85
22.2k
}
Unexecuted instantiation: keyedit.c:buf32_to_size_t
Unexecuted instantiation: keygen.c:buf32_to_size_t
Unexecuted instantiation: keybox-blob.c:buf32_to_size_t
Unexecuted instantiation: keybox-search.c:buf32_to_size_t
Unexecuted instantiation: keybox-update.c:buf32_to_size_t
Unexecuted instantiation: keybox-openpgp.c:buf32_to_size_t
Unexecuted instantiation: kbx-client-util.c:buf32_to_size_t
86
87
static inline unsigned long
88
buf32_to_ulong (const void *buffer)
89
123k
{
90
123k
  const unsigned char *p = buffer;
91
92
123k
  return (((unsigned long)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
93
123k
}
Unexecuted instantiation: trustdb.c:buf32_to_ulong
Unexecuted instantiation: pubkey-enc.c:buf32_to_ulong
Unexecuted instantiation: trust.c:buf32_to_ulong
Unexecuted instantiation: export.c:buf32_to_ulong
Unexecuted instantiation: key-clean.c:buf32_to_ulong
tdbio.c:buf32_to_ulong
Line
Count
Source
89
122k
{
90
122k
  const unsigned char *p = buffer;
91
92
122k
  return (((unsigned long)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
93
122k
}
Unexecuted instantiation: build-packet.c:buf32_to_ulong
Unexecuted instantiation: getkey.c:buf32_to_ulong
Unexecuted instantiation: call-agent.c:buf32_to_ulong
Unexecuted instantiation: call-keyboxd.c:buf32_to_ulong
Unexecuted instantiation: keyid.c:buf32_to_ulong
Unexecuted instantiation: tdbdump.c:buf32_to_ulong
parse-packet.c:buf32_to_ulong
Line
Count
Source
89
551
{
90
551
  const unsigned char *p = buffer;
91
92
551
  return (((unsigned long)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
93
551
}
Unexecuted instantiation: keyedit.c:buf32_to_ulong
Unexecuted instantiation: keygen.c:buf32_to_ulong
Unexecuted instantiation: keybox-blob.c:buf32_to_ulong
Unexecuted instantiation: keybox-search.c:buf32_to_ulong
Unexecuted instantiation: keybox-update.c:buf32_to_ulong
Unexecuted instantiation: keybox-openpgp.c:buf32_to_ulong
Unexecuted instantiation: kbx-client-util.c:buf32_to_ulong
94
95
static inline unsigned int
96
buf32_to_uint (const void *buffer)
97
0
{
98
0
  const unsigned char *p = buffer;
99
0
100
0
  return (((unsigned int)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
101
0
}
Unexecuted instantiation: trustdb.c:buf32_to_uint
Unexecuted instantiation: pubkey-enc.c:buf32_to_uint
Unexecuted instantiation: trust.c:buf32_to_uint
Unexecuted instantiation: export.c:buf32_to_uint
Unexecuted instantiation: key-clean.c:buf32_to_uint
Unexecuted instantiation: tdbio.c:buf32_to_uint
Unexecuted instantiation: build-packet.c:buf32_to_uint
Unexecuted instantiation: getkey.c:buf32_to_uint
Unexecuted instantiation: call-agent.c:buf32_to_uint
Unexecuted instantiation: call-keyboxd.c:buf32_to_uint
Unexecuted instantiation: keyid.c:buf32_to_uint
Unexecuted instantiation: tdbdump.c:buf32_to_uint
Unexecuted instantiation: parse-packet.c:buf32_to_uint
Unexecuted instantiation: keyedit.c:buf32_to_uint
Unexecuted instantiation: keygen.c:buf32_to_uint
Unexecuted instantiation: keybox-blob.c:buf32_to_uint
Unexecuted instantiation: keybox-search.c:buf32_to_uint
Unexecuted instantiation: keybox-update.c:buf32_to_uint
Unexecuted instantiation: keybox-openpgp.c:buf32_to_uint
Unexecuted instantiation: kbx-client-util.c:buf32_to_uint
102
103
static inline u32
104
buf32_to_u32 (const void *buffer)
105
39.1k
{
106
39.1k
  const unsigned char *p = buffer;
107
108
39.1k
  return (((u32)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
109
39.1k
}
Unexecuted instantiation: trustdb.c:buf32_to_u32
Unexecuted instantiation: pubkey-enc.c:buf32_to_u32
Unexecuted instantiation: trust.c:buf32_to_u32
Unexecuted instantiation: export.c:buf32_to_u32
Unexecuted instantiation: key-clean.c:buf32_to_u32
Unexecuted instantiation: tdbio.c:buf32_to_u32
Unexecuted instantiation: build-packet.c:buf32_to_u32
getkey.c:buf32_to_u32
Line
Count
Source
105
212
{
106
212
  const unsigned char *p = buffer;
107
108
212
  return (((u32)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
109
212
}
Unexecuted instantiation: call-agent.c:buf32_to_u32
Unexecuted instantiation: call-keyboxd.c:buf32_to_u32
keyid.c:buf32_to_u32
Line
Count
Source
105
28.8k
{
106
28.8k
  const unsigned char *p = buffer;
107
108
28.8k
  return (((u32)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
109
28.8k
}
Unexecuted instantiation: tdbdump.c:buf32_to_u32
parse-packet.c:buf32_to_u32
Line
Count
Source
105
10.1k
{
106
10.1k
  const unsigned char *p = buffer;
107
108
10.1k
  return (((u32)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
109
10.1k
}
Unexecuted instantiation: keyedit.c:buf32_to_u32
Unexecuted instantiation: keygen.c:buf32_to_u32
Unexecuted instantiation: keybox-blob.c:buf32_to_u32
Unexecuted instantiation: keybox-search.c:buf32_to_u32
keybox-update.c:buf32_to_u32
Line
Count
Source
105
1
{
106
1
  const unsigned char *p = buffer;
107
108
1
  return (((u32)p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]);
109
1
}
Unexecuted instantiation: keybox-openpgp.c:buf32_to_u32
Unexecuted instantiation: kbx-client-util.c:buf32_to_u32
110
111
112
#endif /*GNUPG_COMMON_HOST2NET_H*/