Coverage Report

Created: 2026-07-20 07:04

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libe-book/src/lib/EPubToken.inc
Line
Count
Source
1
/* C++ code produced by gperf version 3.1 */
2
/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ EPubToken.gperf  */
3
/* Computed positions: -k'1' */
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 "EPubToken.gperf"
33
34
#include "EPubToken.h"
35
36
#if defined __GNUC__
37
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
38
#endif
39
40
using namespace EPubToken;
41
#line 12 "EPubToken.gperf"
42
struct Token
43
{
44
  const char *name;
45
  int id;
46
};
47
#include <string.h>
48
/* maximum key range = 45, duplicates = 0 */
49
50
class Perfect_Hash
51
{
52
private:
53
  static inline unsigned int hash (const char *str, size_t len);
54
public:
55
  static const struct Token *in_word_set (const char *str, size_t len);
56
};
57
58
inline unsigned int
59
Perfect_Hash::hash (const char *str, size_t len)
60
5.78k
{
61
5.78k
  static const unsigned char asso_values[] =
62
5.78k
    {
63
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
64
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
65
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
66
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
67
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48,  0,
68
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
69
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
70
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
71
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
72
5.78k
      48, 48, 48, 48, 48, 48, 48,  0, 48, 10,
73
5.78k
      48, 15,  5, 48, 48, 48, 48, 48, 48,  5,
74
5.78k
      48, 48, 48, 48,  0,  0, 48,  0,  0, 48,
75
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
76
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
77
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
78
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
79
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
80
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
81
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
82
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
83
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
84
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
85
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
86
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
87
5.78k
      48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
88
5.78k
      48, 48, 48, 48, 48, 48
89
5.78k
    };
90
5.78k
  return len + asso_values[static_cast<unsigned char>(str[0])];
91
5.78k
}
92
93
const struct Token *
94
Perfect_Hash::in_word_set (const char *str, size_t len)
95
5.82k
{
96
5.82k
  enum
97
5.82k
    {
98
5.82k
      TOTAL_KEYWORDS = 12,
99
5.82k
      MIN_WORD_LENGTH = 3,
100
5.82k
      MAX_WORD_LENGTH = 47,
101
5.82k
      MIN_HASH_VALUE = 3,
102
5.82k
      MAX_HASH_VALUE = 47
103
5.82k
    };
104
105
5.82k
  static const struct Token wordlist[] =
106
5.82k
    {
107
5.82k
      {(char*)0}, {(char*)0}, {(char*)0},
108
5.82k
#line 18 "EPubToken.gperf"
109
5.82k
      {"1.0",_1_0},
110
5.82k
      {(char*)0}, {(char*)0}, {(char*)0},
111
5.82k
#line 29 "EPubToken.gperf"
112
5.82k
      {"version",version},
113
5.82k
#line 25 "EPubToken.gperf"
114
5.82k
      {"rootfile",rootfile},
115
5.82k
#line 26 "EPubToken.gperf"
116
5.82k
      {"rootfiles",rootfiles},
117
5.82k
#line 27 "EPubToken.gperf"
118
5.82k
      {"signatures",signatures},
119
5.82k
      {(char*)0}, {(char*)0}, {(char*)0},
120
5.82k
#line 23 "EPubToken.gperf"
121
5.82k
      {"full-path",full_path},
122
5.82k
#line 24 "EPubToken.gperf"
123
5.82k
      {"media-type",media_type},
124
5.82k
      {(char*)0}, {(char*)0}, {(char*)0},
125
5.82k
#line 21 "EPubToken.gperf"
126
5.82k
      {"container",container},
127
5.82k
#line 19 "EPubToken.gperf"
128
5.82k
      {"application/epub+zip",MIME_epub},
129
5.82k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
130
5.82k
#line 22 "EPubToken.gperf"
131
5.82k
      {"encryption",encryption},
132
5.82k
      {(char*)0}, {(char*)0}, {(char*)0},
133
5.82k
#line 20 "EPubToken.gperf"
134
5.82k
      {"application/oebps-package+xml",MIME_opf},
135
5.82k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
136
5.82k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
137
5.82k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
138
5.82k
      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
139
5.82k
      {(char*)0},
140
5.82k
#line 28 "EPubToken.gperf"
141
5.82k
      {"urn:oasis:names:tc:opendocument:xmlns:container",NS_container}
142
5.82k
    };
143
144
5.82k
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
145
5.78k
    {
146
5.78k
      unsigned int key = hash (str, len);
147
148
5.78k
      if (key <= MAX_HASH_VALUE)
149
160
        {
150
160
          const char *s = wordlist[key].name;
151
152
160
          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
153
4
            return &wordlist[key];
154
160
        }
155
5.78k
    }
156
5.82k
  return 0;
157
5.82k
}
158
#line 30 "EPubToken.gperf"
159