mail 2.7.1 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +135 -59
  3. data/lib/mail/attachments_list.rb +5 -6
  4. data/lib/mail/body.rb +51 -74
  5. data/lib/mail/constants.rb +27 -5
  6. data/lib/mail/elements/address.rb +27 -27
  7. data/lib/mail/elements/address_list.rb +1 -1
  8. data/lib/mail/elements/content_disposition_element.rb +1 -1
  9. data/lib/mail/elements/content_location_element.rb +1 -1
  10. data/lib/mail/elements/content_transfer_encoding_element.rb +1 -1
  11. data/lib/mail/elements/content_type_element.rb +8 -4
  12. data/lib/mail/elements/date_time_element.rb +1 -1
  13. data/lib/mail/elements/envelope_from_element.rb +13 -7
  14. data/lib/mail/elements/message_ids_element.rb +14 -5
  15. data/lib/mail/elements/mime_version_element.rb +1 -1
  16. data/lib/mail/elements/phrase_list.rb +7 -2
  17. data/lib/mail/elements/received_element.rb +20 -6
  18. data/lib/mail/encodings/7bit.rb +5 -0
  19. data/lib/mail/encodings/base64.rb +2 -2
  20. data/lib/mail/encodings/quoted_printable.rb +2 -2
  21. data/lib/mail/encodings/unix_to_unix.rb +1 -1
  22. data/lib/mail/encodings.rb +32 -61
  23. data/lib/mail/envelope.rb +11 -14
  24. data/lib/mail/field.rb +100 -86
  25. data/lib/mail/field_list.rb +61 -8
  26. data/lib/mail/fields/bcc_field.rb +33 -52
  27. data/lib/mail/fields/cc_field.rb +27 -49
  28. data/lib/mail/fields/comments_field.rb +26 -37
  29. data/lib/mail/fields/common_address_field.rb +162 -0
  30. data/lib/mail/fields/common_date_field.rb +56 -0
  31. data/lib/mail/fields/common_field.rb +77 -0
  32. data/lib/mail/fields/common_message_id_field.rb +41 -0
  33. data/lib/mail/fields/content_description_field.rb +6 -14
  34. data/lib/mail/fields/content_disposition_field.rb +11 -38
  35. data/lib/mail/fields/content_id_field.rb +23 -51
  36. data/lib/mail/fields/content_location_field.rb +10 -25
  37. data/lib/mail/fields/content_transfer_encoding_field.rb +30 -31
  38. data/lib/mail/fields/content_type_field.rb +49 -75
  39. data/lib/mail/fields/date_field.rb +22 -51
  40. data/lib/mail/fields/from_field.rb +27 -49
  41. data/lib/mail/fields/in_reply_to_field.rb +37 -49
  42. data/lib/mail/fields/keywords_field.rb +17 -31
  43. data/lib/mail/fields/message_id_field.rb +24 -71
  44. data/lib/mail/fields/mime_version_field.rb +18 -30
  45. data/lib/mail/fields/named_structured_field.rb +10 -0
  46. data/lib/mail/fields/named_unstructured_field.rb +10 -0
  47. data/lib/mail/fields/optional_field.rb +5 -7
  48. data/lib/mail/fields/{common/parameter_hash.rb → parameter_hash.rb} +12 -10
  49. data/lib/mail/fields/received_field.rb +42 -57
  50. data/lib/mail/fields/references_field.rb +34 -49
  51. data/lib/mail/fields/reply_to_field.rb +27 -49
  52. data/lib/mail/fields/resent_bcc_field.rb +27 -49
  53. data/lib/mail/fields/resent_cc_field.rb +27 -49
  54. data/lib/mail/fields/resent_date_field.rb +4 -29
  55. data/lib/mail/fields/resent_from_field.rb +27 -49
  56. data/lib/mail/fields/resent_message_id_field.rb +4 -29
  57. data/lib/mail/fields/resent_sender_field.rb +26 -56
  58. data/lib/mail/fields/resent_to_field.rb +27 -49
  59. data/lib/mail/fields/return_path_field.rb +49 -54
  60. data/lib/mail/fields/sender_field.rb +33 -55
  61. data/lib/mail/fields/structured_field.rb +2 -30
  62. data/lib/mail/fields/subject_field.rb +8 -11
  63. data/lib/mail/fields/to_field.rb +27 -49
  64. data/lib/mail/fields/unstructured_field.rb +15 -48
  65. data/lib/mail/fields.rb +9 -0
  66. data/lib/mail/header.rb +69 -110
  67. data/lib/mail/mail.rb +32 -27
  68. data/lib/mail/matchers/attachment_matchers.rb +15 -0
  69. data/lib/mail/message.rb +67 -78
  70. data/lib/mail/multibyte/chars.rb +9 -167
  71. data/lib/mail/multibyte/unicode.rb +1 -1
  72. data/lib/mail/multibyte/utils.rb +26 -43
  73. data/lib/mail/multibyte.rb +1 -11
  74. data/lib/mail/network/delivery_methods/exim.rb +5 -4
  75. data/lib/mail/network/delivery_methods/file_delivery.rb +13 -12
  76. data/lib/mail/network/delivery_methods/logger_delivery.rb +2 -5
  77. data/lib/mail/network/delivery_methods/sendmail.rb +27 -35
  78. data/lib/mail/network/delivery_methods/smtp.rb +81 -30
  79. data/lib/mail/network/delivery_methods/smtp_connection.rb +10 -19
  80. data/lib/mail/network/delivery_methods/test_mailer.rb +8 -6
  81. data/lib/mail/network/retriever_methods/base.rb +13 -13
  82. data/lib/mail/network/retriever_methods/imap.rb +8 -5
  83. data/lib/mail/network/retriever_methods/pop3.rb +22 -22
  84. data/lib/mail/network/retriever_methods/test_retriever.rb +2 -1
  85. data/lib/mail/parsers/address_lists_parser.rb +33073 -33064
  86. data/lib/mail/parsers/address_lists_parser.rl +11 -0
  87. data/lib/mail/parsers/content_disposition_parser.rb +837 -828
  88. data/lib/mail/parsers/content_disposition_parser.rl +11 -0
  89. data/lib/mail/parsers/content_location_parser.rb +773 -764
  90. data/lib/mail/parsers/content_location_parser.rl +12 -1
  91. data/lib/mail/parsers/content_transfer_encoding_parser.rb +477 -468
  92. data/lib/mail/parsers/content_transfer_encoding_parser.rl +11 -0
  93. data/lib/mail/parsers/content_type_parser.rb +974 -965
  94. data/lib/mail/parsers/content_type_parser.rl +11 -0
  95. data/lib/mail/parsers/date_time_parser.rb +841 -832
  96. data/lib/mail/parsers/date_time_parser.rl +11 -0
  97. data/lib/mail/parsers/envelope_from_parser.rb +3627 -3530
  98. data/lib/mail/parsers/envelope_from_parser.rl +11 -0
  99. data/lib/mail/parsers/message_ids_parser.rb +5110 -2800
  100. data/lib/mail/parsers/message_ids_parser.rl +16 -1
  101. data/lib/mail/parsers/mime_version_parser.rb +466 -457
  102. data/lib/mail/parsers/mime_version_parser.rl +11 -0
  103. data/lib/mail/parsers/phrase_lists_parser.rb +839 -830
  104. data/lib/mail/parsers/phrase_lists_parser.rl +12 -1
  105. data/lib/mail/parsers/received_parser.rb +8692 -8683
  106. data/lib/mail/parsers/received_parser.rl +11 -0
  107. data/lib/mail/parsers/rfc5322.rl +28 -13
  108. data/lib/mail/parsers.rb +11 -17
  109. data/lib/mail/part.rb +24 -28
  110. data/lib/mail/parts_list.rb +57 -0
  111. data/lib/mail/smtp_envelope.rb +57 -0
  112. data/lib/mail/utilities.rb +321 -69
  113. data/lib/mail/version.rb +1 -1
  114. data/lib/mail/yaml.rb +30 -0
  115. data/lib/mail.rb +2 -22
  116. metadata +83 -19
  117. data/lib/mail/check_delivery_params.rb +0 -60
  118. data/lib/mail/core_extensions/smtp.rb +0 -28
  119. data/lib/mail/core_extensions/string.rb +0 -17
  120. data/lib/mail/fields/common/address_container.rb +0 -17
  121. data/lib/mail/fields/common/common_address.rb +0 -161
  122. data/lib/mail/fields/common/common_date.rb +0 -36
  123. data/lib/mail/fields/common/common_field.rb +0 -52
  124. data/lib/mail/fields/common/common_message_id.rb +0 -49
  125. data/lib/mail/version_specific/ruby_1_8.rb +0 -163
  126. data/lib/mail/version_specific/ruby_1_9.rb +0 -278
@@ -1,507 +1,516 @@
1
-
2
1
  # frozen_string_literal: true
3
2
  require "mail/utilities"
4
3
  require "mail/parser_tools"
5
4
 
6
- module Mail::Parsers
7
- module MimeVersionParser
8
- extend Mail::ParserTools
5
+ begin
6
+ original_verbose, $VERBOSE = $VERBOSE, nil
9
7
 
10
- MimeVersionStruct = Struct.new(:major, :minor, :error)
8
+ module Mail::Parsers
9
+ module MimeVersionParser
10
+ extend Mail::ParserTools
11
11
 
12
- class << self
13
- attr_accessor :_trans_keys
14
- private :_trans_keys, :_trans_keys=
15
- end
16
- self._trans_keys = [
17
- 0, 0, 9, 57, 10, 10,
18
- 9, 32, 9, 57, 40,
19
- 57, 46, 46, 40, 57,
20
- 48, 57, 10, 10, 9, 32,
21
- 1, 244, 1, 244, 10,
22
- 10, 9, 32, 0, 244,
23
- 128, 191, 160, 191, 128, 191,
24
- 128, 159, 144, 191, 128,
25
- 191, 128, 143, 9, 57,
26
- 9, 40, 9, 40, 0, 0,
27
- 0,
28
- ]
12
+ MimeVersionStruct = Struct.new(:major, :minor, :error)
29
13
 
30
- class << self
31
- attr_accessor :_key_spans
32
- private :_key_spans, :_key_spans=
33
- end
34
- self._key_spans = [
35
- 0, 49, 1, 24, 49, 18, 1, 18,
36
- 10, 1, 24, 244, 244, 1, 24, 245,
37
- 64, 32, 64, 32, 48, 64, 16, 49,
38
- 32, 32, 0,
39
- ]
14
+ class << self
15
+ attr_accessor :_trans_keys
16
+ private :_trans_keys, :_trans_keys=
17
+ end
18
+ self._trans_keys = [
19
+ 0, 0, 9, 57, 10, 10,
20
+ 9, 32, 9, 57, 40,
21
+ 57, 46, 46, 40, 57,
22
+ 48, 57, 10, 10, 9, 32,
23
+ 1, 244, 1, 244, 10,
24
+ 10, 9, 32, 0, 244,
25
+ 128, 191, 160, 191, 128, 191,
26
+ 128, 159, 144, 191, 128,
27
+ 191, 128, 143, 9, 57,
28
+ 9, 40, 9, 40, 0, 0,
29
+ 0,
30
+ ]
40
31
 
41
- class << self
42
- attr_accessor :_index_offsets
43
- private :_index_offsets, :_index_offsets=
44
- end
45
- self._index_offsets = [
46
- 0, 0, 50, 52, 77, 127, 146, 148,
47
- 167, 178, 180, 205, 450, 695, 697, 722,
48
- 968, 1033, 1066, 1131, 1164, 1213, 1278, 1295,
49
- 1345, 1378, 1411,
50
- ]
32
+ class << self
33
+ attr_accessor :_key_spans
34
+ private :_key_spans, :_key_spans=
35
+ end
36
+ self._key_spans = [
37
+ 0, 49, 1, 24, 49, 18, 1, 18,
38
+ 10, 1, 24, 244, 244, 1, 24, 245,
39
+ 64, 32, 64, 32, 48, 64, 16, 49,
40
+ 32, 32, 0,
41
+ ]
51
42
 
52
- class << self
53
- attr_accessor :_indicies
54
- private :_indicies, :_indicies=
55
- end
56
- self._indicies = [
57
- 0, 1, 1, 1, 2, 1, 1, 1,
58
- 1, 1, 1, 1, 1, 1, 1, 1,
59
- 1, 1, 1, 1, 1, 1, 1, 0,
60
- 1, 1, 1, 1, 1, 1, 1, 3,
61
- 1, 1, 1, 1, 1, 1, 1, 4,
62
- 4, 4, 4, 4, 4, 4, 4, 4,
63
- 4, 1, 5, 1, 0, 1, 1, 1,
64
- 1, 1, 1, 1, 1, 1, 1, 1,
65
- 1, 1, 1, 1, 1, 1, 1, 1,
66
- 1, 1, 1, 0, 1, 6, 1, 1,
67
- 1, 7, 1, 1, 1, 1, 1, 1,
68
- 1, 1, 1, 1, 1, 1, 1, 1,
69
- 1, 1, 1, 1, 6, 1, 1, 1,
70
- 1, 1, 1, 1, 8, 1, 1, 1,
71
- 1, 1, 1, 1, 9, 9, 9, 9,
72
- 9, 9, 9, 9, 9, 9, 1, 10,
73
- 1, 1, 1, 1, 1, 11, 1, 12,
74
- 12, 12, 12, 12, 12, 12, 12, 12,
75
- 12, 1, 13, 1, 14, 1, 1, 1,
76
- 1, 1, 1, 1, 15, 15, 15, 15,
77
- 15, 15, 15, 15, 15, 15, 1, 16,
78
- 16, 16, 16, 16, 16, 16, 16, 16,
79
- 16, 1, 17, 1, 18, 1, 1, 1,
80
- 1, 1, 1, 1, 1, 1, 1, 1,
81
- 1, 1, 1, 1, 1, 1, 1, 1,
82
- 1, 1, 1, 18, 1, 19, 19, 19,
83
- 19, 19, 19, 19, 19, 19, 1, 19,
84
- 19, 20, 19, 19, 19, 19, 19, 19,
85
- 19, 19, 19, 19, 19, 19, 19, 19,
86
- 19, 19, 19, 19, 19, 19, 19, 19,
87
- 19, 19, 19, 19, 21, 22, 19, 19,
88
- 19, 19, 19, 19, 19, 19, 19, 19,
89
- 19, 19, 19, 19, 19, 19, 19, 19,
90
- 19, 19, 19, 19, 19, 19, 19, 19,
91
- 19, 19, 19, 19, 19, 19, 19, 19,
92
- 19, 19, 19, 19, 19, 19, 19, 19,
93
- 19, 19, 19, 19, 19, 19, 19, 19,
94
- 23, 19, 19, 19, 19, 19, 19, 19,
95
- 19, 19, 19, 19, 19, 19, 19, 19,
96
- 19, 19, 19, 19, 19, 19, 19, 19,
97
- 19, 19, 19, 19, 19, 19, 19, 19,
98
- 19, 19, 19, 19, 1, 1, 1, 1,
99
- 1, 1, 1, 1, 1, 1, 1, 1,
100
- 1, 1, 1, 1, 1, 1, 1, 1,
101
- 1, 1, 1, 1, 1, 1, 1, 1,
102
- 1, 1, 1, 1, 1, 1, 1, 1,
103
- 1, 1, 1, 1, 1, 1, 1, 1,
104
- 1, 1, 1, 1, 1, 1, 1, 1,
105
- 1, 1, 1, 1, 1, 1, 1, 1,
106
- 1, 1, 1, 1, 1, 1, 24, 24,
107
- 24, 24, 24, 24, 24, 24, 24, 24,
108
- 24, 24, 24, 24, 24, 24, 24, 24,
109
- 24, 24, 24, 24, 24, 24, 24, 24,
110
- 24, 24, 24, 24, 25, 26, 26, 26,
111
- 26, 26, 26, 26, 26, 26, 26, 26,
112
- 26, 27, 26, 26, 28, 29, 29, 29,
113
- 30, 1, 31, 31, 31, 31, 31, 31,
114
- 31, 31, 31, 1, 31, 31, 32, 31,
115
- 31, 31, 31, 31, 31, 31, 31, 31,
116
- 31, 31, 31, 31, 31, 31, 31, 31,
117
- 31, 31, 31, 31, 31, 31, 31, 31,
118
- 31, 33, 34, 31, 31, 31, 31, 31,
119
- 31, 31, 31, 31, 31, 31, 31, 31,
120
- 31, 31, 31, 31, 31, 31, 31, 31,
121
- 31, 31, 31, 31, 31, 31, 31, 31,
122
- 31, 31, 31, 31, 31, 31, 31, 31,
123
- 31, 31, 31, 31, 31, 31, 31, 31,
124
- 31, 31, 31, 31, 31, 35, 31, 31,
125
- 31, 31, 31, 31, 31, 31, 31, 31,
126
- 31, 31, 31, 31, 31, 31, 31, 31,
127
- 31, 31, 31, 31, 31, 31, 31, 31,
128
- 31, 31, 31, 31, 31, 31, 31, 31,
129
- 31, 1, 1, 1, 1, 1, 1, 1,
130
- 1, 1, 1, 1, 1, 1, 1, 1,
131
- 1, 1, 1, 1, 1, 1, 1, 1,
132
- 1, 1, 1, 1, 1, 1, 1, 1,
133
- 1, 1, 1, 1, 1, 1, 1, 1,
134
- 1, 1, 1, 1, 1, 1, 1, 1,
135
- 1, 1, 1, 1, 1, 1, 1, 1,
136
- 1, 1, 1, 1, 1, 1, 1, 1,
137
- 1, 1, 1, 36, 36, 36, 36, 36,
138
- 36, 36, 36, 36, 36, 36, 36, 36,
139
- 36, 36, 36, 36, 36, 36, 36, 36,
140
- 36, 36, 36, 36, 36, 36, 36, 36,
141
- 36, 37, 38, 38, 38, 38, 38, 38,
142
- 38, 38, 38, 38, 38, 38, 39, 38,
143
- 38, 40, 41, 41, 41, 42, 1, 43,
144
- 1, 31, 1, 1, 1, 1, 1, 1,
145
- 1, 1, 1, 1, 1, 1, 1, 1,
146
- 1, 1, 1, 1, 1, 1, 1, 1,
147
- 31, 1, 31, 31, 31, 31, 31, 31,
148
- 31, 31, 31, 31, 31, 31, 31, 31,
149
- 31, 31, 31, 31, 31, 31, 31, 31,
150
- 31, 31, 31, 31, 31, 31, 31, 31,
151
- 31, 31, 31, 31, 31, 31, 31, 31,
152
- 31, 31, 31, 31, 31, 31, 31, 31,
153
- 31, 31, 31, 31, 31, 31, 31, 31,
154
- 31, 31, 31, 31, 31, 31, 31, 31,
155
- 31, 31, 31, 31, 31, 31, 31, 31,
156
- 31, 31, 31, 31, 31, 31, 31, 31,
157
- 31, 31, 31, 31, 31, 31, 31, 31,
158
- 31, 31, 31, 31, 31, 31, 31, 31,
159
- 31, 31, 31, 31, 31, 31, 31, 31,
160
- 31, 31, 31, 31, 31, 31, 31, 31,
161
- 31, 31, 31, 31, 31, 31, 31, 31,
162
- 31, 31, 31, 31, 31, 31, 31, 31,
163
- 31, 31, 1, 1, 1, 1, 1, 1,
164
- 1, 1, 1, 1, 1, 1, 1, 1,
165
- 1, 1, 1, 1, 1, 1, 1, 1,
166
- 1, 1, 1, 1, 1, 1, 1, 1,
167
- 1, 1, 1, 1, 1, 1, 1, 1,
168
- 1, 1, 1, 1, 1, 1, 1, 1,
169
- 1, 1, 1, 1, 1, 1, 1, 1,
170
- 1, 1, 1, 1, 1, 1, 1, 1,
171
- 1, 1, 1, 1, 36, 36, 36, 36,
172
- 36, 36, 36, 36, 36, 36, 36, 36,
173
- 36, 36, 36, 36, 36, 36, 36, 36,
174
- 36, 36, 36, 36, 36, 36, 36, 36,
175
- 36, 36, 37, 38, 38, 38, 38, 38,
176
- 38, 38, 38, 38, 38, 38, 38, 39,
177
- 38, 38, 40, 41, 41, 41, 42, 1,
178
- 31, 31, 31, 31, 31, 31, 31, 31,
179
- 31, 31, 31, 31, 31, 31, 31, 31,
180
- 31, 31, 31, 31, 31, 31, 31, 31,
181
- 31, 31, 31, 31, 31, 31, 31, 31,
182
- 31, 31, 31, 31, 31, 31, 31, 31,
183
- 31, 31, 31, 31, 31, 31, 31, 31,
184
- 31, 31, 31, 31, 31, 31, 31, 31,
185
- 31, 31, 31, 31, 31, 31, 31, 31,
186
- 1, 36, 36, 36, 36, 36, 36, 36,
187
- 36, 36, 36, 36, 36, 36, 36, 36,
188
- 36, 36, 36, 36, 36, 36, 36, 36,
189
- 36, 36, 36, 36, 36, 36, 36, 36,
190
- 36, 1, 36, 36, 36, 36, 36, 36,
191
- 36, 36, 36, 36, 36, 36, 36, 36,
192
- 36, 36, 36, 36, 36, 36, 36, 36,
193
- 36, 36, 36, 36, 36, 36, 36, 36,
194
- 36, 36, 36, 36, 36, 36, 36, 36,
195
- 36, 36, 36, 36, 36, 36, 36, 36,
196
- 36, 36, 36, 36, 36, 36, 36, 36,
197
- 36, 36, 36, 36, 36, 36, 36, 36,
198
- 36, 36, 1, 36, 36, 36, 36, 36,
199
- 36, 36, 36, 36, 36, 36, 36, 36,
200
- 36, 36, 36, 36, 36, 36, 36, 36,
201
- 36, 36, 36, 36, 36, 36, 36, 36,
202
- 36, 36, 36, 1, 38, 38, 38, 38,
203
- 38, 38, 38, 38, 38, 38, 38, 38,
204
- 38, 38, 38, 38, 38, 38, 38, 38,
205
- 38, 38, 38, 38, 38, 38, 38, 38,
206
- 38, 38, 38, 38, 38, 38, 38, 38,
207
- 38, 38, 38, 38, 38, 38, 38, 38,
208
- 38, 38, 38, 38, 1, 38, 38, 38,
209
- 38, 38, 38, 38, 38, 38, 38, 38,
210
- 38, 38, 38, 38, 38, 38, 38, 38,
211
- 38, 38, 38, 38, 38, 38, 38, 38,
212
- 38, 38, 38, 38, 38, 38, 38, 38,
213
- 38, 38, 38, 38, 38, 38, 38, 38,
214
- 38, 38, 38, 38, 38, 38, 38, 38,
215
- 38, 38, 38, 38, 38, 38, 38, 38,
216
- 38, 38, 38, 38, 38, 1, 38, 38,
217
- 38, 38, 38, 38, 38, 38, 38, 38,
218
- 38, 38, 38, 38, 38, 38, 1, 44,
219
- 1, 1, 1, 45, 1, 1, 1, 1,
220
- 1, 1, 1, 1, 1, 1, 1, 1,
221
- 1, 1, 1, 1, 1, 1, 44, 1,
222
- 1, 1, 1, 1, 1, 1, 46, 1,
223
- 1, 1, 1, 1, 1, 1, 47, 47,
224
- 47, 47, 47, 47, 47, 47, 47, 47,
225
- 1, 18, 1, 1, 1, 48, 1, 1,
226
- 1, 1, 1, 1, 1, 1, 1, 1,
227
- 1, 1, 1, 1, 1, 1, 1, 1,
228
- 18, 1, 1, 1, 1, 1, 1, 1,
229
- 49, 1, 50, 1, 1, 1, 51, 1,
230
- 1, 1, 1, 1, 1, 1, 1, 1,
231
- 1, 1, 1, 1, 1, 1, 1, 1,
232
- 1, 50, 1, 1, 1, 1, 1, 1,
233
- 1, 52, 1, 1, 0,
234
- ]
43
+ class << self
44
+ attr_accessor :_index_offsets
45
+ private :_index_offsets, :_index_offsets=
46
+ end
47
+ self._index_offsets = [
48
+ 0, 0, 50, 52, 77, 127, 146, 148,
49
+ 167, 178, 180, 205, 450, 695, 697, 722,
50
+ 968, 1033, 1066, 1131, 1164, 1213, 1278, 1295,
51
+ 1345, 1378, 1411,
52
+ ]
235
53
 
236
- class << self
237
- attr_accessor :_trans_targs
238
- private :_trans_targs, :_trans_targs=
239
- end
240
- self._trans_targs = [
241
- 1, 0, 2, 4, 5, 3, 1, 2,
242
- 4, 5, 6, 7, 5, 7, 8, 23,
243
- 23, 10, 24, 12, 13, 12, 26, 15,
244
- 16, 17, 18, 19, 20, 21, 22, 12,
245
- 13, 12, 26, 15, 16, 17, 18, 19,
246
- 20, 21, 22, 14, 24, 9, 25, 23,
247
- 9, 25, 24, 9, 25,
248
- ]
54
+ class << self
55
+ attr_accessor :_indicies
56
+ private :_indicies, :_indicies=
57
+ end
58
+ self._indicies = [
59
+ 0, 1, 1, 1, 2, 1, 1, 1,
60
+ 1, 1, 1, 1, 1, 1, 1, 1,
61
+ 1, 1, 1, 1, 1, 1, 1, 0,
62
+ 1, 1, 1, 1, 1, 1, 1, 3,
63
+ 1, 1, 1, 1, 1, 1, 1, 4,
64
+ 4, 4, 4, 4, 4, 4, 4, 4,
65
+ 4, 1, 5, 1, 0, 1, 1, 1,
66
+ 1, 1, 1, 1, 1, 1, 1, 1,
67
+ 1, 1, 1, 1, 1, 1, 1, 1,
68
+ 1, 1, 1, 0, 1, 6, 1, 1,
69
+ 1, 7, 1, 1, 1, 1, 1, 1,
70
+ 1, 1, 1, 1, 1, 1, 1, 1,
71
+ 1, 1, 1, 1, 6, 1, 1, 1,
72
+ 1, 1, 1, 1, 8, 1, 1, 1,
73
+ 1, 1, 1, 1, 9, 9, 9, 9,
74
+ 9, 9, 9, 9, 9, 9, 1, 10,
75
+ 1, 1, 1, 1, 1, 11, 1, 12,
76
+ 12, 12, 12, 12, 12, 12, 12, 12,
77
+ 12, 1, 13, 1, 14, 1, 1, 1,
78
+ 1, 1, 1, 1, 15, 15, 15, 15,
79
+ 15, 15, 15, 15, 15, 15, 1, 16,
80
+ 16, 16, 16, 16, 16, 16, 16, 16,
81
+ 16, 1, 17, 1, 18, 1, 1, 1,
82
+ 1, 1, 1, 1, 1, 1, 1, 1,
83
+ 1, 1, 1, 1, 1, 1, 1, 1,
84
+ 1, 1, 1, 18, 1, 19, 19, 19,
85
+ 19, 19, 19, 19, 19, 19, 1, 19,
86
+ 19, 20, 19, 19, 19, 19, 19, 19,
87
+ 19, 19, 19, 19, 19, 19, 19, 19,
88
+ 19, 19, 19, 19, 19, 19, 19, 19,
89
+ 19, 19, 19, 19, 21, 22, 19, 19,
90
+ 19, 19, 19, 19, 19, 19, 19, 19,
91
+ 19, 19, 19, 19, 19, 19, 19, 19,
92
+ 19, 19, 19, 19, 19, 19, 19, 19,
93
+ 19, 19, 19, 19, 19, 19, 19, 19,
94
+ 19, 19, 19, 19, 19, 19, 19, 19,
95
+ 19, 19, 19, 19, 19, 19, 19, 19,
96
+ 23, 19, 19, 19, 19, 19, 19, 19,
97
+ 19, 19, 19, 19, 19, 19, 19, 19,
98
+ 19, 19, 19, 19, 19, 19, 19, 19,
99
+ 19, 19, 19, 19, 19, 19, 19, 19,
100
+ 19, 19, 19, 19, 1, 1, 1, 1,
101
+ 1, 1, 1, 1, 1, 1, 1, 1,
102
+ 1, 1, 1, 1, 1, 1, 1, 1,
103
+ 1, 1, 1, 1, 1, 1, 1, 1,
104
+ 1, 1, 1, 1, 1, 1, 1, 1,
105
+ 1, 1, 1, 1, 1, 1, 1, 1,
106
+ 1, 1, 1, 1, 1, 1, 1, 1,
107
+ 1, 1, 1, 1, 1, 1, 1, 1,
108
+ 1, 1, 1, 1, 1, 1, 24, 24,
109
+ 24, 24, 24, 24, 24, 24, 24, 24,
110
+ 24, 24, 24, 24, 24, 24, 24, 24,
111
+ 24, 24, 24, 24, 24, 24, 24, 24,
112
+ 24, 24, 24, 24, 25, 26, 26, 26,
113
+ 26, 26, 26, 26, 26, 26, 26, 26,
114
+ 26, 27, 26, 26, 28, 29, 29, 29,
115
+ 30, 1, 31, 31, 31, 31, 31, 31,
116
+ 31, 31, 31, 1, 31, 31, 32, 31,
117
+ 31, 31, 31, 31, 31, 31, 31, 31,
118
+ 31, 31, 31, 31, 31, 31, 31, 31,
119
+ 31, 31, 31, 31, 31, 31, 31, 31,
120
+ 31, 33, 34, 31, 31, 31, 31, 31,
121
+ 31, 31, 31, 31, 31, 31, 31, 31,
122
+ 31, 31, 31, 31, 31, 31, 31, 31,
123
+ 31, 31, 31, 31, 31, 31, 31, 31,
124
+ 31, 31, 31, 31, 31, 31, 31, 31,
125
+ 31, 31, 31, 31, 31, 31, 31, 31,
126
+ 31, 31, 31, 31, 31, 35, 31, 31,
127
+ 31, 31, 31, 31, 31, 31, 31, 31,
128
+ 31, 31, 31, 31, 31, 31, 31, 31,
129
+ 31, 31, 31, 31, 31, 31, 31, 31,
130
+ 31, 31, 31, 31, 31, 31, 31, 31,
131
+ 31, 1, 1, 1, 1, 1, 1, 1,
132
+ 1, 1, 1, 1, 1, 1, 1, 1,
133
+ 1, 1, 1, 1, 1, 1, 1, 1,
134
+ 1, 1, 1, 1, 1, 1, 1, 1,
135
+ 1, 1, 1, 1, 1, 1, 1, 1,
136
+ 1, 1, 1, 1, 1, 1, 1, 1,
137
+ 1, 1, 1, 1, 1, 1, 1, 1,
138
+ 1, 1, 1, 1, 1, 1, 1, 1,
139
+ 1, 1, 1, 36, 36, 36, 36, 36,
140
+ 36, 36, 36, 36, 36, 36, 36, 36,
141
+ 36, 36, 36, 36, 36, 36, 36, 36,
142
+ 36, 36, 36, 36, 36, 36, 36, 36,
143
+ 36, 37, 38, 38, 38, 38, 38, 38,
144
+ 38, 38, 38, 38, 38, 38, 39, 38,
145
+ 38, 40, 41, 41, 41, 42, 1, 43,
146
+ 1, 31, 1, 1, 1, 1, 1, 1,
147
+ 1, 1, 1, 1, 1, 1, 1, 1,
148
+ 1, 1, 1, 1, 1, 1, 1, 1,
149
+ 31, 1, 31, 31, 31, 31, 31, 31,
150
+ 31, 31, 31, 31, 31, 31, 31, 31,
151
+ 31, 31, 31, 31, 31, 31, 31, 31,
152
+ 31, 31, 31, 31, 31, 31, 31, 31,
153
+ 31, 31, 31, 31, 31, 31, 31, 31,
154
+ 31, 31, 31, 31, 31, 31, 31, 31,
155
+ 31, 31, 31, 31, 31, 31, 31, 31,
156
+ 31, 31, 31, 31, 31, 31, 31, 31,
157
+ 31, 31, 31, 31, 31, 31, 31, 31,
158
+ 31, 31, 31, 31, 31, 31, 31, 31,
159
+ 31, 31, 31, 31, 31, 31, 31, 31,
160
+ 31, 31, 31, 31, 31, 31, 31, 31,
161
+ 31, 31, 31, 31, 31, 31, 31, 31,
162
+ 31, 31, 31, 31, 31, 31, 31, 31,
163
+ 31, 31, 31, 31, 31, 31, 31, 31,
164
+ 31, 31, 31, 31, 31, 31, 31, 31,
165
+ 31, 31, 1, 1, 1, 1, 1, 1,
166
+ 1, 1, 1, 1, 1, 1, 1, 1,
167
+ 1, 1, 1, 1, 1, 1, 1, 1,
168
+ 1, 1, 1, 1, 1, 1, 1, 1,
169
+ 1, 1, 1, 1, 1, 1, 1, 1,
170
+ 1, 1, 1, 1, 1, 1, 1, 1,
171
+ 1, 1, 1, 1, 1, 1, 1, 1,
172
+ 1, 1, 1, 1, 1, 1, 1, 1,
173
+ 1, 1, 1, 1, 36, 36, 36, 36,
174
+ 36, 36, 36, 36, 36, 36, 36, 36,
175
+ 36, 36, 36, 36, 36, 36, 36, 36,
176
+ 36, 36, 36, 36, 36, 36, 36, 36,
177
+ 36, 36, 37, 38, 38, 38, 38, 38,
178
+ 38, 38, 38, 38, 38, 38, 38, 39,
179
+ 38, 38, 40, 41, 41, 41, 42, 1,
180
+ 31, 31, 31, 31, 31, 31, 31, 31,
181
+ 31, 31, 31, 31, 31, 31, 31, 31,
182
+ 31, 31, 31, 31, 31, 31, 31, 31,
183
+ 31, 31, 31, 31, 31, 31, 31, 31,
184
+ 31, 31, 31, 31, 31, 31, 31, 31,
185
+ 31, 31, 31, 31, 31, 31, 31, 31,
186
+ 31, 31, 31, 31, 31, 31, 31, 31,
187
+ 31, 31, 31, 31, 31, 31, 31, 31,
188
+ 1, 36, 36, 36, 36, 36, 36, 36,
189
+ 36, 36, 36, 36, 36, 36, 36, 36,
190
+ 36, 36, 36, 36, 36, 36, 36, 36,
191
+ 36, 36, 36, 36, 36, 36, 36, 36,
192
+ 36, 1, 36, 36, 36, 36, 36, 36,
193
+ 36, 36, 36, 36, 36, 36, 36, 36,
194
+ 36, 36, 36, 36, 36, 36, 36, 36,
195
+ 36, 36, 36, 36, 36, 36, 36, 36,
196
+ 36, 36, 36, 36, 36, 36, 36, 36,
197
+ 36, 36, 36, 36, 36, 36, 36, 36,
198
+ 36, 36, 36, 36, 36, 36, 36, 36,
199
+ 36, 36, 36, 36, 36, 36, 36, 36,
200
+ 36, 36, 1, 36, 36, 36, 36, 36,
201
+ 36, 36, 36, 36, 36, 36, 36, 36,
202
+ 36, 36, 36, 36, 36, 36, 36, 36,
203
+ 36, 36, 36, 36, 36, 36, 36, 36,
204
+ 36, 36, 36, 1, 38, 38, 38, 38,
205
+ 38, 38, 38, 38, 38, 38, 38, 38,
206
+ 38, 38, 38, 38, 38, 38, 38, 38,
207
+ 38, 38, 38, 38, 38, 38, 38, 38,
208
+ 38, 38, 38, 38, 38, 38, 38, 38,
209
+ 38, 38, 38, 38, 38, 38, 38, 38,
210
+ 38, 38, 38, 38, 1, 38, 38, 38,
211
+ 38, 38, 38, 38, 38, 38, 38, 38,
212
+ 38, 38, 38, 38, 38, 38, 38, 38,
213
+ 38, 38, 38, 38, 38, 38, 38, 38,
214
+ 38, 38, 38, 38, 38, 38, 38, 38,
215
+ 38, 38, 38, 38, 38, 38, 38, 38,
216
+ 38, 38, 38, 38, 38, 38, 38, 38,
217
+ 38, 38, 38, 38, 38, 38, 38, 38,
218
+ 38, 38, 38, 38, 38, 1, 38, 38,
219
+ 38, 38, 38, 38, 38, 38, 38, 38,
220
+ 38, 38, 38, 38, 38, 38, 1, 44,
221
+ 1, 1, 1, 45, 1, 1, 1, 1,
222
+ 1, 1, 1, 1, 1, 1, 1, 1,
223
+ 1, 1, 1, 1, 1, 1, 44, 1,
224
+ 1, 1, 1, 1, 1, 1, 46, 1,
225
+ 1, 1, 1, 1, 1, 1, 47, 47,
226
+ 47, 47, 47, 47, 47, 47, 47, 47,
227
+ 1, 18, 1, 1, 1, 48, 1, 1,
228
+ 1, 1, 1, 1, 1, 1, 1, 1,
229
+ 1, 1, 1, 1, 1, 1, 1, 1,
230
+ 18, 1, 1, 1, 1, 1, 1, 1,
231
+ 49, 1, 50, 1, 1, 1, 51, 1,
232
+ 1, 1, 1, 1, 1, 1, 1, 1,
233
+ 1, 1, 1, 1, 1, 1, 1, 1,
234
+ 1, 50, 1, 1, 1, 1, 1, 1,
235
+ 1, 52, 1, 1, 0,
236
+ ]
249
237
 
250
- class << self
251
- attr_accessor :_trans_actions
252
- private :_trans_actions, :_trans_actions=
253
- end
254
- self._trans_actions = [
255
- 0, 0, 0, 1, 2, 0, 3, 3,
256
- 4, 5, 6, 7, 0, 3, 1, 8,
257
- 9, 0, 0, 10, 10, 11, 12, 10,
258
- 10, 10, 10, 10, 10, 10, 10, 0,
259
- 0, 1, 13, 0, 0, 0, 0, 0,
260
- 0, 0, 0, 0, 14, 14, 15, 0,
261
- 0, 1, 3, 3, 4,
262
- ]
238
+ class << self
239
+ attr_accessor :_trans_targs
240
+ private :_trans_targs, :_trans_targs=
241
+ end
242
+ self._trans_targs = [
243
+ 1, 0, 2, 4, 5, 3, 1, 2,
244
+ 4, 5, 6, 7, 5, 7, 8, 23,
245
+ 23, 10, 24, 12, 13, 12, 26, 15,
246
+ 16, 17, 18, 19, 20, 21, 22, 12,
247
+ 13, 12, 26, 15, 16, 17, 18, 19,
248
+ 20, 21, 22, 14, 24, 9, 25, 23,
249
+ 9, 25, 24, 9, 25,
250
+ ]
263
251
 
264
- class << self
265
- attr_accessor :_eof_actions
266
- private :_eof_actions, :_eof_actions=
267
- end
268
- self._eof_actions = [
269
- 0, 0, 0, 0, 0, 0, 0, 0,
270
- 0, 0, 0, 0, 0, 0, 0, 0,
271
- 0, 0, 0, 0, 0, 0, 0, 14,
272
- 0, 3, 0,
273
- ]
252
+ class << self
253
+ attr_accessor :_trans_actions
254
+ private :_trans_actions, :_trans_actions=
255
+ end
256
+ self._trans_actions = [
257
+ 0, 0, 0, 1, 2, 0, 3, 3,
258
+ 4, 5, 6, 7, 0, 3, 1, 8,
259
+ 9, 0, 0, 10, 10, 11, 12, 10,
260
+ 10, 10, 10, 10, 10, 10, 10, 0,
261
+ 0, 1, 13, 0, 0, 0, 0, 0,
262
+ 0, 0, 0, 0, 14, 14, 15, 0,
263
+ 0, 1, 3, 3, 4,
264
+ ]
274
265
 
275
- class << self
276
- attr_accessor :start
277
- end
278
- self.start = 1
279
- class << self
280
- attr_accessor :first_final
281
- end
282
- self.first_final = 23
283
- class << self
284
- attr_accessor :error
285
- end
286
- self.error = 0
266
+ class << self
267
+ attr_accessor :_eof_actions
268
+ private :_eof_actions, :_eof_actions=
269
+ end
270
+ self._eof_actions = [
271
+ 0, 0, 0, 0, 0, 0, 0, 0,
272
+ 0, 0, 0, 0, 0, 0, 0, 0,
273
+ 0, 0, 0, 0, 0, 0, 0, 14,
274
+ 0, 3, 0,
275
+ ]
287
276
 
288
- class << self
289
- attr_accessor :en_comment_tail
290
- end
291
- self.en_comment_tail = 11
292
- class << self
293
- attr_accessor :en_main
294
- end
295
- self.en_main = 1
277
+ class << self
278
+ attr_accessor :start
279
+ end
280
+ self.start = 1
281
+ class << self
282
+ attr_accessor :first_final
283
+ end
284
+ self.first_final = 23
285
+ class << self
286
+ attr_accessor :error
287
+ end
288
+ self.error = 0
289
+
290
+ class << self
291
+ attr_accessor :en_comment_tail
292
+ end
293
+ self.en_comment_tail = 11
294
+ class << self
295
+ attr_accessor :en_main
296
+ end
297
+ self.en_main = 1
296
298
 
297
- def self.parse(data)
298
- data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
299
+ def self.parse(data)
300
+ data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
299
301
 
300
- return MimeVersionStruct.new("", nil) if Mail::Utilities.blank?(data)
302
+ return MimeVersionStruct.new("", nil) if Mail::Utilities.blank?(data)
301
303
 
302
- # Parser state
303
- mime_version = MimeVersionStruct.new
304
- major_digits_s = minor_digits_s = nil
304
+ # Parser state
305
+ mime_version = MimeVersionStruct.new
306
+ major_digits_s = minor_digits_s = nil
305
307
 
306
- # 5.1 Variables Used by Ragel
307
- p = 0
308
- eof = pe = data.length
309
- stack = []
308
+ # 5.1 Variables Used by Ragel
309
+ p = 0
310
+ eof = pe = data.length
311
+ stack = []
310
312
 
311
- begin
312
- p ||= 0
313
- pe ||= data.length
314
- cs = start
315
- top = 0
316
- end
313
+ begin
314
+ p ||= 0
315
+ pe ||= data.length
316
+ cs = start
317
+ top = 0
318
+ end
317
319
 
318
- begin
319
- testEof = false
320
- _slen, _trans, _keys, _inds, _acts, _nacts = nil
321
- _goto_level = 0
322
- _resume = 10
323
- _eof_trans = 15
324
- _again = 20
325
- _test_eof = 30
326
- _out = 40
327
- while true
328
- if _goto_level <= 0
329
- if p == pe
330
- _goto_level = _test_eof
331
- next
332
- end
333
- if cs == 0
334
- _goto_level = _out
335
- next
320
+ begin
321
+ testEof = false
322
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
323
+ _goto_level = 0
324
+ _resume = 10
325
+ _eof_trans = 15
326
+ _again = 20
327
+ _test_eof = 30
328
+ _out = 40
329
+ while true
330
+ if _goto_level <= 0
331
+ if p == pe
332
+ _goto_level = _test_eof
333
+ next
334
+ end
335
+ if cs == 0
336
+ _goto_level = _out
337
+ next
338
+ end
336
339
  end
337
- end
338
- if _goto_level <= _resume
339
- _keys = cs << 1
340
- _inds = _index_offsets[cs]
341
- _slen = _key_spans[cs]
342
- _wide = data[p].ord
343
- _trans = if (_slen > 0 &&
344
- _trans_keys[_keys] <= _wide &&
345
- _wide <= _trans_keys[_keys + 1])
346
- _indicies[_inds + _wide - _trans_keys[_keys]]
347
- else
348
- _indicies[_inds + _slen]
349
- end
350
- cs = _trans_targs[_trans]
351
- if _trans_actions[_trans] != 0
352
- case _trans_actions[_trans]
353
- when 2
354
- begin
355
- major_digits_s = p
340
+ if _goto_level <= _resume
341
+ _keys = cs << 1
342
+ _inds = _index_offsets[cs]
343
+ _slen = _key_spans[cs]
344
+ _wide = data[p].ord
345
+ _trans = if (_slen > 0 &&
346
+ _trans_keys[_keys] <= _wide &&
347
+ _wide <= _trans_keys[_keys + 1])
348
+ _indicies[_inds + _wide - _trans_keys[_keys]]
349
+ else
350
+ _indicies[_inds + _slen]
356
351
  end
357
- when 7
358
- begin
359
- mime_version.major = chars(data, major_digits_s, p - 1)
360
- end
361
- when 8
362
- begin
363
- minor_digits_s = p
364
- end
365
- when 14
366
- begin
367
- mime_version.minor = chars(data, minor_digits_s, p - 1)
368
- end
369
- when 10
370
- begin
371
- end
372
- when 3
373
- begin
374
- end
375
- when 1
376
- begin
352
+ cs = _trans_targs[_trans]
353
+ if _trans_actions[_trans] != 0
354
+ case _trans_actions[_trans]
355
+ when 2
377
356
  begin
378
- stack[top] = cs
379
- top += 1
380
- cs = 11
381
- _goto_level = _again
382
- next
357
+ major_digits_s = p
383
358
  end
384
- end
385
- when 13
386
- begin
359
+ when 7
387
360
  begin
388
- top -= 1
389
- cs = stack[top]
390
- _goto_level = _again
391
- next
361
+ mime_version.major = chars(data, major_digits_s, p - 1)
392
362
  end
393
- end
394
- when 6
395
- begin
396
- mime_version.major = chars(data, major_digits_s, p - 1)
397
- end
398
- begin
363
+ when 8
399
364
  begin
400
- stack[top] = cs
401
- top += 1
402
- cs = 11
403
- _goto_level = _again
404
- next
365
+ minor_digits_s = p
405
366
  end
406
- end
407
- when 15
408
- begin
409
- mime_version.minor = chars(data, minor_digits_s, p - 1)
410
- end
411
- begin
367
+ when 14
412
368
  begin
413
- stack[top] = cs
414
- top += 1
415
- cs = 11
416
- _goto_level = _again
417
- next
369
+ mime_version.minor = chars(data, minor_digits_s, p - 1)
418
370
  end
419
- end
420
- when 11
421
- begin
422
- end
423
- begin
371
+ when 10
424
372
  begin
425
- stack[top] = cs
426
- top += 1
427
- cs = 11
428
- _goto_level = _again
429
- next
430
373
  end
431
- end
432
- when 12
433
- begin
434
- end
435
- begin
374
+ when 3
375
+ begin
376
+ end
377
+ when 1
378
+ begin
379
+ begin
380
+ stack[top] = cs
381
+ top += 1
382
+ cs = 11
383
+ _goto_level = _again
384
+ next
385
+ end
386
+ end
387
+ when 13
388
+ begin
389
+ begin
390
+ top -= 1
391
+ cs = stack[top]
392
+ _goto_level = _again
393
+ next
394
+ end
395
+ end
396
+ when 6
397
+ begin
398
+ mime_version.major = chars(data, major_digits_s, p - 1)
399
+ end
400
+ begin
401
+ begin
402
+ stack[top] = cs
403
+ top += 1
404
+ cs = 11
405
+ _goto_level = _again
406
+ next
407
+ end
408
+ end
409
+ when 15
410
+ begin
411
+ mime_version.minor = chars(data, minor_digits_s, p - 1)
412
+ end
413
+ begin
414
+ begin
415
+ stack[top] = cs
416
+ top += 1
417
+ cs = 11
418
+ _goto_level = _again
419
+ next
420
+ end
421
+ end
422
+ when 11
423
+ begin
424
+ end
425
+ begin
426
+ begin
427
+ stack[top] = cs
428
+ top += 1
429
+ cs = 11
430
+ _goto_level = _again
431
+ next
432
+ end
433
+ end
434
+ when 12
435
+ begin
436
+ end
437
+ begin
438
+ begin
439
+ top -= 1
440
+ cs = stack[top]
441
+ _goto_level = _again
442
+ next
443
+ end
444
+ end
445
+ when 5
446
+ begin
447
+ end
448
+ begin
449
+ major_digits_s = p
450
+ end
451
+ when 9
452
+ begin
453
+ end
454
+ begin
455
+ minor_digits_s = p
456
+ end
457
+ when 4
436
458
  begin
437
- top -= 1
438
- cs = stack[top]
439
- _goto_level = _again
440
- next
441
459
  end
442
- end
443
- when 5
444
- begin
445
- end
446
- begin
447
- major_digits_s = p
448
- end
449
- when 9
450
- begin
451
- end
452
- begin
453
- minor_digits_s = p
454
- end
455
- when 4
456
- begin
457
- end
458
- begin
459
460
  begin
460
- stack[top] = cs
461
- top += 1
462
- cs = 11
463
- _goto_level = _again
464
- next
461
+ begin
462
+ stack[top] = cs
463
+ top += 1
464
+ cs = 11
465
+ _goto_level = _again
466
+ next
467
+ end
465
468
  end
466
469
  end
467
470
  end
468
471
  end
469
- end
470
- if _goto_level <= _again
471
- if cs == 0
472
- _goto_level = _out
473
- next
474
- end
475
- p += 1
476
- if p != pe
477
- _goto_level = _resume
478
- next
472
+ if _goto_level <= _again
473
+ if cs == 0
474
+ _goto_level = _out
475
+ next
476
+ end
477
+ p += 1
478
+ if p != pe
479
+ _goto_level = _resume
480
+ next
481
+ end
479
482
  end
480
- end
481
- if _goto_level <= _test_eof
482
- if p == eof
483
- case _eof_actions[cs]
484
- when 14
485
- begin
486
- mime_version.minor = chars(data, minor_digits_s, p - 1)
487
- end
488
- when 3
489
- begin
483
+ if _goto_level <= _test_eof
484
+ if p == eof
485
+ case _eof_actions[cs]
486
+ when 14
487
+ begin
488
+ mime_version.minor = chars(data, minor_digits_s, p - 1)
489
+ end
490
+ when 3
491
+ begin
492
+ end
490
493
  end
491
494
  end
492
495
  end
493
- end
494
- if _goto_level <= _out
495
- break
496
+ if _goto_level <= _out
497
+ break
498
+ end
496
499
  end
497
500
  end
498
- end
499
501
 
500
- if p != eof || cs < 23
501
- raise Mail::Field::IncompleteParseError.new(Mail::MimeVersionElement, data, p)
502
- end
502
+ if false
503
+ testEof
504
+ end
503
505
 
504
- mime_version
506
+ if p != eof || cs < 23
507
+ raise Mail::Field::IncompleteParseError.new(Mail::MimeVersionElement, data, p)
508
+ end
509
+
510
+ mime_version
511
+ end
505
512
  end
506
513
  end
514
+ ensure
515
+ $VERBOSE = original_verbose
507
516
  end