Coverage Report

Created: 2026-09-14 06:51

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/build/src/nspawn/nspawn-gperf.c
Line
Count
Source
1
/* ANSI-C code produced by gperf version 3.1 */
2
/* Command-line: /usr/bin/gperf --output-file src/nspawn/nspawn-gperf.c ../../src/systemd/src/nspawn/nspawn-gperf.gperf  */
3
/* Computed positions: -k'12,$' */
4
5
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28
/* The character set is not based on ISO-646.  */
29
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
30
#endif
31
32
#line 2 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
33
34
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
35
#if __GNUC__ >= 15
36
_Pragma("GCC diagnostic ignored \"-Wzero-as-null-pointer-constant\"")
37
#endif
38
#include <stddef.h>
39
#include "conf-parser.h"
40
#include "nspawn-settings.h"
41
#include <string.h>
42
43
#define TOTAL_KEYWORDS 65
44
109k
#define MIN_WORD_LENGTH 9
45
220k
#define MAX_WORD_LENGTH 28
46
#define MIN_HASH_VALUE 9
47
107k
#define MAX_HASH_VALUE 90
48
/* maximum key range = 82, duplicates = 0 */
49
50
#ifdef __GNUC__
51
__inline
52
#else
53
#ifdef __cplusplus
54
inline
55
#endif
56
#endif
57
static unsigned int
58
nspawn_gperf_hash (register const char *str, register size_t len)
59
107k
{
60
107k
  static const unsigned char asso_values[] =
61
107k
    {
62
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
63
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
64
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
65
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
66
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
67
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
68
107k
      91, 91, 91, 91, 91, 35, 91, 15, 60, 15,
69
107k
      91, 25, 91, 45, 91, 45,  0, 91,  0, 35,
70
107k
      15, 91, 40, 25, 20, 45,  0, 91, 91, 91,
71
107k
      91, 91, 91, 91, 91, 91, 91, 20, 91, 40,
72
107k
      50,  5,  0, 40,  0,  5, 91, 91, 15, 50,
73
107k
      15, 40, 20, 91, 10, 10,  0,  5,  0, 91,
74
107k
      91, 20, 91, 91, 91, 91, 91, 91, 91, 91,
75
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
76
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
77
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
78
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
79
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
80
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
81
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
82
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
83
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
84
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
85
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
86
107k
      91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
87
107k
      91, 91, 91, 91, 91, 91
88
107k
    };
89
107k
  register unsigned int hval = len;
90
91
107k
  switch (hval)
92
107k
    {
93
77.7k
      default:
94
77.7k
        hval += asso_values[(unsigned char)str[11]];
95
      /*FALLTHROUGH*/
96
78.1k
      case 11:
97
102k
      case 10:
98
107k
      case 9:
99
107k
        break;
100
107k
    }
101
107k
  return hval + asso_values[(unsigned char)str[len - 1]];
102
107k
}
103
104
const struct ConfigPerfItem *
105
nspawn_gperf_lookup (register const char *str, register size_t len)
106
110k
{
107
110k
  static const struct ConfigPerfItem wordlist[] =
108
110k
    {
109
110k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
110
110k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
111
110k
      {(char*)0},
112
110k
#line 22 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
113
110k
      {"Exec.Boot",                    config_parse_boot,                      0,                        0},
114
110k
      {(char*)0}, {(char*)0},
115
110k
#line 86 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
116
110k
      {"Network.Port",                 config_parse_expose_port,               0,                        0},
117
110k
      {(char*)0},
118
110k
#line 81 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
119
110k
      {"Network.IPVLAN",               config_parse_ipvlan_iface_pair,         0,                        offsetof(Settings, network_ipvlan)},
120
110k
#line 80 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
121
110k
      {"Network.MACVLAN",              config_parse_macvlan_iface_pair,        0,                        offsetof(Settings, network_macvlan)},
122
110k
      {(char*)0}, {(char*)0}, {(char*)0},
123
110k
#line 27 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
124
110k
      {"Exec.User",                    config_parse_string,                    CONFIG_PARSE_STRING_SAFE, offsetof(Settings, user)},
125
110k
#line 77 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
126
110k
      {"Network.Private",              config_parse_tristate,                  0,                        offsetof(Settings, private_network)},
127
110k
      {(char*)0},
128
110k
#line 85 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
129
110k
      {"Network.Zone",                 config_parse_network_zone,              0,                        0},
130
110k
#line 82 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
131
110k
      {"Network.VirtualEthernet",      config_parse_tristate,                  0,                        offsetof(Settings, network_veth)},
132
110k
#line 66 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
133
110k
      {"Files.Volatile",               config_parse_volatile_mode,             0,                        offsetof(Settings, volatile_mode)},
134
110k
#line 25 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
135
110k
      {"Exec.Parameters",              config_parse_strv,                      0,                        offsetof(Settings, parameters)},
136
110k
#line 78 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
137
110k
      {"Network.NamespacePath",        config_parse_path,                      0,                        offsetof(Settings, network_namespace_path)},
138
110k
#line 79 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
139
110k
      {"Network.Interface",            config_parse_network_iface_pair,        0,                        offsetof(Settings, network_interfaces)},
140
110k
#line 70 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
141
110k
      {"Files.Inaccessible",           config_parse_inaccessible,              0,                        0},
142
110k
#line 58 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
143
110k
      {"Exec.OOMScoreAdjust",          config_parse_oom_score_adjust,          0,                        0},
144
110k
#line 60 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
145
110k
      {"Exec.ResolvConf",              config_parse_resolv_conf,               0,                        offsetof(Settings, resolv_conf)},
146
110k
#line 26 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
147
110k
      {"Exec.Environment",             config_parse_strv,                      0,                        offsetof(Settings, environment)},
148
110k
#line 36 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
149
110k
      {"Exec.PrivateUsers",            config_parse_private_users,             0,                        0},
150
110k
#line 62 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
151
110k
      {"Exec.Timezone",                config_parse_timezone_mode,             0,                        offsetof(Settings, timezone)},
152
110k
#line 75 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
153
110k
      {"Files.BindUser",               config_parse_bind_user,                 0,                        offsetof(Settings, bind_user)},
154
110k
#line 37 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
155
110k
      {"Exec.PrivateUsersDelegate",    config_parse_unsigned,                  0,                        offsetof(Settings, delegate_container_ranges)},
156
110k
#line 61 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
157
110k
      {"Exec.LinkJournal",             config_parse_link_journal,              0,                        0},
158
110k
      {(char*)0},
159
110k
#line 73 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
160
110k
      {"Files.PrivateUsersChown",      config_parse_userns_chown,              0,                        offsetof(Settings, userns_ownership)},
161
110k
#line 23 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
162
110k
      {"Exec.Ephemeral",               config_parse_tristate,                  0,                        offsetof(Settings, ephemeral)},
163
110k
#line 57 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
164
110k
      {"Exec.NoNewPrivileges",         config_parse_tristate,                  0,                        offsetof(Settings, no_new_privileges)},
165
110k
#line 59 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
166
110k
      {"Exec.CPUAffinity",             config_parse_cpu_set,                   0,                        offsetof(Settings, cpu_set)},
167
110k
#line 29 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
168
110k
      {"Exec.AmbientCapability",       config_parse_capability,                0,                        offsetof(Settings, ambient_capability)},
169
110k
#line 68 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
170
110k
      {"Files.BindReadOnly",           config_parse_bind,                      1,                        0},
171
110k
#line 76 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
172
110k
      {"Files.BindUserShell",          config_parse_bind_user_shell,           0,                        0},
173
110k
#line 48 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
174
110k
      {"Exec.LimitNPROC",              config_parse_rlimit,                    RLIMIT_NPROC,             offsetof(Settings, rlimit)},
175
110k
#line 39 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
176
110k
      {"Exec.SystemCallFilter",        config_parse_syscall_filter,            0,                        0},
177
110k
#line 74 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
178
110k
      {"Files.PrivateUsersOwnership",  config_parse_userns_ownership,          0,                        offsetof(Settings, userns_ownership)},
179
110k
#line 83 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
180
110k
      {"Network.VirtualEthernetExtra", config_parse_veth_extra,                0,                        0},
181
110k
#line 65 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
182
110k
      {"Files.ReadOnly",               config_parse_tristate,                  0,                        offsetof(Settings, read_only)},
183
110k
#line 28 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
184
110k
      {"Exec.Capability",              config_parse_capability,                0,                        offsetof(Settings, capability)},
185
110k
#line 55 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
186
110k
      {"Exec.LimitRTTIME",             config_parse_rlimit,                    RLIMIT_RTTIME,            offsetof(Settings, rlimit)},
187
110k
      {(char*)0},
188
110k
#line 71 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
189
110k
      {"Files.Overlay",                config_parse_overlay,                   0,                        0},
190
110k
#line 35 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
191
110k
      {"Exec.PivotRoot",               config_parse_pivot_root,                0,                        0},
192
110k
#line 41 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
193
110k
      {"Exec.LimitFSIZE",              config_parse_rlimit,                    RLIMIT_FSIZE,             offsetof(Settings, rlimit)},
194
110k
#line 32 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
195
110k
      {"Exec.Personality",             config_parse_personality,               0,                        offsetof(Settings, personality)},
196
110k
      {(char*)0},
197
110k
#line 52 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
198
110k
      {"Exec.LimitMSGQUEUE",           config_parse_rlimit,                    RLIMIT_MSGQUEUE,          offsetof(Settings, rlimit)},
199
110k
#line 30 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
200
110k
      {"Exec.DropCapability",          config_parse_capability,                0,                        offsetof(Settings, drop_capability)},
201
110k
#line 67 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
202
110k
      {"Files.Bind",                   config_parse_bind,                      0,                        0},
203
110k
#line 72 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
204
110k
      {"Files.OverlayReadOnly",        config_parse_overlay,                   1,                        0},
205
110k
#line 47 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
206
110k
      {"Exec.LimitAS",                 config_parse_rlimit,                    RLIMIT_AS,                offsetof(Settings, rlimit)},
207
110k
#line 45 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
208
110k
      {"Exec.LimitRSS",                config_parse_rlimit,                    RLIMIT_RSS,               offsetof(Settings, rlimit)},
209
110k
#line 44 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
210
110k
      {"Exec.LimitCORE",               config_parse_rlimit,                    RLIMIT_CORE,              offsetof(Settings, rlimit)},
211
110k
#line 24 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
212
110k
      {"Exec.ProcessTwo",              config_parse_pid2,                      0,                        0},
213
110k
#line 46 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
214
110k
      {"Exec.LimitNOFILE",             config_parse_rlimit,                    RLIMIT_NOFILE,            offsetof(Settings, rlimit)},
215
110k
#line 63 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
216
110k
      {"Exec.SuppressSync",            config_parse_tristate,                  0,                        offsetof(Settings, suppress_sync)},
217
110k
#line 56 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
218
110k
      {"Exec.Hostname",                config_parse_hostname,                  0,                        offsetof(Settings, hostname)},
219
110k
#line 84 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
220
110k
      {"Network.Bridge",               config_parse_ifname,                    0,                        offsetof(Settings, network_bridge)},
221
110k
#line 31 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
222
110k
      {"Exec.KillSignal",              config_parse_signal,                    0,                        offsetof(Settings, kill_signal)},
223
110k
#line 54 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
224
110k
      {"Exec.LimitRTPRIO",             config_parse_rlimit,                    RLIMIT_RTPRIO,            offsetof(Settings, rlimit)},
225
110k
      {(char*)0},
226
110k
#line 40 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
227
110k
      {"Exec.LimitCPU",                config_parse_rlimit,                    RLIMIT_CPU,               offsetof(Settings, rlimit)},
228
110k
#line 53 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
229
110k
      {"Exec.LimitNICE",               config_parse_rlimit,                    RLIMIT_NICE,              offsetof(Settings, rlimit)},
230
110k
#line 50 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
231
110k
      {"Exec.LimitLOCKS",              config_parse_rlimit,                    RLIMIT_LOCKS,             offsetof(Settings, rlimit)},
232
110k
#line 38 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
233
110k
      {"Exec.NotifyReady",             config_parse_tristate,                  0,                        offsetof(Settings, notify_ready)},
234
110k
#line 49 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
235
110k
      {"Exec.LimitMEMLOCK",            config_parse_rlimit,                    RLIMIT_MEMLOCK,           offsetof(Settings, rlimit)},
236
110k
#line 64 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
237
110k
      {"Exec.RestrictAddressFamilies", config_parse_restrict_address_families, 0,                        0},
238
110k
#line 33 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
239
110k
      {"Exec.MachineID",               config_parse_id128,                     0,                        offsetof(Settings, machine_id)},
240
110k
#line 43 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
241
110k
      {"Exec.LimitSTACK",              config_parse_rlimit,                    RLIMIT_STACK,             offsetof(Settings, rlimit)},
242
110k
#line 34 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
243
110k
      {"Exec.WorkingDirectory",        config_parse_path,                      0,                        offsetof(Settings, working_directory)},
244
110k
      {(char*)0}, {(char*)0},
245
110k
#line 42 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
246
110k
      {"Exec.LimitDATA",               config_parse_rlimit,                    RLIMIT_DATA,              offsetof(Settings, rlimit)},
247
110k
#line 69 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
248
110k
      {"Files.TemporaryFileSystem",    config_parse_tmpfs,                     0,                        0},
249
110k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
250
110k
#line 51 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
251
110k
      {"Exec.LimitSIGPENDING",         config_parse_rlimit,                    RLIMIT_SIGPENDING,        offsetof(Settings, rlimit)}
252
110k
    };
253
254
110k
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
255
107k
    {
256
107k
      register unsigned int key = nspawn_gperf_hash (str, len);
257
258
107k
      if (key <= MAX_HASH_VALUE)
259
107k
        {
260
107k
          register const char *s = wordlist[key].section_and_lvalue;
261
262
107k
          if (s && *str == *s && !strcmp (str + 1, s + 1))
263
101k
            return &wordlist[key];
264
107k
        }
265
107k
    }
266
8.24k
  return 0;
267
110k
}