Coverage Report

Created: 2022-04-19 08:24

/work/build/src/nspawn/nspawn-gperf.c
Line
Count
Source (jump to first uncovered line)
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
#if __GNUC__ >= 7
35
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
36
#endif
37
#include <stddef.h>
38
#include "conf-parser.h"
39
#include "nspawn-settings.h"
40
#include "nspawn-expose-ports.h"
41
#include <string.h>
42
43
#define TOTAL_KEYWORDS 61
44
109k
#define MIN_WORD_LENGTH 9
45
220k
#define MAX_WORD_LENGTH 28
46
#define MIN_HASH_VALUE 9
47
108k
#define MAX_HASH_VALUE 85
48
/* maximum key range = 77, 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
108k
{
60
108k
  static const unsigned char asso_values[] =
61
108k
    {
62
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
63
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
64
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
65
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
66
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
67
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
68
108k
      86, 86, 86, 86, 86, 30, 86,  0, 50, 15,
69
108k
      86, 55, 86, 10, 86,  5, 20, 86, 30,  5,
70
108k
      35, 86, 40, 25, 20, 25, 30, 86, 86, 86,
71
108k
      86, 86, 86, 86, 86, 86, 86, 20, 86, 25,
72
108k
      60,  5,  0, 25, 86, 35, 86, 86, 25, 50,
73
108k
      15,  5, 20, 86,  5, 10,  0,  5,  0, 86,
74
108k
      86, 20, 86, 86, 86, 86, 86, 86, 86, 86,
75
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
76
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
77
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
78
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
79
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
80
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
81
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
82
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
83
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
84
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
85
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86
108k
      86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
87
108k
      86, 86, 86, 86, 86, 86
88
108k
    };
89
108k
  register unsigned int hval = len;
90
91
108k
  switch (hval)
92
108k
    {
93
90.1k
      default:
94
90.1k
        hval += asso_values[(unsigned char)str[11]];
95
      /*FALLTHROUGH*/
96
90.3k
      case 11:
97
103k
      case 10:
98
108k
      case 9:
99
108k
        break;
100
108k
    }
101
108k
  return hval + asso_values[(unsigned char)str[len - 1]];
102
108k
}
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 82 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
116
110k
      {"Network.Port",                 config_parse_expose_port,    0,                        0},
117
110k
      {(char*)0},
118
110k
#line 27 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
119
110k
      {"Exec.User",                    config_parse_string,         CONFIG_PARSE_STRING_SAFE, offsetof(Settings, user)},
120
110k
#line 59 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
121
110k
      {"Exec.ResolvConf",              config_parse_resolv_conf,    0,                        offsetof(Settings, resolv_conf)},
122
110k
      {(char*)0}, {(char*)0}, {(char*)0},
123
110k
#line 35 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
124
110k
      {"Exec.PivotRoot",               config_parse_pivot_root,     0,                        0},
125
110k
#line 74 "../../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 81 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
129
110k
      {"Network.Zone",                 config_parse_network_zone,   0,                        0},
130
110k
#line 78 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
131
110k
      {"Network.VirtualEthernet",      config_parse_tristate,       0,                        offsetof(Settings, network_veth)},
132
110k
#line 57 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
133
110k
      {"Exec.OOMScoreAdjust",          config_parse_oom_score_adjust, 0,                      0},
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 38 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
137
110k
      {"Exec.SystemCallFilter",        config_parse_syscall_filter, 0,                        0},
138
110k
#line 75 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
139
110k
      {"Network.Interface",            config_parse_strv,           0,                        offsetof(Settings, network_interfaces)},
140
110k
#line 68 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
141
110k
      {"Files.Inaccessible",           config_parse_inaccessible,   0,                        0},
142
110k
#line 73 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
143
110k
      {"Files.BindUser",               config_parse_bind_user,      0,                        offsetof(Settings, bind_user)},
144
110k
#line 24 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
145
110k
      {"Exec.ProcessTwo",              config_parse_pid2,           0,                        0},
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 61 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
151
110k
      {"Exec.Timezone",                config_parse_timezone,       0,                        offsetof(Settings, timezone)},
152
110k
#line 43 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
153
110k
      {"Exec.LimitCORE",               config_parse_rlimit,         RLIMIT_CORE,              offsetof(Settings, rlimit)},
154
110k
#line 56 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
155
110k
      {"Exec.NoNewPrivileges",         config_parse_tristate,       0,                        offsetof(Settings, no_new_privileges)},
156
110k
#line 45 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
157
110k
      {"Exec.LimitNOFILE",             config_parse_rlimit,         RLIMIT_NOFILE,            offsetof(Settings, rlimit)},
158
110k
#line 48 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
159
110k
      {"Exec.LimitMEMLOCK",            config_parse_rlimit,         RLIMIT_MEMLOCK,           offsetof(Settings, rlimit)},
160
110k
#line 71 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
161
110k
      {"Files.PrivateUsersChown",      config_parse_userns_chown,   0,                        offsetof(Settings, userns_ownership)},
162
110k
#line 52 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
163
110k
      {"Exec.LimitNICE",               config_parse_rlimit,         RLIMIT_NICE,              offsetof(Settings, rlimit)},
164
110k
#line 42 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
165
110k
      {"Exec.LimitSTACK",              config_parse_rlimit,         RLIMIT_STACK,             offsetof(Settings, rlimit)},
166
110k
#line 53 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
167
110k
      {"Exec.LimitRTPRIO",             config_parse_rlimit,         RLIMIT_RTPRIO,            offsetof(Settings, rlimit)},
168
110k
#line 29 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
169
110k
      {"Exec.AmbientCapability",       config_parse_capability,     0,                        offsetof(Settings, ambient_capability)},
170
110k
#line 66 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
171
110k
      {"Files.BindReadOnly",           config_parse_bind,           1,                        0},
172
110k
#line 23 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
173
110k
      {"Exec.Ephemeral",               config_parse_tristate,       0,                        offsetof(Settings, ephemeral)},
174
110k
#line 49 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
175
110k
      {"Exec.LimitLOCKS",              config_parse_rlimit,         RLIMIT_LOCKS,             offsetof(Settings, rlimit)},
176
110k
#line 60 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
177
110k
      {"Exec.LinkJournal",             config_parse_link_journal,   0,                        0},
178
110k
#line 72 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
179
110k
      {"Files.PrivateUsersOwnership",  config_parse_userns_ownership, 0,                      offsetof(Settings, userns_ownership)},
180
110k
#line 79 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
181
110k
      {"Network.VirtualEthernetExtra", config_parse_veth_extra,     0,                        0},
182
110k
#line 63 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
183
110k
      {"Files.ReadOnly",               config_parse_tristate,       0,                        offsetof(Settings, read_only)},
184
110k
#line 47 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
185
110k
      {"Exec.LimitNPROC",              config_parse_rlimit,         RLIMIT_NPROC,             offsetof(Settings, rlimit)},
186
110k
#line 54 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
187
110k
      {"Exec.LimitRTTIME",             config_parse_rlimit,         RLIMIT_RTTIME,            offsetof(Settings, rlimit)},
188
110k
#line 62 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
189
110k
      {"Exec.SuppressSync",            config_parse_tristate,       0,                        offsetof(Settings, suppress_sync)},
190
110k
#line 69 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
191
110k
      {"Files.Overlay",                config_parse_overlay,        0,                        0},
192
110k
#line 64 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
193
110k
      {"Files.Volatile",               config_parse_volatile_mode,  0,                        offsetof(Settings, volatile_mode)},
194
110k
#line 40 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
195
110k
      {"Exec.LimitFSIZE",              config_parse_rlimit,         RLIMIT_FSIZE,             offsetof(Settings, rlimit)},
196
110k
#line 32 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
197
110k
      {"Exec.Personality",             config_parse_personality,    0,                        offsetof(Settings, personality)},
198
110k
      {(char*)0},
199
110k
#line 51 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
200
110k
      {"Exec.LimitMSGQUEUE",           config_parse_rlimit,         RLIMIT_MSGQUEUE,          offsetof(Settings, rlimit)},
201
110k
#line 30 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
202
110k
      {"Exec.DropCapability",          config_parse_capability,     0,                        offsetof(Settings, drop_capability)},
203
110k
#line 28 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
204
110k
      {"Exec.Capability",              config_parse_capability,     0,                        offsetof(Settings, capability)},
205
110k
#line 70 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
206
110k
      {"Files.OverlayReadOnly",        config_parse_overlay,        1,                        0},
207
110k
#line 46 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
208
110k
      {"Exec.LimitAS",                 config_parse_rlimit,         RLIMIT_AS,                offsetof(Settings, rlimit)},
209
110k
#line 44 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
210
110k
      {"Exec.LimitRSS",                config_parse_rlimit,         RLIMIT_RSS,               offsetof(Settings, rlimit)},
211
110k
#line 77 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
212
110k
      {"Network.IPVLAN",               config_parse_strv,           0,                        offsetof(Settings, network_ipvlan)},
213
110k
#line 31 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
214
110k
      {"Exec.KillSignal",              config_parse_signal,         0,                        offsetof(Settings, kill_signal)},
215
110k
#line 34 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
216
110k
      {"Exec.WorkingDirectory",        config_parse_path,           0,                        offsetof(Settings, working_directory)},
217
110k
      {(char*)0},
218
110k
#line 55 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
219
110k
      {"Exec.Hostname",                config_parse_hostname,       0,                        offsetof(Settings, hostname)},
220
110k
#line 33 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
221
110k
      {"Exec.MachineID",               config_parse_id128,          0,                        offsetof(Settings, machine_id)},
222
110k
#line 65 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
223
110k
      {"Files.Bind",                   config_parse_bind,           0,                        0},
224
110k
#line 58 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
225
110k
      {"Exec.CPUAffinity",             config_parse_cpu_affinity,   0,                        0},
226
110k
      {(char*)0},
227
110k
#line 39 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
228
110k
      {"Exec.LimitCPU",                config_parse_rlimit,         RLIMIT_CPU,               offsetof(Settings, rlimit)},
229
110k
#line 41 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
230
110k
      {"Exec.LimitDATA",               config_parse_rlimit,         RLIMIT_DATA,              offsetof(Settings, rlimit)},
231
110k
#line 76 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
232
110k
      {"Network.MACVLAN",              config_parse_strv,           0,                        offsetof(Settings, network_macvlan)},
233
110k
#line 37 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
234
110k
      {"Exec.NotifyReady",             config_parse_tristate,       0,                        offsetof(Settings, notify_ready)},
235
110k
      {(char*)0}, {(char*)0},
236
110k
#line 80 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
237
110k
      {"Network.Bridge",               config_parse_ifname,         0,                        offsetof(Settings, network_bridge)},
238
110k
#line 67 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
239
110k
      {"Files.TemporaryFileSystem",    config_parse_tmpfs,          0,                        0},
240
110k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
241
110k
#line 50 "../../src/systemd/src/nspawn/nspawn-gperf.gperf"
242
110k
      {"Exec.LimitSIGPENDING",         config_parse_rlimit,         RLIMIT_SIGPENDING,        offsetof(Settings, rlimit)}
243
110k
    };
244
245
110k
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
246
108k
    {
247
108k
      register unsigned int key = nspawn_gperf_hash (str, len);
248
249
108k
      if (key <= MAX_HASH_VALUE)
250
107k
        {
251
107k
          register const char *s = wordlist[key].section_and_lvalue;
252
253
107k
          if (s && *str == *s && !strcmp (str + 1, s + 1))
254
103k
            return &wordlist[key];
255
107k
        }
256
108k
    }
257
6.65k
  return 0;
258
110k
}