Coverage Report

Created: 2025-07-11 06:34

/src/libsoup/libsoup/soup-header-names.c
Line
Count
Source (jump to first uncovered line)
1
/* ANSI-C code produced by gperf version 3.1 */
2
/* Command-line: gperf -k '*' -D -n -s 2  */
3
4
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5
      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6
      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7
      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8
      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9
      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10
      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11
      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12
      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13
      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14
      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15
      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16
      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17
      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18
      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19
      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20
      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21
      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22
      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23
      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24
      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25
      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26
      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27
/* The character set is not based on ISO-646.  */
28
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
29
#endif
30
31
32
/* This file has been generated with generate-header-names.py script, do not edit */
33
#include "soup-header-names.h"
34
#include <string.h>
35
36
static const char * const soup_headr_name_strings[] = {
37
  "Accept",
38
  "Accept-Charset",
39
  "Accept-Encoding",
40
  "Accept-Language",
41
  "Accept-Ranges",
42
  "Access-Control-Allow-Credentials",
43
  "Access-Control-Allow-Headers",
44
  "Access-Control-Allow-Methods",
45
  "Access-Control-Allow-Origin",
46
  "Access-Control-Expose-Headers",
47
  "Access-Control-Max-Age",
48
  "Access-Control-Request-Headers",
49
  "Access-Control-Request-Method",
50
  "Age",
51
  "Authentication-Info",
52
  "Authorization",
53
  "Cache-Control",
54
  "Connection",
55
  "Content-Disposition",
56
  "Content-Encoding",
57
  "Content-Language",
58
  "Content-Length",
59
  "Content-Location",
60
  "Content-Range",
61
  "Content-Security-Policy",
62
  "Content-Security-Policy-Report-Only",
63
  "Content-Type",
64
  "Cookie",
65
  "Cookie2",
66
  "Cross-Origin-Resource-Policy",
67
  "DNT",
68
  "Date",
69
  "Default-Style",
70
  "ETag",
71
  "Expect",
72
  "Expires",
73
  "Host",
74
  "If-Match",
75
  "If-Modified-Since",
76
  "If-None-Match",
77
  "If-Range",
78
  "If-Unmodified-Since",
79
  "Keep-Alive",
80
  "Last-Event-ID",
81
  "Last-Modified",
82
  "Link",
83
  "Location",
84
  "Origin",
85
  "Ping-From",
86
  "Ping-To",
87
  "Pragma",
88
  "Proxy-Authenticate",
89
  "Proxy-Authentication-Info",
90
  "Proxy-Authorization",
91
  "Purpose",
92
  "Range",
93
  "Referer",
94
  "Referrer-Policy",
95
  "Refresh",
96
  "Sec-WebSocket-Accept",
97
  "Sec-WebSocket-Extensions",
98
  "Sec-WebSocket-Key",
99
  "Sec-WebSocket-Protocol",
100
  "Sec-WebSocket-Version",
101
  "Server",
102
  "Server-Timing",
103
  "Service-Worker",
104
  "Service-Worker-Allowed",
105
  "Set-Cookie",
106
  "Set-Cookie2",
107
  "SourceMap",
108
  "TE",
109
  "Timing-Allow-Origin",
110
  "Trailer",
111
  "Transfer-Encoding",
112
  "Upgrade",
113
  "Upgrade-Insecure-Requests",
114
  "User-Agent",
115
  "Vary",
116
  "Via",
117
  "WWW-Authenticate",
118
  "X-Content-Type-Options",
119
  "X-DNS-Prefetch-Control",
120
  "X-Frame-Options",
121
  "X-SourceMap",
122
  "X-Temp-Tablet",
123
  "X-XSS-Protection",
124
};
125
struct SoupHeaderHashEntry {
126
    int name;
127
    SoupHeaderName header_name;
128
};
129
130
#define TOTAL_KEYWORDS 87
131
0
#define MIN_WORD_LENGTH 2
132
0
#define MAX_WORD_LENGTH 35
133
#define MIN_HASH_VALUE 5
134
0
#define MAX_HASH_VALUE 690
135
/* maximum key range = 686, duplicates = 0 */
136
137
#ifndef GPERF_DOWNCASE
138
#define GPERF_DOWNCASE 1
139
static unsigned char gperf_downcase[256] =
140
  {
141
      0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,
142
     15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
143
     30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,
144
     45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
145
     60,  61,  62,  63,  64,  97,  98,  99, 100, 101, 102, 103, 104, 105, 106,
146
    107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
147
    122,  91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104,
148
    105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
149
    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
150
    135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
151
    150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
152
    165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
153
    180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
154
    195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
155
    210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
156
    225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
157
    240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
158
    255
159
  };
160
#endif
161
162
#ifndef GPERF_CASE_STRNCMP
163
#define GPERF_CASE_STRNCMP 1
164
static int
165
gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n)
166
0
{
167
0
  for (; n > 0;)
168
0
    {
169
0
      unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
170
0
      unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
171
0
      if (c1 != 0 && c1 == c2)
172
0
        {
173
0
          n--;
174
0
          continue;
175
0
        }
176
0
      return (int)c1 - (int)c2;
177
0
    }
178
0
  return 0;
179
0
}
180
#endif
181
182
#ifdef __GNUC__
183
__inline
184
#else
185
#ifdef __cplusplus
186
inline
187
#endif
188
#endif
189
static unsigned int
190
soup_header_name_hash_function (register const char *str, register size_t len)
191
0
{
192
0
  static const unsigned short asso_values[] =
193
0
    {
194
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
195
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
196
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
197
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
198
0
      691, 691, 691, 691, 691,   5, 691, 691, 691, 691,
199
0
       40, 691, 691, 691, 691, 691, 691, 691, 691, 691,
200
0
      691, 691, 691, 691, 691,   0,   5,   0,  45,   0,
201
0
       95,  10,  65,   5, 691, 210,  20,  75,   5,   0,
202
0
       60, 130,   5,  10,   5,  75,   4, 155, 165,  75,
203
0
       35, 691, 691, 691, 691, 691, 691,   0,   5,   0,
204
0
       45,   0,  95,  10,  65,   5, 691, 210,  20,  75,
205
0
        5,   0,  60, 130,   5,  10,   5,  75,   4, 155,
206
0
      165,  75,  35, 691, 691, 691, 691, 691, 691, 691,
207
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
208
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
209
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
210
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
211
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
212
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
213
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
214
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
215
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
216
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
217
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
218
0
      691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
219
0
      691, 691, 691, 691, 691, 691
220
0
    };
221
0
  register unsigned int hval = 0;
222
223
0
  switch (len)
224
0
    {
225
0
      default:
226
0
        hval += asso_values[(unsigned char)str[34]];
227
      /*FALLTHROUGH*/
228
0
      case 34:
229
0
        hval += asso_values[(unsigned char)str[33]];
230
      /*FALLTHROUGH*/
231
0
      case 33:
232
0
        hval += asso_values[(unsigned char)str[32]];
233
      /*FALLTHROUGH*/
234
0
      case 32:
235
0
        hval += asso_values[(unsigned char)str[31]];
236
      /*FALLTHROUGH*/
237
0
      case 31:
238
0
        hval += asso_values[(unsigned char)str[30]];
239
      /*FALLTHROUGH*/
240
0
      case 30:
241
0
        hval += asso_values[(unsigned char)str[29]];
242
      /*FALLTHROUGH*/
243
0
      case 29:
244
0
        hval += asso_values[(unsigned char)str[28]];
245
      /*FALLTHROUGH*/
246
0
      case 28:
247
0
        hval += asso_values[(unsigned char)str[27]];
248
      /*FALLTHROUGH*/
249
0
      case 27:
250
0
        hval += asso_values[(unsigned char)str[26]];
251
      /*FALLTHROUGH*/
252
0
      case 26:
253
0
        hval += asso_values[(unsigned char)str[25]];
254
      /*FALLTHROUGH*/
255
0
      case 25:
256
0
        hval += asso_values[(unsigned char)str[24]];
257
      /*FALLTHROUGH*/
258
0
      case 24:
259
0
        hval += asso_values[(unsigned char)str[23]];
260
      /*FALLTHROUGH*/
261
0
      case 23:
262
0
        hval += asso_values[(unsigned char)str[22]];
263
      /*FALLTHROUGH*/
264
0
      case 22:
265
0
        hval += asso_values[(unsigned char)str[21]];
266
      /*FALLTHROUGH*/
267
0
      case 21:
268
0
        hval += asso_values[(unsigned char)str[20]];
269
      /*FALLTHROUGH*/
270
0
      case 20:
271
0
        hval += asso_values[(unsigned char)str[19]];
272
      /*FALLTHROUGH*/
273
0
      case 19:
274
0
        hval += asso_values[(unsigned char)str[18]];
275
      /*FALLTHROUGH*/
276
0
      case 18:
277
0
        hval += asso_values[(unsigned char)str[17]];
278
      /*FALLTHROUGH*/
279
0
      case 17:
280
0
        hval += asso_values[(unsigned char)str[16]];
281
      /*FALLTHROUGH*/
282
0
      case 16:
283
0
        hval += asso_values[(unsigned char)str[15]];
284
      /*FALLTHROUGH*/
285
0
      case 15:
286
0
        hval += asso_values[(unsigned char)str[14]];
287
      /*FALLTHROUGH*/
288
0
      case 14:
289
0
        hval += asso_values[(unsigned char)str[13]];
290
      /*FALLTHROUGH*/
291
0
      case 13:
292
0
        hval += asso_values[(unsigned char)str[12]];
293
      /*FALLTHROUGH*/
294
0
      case 12:
295
0
        hval += asso_values[(unsigned char)str[11]];
296
      /*FALLTHROUGH*/
297
0
      case 11:
298
0
        hval += asso_values[(unsigned char)str[10]];
299
      /*FALLTHROUGH*/
300
0
      case 10:
301
0
        hval += asso_values[(unsigned char)str[9]];
302
      /*FALLTHROUGH*/
303
0
      case 9:
304
0
        hval += asso_values[(unsigned char)str[8]];
305
      /*FALLTHROUGH*/
306
0
      case 8:
307
0
        hval += asso_values[(unsigned char)str[7]];
308
      /*FALLTHROUGH*/
309
0
      case 7:
310
0
        hval += asso_values[(unsigned char)str[6]];
311
      /*FALLTHROUGH*/
312
0
      case 6:
313
0
        hval += asso_values[(unsigned char)str[5]];
314
      /*FALLTHROUGH*/
315
0
      case 5:
316
0
        hval += asso_values[(unsigned char)str[4]];
317
      /*FALLTHROUGH*/
318
0
      case 4:
319
0
        hval += asso_values[(unsigned char)str[3]];
320
      /*FALLTHROUGH*/
321
0
      case 3:
322
0
        hval += asso_values[(unsigned char)str[2]];
323
      /*FALLTHROUGH*/
324
0
      case 2:
325
0
        hval += asso_values[(unsigned char)str[1]];
326
      /*FALLTHROUGH*/
327
0
      case 1:
328
0
        hval += asso_values[(unsigned char)str[0]];
329
0
        break;
330
0
    }
331
0
  return hval;
332
0
}
333
334
struct stringpool_t
335
  {
336
    char stringpool_str0[sizeof("TE")];
337
    char stringpool_str1[sizeof("Via")];
338
    char stringpool_str2[sizeof("Age")];
339
    char stringpool_str3[sizeof("ETag")];
340
    char stringpool_str4[sizeof("Range")];
341
    char stringpool_str5[sizeof("Server")];
342
    char stringpool_str6[sizeof("Connection")];
343
    char stringpool_str7[sizeof("Origin")];
344
    char stringpool_str8[sizeof("Location")];
345
    char stringpool_str9[sizeof("Trailer")];
346
    char stringpool_str10[sizeof("Content-Range")];
347
    char stringpool_str11[sizeof("Date")];
348
    char stringpool_str12[sizeof("DNT")];
349
    char stringpool_str13[sizeof("Content-Location")];
350
    char stringpool_str14[sizeof("Accept")];
351
    char stringpool_str15[sizeof("Host")];
352
    char stringpool_str16[sizeof("Vary")];
353
    char stringpool_str17[sizeof("Ping-To")];
354
    char stringpool_str18[sizeof("Content-Encoding")];
355
    char stringpool_str19[sizeof("Accept-Ranges")];
356
    char stringpool_str20[sizeof("Cache-Control")];
357
    char stringpool_str21[sizeof("Last-Event-ID")];
358
    char stringpool_str22[sizeof("Referer")];
359
    char stringpool_str23[sizeof("User-Agent")];
360
    char stringpool_str24[sizeof("If-Range")];
361
    char stringpool_str25[sizeof("Content-Length")];
362
    char stringpool_str26[sizeof("Server-Timing")];
363
    char stringpool_str27[sizeof("Accept-Encoding")];
364
    char stringpool_str28[sizeof("Content-Language")];
365
    char stringpool_str29[sizeof("Pragma")];
366
    char stringpool_str30[sizeof("Accept-Charset")];
367
    char stringpool_str31[sizeof("Content-Type")];
368
    char stringpool_str32[sizeof("Content-Disposition")];
369
    char stringpool_str33[sizeof("Refresh")];
370
    char stringpool_str34[sizeof("Accept-Language")];
371
    char stringpool_str35[sizeof("Upgrade")];
372
    char stringpool_str36[sizeof("Transfer-Encoding")];
373
    char stringpool_str37[sizeof("Authorization")];
374
    char stringpool_str38[sizeof("Purpose")];
375
    char stringpool_str39[sizeof("Cookie")];
376
    char stringpool_str40[sizeof("SourceMap")];
377
    char stringpool_str41[sizeof("Expect")];
378
    char stringpool_str42[sizeof("Set-Cookie")];
379
    char stringpool_str43[sizeof("Link")];
380
    char stringpool_str44[sizeof("Expires")];
381
    char stringpool_str45[sizeof("If-Match")];
382
    char stringpool_str46[sizeof("Cookie2")];
383
    char stringpool_str47[sizeof("Ping-From")];
384
    char stringpool_str48[sizeof("If-None-Match")];
385
    char stringpool_str49[sizeof("Set-Cookie2")];
386
    char stringpool_str50[sizeof("Referrer-Policy")];
387
    char stringpool_str51[sizeof("Authentication-Info")];
388
    char stringpool_str52[sizeof("Access-Control-Allow-Origin")];
389
    char stringpool_str53[sizeof("Keep-Alive")];
390
    char stringpool_str54[sizeof("Last-Modified")];
391
    char stringpool_str55[sizeof("Access-Control-Max-Age")];
392
    char stringpool_str56[sizeof("Cross-Origin-Resource-Policy")];
393
    char stringpool_str57[sizeof("Timing-Allow-Origin")];
394
    char stringpool_str58[sizeof("X-Temp-Tablet")];
395
    char stringpool_str59[sizeof("Default-Style")];
396
    char stringpool_str60[sizeof("Access-Control-Allow-Credentials")];
397
    char stringpool_str61[sizeof("Content-Security-Policy")];
398
    char stringpool_str62[sizeof("Access-Control-Allow-Headers")];
399
    char stringpool_str63[sizeof("X-SourceMap")];
400
    char stringpool_str64[sizeof("If-Modified-Since")];
401
    char stringpool_str65[sizeof("Service-Worker")];
402
    char stringpool_str66[sizeof("Access-Control-Request-Headers")];
403
    char stringpool_str67[sizeof("X-Content-Type-Options")];
404
    char stringpool_str68[sizeof("Access-Control-Expose-Headers")];
405
    char stringpool_str69[sizeof("Sec-WebSocket-Version")];
406
    char stringpool_str70[sizeof("X-Frame-Options")];
407
    char stringpool_str71[sizeof("X-XSS-Protection")];
408
    char stringpool_str72[sizeof("Access-Control-Allow-Methods")];
409
    char stringpool_str73[sizeof("Sec-WebSocket-Accept")];
410
    char stringpool_str74[sizeof("Proxy-Authenticate")];
411
    char stringpool_str75[sizeof("If-Unmodified-Since")];
412
    char stringpool_str76[sizeof("Access-Control-Request-Method")];
413
    char stringpool_str77[sizeof("Sec-WebSocket-Protocol")];
414
    char stringpool_str78[sizeof("X-DNS-Prefetch-Control")];
415
    char stringpool_str79[sizeof("Proxy-Authorization")];
416
    char stringpool_str80[sizeof("Upgrade-Insecure-Requests")];
417
    char stringpool_str81[sizeof("Content-Security-Policy-Report-Only")];
418
    char stringpool_str82[sizeof("Proxy-Authentication-Info")];
419
    char stringpool_str83[sizeof("Sec-WebSocket-Extensions")];
420
    char stringpool_str84[sizeof("WWW-Authenticate")];
421
    char stringpool_str85[sizeof("Service-Worker-Allowed")];
422
    char stringpool_str86[sizeof("Sec-WebSocket-Key")];
423
  };
424
static const struct stringpool_t stringpool_contents =
425
  {
426
    "TE",
427
    "Via",
428
    "Age",
429
    "ETag",
430
    "Range",
431
    "Server",
432
    "Connection",
433
    "Origin",
434
    "Location",
435
    "Trailer",
436
    "Content-Range",
437
    "Date",
438
    "DNT",
439
    "Content-Location",
440
    "Accept",
441
    "Host",
442
    "Vary",
443
    "Ping-To",
444
    "Content-Encoding",
445
    "Accept-Ranges",
446
    "Cache-Control",
447
    "Last-Event-ID",
448
    "Referer",
449
    "User-Agent",
450
    "If-Range",
451
    "Content-Length",
452
    "Server-Timing",
453
    "Accept-Encoding",
454
    "Content-Language",
455
    "Pragma",
456
    "Accept-Charset",
457
    "Content-Type",
458
    "Content-Disposition",
459
    "Refresh",
460
    "Accept-Language",
461
    "Upgrade",
462
    "Transfer-Encoding",
463
    "Authorization",
464
    "Purpose",
465
    "Cookie",
466
    "SourceMap",
467
    "Expect",
468
    "Set-Cookie",
469
    "Link",
470
    "Expires",
471
    "If-Match",
472
    "Cookie2",
473
    "Ping-From",
474
    "If-None-Match",
475
    "Set-Cookie2",
476
    "Referrer-Policy",
477
    "Authentication-Info",
478
    "Access-Control-Allow-Origin",
479
    "Keep-Alive",
480
    "Last-Modified",
481
    "Access-Control-Max-Age",
482
    "Cross-Origin-Resource-Policy",
483
    "Timing-Allow-Origin",
484
    "X-Temp-Tablet",
485
    "Default-Style",
486
    "Access-Control-Allow-Credentials",
487
    "Content-Security-Policy",
488
    "Access-Control-Allow-Headers",
489
    "X-SourceMap",
490
    "If-Modified-Since",
491
    "Service-Worker",
492
    "Access-Control-Request-Headers",
493
    "X-Content-Type-Options",
494
    "Access-Control-Expose-Headers",
495
    "Sec-WebSocket-Version",
496
    "X-Frame-Options",
497
    "X-XSS-Protection",
498
    "Access-Control-Allow-Methods",
499
    "Sec-WebSocket-Accept",
500
    "Proxy-Authenticate",
501
    "If-Unmodified-Since",
502
    "Access-Control-Request-Method",
503
    "Sec-WebSocket-Protocol",
504
    "X-DNS-Prefetch-Control",
505
    "Proxy-Authorization",
506
    "Upgrade-Insecure-Requests",
507
    "Content-Security-Policy-Report-Only",
508
    "Proxy-Authentication-Info",
509
    "Sec-WebSocket-Extensions",
510
    "WWW-Authenticate",
511
    "Service-Worker-Allowed",
512
    "Sec-WebSocket-Key"
513
  };
514
0
#define stringpool ((const char *) &stringpool_contents)
515
516
static const struct SoupHeaderHashEntry wordlist[] =
517
  {
518
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str0, SOUP_HEADER_TE},
519
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str1, SOUP_HEADER_VIA},
520
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str2, SOUP_HEADER_AGE},
521
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str3, SOUP_HEADER_ETAG},
522
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str4, SOUP_HEADER_RANGE},
523
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, SOUP_HEADER_SERVER},
524
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, SOUP_HEADER_CONNECTION},
525
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, SOUP_HEADER_ORIGIN},
526
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, SOUP_HEADER_LOCATION},
527
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, SOUP_HEADER_TRAILER},
528
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, SOUP_HEADER_CONTENT_RANGE},
529
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, SOUP_HEADER_DATE},
530
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, SOUP_HEADER_DNT},
531
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, SOUP_HEADER_CONTENT_LOCATION},
532
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, SOUP_HEADER_ACCEPT},
533
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, SOUP_HEADER_HOST},
534
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, SOUP_HEADER_VARY},
535
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, SOUP_HEADER_PING_TO},
536
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, SOUP_HEADER_CONTENT_ENCODING},
537
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, SOUP_HEADER_ACCEPT_RANGES},
538
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, SOUP_HEADER_CACHE_CONTROL},
539
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, SOUP_HEADER_LAST_EVENT_ID},
540
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, SOUP_HEADER_REFERER},
541
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, SOUP_HEADER_USER_AGENT},
542
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, SOUP_HEADER_IF_RANGE},
543
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, SOUP_HEADER_CONTENT_LENGTH},
544
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, SOUP_HEADER_SERVER_TIMING},
545
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, SOUP_HEADER_ACCEPT_ENCODING},
546
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, SOUP_HEADER_CONTENT_LANGUAGE},
547
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, SOUP_HEADER_PRAGMA},
548
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, SOUP_HEADER_ACCEPT_CHARSET},
549
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, SOUP_HEADER_CONTENT_TYPE},
550
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, SOUP_HEADER_CONTENT_DISPOSITION},
551
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, SOUP_HEADER_REFRESH},
552
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, SOUP_HEADER_ACCEPT_LANGUAGE},
553
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, SOUP_HEADER_UPGRADE},
554
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, SOUP_HEADER_TRANSFER_ENCODING},
555
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, SOUP_HEADER_AUTHORIZATION},
556
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, SOUP_HEADER_PURPOSE},
557
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, SOUP_HEADER_COOKIE},
558
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, SOUP_HEADER_SOURCEMAP},
559
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, SOUP_HEADER_EXPECT},
560
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, SOUP_HEADER_SET_COOKIE},
561
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, SOUP_HEADER_LINK},
562
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, SOUP_HEADER_EXPIRES},
563
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, SOUP_HEADER_IF_MATCH},
564
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, SOUP_HEADER_COOKIE2},
565
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, SOUP_HEADER_PING_FROM},
566
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, SOUP_HEADER_IF_NONE_MATCH},
567
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, SOUP_HEADER_SET_COOKIE2},
568
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, SOUP_HEADER_REFERRER_POLICY},
569
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, SOUP_HEADER_AUTHENTICATION_INFO},
570
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, SOUP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN},
571
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53, SOUP_HEADER_KEEP_ALIVE},
572
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, SOUP_HEADER_LAST_MODIFIED},
573
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str55, SOUP_HEADER_ACCESS_CONTROL_MAX_AGE},
574
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str56, SOUP_HEADER_CROSS_ORIGIN_RESOURCE_POLICY},
575
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, SOUP_HEADER_TIMING_ALLOW_ORIGIN},
576
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str58, SOUP_HEADER_X_TEMP_TABLET},
577
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str59, SOUP_HEADER_DEFAULT_STYLE},
578
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60, SOUP_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS},
579
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61, SOUP_HEADER_CONTENT_SECURITY_POLICY},
580
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62, SOUP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS},
581
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, SOUP_HEADER_X_SOURCEMAP},
582
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, SOUP_HEADER_IF_MODIFIED_SINCE},
583
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, SOUP_HEADER_SERVICE_WORKER},
584
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, SOUP_HEADER_ACCESS_CONTROL_REQUEST_HEADERS},
585
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, SOUP_HEADER_X_CONTENT_TYPE_OPTIONS},
586
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str68, SOUP_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS},
587
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str69, SOUP_HEADER_SEC_WEBSOCKET_VERSION},
588
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str70, SOUP_HEADER_X_FRAME_OPTIONS},
589
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, SOUP_HEADER_X_XSS_PROTECTION},
590
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, SOUP_HEADER_ACCESS_CONTROL_ALLOW_METHODS},
591
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str73, SOUP_HEADER_SEC_WEBSOCKET_ACCEPT},
592
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, SOUP_HEADER_PROXY_AUTHENTICATE},
593
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75, SOUP_HEADER_IF_UNMODIFIED_SINCE},
594
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, SOUP_HEADER_ACCESS_CONTROL_REQUEST_METHOD},
595
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77, SOUP_HEADER_SEC_WEBSOCKET_PROTOCOL},
596
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str78, SOUP_HEADER_X_DNS_PREFETCH_CONTROL},
597
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, SOUP_HEADER_PROXY_AUTHORIZATION},
598
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, SOUP_HEADER_UPGRADE_INSECURE_REQUESTS},
599
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, SOUP_HEADER_CONTENT_SECURITY_POLICY_REPORT_ONLY},
600
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str82, SOUP_HEADER_PROXY_AUTHENTICATION_INFO},
601
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str83, SOUP_HEADER_SEC_WEBSOCKET_EXTENSIONS},
602
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, SOUP_HEADER_WWW_AUTHENTICATE},
603
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85, SOUP_HEADER_SERVICE_WORKER_ALLOWED},
604
    {(int)(size_t)&((struct stringpool_t *)0)->stringpool_str86, SOUP_HEADER_SEC_WEBSOCKET_KEY}
605
  };
606
607
static const signed char lookup[] =
608
  {
609
    -1, -1, -1, -1, -1,  0, -1, -1, -1,  1,  2, -1, -1, -1,
610
    -1,  3, -1, -1, -1, -1,  4, -1, -1, -1,  5,  6, -1, -1,
611
    -1, -1,  7, -1, -1, -1, -1,  8, -1, -1, -1, -1,  9, -1,
612
    -1, -1, -1, 10, -1, -1, -1, -1, 11, -1, -1, -1, -1, 12,
613
    -1, -1, -1, -1, 13, -1, -1, -1, -1, 14, -1, -1, -1, -1,
614
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1,
615
    16, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 18, -1, -1,
616
    -1, -1, 19, -1, -1, -1, -1, 20, -1, -1, -1, 21, 22, -1,
617
    -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
618
    -1, -1, -1, -1, 25, -1, -1, -1, 26, -1, -1, -1, -1, -1,
619
    27, -1, -1, -1, -1, 28, -1, -1, -1, -1, 29, -1, -1, -1,
620
    -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1,
621
    -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, -1, -1, 33, -1,
622
    -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, 35,
623
    -1, -1, -1, -1, 36, -1, -1, -1, -1, 37, -1, -1, -1, -1,
624
    38, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
625
    -1, 40, -1, -1, -1, -1, 41, -1, -1, -1, -1, 42, -1, -1,
626
    -1, -1, 43, -1, -1, -1, -1, 44, -1, -1, -1, -1, 45, -1,
627
    -1, -1, -1, 46, -1, -1, -1, -1, 47, -1, -1, -1, -1, 48,
628
    -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
629
    50, -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, -1,
630
    -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1,
631
    -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
632
    -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
633
    -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
634
    58, -1, -1, -1, -1, 59, -1, -1, -1, -1, 60, -1, -1, -1,
635
    -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
636
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1,
637
    -1, -1, -1, 63, -1, -1, -1, -1, 64, -1, -1, -1, 65, -1,
638
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
639
    66, -1, -1, -1, -1, 67, -1, -1, -1, -1, 68, -1, -1, -1,
640
    69, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
641
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
642
    -1, -1, -1, 72, -1, -1, -1, -1, 73, -1, -1, -1, -1, 74,
643
    -1, -1, -1, -1, 75, -1, -1, -1, -1, 76, -1, -1, -1, -1,
644
    -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, -1, -1,
645
    -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
646
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
647
    -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
648
    -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
649
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
650
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
651
    -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1,
652
    -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
653
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
654
    -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1,
655
    -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1,
656
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
657
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
658
    -1, -1, -1, -1, 86
659
  };
660
661
static const struct SoupHeaderHashEntry *
662
soup_header_name_find (register const char *str, register size_t len)
663
0
{
664
0
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
665
0
    {
666
0
      register unsigned int key = soup_header_name_hash_function (str, len);
667
668
0
      if (key <= MAX_HASH_VALUE)
669
0
        {
670
0
          register int index = lookup[key];
671
672
0
          if (index >= 0)
673
0
            {
674
0
              register const char *s = wordlist[index].name + stringpool;
675
676
0
              if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
677
0
                return &wordlist[index];
678
0
            }
679
0
        }
680
0
    }
681
0
  return 0;
682
0
}
683
684
SoupHeaderName soup_header_name_from_string (const char *str)
685
0
{
686
0
        const struct SoupHeaderHashEntry *entry;
687
688
0
        entry = soup_header_name_find (str, strlen (str));
689
0
        return entry ? entry->header_name : SOUP_HEADER_UNKNOWN;
690
0
}
691
692
const char *soup_header_name_to_string (SoupHeaderName name)
693
0
{
694
0
        if (name == SOUP_HEADER_UNKNOWN)
695
0
                return NULL;
696
697
0
        return soup_headr_name_strings[name];
698
0
}