Coverage Report

Created: 2019-06-19 13:33

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