line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Mail::IMAPClient::BodyStructure::Parse; |
2
|
1
|
|
|
1
|
|
1203
|
use Parse::RecDescent; |
|
1
|
|
|
|
|
43351
|
|
|
1
|
|
|
|
|
10
|
|
3
|
|
|
|
|
|
|
{ my $ERRORS; |
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
package Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse; |
7
|
1
|
|
|
1
|
|
68
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
26
|
|
8
|
1
|
|
|
1
|
|
5
|
use vars qw($skip $AUTOLOAD ); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
232
|
|
9
|
|
|
|
|
|
|
@Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ISA = (); |
10
|
|
|
|
|
|
|
$skip = '\s*'; |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
my $mibs = "Mail::IMAPClient::BodyStructure"; |
13
|
|
|
|
|
|
|
my $subpartCount = 0; |
14
|
|
|
|
|
|
|
my $partCount = 0; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
sub take_optional_items($$@) |
17
|
153
|
|
|
153
|
|
451
|
{ my ($r, $items) = (shift, shift); |
18
|
153
|
|
|
|
|
500
|
foreach (@_) |
19
|
795
|
|
|
|
|
1567
|
{ my $opt = $_ .'(?)'; |
20
|
795
|
50
|
|
|
|
1636
|
exists $items->{$opt} or next; |
21
|
|
|
|
|
|
|
$r->{$_} = UNIVERSAL::isa($items->{$opt}, 'ARRAY') |
22
|
795
|
50
|
|
|
|
3181
|
? $items->{$opt}[0] : $items->{$opt}; |
23
|
|
|
|
|
|
|
} |
24
|
|
|
|
|
|
|
} |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
sub merge_hash($$) |
27
|
54
|
|
|
54
|
|
96
|
{ my $to = shift; |
28
|
54
|
100
|
|
|
|
210
|
my $from = shift or return; |
29
|
12
|
|
|
|
|
83
|
while( my($k,$v) = each %$from) { $to->{$k} = $v } |
|
72
|
|
|
|
|
270
|
|
30
|
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
; |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
|
34
|
|
|
|
|
|
|
{ |
35
|
|
|
|
|
|
|
local $SIG{__WARN__} = sub {0}; |
36
|
|
|
|
|
|
|
# PRETEND TO BE IN Parse::RecDescent NAMESPACE |
37
|
|
|
|
|
|
|
*Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::AUTOLOAD = sub |
38
|
|
|
|
|
|
|
{ |
39
|
1
|
|
|
1
|
|
7
|
no strict 'refs'; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
106
|
|
40
|
|
|
|
|
|
|
|
41
|
0
|
|
|
0
|
|
0
|
${"AUTOLOAD"} =~ s/^Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse/Parse::RecDescent/; |
|
0
|
|
|
|
|
0
|
|
42
|
0
|
|
|
|
|
0
|
goto &{${"AUTOLOAD"}}; |
|
0
|
|
|
|
|
0
|
|
|
0
|
|
|
|
|
0
|
|
43
|
|
|
|
|
|
|
} |
44
|
|
|
|
|
|
|
} |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
push @Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ISA, 'Parse::RecDescent'; |
47
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
48
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::envelopestruct |
49
|
|
|
|
|
|
|
{ |
50
|
25
|
|
|
25
|
|
655
|
my $thisparser = $_[0]; |
51
|
1
|
|
|
1
|
|
6
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
475
|
|
52
|
25
|
|
100
|
|
|
96
|
local $tracelevel = ($tracelevel||0)+1; |
53
|
25
|
|
|
|
|
50
|
$ERRORS = 0; |
54
|
25
|
|
|
|
|
80
|
my $thisrule = $thisparser->{"rules"}{"envelopestruct"}; |
55
|
|
|
|
|
|
|
|
56
|
25
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{Trying rule: [envelopestruct]}, |
57
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
58
|
|
|
|
|
|
|
q{envelopestruct}, |
59
|
|
|
|
|
|
|
$tracelevel) |
60
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
61
|
|
|
|
|
|
|
|
62
|
25
|
|
|
|
|
48
|
my $def_at = @{$thisparser->{deferred}}; |
|
25
|
|
|
|
|
93
|
|
63
|
25
|
|
|
|
|
55
|
my $err_at = @{$thisparser->{errors}}; |
|
25
|
|
|
|
|
62
|
|
64
|
|
|
|
|
|
|
|
65
|
25
|
|
|
|
|
76
|
my $score; |
66
|
|
|
|
|
|
|
my $score_return; |
67
|
25
|
|
|
|
|
0
|
my $_tok; |
68
|
25
|
|
|
|
|
37
|
my $return = undef; |
69
|
25
|
|
|
|
|
47
|
my $_matched=0; |
70
|
25
|
|
|
|
|
61
|
my $commit=0; |
71
|
25
|
|
|
|
|
69
|
my @item = (); |
72
|
25
|
|
|
|
|
52
|
my %item = (); |
73
|
25
|
|
|
|
|
51
|
my $repeating = $_[2]; |
74
|
25
|
|
|
|
|
48
|
my $_noactions = $_[3]; |
75
|
25
|
50
|
|
|
|
69
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
25
|
|
|
|
|
39
|
|
|
25
|
|
|
|
|
75
|
|
76
|
25
|
|
|
|
|
79
|
my $_itempos = $_[5]; |
77
|
25
|
50
|
|
|
|
105
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
78
|
25
|
|
|
|
|
68
|
my $text; |
79
|
|
|
|
|
|
|
my $lastsep; |
80
|
25
|
|
|
|
|
0
|
my $current_match; |
81
|
25
|
|
|
|
|
73
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
82
|
25
|
|
|
|
|
199
|
$expectation->at($_[1]); |
83
|
|
|
|
|
|
|
|
84
|
25
|
|
|
|
|
110
|
my $thisline; |
85
|
25
|
|
|
|
|
118
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
|
89
|
25
|
|
33
|
|
|
270
|
while (!$_matched && !$commit) |
90
|
|
|
|
|
|
|
{ |
91
|
|
|
|
|
|
|
|
92
|
25
|
50
|
|
|
|
70
|
Parse::RecDescent::_trace(q{Trying production: ['(' date subject from sender replyto to cc bcc inreplyto messageid ')']}, |
93
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
94
|
|
|
|
|
|
|
q{envelopestruct}, |
95
|
|
|
|
|
|
|
$tracelevel) |
96
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
97
|
25
|
|
|
|
|
90
|
my $thisprod = $thisrule->{"prods"}[0]; |
98
|
25
|
|
|
|
|
59
|
$text = $_[1]; |
99
|
25
|
|
|
|
|
43
|
my $_savetext; |
100
|
25
|
|
|
|
|
80
|
@item = (q{envelopestruct}); |
101
|
25
|
|
|
|
|
88
|
%item = (__RULE__ => q{envelopestruct}); |
102
|
25
|
|
|
|
|
79
|
my $repcount = 0; |
103
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
|
105
|
25
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
106
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
107
|
|
|
|
|
|
|
q{envelopestruct}, |
108
|
|
|
|
|
|
|
$tracelevel) |
109
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
110
|
25
|
|
|
|
|
69
|
undef $lastsep; |
111
|
25
|
|
|
|
|
82
|
$expectation->is(q{})->at($text); |
112
|
|
|
|
|
|
|
|
113
|
|
|
|
|
|
|
|
114
|
25
|
100
|
33
|
|
|
371
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
25
|
100
|
66
|
|
|
301
|
|
|
25
|
|
66
|
|
|
60
|
|
|
25
|
|
|
|
|
194
|
|
115
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
116
|
24
|
|
|
|
|
70
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
24
|
|
|
|
|
100
|
|
117
|
|
|
|
|
|
|
) |
118
|
|
|
|
|
|
|
{ |
119
|
1
|
50
|
|
|
|
6
|
$text = $lastsep . $text if defined $lastsep; |
120
|
|
|
|
|
|
|
|
121
|
1
|
|
|
|
|
5
|
$expectation->failed(); |
122
|
1
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{<>}, |
123
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
124
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
125
|
1
|
|
|
|
|
3
|
last; |
126
|
|
|
|
|
|
|
} |
127
|
24
|
50
|
|
|
|
84
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
128
|
|
|
|
|
|
|
. $_tok . q{])}, |
129
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
130
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
131
|
24
|
|
|
|
|
109
|
push @item, $item{__STRING1__}=$_tok; |
132
|
|
|
|
|
|
|
|
133
|
|
|
|
|
|
|
|
134
|
24
|
50
|
|
|
|
75
|
Parse::RecDescent::_trace(q{Trying subrule: [date]}, |
135
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
136
|
|
|
|
|
|
|
q{envelopestruct}, |
137
|
|
|
|
|
|
|
$tracelevel) |
138
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
139
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
166
|
|
|
24
|
|
|
|
|
46
|
|
140
|
24
|
|
|
|
|
80
|
$expectation->is(q{date})->at($text); |
141
|
24
|
50
|
|
24
|
|
391
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::date($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
62
|
|
142
|
|
|
|
|
|
|
{ |
143
|
|
|
|
|
|
|
|
144
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
145
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
146
|
|
|
|
|
|
|
q{envelopestruct}, |
147
|
|
|
|
|
|
|
$tracelevel) |
148
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
149
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
150
|
0
|
|
|
|
|
0
|
last; |
151
|
|
|
|
|
|
|
} |
152
|
24
|
50
|
|
|
|
116
|
Parse::RecDescent::_trace(q{>>Matched subrule: [date]<< (return value: [} |
153
|
|
|
|
|
|
|
. $_tok . q{]}, |
154
|
|
|
|
|
|
|
|
155
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
156
|
|
|
|
|
|
|
q{envelopestruct}, |
157
|
|
|
|
|
|
|
$tracelevel) |
158
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
159
|
24
|
|
|
|
|
75
|
$item{q{date}} = $_tok; |
160
|
24
|
|
|
|
|
69
|
push @item, $_tok; |
161
|
|
|
|
|
|
|
|
162
|
|
|
|
|
|
|
} |
163
|
|
|
|
|
|
|
|
164
|
24
|
50
|
|
|
|
83
|
Parse::RecDescent::_trace(q{Trying subrule: [subject]}, |
165
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
166
|
|
|
|
|
|
|
q{envelopestruct}, |
167
|
|
|
|
|
|
|
$tracelevel) |
168
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
169
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
179
|
|
|
24
|
|
|
|
|
53
|
|
170
|
24
|
|
|
|
|
93
|
$expectation->is(q{subject})->at($text); |
171
|
24
|
50
|
|
24
|
|
377
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::subject($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
65
|
|
172
|
|
|
|
|
|
|
{ |
173
|
|
|
|
|
|
|
|
174
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
175
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
176
|
|
|
|
|
|
|
q{envelopestruct}, |
177
|
|
|
|
|
|
|
$tracelevel) |
178
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
179
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
180
|
0
|
|
|
|
|
0
|
last; |
181
|
|
|
|
|
|
|
} |
182
|
24
|
50
|
|
|
|
101
|
Parse::RecDescent::_trace(q{>>Matched subrule: [subject]<< (return value: [} |
183
|
|
|
|
|
|
|
. $_tok . q{]}, |
184
|
|
|
|
|
|
|
|
185
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
186
|
|
|
|
|
|
|
q{envelopestruct}, |
187
|
|
|
|
|
|
|
$tracelevel) |
188
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
189
|
24
|
|
|
|
|
75
|
$item{q{subject}} = $_tok; |
190
|
24
|
|
|
|
|
54
|
push @item, $_tok; |
191
|
|
|
|
|
|
|
|
192
|
|
|
|
|
|
|
} |
193
|
|
|
|
|
|
|
|
194
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying subrule: [from]}, |
195
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
196
|
|
|
|
|
|
|
q{envelopestruct}, |
197
|
|
|
|
|
|
|
$tracelevel) |
198
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
199
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
216
|
|
|
24
|
|
|
|
|
47
|
|
200
|
24
|
|
|
|
|
87
|
$expectation->is(q{from})->at($text); |
201
|
24
|
50
|
|
24
|
|
375
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::from($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
75
|
|
202
|
|
|
|
|
|
|
{ |
203
|
|
|
|
|
|
|
|
204
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
205
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
206
|
|
|
|
|
|
|
q{envelopestruct}, |
207
|
|
|
|
|
|
|
$tracelevel) |
208
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
209
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
210
|
0
|
|
|
|
|
0
|
last; |
211
|
|
|
|
|
|
|
} |
212
|
24
|
50
|
|
|
|
110
|
Parse::RecDescent::_trace(q{>>Matched subrule: [from]<< (return value: [} |
213
|
|
|
|
|
|
|
. $_tok . q{]}, |
214
|
|
|
|
|
|
|
|
215
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
216
|
|
|
|
|
|
|
q{envelopestruct}, |
217
|
|
|
|
|
|
|
$tracelevel) |
218
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
219
|
24
|
|
|
|
|
83
|
$item{q{from}} = $_tok; |
220
|
24
|
|
|
|
|
57
|
push @item, $_tok; |
221
|
|
|
|
|
|
|
|
222
|
|
|
|
|
|
|
} |
223
|
|
|
|
|
|
|
|
224
|
24
|
50
|
|
|
|
83
|
Parse::RecDescent::_trace(q{Trying subrule: [sender]}, |
225
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
226
|
|
|
|
|
|
|
q{envelopestruct}, |
227
|
|
|
|
|
|
|
$tracelevel) |
228
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
229
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
228
|
|
|
24
|
|
|
|
|
49
|
|
230
|
24
|
|
|
|
|
85
|
$expectation->is(q{sender})->at($text); |
231
|
24
|
50
|
|
24
|
|
338
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::sender($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
56
|
|
232
|
|
|
|
|
|
|
{ |
233
|
|
|
|
|
|
|
|
234
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
235
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
236
|
|
|
|
|
|
|
q{envelopestruct}, |
237
|
|
|
|
|
|
|
$tracelevel) |
238
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
239
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
240
|
0
|
|
|
|
|
0
|
last; |
241
|
|
|
|
|
|
|
} |
242
|
24
|
50
|
|
|
|
103
|
Parse::RecDescent::_trace(q{>>Matched subrule: [sender]<< (return value: [} |
243
|
|
|
|
|
|
|
. $_tok . q{]}, |
244
|
|
|
|
|
|
|
|
245
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
246
|
|
|
|
|
|
|
q{envelopestruct}, |
247
|
|
|
|
|
|
|
$tracelevel) |
248
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
249
|
24
|
|
|
|
|
92
|
$item{q{sender}} = $_tok; |
250
|
24
|
|
|
|
|
66
|
push @item, $_tok; |
251
|
|
|
|
|
|
|
|
252
|
|
|
|
|
|
|
} |
253
|
|
|
|
|
|
|
|
254
|
24
|
50
|
|
|
|
82
|
Parse::RecDescent::_trace(q{Trying subrule: [replyto]}, |
255
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
256
|
|
|
|
|
|
|
q{envelopestruct}, |
257
|
|
|
|
|
|
|
$tracelevel) |
258
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
259
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
154
|
|
|
24
|
|
|
|
|
46
|
|
260
|
24
|
|
|
|
|
84
|
$expectation->is(q{replyto})->at($text); |
261
|
24
|
50
|
|
24
|
|
339
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::replyto($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
62
|
|
262
|
|
|
|
|
|
|
{ |
263
|
|
|
|
|
|
|
|
264
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
265
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
266
|
|
|
|
|
|
|
q{envelopestruct}, |
267
|
|
|
|
|
|
|
$tracelevel) |
268
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
269
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
270
|
0
|
|
|
|
|
0
|
last; |
271
|
|
|
|
|
|
|
} |
272
|
24
|
50
|
|
|
|
113
|
Parse::RecDescent::_trace(q{>>Matched subrule: [replyto]<< (return value: [} |
273
|
|
|
|
|
|
|
. $_tok . q{]}, |
274
|
|
|
|
|
|
|
|
275
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
276
|
|
|
|
|
|
|
q{envelopestruct}, |
277
|
|
|
|
|
|
|
$tracelevel) |
278
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
279
|
24
|
|
|
|
|
79
|
$item{q{replyto}} = $_tok; |
280
|
24
|
|
|
|
|
67
|
push @item, $_tok; |
281
|
|
|
|
|
|
|
|
282
|
|
|
|
|
|
|
} |
283
|
|
|
|
|
|
|
|
284
|
24
|
50
|
|
|
|
78
|
Parse::RecDescent::_trace(q{Trying subrule: [to]}, |
285
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
286
|
|
|
|
|
|
|
q{envelopestruct}, |
287
|
|
|
|
|
|
|
$tracelevel) |
288
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
289
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
206
|
|
|
24
|
|
|
|
|
55
|
|
290
|
24
|
|
|
|
|
95
|
$expectation->is(q{to})->at($text); |
291
|
24
|
50
|
|
24
|
|
346
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::to($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
67
|
|
292
|
|
|
|
|
|
|
{ |
293
|
|
|
|
|
|
|
|
294
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
295
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
296
|
|
|
|
|
|
|
q{envelopestruct}, |
297
|
|
|
|
|
|
|
$tracelevel) |
298
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
299
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
300
|
0
|
|
|
|
|
0
|
last; |
301
|
|
|
|
|
|
|
} |
302
|
24
|
50
|
|
|
|
120
|
Parse::RecDescent::_trace(q{>>Matched subrule: [to]<< (return value: [} |
303
|
|
|
|
|
|
|
. $_tok . q{]}, |
304
|
|
|
|
|
|
|
|
305
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
306
|
|
|
|
|
|
|
q{envelopestruct}, |
307
|
|
|
|
|
|
|
$tracelevel) |
308
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
309
|
24
|
|
|
|
|
71
|
$item{q{to}} = $_tok; |
310
|
24
|
|
|
|
|
72
|
push @item, $_tok; |
311
|
|
|
|
|
|
|
|
312
|
|
|
|
|
|
|
} |
313
|
|
|
|
|
|
|
|
314
|
24
|
50
|
|
|
|
69
|
Parse::RecDescent::_trace(q{Trying subrule: [cc]}, |
315
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
316
|
|
|
|
|
|
|
q{envelopestruct}, |
317
|
|
|
|
|
|
|
$tracelevel) |
318
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
319
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
187
|
|
|
24
|
|
|
|
|
79
|
|
320
|
24
|
|
|
|
|
97
|
$expectation->is(q{cc})->at($text); |
321
|
24
|
50
|
|
24
|
|
348
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::cc($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
53
|
|
322
|
|
|
|
|
|
|
{ |
323
|
|
|
|
|
|
|
|
324
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
325
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
326
|
|
|
|
|
|
|
q{envelopestruct}, |
327
|
|
|
|
|
|
|
$tracelevel) |
328
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
329
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
330
|
0
|
|
|
|
|
0
|
last; |
331
|
|
|
|
|
|
|
} |
332
|
24
|
50
|
|
|
|
104
|
Parse::RecDescent::_trace(q{>>Matched subrule: [cc]<< (return value: [} |
333
|
|
|
|
|
|
|
. $_tok . q{]}, |
334
|
|
|
|
|
|
|
|
335
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
336
|
|
|
|
|
|
|
q{envelopestruct}, |
337
|
|
|
|
|
|
|
$tracelevel) |
338
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
339
|
24
|
|
|
|
|
83
|
$item{q{cc}} = $_tok; |
340
|
24
|
|
|
|
|
82
|
push @item, $_tok; |
341
|
|
|
|
|
|
|
|
342
|
|
|
|
|
|
|
} |
343
|
|
|
|
|
|
|
|
344
|
24
|
50
|
|
|
|
85
|
Parse::RecDescent::_trace(q{Trying subrule: [bcc]}, |
345
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
346
|
|
|
|
|
|
|
q{envelopestruct}, |
347
|
|
|
|
|
|
|
$tracelevel) |
348
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
349
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
200
|
|
|
24
|
|
|
|
|
40
|
|
350
|
24
|
|
|
|
|
95
|
$expectation->is(q{bcc})->at($text); |
351
|
24
|
50
|
|
24
|
|
368
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bcc($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
72
|
|
352
|
|
|
|
|
|
|
{ |
353
|
|
|
|
|
|
|
|
354
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
355
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
356
|
|
|
|
|
|
|
q{envelopestruct}, |
357
|
|
|
|
|
|
|
$tracelevel) |
358
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
359
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
360
|
0
|
|
|
|
|
0
|
last; |
361
|
|
|
|
|
|
|
} |
362
|
24
|
50
|
|
|
|
107
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bcc]<< (return value: [} |
363
|
|
|
|
|
|
|
. $_tok . q{]}, |
364
|
|
|
|
|
|
|
|
365
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
366
|
|
|
|
|
|
|
q{envelopestruct}, |
367
|
|
|
|
|
|
|
$tracelevel) |
368
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
369
|
24
|
|
|
|
|
84
|
$item{q{bcc}} = $_tok; |
370
|
24
|
|
|
|
|
60
|
push @item, $_tok; |
371
|
|
|
|
|
|
|
|
372
|
|
|
|
|
|
|
} |
373
|
|
|
|
|
|
|
|
374
|
24
|
50
|
|
|
|
103
|
Parse::RecDescent::_trace(q{Trying subrule: [inreplyto]}, |
375
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
376
|
|
|
|
|
|
|
q{envelopestruct}, |
377
|
|
|
|
|
|
|
$tracelevel) |
378
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
379
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
147
|
|
|
24
|
|
|
|
|
52
|
|
380
|
24
|
|
|
|
|
83
|
$expectation->is(q{inreplyto})->at($text); |
381
|
24
|
50
|
|
24
|
|
332
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::inreplyto($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
62
|
|
382
|
|
|
|
|
|
|
{ |
383
|
|
|
|
|
|
|
|
384
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
385
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
386
|
|
|
|
|
|
|
q{envelopestruct}, |
387
|
|
|
|
|
|
|
$tracelevel) |
388
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
389
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
390
|
0
|
|
|
|
|
0
|
last; |
391
|
|
|
|
|
|
|
} |
392
|
24
|
50
|
|
|
|
96
|
Parse::RecDescent::_trace(q{>>Matched subrule: [inreplyto]<< (return value: [} |
393
|
|
|
|
|
|
|
. $_tok . q{]}, |
394
|
|
|
|
|
|
|
|
395
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
396
|
|
|
|
|
|
|
q{envelopestruct}, |
397
|
|
|
|
|
|
|
$tracelevel) |
398
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
399
|
24
|
|
|
|
|
80
|
$item{q{inreplyto}} = $_tok; |
400
|
24
|
|
|
|
|
57
|
push @item, $_tok; |
401
|
|
|
|
|
|
|
|
402
|
|
|
|
|
|
|
} |
403
|
|
|
|
|
|
|
|
404
|
24
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{Trying subrule: [messageid]}, |
405
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
406
|
|
|
|
|
|
|
q{envelopestruct}, |
407
|
|
|
|
|
|
|
$tracelevel) |
408
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
409
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
832
|
|
|
24
|
|
|
|
|
39
|
|
410
|
24
|
|
|
|
|
81
|
$expectation->is(q{messageid})->at($text); |
411
|
24
|
50
|
|
24
|
|
359
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::messageid($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
63
|
|
412
|
|
|
|
|
|
|
{ |
413
|
|
|
|
|
|
|
|
414
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
415
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
416
|
|
|
|
|
|
|
q{envelopestruct}, |
417
|
|
|
|
|
|
|
$tracelevel) |
418
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
419
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
420
|
0
|
|
|
|
|
0
|
last; |
421
|
|
|
|
|
|
|
} |
422
|
24
|
50
|
|
|
|
105
|
Parse::RecDescent::_trace(q{>>Matched subrule: [messageid]<< (return value: [} |
423
|
|
|
|
|
|
|
. $_tok . q{]}, |
424
|
|
|
|
|
|
|
|
425
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
426
|
|
|
|
|
|
|
q{envelopestruct}, |
427
|
|
|
|
|
|
|
$tracelevel) |
428
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
429
|
24
|
|
|
|
|
107
|
$item{q{messageid}} = $_tok; |
430
|
24
|
|
|
|
|
84
|
push @item, $_tok; |
431
|
|
|
|
|
|
|
|
432
|
|
|
|
|
|
|
} |
433
|
|
|
|
|
|
|
|
434
|
24
|
50
|
|
|
|
65
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
435
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
436
|
|
|
|
|
|
|
q{envelopestruct}, |
437
|
|
|
|
|
|
|
$tracelevel) |
438
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
439
|
24
|
|
|
|
|
60
|
undef $lastsep; |
440
|
24
|
|
|
|
|
96
|
$expectation->is(q{')'})->at($text); |
441
|
|
|
|
|
|
|
|
442
|
|
|
|
|
|
|
|
443
|
24
|
50
|
33
|
|
|
354
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
24
|
50
|
33
|
|
|
208
|
|
|
24
|
|
33
|
|
|
80
|
|
|
24
|
|
|
|
|
173
|
|
444
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
445
|
24
|
|
|
|
|
67
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
24
|
|
|
|
|
85
|
|
446
|
|
|
|
|
|
|
) |
447
|
|
|
|
|
|
|
{ |
448
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
449
|
|
|
|
|
|
|
|
450
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
451
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
452
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
453
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
454
|
0
|
|
|
|
|
0
|
last; |
455
|
|
|
|
|
|
|
} |
456
|
24
|
50
|
|
|
|
83
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
457
|
|
|
|
|
|
|
. $_tok . q{])}, |
458
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
459
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
460
|
24
|
|
|
|
|
87
|
push @item, $item{__STRING2__}=$_tok; |
461
|
|
|
|
|
|
|
|
462
|
|
|
|
|
|
|
|
463
|
24
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{Trying action}, |
464
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
465
|
|
|
|
|
|
|
q{envelopestruct}, |
466
|
|
|
|
|
|
|
$tracelevel) |
467
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
468
|
|
|
|
|
|
|
|
469
|
|
|
|
|
|
|
|
470
|
24
|
50
|
|
|
|
85
|
$_tok = ($_noactions) ? 0 : do { $return = bless {}, "Mail::IMAPClient::BodyStructure::Envelope"; |
|
24
|
|
|
|
|
91
|
|
471
|
|
|
|
|
|
|
$return->{$_} = $item{$_} |
472
|
24
|
|
|
|
|
421
|
for qw/date subject from sender replyto to cc/ |
473
|
|
|
|
|
|
|
, qw/bcc inreplyto messageid/; |
474
|
24
|
|
|
|
|
61
|
1; |
475
|
|
|
|
|
|
|
}; |
476
|
24
|
50
|
|
|
|
107
|
unless (defined $_tok) |
477
|
|
|
|
|
|
|
{ |
478
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
479
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
480
|
0
|
|
|
|
|
0
|
last; |
481
|
|
|
|
|
|
|
} |
482
|
24
|
50
|
|
|
|
92
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
483
|
|
|
|
|
|
|
. $_tok . q{])}, |
484
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
485
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
486
|
24
|
|
|
|
|
56
|
push @item, $_tok; |
487
|
24
|
|
|
|
|
54
|
$item{__ACTION1__}=$_tok; |
488
|
|
|
|
|
|
|
|
489
|
|
|
|
|
|
|
|
490
|
24
|
50
|
|
|
|
83
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' date subject from sender replyto to cc bcc inreplyto messageid ')']<<}, |
491
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
492
|
|
|
|
|
|
|
q{envelopestruct}, |
493
|
|
|
|
|
|
|
$tracelevel) |
494
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
495
|
|
|
|
|
|
|
|
496
|
|
|
|
|
|
|
|
497
|
|
|
|
|
|
|
|
498
|
24
|
|
|
|
|
45
|
$_matched = 1; |
499
|
24
|
|
|
|
|
80
|
last; |
500
|
|
|
|
|
|
|
} |
501
|
|
|
|
|
|
|
|
502
|
|
|
|
|
|
|
splice |
503
|
25
|
100
|
|
|
|
75
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
1
|
|
|
|
|
4
|
|
504
|
|
|
|
|
|
|
|
505
|
25
|
100
|
66
|
|
|
95
|
unless ( $_matched || defined($score) ) |
506
|
|
|
|
|
|
|
{ |
507
|
1
|
|
|
|
|
3
|
splice @{$thisparser->{deferred}}, $def_at; |
|
1
|
|
|
|
|
3
|
|
508
|
|
|
|
|
|
|
|
509
|
|
|
|
|
|
|
|
510
|
1
|
|
|
|
|
3
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
511
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{<>}, |
512
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
513
|
|
|
|
|
|
|
q{envelopestruct}, |
514
|
|
|
|
|
|
|
$tracelevel) |
515
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
516
|
1
|
|
|
|
|
5
|
return undef; |
517
|
|
|
|
|
|
|
} |
518
|
24
|
50
|
33
|
|
|
89
|
if (!defined($return) && defined($score)) |
519
|
|
|
|
|
|
|
{ |
520
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
521
|
|
|
|
|
|
|
q{envelopestruct}, |
522
|
|
|
|
|
|
|
$tracelevel) |
523
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
524
|
0
|
|
|
|
|
0
|
$return = $score_return; |
525
|
|
|
|
|
|
|
} |
526
|
24
|
|
|
|
|
46
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
66
|
|
527
|
24
|
50
|
|
|
|
73
|
$return = $item[$#item] unless defined $return; |
528
|
24
|
50
|
|
|
|
77
|
if (defined $::RD_TRACE) |
529
|
|
|
|
|
|
|
{ |
530
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
531
|
|
|
|
|
|
|
$return . q{])}, "", |
532
|
|
|
|
|
|
|
q{envelopestruct}, |
533
|
|
|
|
|
|
|
$tracelevel); |
534
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
535
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
536
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
537
|
|
|
|
|
|
|
, q{envelopestruct}, |
538
|
|
|
|
|
|
|
$tracelevel) |
539
|
|
|
|
|
|
|
} |
540
|
24
|
|
|
|
|
99
|
$_[1] = $text; |
541
|
24
|
|
|
|
|
300
|
return $return; |
542
|
|
|
|
|
|
|
} |
543
|
|
|
|
|
|
|
|
544
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
545
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::subpart |
546
|
|
|
|
|
|
|
{ |
547
|
195
|
|
|
195
|
|
3587
|
my $thisparser = $_[0]; |
548
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
505
|
|
549
|
195
|
|
50
|
|
|
648
|
local $tracelevel = ($tracelevel||0)+1; |
550
|
195
|
|
|
|
|
343
|
$ERRORS = 0; |
551
|
195
|
|
|
|
|
476
|
my $thisrule = $thisparser->{"rules"}{"subpart"}; |
552
|
|
|
|
|
|
|
|
553
|
195
|
50
|
|
|
|
552
|
Parse::RecDescent::_trace(q{Trying rule: [subpart]}, |
554
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
555
|
|
|
|
|
|
|
q{subpart}, |
556
|
|
|
|
|
|
|
$tracelevel) |
557
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
558
|
|
|
|
|
|
|
|
559
|
195
|
|
|
|
|
368
|
my $def_at = @{$thisparser->{deferred}}; |
|
195
|
|
|
|
|
447
|
|
560
|
195
|
|
|
|
|
329
|
my $err_at = @{$thisparser->{errors}}; |
|
195
|
|
|
|
|
426
|
|
561
|
|
|
|
|
|
|
|
562
|
195
|
|
|
|
|
602
|
my $score; |
563
|
|
|
|
|
|
|
my $score_return; |
564
|
195
|
|
|
|
|
0
|
my $_tok; |
565
|
195
|
|
|
|
|
329
|
my $return = undef; |
566
|
195
|
|
|
|
|
407
|
my $_matched=0; |
567
|
195
|
|
|
|
|
351
|
my $commit=0; |
568
|
195
|
|
|
|
|
363
|
my @item = (); |
569
|
195
|
|
|
|
|
359
|
my %item = (); |
570
|
195
|
|
|
|
|
625
|
my $repeating = $_[2]; |
571
|
195
|
|
|
|
|
316
|
my $_noactions = $_[3]; |
572
|
195
|
50
|
|
|
|
584
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
195
|
|
|
|
|
321
|
|
|
195
|
|
|
|
|
407
|
|
573
|
195
|
|
|
|
|
375
|
my $_itempos = $_[5]; |
574
|
195
|
50
|
|
|
|
514
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
575
|
195
|
|
|
|
|
642
|
my $text; |
576
|
|
|
|
|
|
|
my $lastsep; |
577
|
195
|
|
|
|
|
0
|
my $current_match; |
578
|
195
|
|
|
|
|
516
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
579
|
195
|
|
|
|
|
1529
|
$expectation->at($_[1]); |
580
|
|
|
|
|
|
|
|
581
|
195
|
|
|
|
|
826
|
my $thisline; |
582
|
195
|
|
|
|
|
691
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
583
|
|
|
|
|
|
|
|
584
|
|
|
|
|
|
|
|
585
|
|
|
|
|
|
|
|
586
|
195
|
|
33
|
|
|
1702
|
while (!$_matched && !$commit) |
587
|
|
|
|
|
|
|
{ |
588
|
|
|
|
|
|
|
|
589
|
195
|
50
|
|
|
|
505
|
Parse::RecDescent::_trace(q{Trying production: ['(' part ')' ]}, |
590
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
591
|
|
|
|
|
|
|
q{subpart}, |
592
|
|
|
|
|
|
|
$tracelevel) |
593
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
594
|
195
|
|
|
|
|
547
|
my $thisprod = $thisrule->{"prods"}[0]; |
595
|
195
|
|
|
|
|
368
|
$text = $_[1]; |
596
|
195
|
|
|
|
|
796
|
my $_savetext; |
597
|
195
|
|
|
|
|
431
|
@item = (q{subpart}); |
598
|
195
|
|
|
|
|
579
|
%item = (__RULE__ => q{subpart}); |
599
|
195
|
|
|
|
|
367
|
my $repcount = 0; |
600
|
|
|
|
|
|
|
|
601
|
|
|
|
|
|
|
|
602
|
195
|
50
|
|
|
|
507
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
603
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
604
|
|
|
|
|
|
|
q{subpart}, |
605
|
|
|
|
|
|
|
$tracelevel) |
606
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
607
|
195
|
|
|
|
|
421
|
undef $lastsep; |
608
|
195
|
|
|
|
|
557
|
$expectation->is(q{})->at($text); |
609
|
|
|
|
|
|
|
|
610
|
|
|
|
|
|
|
|
611
|
195
|
100
|
33
|
|
|
2463
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
195
|
100
|
66
|
|
|
1630
|
|
|
195
|
|
66
|
|
|
446
|
|
|
195
|
|
|
|
|
1197
|
|
612
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
613
|
73
|
|
|
|
|
196
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
73
|
|
|
|
|
308
|
|
614
|
|
|
|
|
|
|
) |
615
|
|
|
|
|
|
|
{ |
616
|
122
|
50
|
|
|
|
737
|
$text = $lastsep . $text if defined $lastsep; |
617
|
|
|
|
|
|
|
|
618
|
122
|
|
|
|
|
525
|
$expectation->failed(); |
619
|
122
|
50
|
|
|
|
551
|
Parse::RecDescent::_trace(q{<>}, |
620
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
621
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
622
|
122
|
|
|
|
|
302
|
last; |
623
|
|
|
|
|
|
|
} |
624
|
73
|
50
|
|
|
|
237
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
625
|
|
|
|
|
|
|
. $_tok . q{])}, |
626
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
627
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
628
|
73
|
|
|
|
|
236
|
push @item, $item{__STRING1__}=$_tok; |
629
|
|
|
|
|
|
|
|
630
|
|
|
|
|
|
|
|
631
|
73
|
50
|
|
|
|
249
|
Parse::RecDescent::_trace(q{Trying subrule: [part]}, |
632
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
633
|
|
|
|
|
|
|
q{subpart}, |
634
|
|
|
|
|
|
|
$tracelevel) |
635
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
636
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
805
|
|
|
73
|
|
|
|
|
119
|
|
637
|
73
|
|
|
|
|
229
|
$expectation->is(q{part})->at($text); |
638
|
73
|
50
|
|
73
|
|
1108
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::part($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
73
|
|
|
|
|
180
|
|
639
|
|
|
|
|
|
|
{ |
640
|
|
|
|
|
|
|
|
641
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
642
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
643
|
|
|
|
|
|
|
q{subpart}, |
644
|
|
|
|
|
|
|
$tracelevel) |
645
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
646
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
647
|
0
|
|
|
|
|
0
|
last; |
648
|
|
|
|
|
|
|
} |
649
|
73
|
50
|
|
|
|
486
|
Parse::RecDescent::_trace(q{>>Matched subrule: [part]<< (return value: [} |
650
|
|
|
|
|
|
|
. $_tok . q{]}, |
651
|
|
|
|
|
|
|
|
652
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
653
|
|
|
|
|
|
|
q{subpart}, |
654
|
|
|
|
|
|
|
$tracelevel) |
655
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
656
|
73
|
|
|
|
|
212
|
$item{q{part}} = $_tok; |
657
|
73
|
|
|
|
|
168
|
push @item, $_tok; |
658
|
|
|
|
|
|
|
|
659
|
|
|
|
|
|
|
} |
660
|
|
|
|
|
|
|
|
661
|
73
|
50
|
|
|
|
208
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
662
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
663
|
|
|
|
|
|
|
q{subpart}, |
664
|
|
|
|
|
|
|
$tracelevel) |
665
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
666
|
73
|
|
|
|
|
181
|
undef $lastsep; |
667
|
73
|
|
|
|
|
304
|
$expectation->is(q{')'})->at($text); |
668
|
|
|
|
|
|
|
|
669
|
|
|
|
|
|
|
|
670
|
73
|
50
|
33
|
|
|
1123
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
73
|
50
|
33
|
|
|
728
|
|
|
73
|
|
33
|
|
|
159
|
|
|
73
|
|
|
|
|
597
|
|
671
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
672
|
73
|
|
|
|
|
250
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
73
|
|
|
|
|
253
|
|
673
|
|
|
|
|
|
|
) |
674
|
|
|
|
|
|
|
{ |
675
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
676
|
|
|
|
|
|
|
|
677
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
678
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
679
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
680
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
681
|
0
|
|
|
|
|
0
|
last; |
682
|
|
|
|
|
|
|
} |
683
|
73
|
50
|
|
|
|
259
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
684
|
|
|
|
|
|
|
. $_tok . q{])}, |
685
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
686
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
687
|
73
|
|
|
|
|
249
|
push @item, $item{__STRING2__}=$_tok; |
688
|
|
|
|
|
|
|
|
689
|
|
|
|
|
|
|
|
690
|
73
|
50
|
|
|
|
255
|
Parse::RecDescent::_trace(q{Trying action}, |
691
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
692
|
|
|
|
|
|
|
q{subpart}, |
693
|
|
|
|
|
|
|
$tracelevel) |
694
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
695
|
|
|
|
|
|
|
|
696
|
|
|
|
|
|
|
|
697
|
73
|
50
|
|
|
|
228
|
$_tok = ($_noactions) ? 0 : do {$return = $item{part}}; |
|
73
|
|
|
|
|
188
|
|
698
|
73
|
50
|
|
|
|
231
|
unless (defined $_tok) |
699
|
|
|
|
|
|
|
{ |
700
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
701
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
702
|
0
|
|
|
|
|
0
|
last; |
703
|
|
|
|
|
|
|
} |
704
|
73
|
50
|
|
|
|
206
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
705
|
|
|
|
|
|
|
. $_tok . q{])}, |
706
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
707
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
708
|
73
|
|
|
|
|
137
|
push @item, $_tok; |
709
|
73
|
|
|
|
|
141
|
$item{__ACTION1__}=$_tok; |
710
|
|
|
|
|
|
|
|
711
|
|
|
|
|
|
|
|
712
|
|
|
|
|
|
|
|
713
|
|
|
|
|
|
|
|
714
|
73
|
50
|
|
|
|
214
|
Parse::RecDescent::_trace(q{Trying directive: []}, |
715
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
716
|
|
|
|
|
|
|
q{subpart}, |
717
|
|
|
|
|
|
|
$tracelevel) |
718
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
719
|
73
|
|
|
73
|
|
128
|
$_tok = do { push @{$thisparser->{deferred}}, sub { ++$subpartCount; }; }; |
|
73
|
|
|
|
|
112
|
|
|
73
|
|
|
|
|
490
|
|
|
73
|
|
|
|
|
349
|
|
720
|
73
|
50
|
|
|
|
255
|
if (defined($_tok)) |
721
|
|
|
|
|
|
|
{ |
722
|
73
|
50
|
|
|
|
264
|
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} |
723
|
|
|
|
|
|
|
. $_tok . q{])}, |
724
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
725
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
726
|
|
|
|
|
|
|
} |
727
|
|
|
|
|
|
|
else |
728
|
|
|
|
|
|
|
{ |
729
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
730
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
731
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
732
|
|
|
|
|
|
|
} |
733
|
|
|
|
|
|
|
|
734
|
73
|
50
|
|
|
|
199
|
last unless defined $_tok; |
735
|
73
|
|
|
|
|
246
|
push @item, $item{__DIRECTIVE1__}=$_tok; |
736
|
|
|
|
|
|
|
|
737
|
|
|
|
|
|
|
|
738
|
73
|
50
|
|
|
|
256
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' part ')' ]<<}, |
739
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
740
|
|
|
|
|
|
|
q{subpart}, |
741
|
|
|
|
|
|
|
$tracelevel) |
742
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
743
|
|
|
|
|
|
|
|
744
|
|
|
|
|
|
|
|
745
|
|
|
|
|
|
|
|
746
|
73
|
|
|
|
|
135
|
$_matched = 1; |
747
|
73
|
|
|
|
|
212
|
last; |
748
|
|
|
|
|
|
|
} |
749
|
|
|
|
|
|
|
|
750
|
|
|
|
|
|
|
splice |
751
|
195
|
100
|
|
|
|
685
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
122
|
|
|
|
|
320
|
|
752
|
|
|
|
|
|
|
|
753
|
195
|
100
|
66
|
|
|
748
|
unless ( $_matched || defined($score) ) |
754
|
|
|
|
|
|
|
{ |
755
|
122
|
|
|
|
|
223
|
splice @{$thisparser->{deferred}}, $def_at; |
|
122
|
|
|
|
|
308
|
|
756
|
|
|
|
|
|
|
|
757
|
|
|
|
|
|
|
|
758
|
122
|
|
|
|
|
279
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
759
|
122
|
50
|
|
|
|
430
|
Parse::RecDescent::_trace(q{<>}, |
760
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
761
|
|
|
|
|
|
|
q{subpart}, |
762
|
|
|
|
|
|
|
$tracelevel) |
763
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
764
|
122
|
|
|
|
|
669
|
return undef; |
765
|
|
|
|
|
|
|
} |
766
|
73
|
50
|
33
|
|
|
342
|
if (!defined($return) && defined($score)) |
767
|
|
|
|
|
|
|
{ |
768
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
769
|
|
|
|
|
|
|
q{subpart}, |
770
|
|
|
|
|
|
|
$tracelevel) |
771
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
772
|
0
|
|
|
|
|
0
|
$return = $score_return; |
773
|
|
|
|
|
|
|
} |
774
|
73
|
|
|
|
|
126
|
splice @{$thisparser->{errors}}, $err_at; |
|
73
|
|
|
|
|
211
|
|
775
|
73
|
50
|
|
|
|
191
|
$return = $item[$#item] unless defined $return; |
776
|
73
|
50
|
|
|
|
237
|
if (defined $::RD_TRACE) |
777
|
|
|
|
|
|
|
{ |
778
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
779
|
|
|
|
|
|
|
$return . q{])}, "", |
780
|
|
|
|
|
|
|
q{subpart}, |
781
|
|
|
|
|
|
|
$tracelevel); |
782
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
783
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
784
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
785
|
|
|
|
|
|
|
, q{subpart}, |
786
|
|
|
|
|
|
|
$tracelevel) |
787
|
|
|
|
|
|
|
} |
788
|
73
|
|
|
|
|
266
|
$_[1] = $text; |
789
|
73
|
|
|
|
|
660
|
return $return; |
790
|
|
|
|
|
|
|
} |
791
|
|
|
|
|
|
|
|
792
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
793
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL |
794
|
|
|
|
|
|
|
{ |
795
|
1646
|
|
|
1646
|
|
2868
|
my $thisparser = $_[0]; |
796
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
916
|
|
797
|
1646
|
|
50
|
|
|
4301
|
local $tracelevel = ($tracelevel||0)+1; |
798
|
1646
|
|
|
|
|
2385
|
$ERRORS = 0; |
799
|
1646
|
|
|
|
|
3198
|
my $thisrule = $thisparser->{"rules"}{"NIL"}; |
800
|
|
|
|
|
|
|
|
801
|
1646
|
50
|
|
|
|
3169
|
Parse::RecDescent::_trace(q{Trying rule: [NIL]}, |
802
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
803
|
|
|
|
|
|
|
q{NIL}, |
804
|
|
|
|
|
|
|
$tracelevel) |
805
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
806
|
|
|
|
|
|
|
|
807
|
1646
|
|
|
|
|
2185
|
my $def_at = @{$thisparser->{deferred}}; |
|
1646
|
|
|
|
|
3125
|
|
808
|
1646
|
|
|
|
|
2591
|
my $err_at = @{$thisparser->{errors}}; |
|
1646
|
|
|
|
|
2519
|
|
809
|
|
|
|
|
|
|
|
810
|
1646
|
|
|
|
|
3645
|
my $score; |
811
|
|
|
|
|
|
|
my $score_return; |
812
|
1646
|
|
|
|
|
0
|
my $_tok; |
813
|
1646
|
|
|
|
|
2727
|
my $return = undef; |
814
|
1646
|
|
|
|
|
2219
|
my $_matched=0; |
815
|
1646
|
|
|
|
|
2694
|
my $commit=0; |
816
|
1646
|
|
|
|
|
2909
|
my @item = (); |
817
|
1646
|
|
|
|
|
2354
|
my %item = (); |
818
|
1646
|
|
|
|
|
2657
|
my $repeating = $_[2]; |
819
|
1646
|
|
|
|
|
2335
|
my $_noactions = $_[3]; |
820
|
1646
|
50
|
|
|
|
3471
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
1646
|
|
|
|
|
2399
|
|
|
1646
|
|
|
|
|
2937
|
|
821
|
1646
|
|
|
|
|
2549
|
my $_itempos = $_[5]; |
822
|
1646
|
50
|
|
|
|
3355
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
823
|
1646
|
|
|
|
|
3716
|
my $text; |
824
|
|
|
|
|
|
|
my $lastsep; |
825
|
1646
|
|
|
|
|
0
|
my $current_match; |
826
|
1646
|
|
|
|
|
3539
|
my $expectation = new Parse::RecDescent::Expectation(q{/^NIL/i}); |
827
|
1646
|
|
|
|
|
10396
|
$expectation->at($_[1]); |
828
|
|
|
|
|
|
|
|
829
|
1646
|
|
|
|
|
6711
|
my $thisline; |
830
|
1646
|
|
|
|
|
4347
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
831
|
|
|
|
|
|
|
|
832
|
|
|
|
|
|
|
|
833
|
|
|
|
|
|
|
|
834
|
1646
|
|
33
|
|
|
11827
|
while (!$_matched && !$commit) |
835
|
|
|
|
|
|
|
{ |
836
|
|
|
|
|
|
|
|
837
|
1646
|
50
|
|
|
|
3574
|
Parse::RecDescent::_trace(q{Trying production: [/^NIL/i]}, |
838
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
839
|
|
|
|
|
|
|
q{NIL}, |
840
|
|
|
|
|
|
|
$tracelevel) |
841
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
842
|
1646
|
|
|
|
|
3280
|
my $thisprod = $thisrule->{"prods"}[0]; |
843
|
1646
|
|
|
|
|
2826
|
$text = $_[1]; |
844
|
1646
|
|
|
|
|
2367
|
my $_savetext; |
845
|
1646
|
|
|
|
|
3329
|
@item = (q{NIL}); |
846
|
1646
|
|
|
|
|
3467
|
%item = (__RULE__ => q{NIL}); |
847
|
1646
|
|
|
|
|
2493
|
my $repcount = 0; |
848
|
|
|
|
|
|
|
|
849
|
|
|
|
|
|
|
|
850
|
1646
|
50
|
|
|
|
3790
|
Parse::RecDescent::_trace(q{Trying terminal: [/^NIL/i]}, Parse::RecDescent::_tracefirst($text), |
851
|
|
|
|
|
|
|
q{NIL}, |
852
|
|
|
|
|
|
|
$tracelevel) |
853
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
854
|
1646
|
|
|
|
|
2933
|
undef $lastsep; |
855
|
1646
|
|
|
|
|
3459
|
$expectation->is(q{})->at($text); |
856
|
|
|
|
|
|
|
|
857
|
|
|
|
|
|
|
|
858
|
1646
|
100
|
66
|
|
|
17934
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^NIL)/i) |
|
1646
|
100
|
|
|
|
15008
|
|
859
|
|
|
|
|
|
|
{ |
860
|
1008
|
50
|
|
|
|
4883
|
$text = $lastsep . $text if defined $lastsep; |
861
|
1008
|
|
|
|
|
3253
|
$expectation->failed(); |
862
|
1008
|
50
|
|
|
|
4232
|
Parse::RecDescent::_trace(q{<>}, |
863
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
864
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
865
|
|
|
|
|
|
|
|
866
|
1008
|
|
|
|
|
2197
|
last; |
867
|
|
|
|
|
|
|
} |
868
|
638
|
|
|
|
|
3184
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
869
|
638
|
|
|
|
|
2381
|
substr($text,0,length($current_match),q{}); |
870
|
638
|
50
|
|
|
|
1416
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
871
|
|
|
|
|
|
|
. $current_match . q{])}, |
872
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
873
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
874
|
638
|
|
|
|
|
1852
|
push @item, $item{__PATTERN1__}=$current_match; |
875
|
|
|
|
|
|
|
|
876
|
|
|
|
|
|
|
|
877
|
638
|
50
|
|
|
|
1263
|
Parse::RecDescent::_trace(q{Trying action}, |
878
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
879
|
|
|
|
|
|
|
q{NIL}, |
880
|
|
|
|
|
|
|
$tracelevel) |
881
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
882
|
|
|
|
|
|
|
|
883
|
|
|
|
|
|
|
|
884
|
638
|
50
|
|
|
|
1213
|
$_tok = ($_noactions) ? 0 : do { $return = "NIL" }; |
|
638
|
|
|
|
|
1188
|
|
885
|
638
|
50
|
|
|
|
1420
|
unless (defined $_tok) |
886
|
|
|
|
|
|
|
{ |
887
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
888
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
889
|
0
|
|
|
|
|
0
|
last; |
890
|
|
|
|
|
|
|
} |
891
|
638
|
50
|
|
|
|
1283
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
892
|
|
|
|
|
|
|
. $_tok . q{])}, |
893
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
894
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
895
|
638
|
|
|
|
|
1007
|
push @item, $_tok; |
896
|
638
|
|
|
|
|
1125
|
$item{__ACTION1__}=$_tok; |
897
|
|
|
|
|
|
|
|
898
|
|
|
|
|
|
|
|
899
|
638
|
50
|
|
|
|
1372
|
Parse::RecDescent::_trace(q{>>Matched production: [/^NIL/i]<<}, |
900
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
901
|
|
|
|
|
|
|
q{NIL}, |
902
|
|
|
|
|
|
|
$tracelevel) |
903
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
904
|
|
|
|
|
|
|
|
905
|
|
|
|
|
|
|
|
906
|
|
|
|
|
|
|
|
907
|
638
|
|
|
|
|
1025
|
$_matched = 1; |
908
|
638
|
|
|
|
|
1281
|
last; |
909
|
|
|
|
|
|
|
} |
910
|
|
|
|
|
|
|
|
911
|
|
|
|
|
|
|
splice |
912
|
1646
|
100
|
|
|
|
3384
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
1008
|
|
|
|
|
2607
|
|
913
|
|
|
|
|
|
|
|
914
|
1646
|
100
|
66
|
|
|
5006
|
unless ( $_matched || defined($score) ) |
915
|
|
|
|
|
|
|
{ |
916
|
1008
|
|
|
|
|
1464
|
splice @{$thisparser->{deferred}}, $def_at; |
|
1008
|
|
|
|
|
1709
|
|
917
|
|
|
|
|
|
|
|
918
|
|
|
|
|
|
|
|
919
|
1008
|
|
|
|
|
1919
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
920
|
1008
|
50
|
|
|
|
1954
|
Parse::RecDescent::_trace(q{<>}, |
921
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
922
|
|
|
|
|
|
|
q{NIL}, |
923
|
|
|
|
|
|
|
$tracelevel) |
924
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
925
|
1008
|
|
|
|
|
5945
|
return undef; |
926
|
|
|
|
|
|
|
} |
927
|
638
|
50
|
33
|
|
|
2594
|
if (!defined($return) && defined($score)) |
928
|
|
|
|
|
|
|
{ |
929
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
930
|
|
|
|
|
|
|
q{NIL}, |
931
|
|
|
|
|
|
|
$tracelevel) |
932
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
933
|
0
|
|
|
|
|
0
|
$return = $score_return; |
934
|
|
|
|
|
|
|
} |
935
|
638
|
|
|
|
|
906
|
splice @{$thisparser->{errors}}, $err_at; |
|
638
|
|
|
|
|
1445
|
|
936
|
638
|
50
|
|
|
|
1389
|
$return = $item[$#item] unless defined $return; |
937
|
638
|
50
|
|
|
|
1231
|
if (defined $::RD_TRACE) |
938
|
|
|
|
|
|
|
{ |
939
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
940
|
|
|
|
|
|
|
$return . q{])}, "", |
941
|
|
|
|
|
|
|
q{NIL}, |
942
|
|
|
|
|
|
|
$tracelevel); |
943
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
944
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
945
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
946
|
|
|
|
|
|
|
, q{NIL}, |
947
|
|
|
|
|
|
|
$tracelevel) |
948
|
|
|
|
|
|
|
} |
949
|
638
|
|
|
|
|
1784
|
$_[1] = $text; |
950
|
638
|
|
|
|
|
4430
|
return $return; |
951
|
|
|
|
|
|
|
} |
952
|
|
|
|
|
|
|
|
953
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
954
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::PLAIN |
955
|
|
|
|
|
|
|
{ |
956
|
81
|
|
|
81
|
|
218
|
my $thisparser = $_[0]; |
957
|
1
|
|
|
1
|
|
14
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
869
|
|
958
|
81
|
|
50
|
|
|
289
|
local $tracelevel = ($tracelevel||0)+1; |
959
|
81
|
|
|
|
|
235
|
$ERRORS = 0; |
960
|
81
|
|
|
|
|
225
|
my $thisrule = $thisparser->{"rules"}{"PLAIN"}; |
961
|
|
|
|
|
|
|
|
962
|
81
|
50
|
|
|
|
267
|
Parse::RecDescent::_trace(q{Trying rule: [PLAIN]}, |
963
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
964
|
|
|
|
|
|
|
q{PLAIN}, |
965
|
|
|
|
|
|
|
$tracelevel) |
966
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
967
|
|
|
|
|
|
|
|
968
|
81
|
|
|
|
|
121
|
my $def_at = @{$thisparser->{deferred}}; |
|
81
|
|
|
|
|
220
|
|
969
|
81
|
|
|
|
|
145
|
my $err_at = @{$thisparser->{errors}}; |
|
81
|
|
|
|
|
182
|
|
970
|
|
|
|
|
|
|
|
971
|
81
|
|
|
|
|
260
|
my $score; |
972
|
|
|
|
|
|
|
my $score_return; |
973
|
81
|
|
|
|
|
0
|
my $_tok; |
974
|
81
|
|
|
|
|
175
|
my $return = undef; |
975
|
81
|
|
|
|
|
142
|
my $_matched=0; |
976
|
81
|
|
|
|
|
143
|
my $commit=0; |
977
|
81
|
|
|
|
|
175
|
my @item = (); |
978
|
81
|
|
|
|
|
191
|
my %item = (); |
979
|
81
|
|
|
|
|
152
|
my $repeating = $_[2]; |
980
|
81
|
|
|
|
|
155
|
my $_noactions = $_[3]; |
981
|
81
|
50
|
|
|
|
216
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
81
|
|
|
|
|
161
|
|
|
81
|
|
|
|
|
193
|
|
982
|
81
|
|
|
|
|
185
|
my $_itempos = $_[5]; |
983
|
81
|
50
|
|
|
|
284
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
984
|
81
|
|
|
|
|
250
|
my $text; |
985
|
|
|
|
|
|
|
my $lastsep; |
986
|
81
|
|
|
|
|
0
|
my $current_match; |
987
|
81
|
|
|
|
|
205
|
my $expectation = new Parse::RecDescent::Expectation(q{/^"PLAIN"|^PLAIN/i}); |
988
|
81
|
|
|
|
|
596
|
$expectation->at($_[1]); |
989
|
|
|
|
|
|
|
|
990
|
81
|
|
|
|
|
352
|
my $thisline; |
991
|
81
|
|
|
|
|
279
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
992
|
|
|
|
|
|
|
|
993
|
|
|
|
|
|
|
|
994
|
|
|
|
|
|
|
|
995
|
81
|
|
33
|
|
|
776
|
while (!$_matched && !$commit) |
996
|
|
|
|
|
|
|
{ |
997
|
|
|
|
|
|
|
|
998
|
81
|
50
|
|
|
|
266
|
Parse::RecDescent::_trace(q{Trying production: [/^"PLAIN"|^PLAIN/i]}, |
999
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1000
|
|
|
|
|
|
|
q{PLAIN}, |
1001
|
|
|
|
|
|
|
$tracelevel) |
1002
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1003
|
81
|
|
|
|
|
236
|
my $thisprod = $thisrule->{"prods"}[0]; |
1004
|
81
|
|
|
|
|
182
|
$text = $_[1]; |
1005
|
81
|
|
|
|
|
155
|
my $_savetext; |
1006
|
81
|
|
|
|
|
253
|
@item = (q{PLAIN}); |
1007
|
81
|
|
|
|
|
221
|
%item = (__RULE__ => q{PLAIN}); |
1008
|
81
|
|
|
|
|
151
|
my $repcount = 0; |
1009
|
|
|
|
|
|
|
|
1010
|
|
|
|
|
|
|
|
1011
|
81
|
50
|
|
|
|
232
|
Parse::RecDescent::_trace(q{Trying terminal: [/^"PLAIN"|^PLAIN/i]}, Parse::RecDescent::_tracefirst($text), |
1012
|
|
|
|
|
|
|
q{PLAIN}, |
1013
|
|
|
|
|
|
|
$tracelevel) |
1014
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1015
|
81
|
|
|
|
|
182
|
undef $lastsep; |
1016
|
81
|
|
|
|
|
297
|
$expectation->is(q{})->at($text); |
1017
|
|
|
|
|
|
|
|
1018
|
|
|
|
|
|
|
|
1019
|
81
|
50
|
66
|
|
|
1088
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^"PLAIN"|^PLAIN)/i) |
|
81
|
100
|
|
|
|
1110
|
|
1020
|
|
|
|
|
|
|
{ |
1021
|
51
|
50
|
|
|
|
307
|
$text = $lastsep . $text if defined $lastsep; |
1022
|
51
|
|
|
|
|
187
|
$expectation->failed(); |
1023
|
51
|
50
|
|
|
|
285
|
Parse::RecDescent::_trace(q{<>}, |
1024
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1025
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1026
|
|
|
|
|
|
|
|
1027
|
51
|
|
|
|
|
144
|
last; |
1028
|
|
|
|
|
|
|
} |
1029
|
30
|
|
|
|
|
217
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
1030
|
30
|
|
|
|
|
154
|
substr($text,0,length($current_match),q{}); |
1031
|
30
|
50
|
|
|
|
96
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
1032
|
|
|
|
|
|
|
. $current_match . q{])}, |
1033
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1034
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1035
|
30
|
|
|
|
|
103
|
push @item, $item{__PATTERN1__}=$current_match; |
1036
|
|
|
|
|
|
|
|
1037
|
|
|
|
|
|
|
|
1038
|
30
|
50
|
|
|
|
100
|
Parse::RecDescent::_trace(q{Trying action}, |
1039
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1040
|
|
|
|
|
|
|
q{PLAIN}, |
1041
|
|
|
|
|
|
|
$tracelevel) |
1042
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1043
|
|
|
|
|
|
|
|
1044
|
|
|
|
|
|
|
|
1045
|
30
|
50
|
|
|
|
84
|
$_tok = ($_noactions) ? 0 : do { $return = "PLAIN" }; |
|
30
|
|
|
|
|
82
|
|
1046
|
30
|
50
|
|
|
|
100
|
unless (defined $_tok) |
1047
|
|
|
|
|
|
|
{ |
1048
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
1049
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1050
|
0
|
|
|
|
|
0
|
last; |
1051
|
|
|
|
|
|
|
} |
1052
|
30
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
1053
|
|
|
|
|
|
|
. $_tok . q{])}, |
1054
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1055
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1056
|
30
|
|
|
|
|
59
|
push @item, $_tok; |
1057
|
30
|
|
|
|
|
96
|
$item{__ACTION1__}=$_tok; |
1058
|
|
|
|
|
|
|
|
1059
|
|
|
|
|
|
|
|
1060
|
30
|
50
|
|
|
|
104
|
Parse::RecDescent::_trace(q{>>Matched production: [/^"PLAIN"|^PLAIN/i]<<}, |
1061
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1062
|
|
|
|
|
|
|
q{PLAIN}, |
1063
|
|
|
|
|
|
|
$tracelevel) |
1064
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1065
|
|
|
|
|
|
|
|
1066
|
|
|
|
|
|
|
|
1067
|
|
|
|
|
|
|
|
1068
|
30
|
|
|
|
|
55
|
$_matched = 1; |
1069
|
30
|
|
|
|
|
75
|
last; |
1070
|
|
|
|
|
|
|
} |
1071
|
|
|
|
|
|
|
|
1072
|
|
|
|
|
|
|
splice |
1073
|
81
|
100
|
|
|
|
287
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
51
|
|
|
|
|
145
|
|
1074
|
|
|
|
|
|
|
|
1075
|
81
|
100
|
66
|
|
|
348
|
unless ( $_matched || defined($score) ) |
1076
|
|
|
|
|
|
|
{ |
1077
|
51
|
|
|
|
|
110
|
splice @{$thisparser->{deferred}}, $def_at; |
|
51
|
|
|
|
|
128
|
|
1078
|
|
|
|
|
|
|
|
1079
|
|
|
|
|
|
|
|
1080
|
51
|
|
|
|
|
106
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
1081
|
51
|
50
|
|
|
|
137
|
Parse::RecDescent::_trace(q{<>}, |
1082
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1083
|
|
|
|
|
|
|
q{PLAIN}, |
1084
|
|
|
|
|
|
|
$tracelevel) |
1085
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1086
|
51
|
|
|
|
|
330
|
return undef; |
1087
|
|
|
|
|
|
|
} |
1088
|
30
|
50
|
33
|
|
|
120
|
if (!defined($return) && defined($score)) |
1089
|
|
|
|
|
|
|
{ |
1090
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
1091
|
|
|
|
|
|
|
q{PLAIN}, |
1092
|
|
|
|
|
|
|
$tracelevel) |
1093
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1094
|
0
|
|
|
|
|
0
|
$return = $score_return; |
1095
|
|
|
|
|
|
|
} |
1096
|
30
|
|
|
|
|
54
|
splice @{$thisparser->{errors}}, $err_at; |
|
30
|
|
|
|
|
121
|
|
1097
|
30
|
50
|
|
|
|
109
|
$return = $item[$#item] unless defined $return; |
1098
|
30
|
50
|
|
|
|
117
|
if (defined $::RD_TRACE) |
1099
|
|
|
|
|
|
|
{ |
1100
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
1101
|
|
|
|
|
|
|
$return . q{])}, "", |
1102
|
|
|
|
|
|
|
q{PLAIN}, |
1103
|
|
|
|
|
|
|
$tracelevel); |
1104
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
1105
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
1106
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1107
|
|
|
|
|
|
|
, q{PLAIN}, |
1108
|
|
|
|
|
|
|
$tracelevel) |
1109
|
|
|
|
|
|
|
} |
1110
|
30
|
|
|
|
|
134
|
$_[1] = $text; |
1111
|
30
|
|
|
|
|
234
|
return $return; |
1112
|
|
|
|
|
|
|
} |
1113
|
|
|
|
|
|
|
|
1114
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
1115
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::RFC822 |
1116
|
|
|
|
|
|
|
{ |
1117
|
22
|
|
|
22
|
|
59
|
my $thisparser = $_[0]; |
1118
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
22
|
|
|
1
|
|
|
|
|
862
|
|
1119
|
22
|
|
50
|
|
|
104
|
local $tracelevel = ($tracelevel||0)+1; |
1120
|
22
|
|
|
|
|
55
|
$ERRORS = 0; |
1121
|
22
|
|
|
|
|
72
|
my $thisrule = $thisparser->{"rules"}{"RFC822"}; |
1122
|
|
|
|
|
|
|
|
1123
|
22
|
50
|
|
|
|
67
|
Parse::RecDescent::_trace(q{Trying rule: [RFC822]}, |
1124
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1125
|
|
|
|
|
|
|
q{RFC822}, |
1126
|
|
|
|
|
|
|
$tracelevel) |
1127
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1128
|
|
|
|
|
|
|
|
1129
|
22
|
|
|
|
|
56
|
my $def_at = @{$thisparser->{deferred}}; |
|
22
|
|
|
|
|
69
|
|
1130
|
22
|
|
|
|
|
41
|
my $err_at = @{$thisparser->{errors}}; |
|
22
|
|
|
|
|
69
|
|
1131
|
|
|
|
|
|
|
|
1132
|
22
|
|
|
|
|
67
|
my $score; |
1133
|
|
|
|
|
|
|
my $score_return; |
1134
|
22
|
|
|
|
|
0
|
my $_tok; |
1135
|
22
|
|
|
|
|
42
|
my $return = undef; |
1136
|
22
|
|
|
|
|
50
|
my $_matched=0; |
1137
|
22
|
|
|
|
|
49
|
my $commit=0; |
1138
|
22
|
|
|
|
|
50
|
my @item = (); |
1139
|
22
|
|
|
|
|
46
|
my %item = (); |
1140
|
22
|
|
|
|
|
41
|
my $repeating = $_[2]; |
1141
|
22
|
|
|
|
|
41
|
my $_noactions = $_[3]; |
1142
|
22
|
50
|
|
|
|
65
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
22
|
|
|
|
|
44
|
|
|
22
|
|
|
|
|
40
|
|
1143
|
22
|
|
|
|
|
59
|
my $_itempos = $_[5]; |
1144
|
22
|
50
|
|
|
|
74
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
1145
|
22
|
|
|
|
|
72
|
my $text; |
1146
|
|
|
|
|
|
|
my $lastsep; |
1147
|
22
|
|
|
|
|
0
|
my $current_match; |
1148
|
22
|
|
|
|
|
61
|
my $expectation = new Parse::RecDescent::Expectation(q{/^"RFC822"|^RFC822/i}); |
1149
|
22
|
|
|
|
|
168
|
$expectation->at($_[1]); |
1150
|
|
|
|
|
|
|
|
1151
|
22
|
|
|
|
|
94
|
my $thisline; |
1152
|
22
|
|
|
|
|
85
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
1153
|
|
|
|
|
|
|
|
1154
|
|
|
|
|
|
|
|
1155
|
|
|
|
|
|
|
|
1156
|
22
|
|
33
|
|
|
245
|
while (!$_matched && !$commit) |
1157
|
|
|
|
|
|
|
{ |
1158
|
|
|
|
|
|
|
|
1159
|
22
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{Trying production: [/^"RFC822"|^RFC822/i]}, |
1160
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1161
|
|
|
|
|
|
|
q{RFC822}, |
1162
|
|
|
|
|
|
|
$tracelevel) |
1163
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1164
|
22
|
|
|
|
|
80
|
my $thisprod = $thisrule->{"prods"}[0]; |
1165
|
22
|
|
|
|
|
84
|
$text = $_[1]; |
1166
|
22
|
|
|
|
|
53
|
my $_savetext; |
1167
|
22
|
|
|
|
|
57
|
@item = (q{RFC822}); |
1168
|
22
|
|
|
|
|
81
|
%item = (__RULE__ => q{RFC822}); |
1169
|
22
|
|
|
|
|
45
|
my $repcount = 0; |
1170
|
|
|
|
|
|
|
|
1171
|
|
|
|
|
|
|
|
1172
|
22
|
50
|
|
|
|
68
|
Parse::RecDescent::_trace(q{Trying terminal: [/^"RFC822"|^RFC822/i]}, Parse::RecDescent::_tracefirst($text), |
1173
|
|
|
|
|
|
|
q{RFC822}, |
1174
|
|
|
|
|
|
|
$tracelevel) |
1175
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1176
|
22
|
|
|
|
|
55
|
undef $lastsep; |
1177
|
22
|
|
|
|
|
69
|
$expectation->is(q{})->at($text); |
1178
|
|
|
|
|
|
|
|
1179
|
|
|
|
|
|
|
|
1180
|
22
|
50
|
66
|
|
|
296
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^"RFC822"|^RFC822)/i) |
|
22
|
100
|
|
|
|
326
|
|
1181
|
|
|
|
|
|
|
{ |
1182
|
1
|
50
|
|
|
|
6
|
$text = $lastsep . $text if defined $lastsep; |
1183
|
1
|
|
|
|
|
5
|
$expectation->failed(); |
1184
|
1
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{<>}, |
1185
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1186
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1187
|
|
|
|
|
|
|
|
1188
|
1
|
|
|
|
|
3
|
last; |
1189
|
|
|
|
|
|
|
} |
1190
|
21
|
|
|
|
|
130
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
1191
|
21
|
|
|
|
|
139
|
substr($text,0,length($current_match),q{}); |
1192
|
21
|
50
|
|
|
|
78
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
1193
|
|
|
|
|
|
|
. $current_match . q{])}, |
1194
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1195
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1196
|
21
|
|
|
|
|
88
|
push @item, $item{__PATTERN1__}=$current_match; |
1197
|
|
|
|
|
|
|
|
1198
|
|
|
|
|
|
|
|
1199
|
21
|
50
|
|
|
|
64
|
Parse::RecDescent::_trace(q{Trying action}, |
1200
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1201
|
|
|
|
|
|
|
q{RFC822}, |
1202
|
|
|
|
|
|
|
$tracelevel) |
1203
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1204
|
|
|
|
|
|
|
|
1205
|
|
|
|
|
|
|
|
1206
|
21
|
50
|
|
|
|
63
|
$_tok = ($_noactions) ? 0 : do { $return = "RFC822" }; |
|
21
|
|
|
|
|
56
|
|
1207
|
21
|
50
|
|
|
|
97
|
unless (defined $_tok) |
1208
|
|
|
|
|
|
|
{ |
1209
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
1210
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1211
|
0
|
|
|
|
|
0
|
last; |
1212
|
|
|
|
|
|
|
} |
1213
|
21
|
50
|
|
|
|
59
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
1214
|
|
|
|
|
|
|
. $_tok . q{])}, |
1215
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1216
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1217
|
21
|
|
|
|
|
40
|
push @item, $_tok; |
1218
|
21
|
|
|
|
|
50
|
$item{__ACTION1__}=$_tok; |
1219
|
|
|
|
|
|
|
|
1220
|
|
|
|
|
|
|
|
1221
|
21
|
50
|
|
|
|
68
|
Parse::RecDescent::_trace(q{>>Matched production: [/^"RFC822"|^RFC822/i]<<}, |
1222
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1223
|
|
|
|
|
|
|
q{RFC822}, |
1224
|
|
|
|
|
|
|
$tracelevel) |
1225
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1226
|
|
|
|
|
|
|
|
1227
|
|
|
|
|
|
|
|
1228
|
|
|
|
|
|
|
|
1229
|
21
|
|
|
|
|
52
|
$_matched = 1; |
1230
|
21
|
|
|
|
|
62
|
last; |
1231
|
|
|
|
|
|
|
} |
1232
|
|
|
|
|
|
|
|
1233
|
|
|
|
|
|
|
splice |
1234
|
22
|
100
|
|
|
|
59
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
1
|
|
|
|
|
5
|
|
1235
|
|
|
|
|
|
|
|
1236
|
22
|
100
|
66
|
|
|
84
|
unless ( $_matched || defined($score) ) |
1237
|
|
|
|
|
|
|
{ |
1238
|
1
|
|
|
|
|
3
|
splice @{$thisparser->{deferred}}, $def_at; |
|
1
|
|
|
|
|
3
|
|
1239
|
|
|
|
|
|
|
|
1240
|
|
|
|
|
|
|
|
1241
|
1
|
|
|
|
|
4
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
1242
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{<>}, |
1243
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1244
|
|
|
|
|
|
|
q{RFC822}, |
1245
|
|
|
|
|
|
|
$tracelevel) |
1246
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1247
|
1
|
|
|
|
|
7
|
return undef; |
1248
|
|
|
|
|
|
|
} |
1249
|
21
|
50
|
33
|
|
|
71
|
if (!defined($return) && defined($score)) |
1250
|
|
|
|
|
|
|
{ |
1251
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
1252
|
|
|
|
|
|
|
q{RFC822}, |
1253
|
|
|
|
|
|
|
$tracelevel) |
1254
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1255
|
0
|
|
|
|
|
0
|
$return = $score_return; |
1256
|
|
|
|
|
|
|
} |
1257
|
21
|
|
|
|
|
45
|
splice @{$thisparser->{errors}}, $err_at; |
|
21
|
|
|
|
|
71
|
|
1258
|
21
|
50
|
|
|
|
69
|
$return = $item[$#item] unless defined $return; |
1259
|
21
|
50
|
|
|
|
65
|
if (defined $::RD_TRACE) |
1260
|
|
|
|
|
|
|
{ |
1261
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
1262
|
|
|
|
|
|
|
$return . q{])}, "", |
1263
|
|
|
|
|
|
|
q{RFC822}, |
1264
|
|
|
|
|
|
|
$tracelevel); |
1265
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
1266
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
1267
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1268
|
|
|
|
|
|
|
, q{RFC822}, |
1269
|
|
|
|
|
|
|
$tracelevel) |
1270
|
|
|
|
|
|
|
} |
1271
|
21
|
|
|
|
|
95
|
$_[1] = $text; |
1272
|
21
|
|
|
|
|
154
|
return $return; |
1273
|
|
|
|
|
|
|
} |
1274
|
|
|
|
|
|
|
|
1275
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
1276
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysubtype |
1277
|
|
|
|
|
|
|
{ |
1278
|
81
|
|
|
81
|
|
177
|
my $thisparser = $_[0]; |
1279
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
331
|
|
1280
|
81
|
|
50
|
|
|
290
|
local $tracelevel = ($tracelevel||0)+1; |
1281
|
81
|
|
|
|
|
155
|
$ERRORS = 0; |
1282
|
81
|
|
|
|
|
251
|
my $thisrule = $thisparser->{"rules"}{"bodysubtype"}; |
1283
|
|
|
|
|
|
|
|
1284
|
81
|
50
|
|
|
|
277
|
Parse::RecDescent::_trace(q{Trying rule: [bodysubtype]}, |
1285
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1286
|
|
|
|
|
|
|
q{bodysubtype}, |
1287
|
|
|
|
|
|
|
$tracelevel) |
1288
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1289
|
|
|
|
|
|
|
|
1290
|
81
|
|
|
|
|
123
|
my $def_at = @{$thisparser->{deferred}}; |
|
81
|
|
|
|
|
211
|
|
1291
|
81
|
|
|
|
|
149
|
my $err_at = @{$thisparser->{errors}}; |
|
81
|
|
|
|
|
180
|
|
1292
|
|
|
|
|
|
|
|
1293
|
81
|
|
|
|
|
259
|
my $score; |
1294
|
|
|
|
|
|
|
my $score_return; |
1295
|
81
|
|
|
|
|
0
|
my $_tok; |
1296
|
81
|
|
|
|
|
145
|
my $return = undef; |
1297
|
81
|
|
|
|
|
151
|
my $_matched=0; |
1298
|
81
|
|
|
|
|
131
|
my $commit=0; |
1299
|
81
|
|
|
|
|
193
|
my @item = (); |
1300
|
81
|
|
|
|
|
188
|
my %item = (); |
1301
|
81
|
|
|
|
|
144
|
my $repeating = $_[2]; |
1302
|
81
|
|
|
|
|
135
|
my $_noactions = $_[3]; |
1303
|
81
|
50
|
|
|
|
201
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
81
|
|
|
|
|
160
|
|
|
81
|
|
|
|
|
185
|
|
1304
|
81
|
|
|
|
|
172
|
my $_itempos = $_[5]; |
1305
|
81
|
50
|
|
|
|
300
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
1306
|
81
|
|
|
|
|
247
|
my $text; |
1307
|
|
|
|
|
|
|
my $lastsep; |
1308
|
81
|
|
|
|
|
0
|
my $current_match; |
1309
|
81
|
|
|
|
|
226
|
my $expectation = new Parse::RecDescent::Expectation(q{PLAIN, or HTML, or NIL, or STRING}); |
1310
|
81
|
|
|
|
|
636
|
$expectation->at($_[1]); |
1311
|
|
|
|
|
|
|
|
1312
|
81
|
|
|
|
|
439
|
my $thisline; |
1313
|
81
|
|
|
|
|
328
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
1314
|
|
|
|
|
|
|
|
1315
|
|
|
|
|
|
|
|
1316
|
|
|
|
|
|
|
|
1317
|
81
|
|
33
|
|
|
923
|
while (!$_matched && !$commit) |
1318
|
|
|
|
|
|
|
{ |
1319
|
|
|
|
|
|
|
|
1320
|
81
|
50
|
|
|
|
254
|
Parse::RecDescent::_trace(q{Trying production: [PLAIN]}, |
1321
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1322
|
|
|
|
|
|
|
q{bodysubtype}, |
1323
|
|
|
|
|
|
|
$tracelevel) |
1324
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1325
|
81
|
|
|
|
|
256
|
my $thisprod = $thisrule->{"prods"}[0]; |
1326
|
81
|
|
|
|
|
169
|
$text = $_[1]; |
1327
|
81
|
|
|
|
|
129
|
my $_savetext; |
1328
|
81
|
|
|
|
|
183
|
@item = (q{bodysubtype}); |
1329
|
81
|
|
|
|
|
227
|
%item = (__RULE__ => q{bodysubtype}); |
1330
|
81
|
|
|
|
|
136
|
my $repcount = 0; |
1331
|
|
|
|
|
|
|
|
1332
|
|
|
|
|
|
|
|
1333
|
81
|
50
|
|
|
|
216
|
Parse::RecDescent::_trace(q{Trying subrule: [PLAIN]}, |
1334
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1335
|
|
|
|
|
|
|
q{bodysubtype}, |
1336
|
|
|
|
|
|
|
$tracelevel) |
1337
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1338
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
314
|
|
|
81
|
|
|
|
|
136
|
|
1339
|
81
|
|
|
|
|
259
|
$expectation->is(q{})->at($text); |
1340
|
81
|
100
|
|
81
|
|
975
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::PLAIN($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
81
|
|
|
|
|
235
|
|
1341
|
|
|
|
|
|
|
{ |
1342
|
|
|
|
|
|
|
|
1343
|
51
|
50
|
|
|
|
167
|
Parse::RecDescent::_trace(q{<>}, |
1344
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1345
|
|
|
|
|
|
|
q{bodysubtype}, |
1346
|
|
|
|
|
|
|
$tracelevel) |
1347
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1348
|
51
|
|
|
|
|
170
|
$expectation->failed(); |
1349
|
51
|
|
|
|
|
214
|
last; |
1350
|
|
|
|
|
|
|
} |
1351
|
30
|
50
|
|
|
|
160
|
Parse::RecDescent::_trace(q{>>Matched subrule: [PLAIN]<< (return value: [} |
1352
|
|
|
|
|
|
|
. $_tok . q{]}, |
1353
|
|
|
|
|
|
|
|
1354
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1355
|
|
|
|
|
|
|
q{bodysubtype}, |
1356
|
|
|
|
|
|
|
$tracelevel) |
1357
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1358
|
30
|
|
|
|
|
101
|
$item{q{PLAIN}} = $_tok; |
1359
|
30
|
|
|
|
|
89
|
push @item, $_tok; |
1360
|
|
|
|
|
|
|
|
1361
|
|
|
|
|
|
|
} |
1362
|
|
|
|
|
|
|
|
1363
|
30
|
50
|
|
|
|
102
|
Parse::RecDescent::_trace(q{>>Matched production: [PLAIN]<<}, |
1364
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1365
|
|
|
|
|
|
|
q{bodysubtype}, |
1366
|
|
|
|
|
|
|
$tracelevel) |
1367
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1368
|
|
|
|
|
|
|
|
1369
|
|
|
|
|
|
|
|
1370
|
|
|
|
|
|
|
|
1371
|
30
|
|
|
|
|
67
|
$_matched = 1; |
1372
|
30
|
|
|
|
|
61
|
last; |
1373
|
|
|
|
|
|
|
} |
1374
|
|
|
|
|
|
|
|
1375
|
|
|
|
|
|
|
splice |
1376
|
81
|
100
|
|
|
|
340
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
51
|
|
|
|
|
150
|
|
1377
|
|
|
|
|
|
|
|
1378
|
81
|
|
66
|
|
|
397
|
while (!$_matched && !$commit) |
1379
|
|
|
|
|
|
|
{ |
1380
|
|
|
|
|
|
|
|
1381
|
51
|
50
|
|
|
|
189
|
Parse::RecDescent::_trace(q{Trying production: [HTML]}, |
1382
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1383
|
|
|
|
|
|
|
q{bodysubtype}, |
1384
|
|
|
|
|
|
|
$tracelevel) |
1385
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1386
|
51
|
|
|
|
|
148
|
my $thisprod = $thisrule->{"prods"}[1]; |
1387
|
51
|
|
|
|
|
108
|
$text = $_[1]; |
1388
|
51
|
|
|
|
|
92
|
my $_savetext; |
1389
|
51
|
|
|
|
|
145
|
@item = (q{bodysubtype}); |
1390
|
51
|
|
|
|
|
141
|
%item = (__RULE__ => q{bodysubtype}); |
1391
|
51
|
|
|
|
|
151
|
my $repcount = 0; |
1392
|
|
|
|
|
|
|
|
1393
|
|
|
|
|
|
|
|
1394
|
51
|
50
|
|
|
|
135
|
Parse::RecDescent::_trace(q{Trying subrule: [HTML]}, |
1395
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1396
|
|
|
|
|
|
|
q{bodysubtype}, |
1397
|
|
|
|
|
|
|
$tracelevel) |
1398
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1399
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
290
|
|
|
51
|
|
|
|
|
114
|
|
1400
|
51
|
|
|
|
|
186
|
$expectation->is(q{})->at($text); |
1401
|
51
|
100
|
|
51
|
|
638
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::HTML($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
51
|
|
|
|
|
127
|
|
1402
|
|
|
|
|
|
|
{ |
1403
|
|
|
|
|
|
|
|
1404
|
43
|
50
|
|
|
|
138
|
Parse::RecDescent::_trace(q{<>}, |
1405
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1406
|
|
|
|
|
|
|
q{bodysubtype}, |
1407
|
|
|
|
|
|
|
$tracelevel) |
1408
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1409
|
43
|
|
|
|
|
146
|
$expectation->failed(); |
1410
|
43
|
|
|
|
|
156
|
last; |
1411
|
|
|
|
|
|
|
} |
1412
|
8
|
50
|
|
|
|
37
|
Parse::RecDescent::_trace(q{>>Matched subrule: [HTML]<< (return value: [} |
1413
|
|
|
|
|
|
|
. $_tok . q{]}, |
1414
|
|
|
|
|
|
|
|
1415
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1416
|
|
|
|
|
|
|
q{bodysubtype}, |
1417
|
|
|
|
|
|
|
$tracelevel) |
1418
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1419
|
8
|
|
|
|
|
21
|
$item{q{HTML}} = $_tok; |
1420
|
8
|
|
|
|
|
20
|
push @item, $_tok; |
1421
|
|
|
|
|
|
|
|
1422
|
|
|
|
|
|
|
} |
1423
|
|
|
|
|
|
|
|
1424
|
8
|
50
|
|
|
|
24
|
Parse::RecDescent::_trace(q{>>Matched production: [HTML]<<}, |
1425
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1426
|
|
|
|
|
|
|
q{bodysubtype}, |
1427
|
|
|
|
|
|
|
$tracelevel) |
1428
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1429
|
|
|
|
|
|
|
|
1430
|
|
|
|
|
|
|
|
1431
|
|
|
|
|
|
|
|
1432
|
8
|
|
|
|
|
13
|
$_matched = 1; |
1433
|
8
|
|
|
|
|
21
|
last; |
1434
|
|
|
|
|
|
|
} |
1435
|
|
|
|
|
|
|
|
1436
|
|
|
|
|
|
|
splice |
1437
|
81
|
100
|
|
|
|
353
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
43
|
|
|
|
|
114
|
|
1438
|
|
|
|
|
|
|
|
1439
|
81
|
|
66
|
|
|
360
|
while (!$_matched && !$commit) |
1440
|
|
|
|
|
|
|
{ |
1441
|
|
|
|
|
|
|
|
1442
|
43
|
50
|
|
|
|
130
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
1443
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1444
|
|
|
|
|
|
|
q{bodysubtype}, |
1445
|
|
|
|
|
|
|
$tracelevel) |
1446
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1447
|
43
|
|
|
|
|
104
|
my $thisprod = $thisrule->{"prods"}[2]; |
1448
|
43
|
|
|
|
|
89
|
$text = $_[1]; |
1449
|
43
|
|
|
|
|
72
|
my $_savetext; |
1450
|
43
|
|
|
|
|
128
|
@item = (q{bodysubtype}); |
1451
|
43
|
|
|
|
|
138
|
%item = (__RULE__ => q{bodysubtype}); |
1452
|
43
|
|
|
|
|
89
|
my $repcount = 0; |
1453
|
|
|
|
|
|
|
|
1454
|
|
|
|
|
|
|
|
1455
|
43
|
50
|
|
|
|
125
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
1456
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1457
|
|
|
|
|
|
|
q{bodysubtype}, |
1458
|
|
|
|
|
|
|
$tracelevel) |
1459
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1460
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
297
|
|
|
43
|
|
|
|
|
89
|
|
1461
|
43
|
|
|
|
|
118
|
$expectation->is(q{})->at($text); |
1462
|
43
|
50
|
|
43
|
|
508
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
43
|
|
|
|
|
115
|
|
1463
|
|
|
|
|
|
|
{ |
1464
|
|
|
|
|
|
|
|
1465
|
43
|
50
|
|
|
|
139
|
Parse::RecDescent::_trace(q{<>}, |
1466
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1467
|
|
|
|
|
|
|
q{bodysubtype}, |
1468
|
|
|
|
|
|
|
$tracelevel) |
1469
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1470
|
43
|
|
|
|
|
145
|
$expectation->failed(); |
1471
|
43
|
|
|
|
|
159
|
last; |
1472
|
|
|
|
|
|
|
} |
1473
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
1474
|
|
|
|
|
|
|
. $_tok . q{]}, |
1475
|
|
|
|
|
|
|
|
1476
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1477
|
|
|
|
|
|
|
q{bodysubtype}, |
1478
|
|
|
|
|
|
|
$tracelevel) |
1479
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1480
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
1481
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
1482
|
|
|
|
|
|
|
|
1483
|
|
|
|
|
|
|
} |
1484
|
|
|
|
|
|
|
|
1485
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
1486
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1487
|
|
|
|
|
|
|
q{bodysubtype}, |
1488
|
|
|
|
|
|
|
$tracelevel) |
1489
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1490
|
|
|
|
|
|
|
|
1491
|
|
|
|
|
|
|
|
1492
|
|
|
|
|
|
|
|
1493
|
0
|
|
|
|
|
0
|
$_matched = 1; |
1494
|
0
|
|
|
|
|
0
|
last; |
1495
|
|
|
|
|
|
|
} |
1496
|
|
|
|
|
|
|
|
1497
|
|
|
|
|
|
|
splice |
1498
|
81
|
100
|
|
|
|
305
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
43
|
|
|
|
|
128
|
|
1499
|
|
|
|
|
|
|
|
1500
|
81
|
|
66
|
|
|
341
|
while (!$_matched && !$commit) |
1501
|
|
|
|
|
|
|
{ |
1502
|
|
|
|
|
|
|
|
1503
|
43
|
50
|
|
|
|
127
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
1504
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1505
|
|
|
|
|
|
|
q{bodysubtype}, |
1506
|
|
|
|
|
|
|
$tracelevel) |
1507
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1508
|
43
|
|
|
|
|
128
|
my $thisprod = $thisrule->{"prods"}[3]; |
1509
|
43
|
|
|
|
|
89
|
$text = $_[1]; |
1510
|
43
|
|
|
|
|
78
|
my $_savetext; |
1511
|
43
|
|
|
|
|
123
|
@item = (q{bodysubtype}); |
1512
|
43
|
|
|
|
|
145
|
%item = (__RULE__ => q{bodysubtype}); |
1513
|
43
|
|
|
|
|
90
|
my $repcount = 0; |
1514
|
|
|
|
|
|
|
|
1515
|
|
|
|
|
|
|
|
1516
|
43
|
50
|
|
|
|
139
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
1517
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1518
|
|
|
|
|
|
|
q{bodysubtype}, |
1519
|
|
|
|
|
|
|
$tracelevel) |
1520
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1521
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
495
|
|
|
43
|
|
|
|
|
72
|
|
1522
|
43
|
|
|
|
|
157
|
$expectation->is(q{})->at($text); |
1523
|
43
|
50
|
|
43
|
|
465
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
43
|
|
|
|
|
95
|
|
1524
|
|
|
|
|
|
|
{ |
1525
|
|
|
|
|
|
|
|
1526
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1527
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1528
|
|
|
|
|
|
|
q{bodysubtype}, |
1529
|
|
|
|
|
|
|
$tracelevel) |
1530
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1531
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
1532
|
0
|
|
|
|
|
0
|
last; |
1533
|
|
|
|
|
|
|
} |
1534
|
43
|
50
|
|
|
|
184
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
1535
|
|
|
|
|
|
|
. $_tok . q{]}, |
1536
|
|
|
|
|
|
|
|
1537
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1538
|
|
|
|
|
|
|
q{bodysubtype}, |
1539
|
|
|
|
|
|
|
$tracelevel) |
1540
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1541
|
43
|
|
|
|
|
112
|
$item{q{STRING}} = $_tok; |
1542
|
43
|
|
|
|
|
120
|
push @item, $_tok; |
1543
|
|
|
|
|
|
|
|
1544
|
|
|
|
|
|
|
} |
1545
|
|
|
|
|
|
|
|
1546
|
43
|
50
|
|
|
|
139
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
1547
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1548
|
|
|
|
|
|
|
q{bodysubtype}, |
1549
|
|
|
|
|
|
|
$tracelevel) |
1550
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1551
|
|
|
|
|
|
|
|
1552
|
|
|
|
|
|
|
|
1553
|
|
|
|
|
|
|
|
1554
|
43
|
|
|
|
|
99
|
$_matched = 1; |
1555
|
43
|
|
|
|
|
86
|
last; |
1556
|
|
|
|
|
|
|
} |
1557
|
|
|
|
|
|
|
|
1558
|
|
|
|
|
|
|
splice |
1559
|
81
|
50
|
|
|
|
241
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
1560
|
|
|
|
|
|
|
|
1561
|
81
|
50
|
33
|
|
|
280
|
unless ( $_matched || defined($score) ) |
1562
|
|
|
|
|
|
|
{ |
1563
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
1564
|
|
|
|
|
|
|
|
1565
|
|
|
|
|
|
|
|
1566
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
1567
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1568
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1569
|
|
|
|
|
|
|
q{bodysubtype}, |
1570
|
|
|
|
|
|
|
$tracelevel) |
1571
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1572
|
0
|
|
|
|
|
0
|
return undef; |
1573
|
|
|
|
|
|
|
} |
1574
|
81
|
50
|
33
|
|
|
400
|
if (!defined($return) && defined($score)) |
1575
|
|
|
|
|
|
|
{ |
1576
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
1577
|
|
|
|
|
|
|
q{bodysubtype}, |
1578
|
|
|
|
|
|
|
$tracelevel) |
1579
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1580
|
0
|
|
|
|
|
0
|
$return = $score_return; |
1581
|
|
|
|
|
|
|
} |
1582
|
81
|
|
|
|
|
134
|
splice @{$thisparser->{errors}}, $err_at; |
|
81
|
|
|
|
|
211
|
|
1583
|
81
|
50
|
|
|
|
274
|
$return = $item[$#item] unless defined $return; |
1584
|
81
|
50
|
|
|
|
272
|
if (defined $::RD_TRACE) |
1585
|
|
|
|
|
|
|
{ |
1586
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
1587
|
|
|
|
|
|
|
$return . q{])}, "", |
1588
|
|
|
|
|
|
|
q{bodysubtype}, |
1589
|
|
|
|
|
|
|
$tracelevel); |
1590
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
1591
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
1592
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1593
|
|
|
|
|
|
|
, q{bodysubtype}, |
1594
|
|
|
|
|
|
|
$tracelevel) |
1595
|
|
|
|
|
|
|
} |
1596
|
81
|
|
|
|
|
213
|
$_[1] = $text; |
1597
|
81
|
|
|
|
|
520
|
return $return; |
1598
|
|
|
|
|
|
|
} |
1599
|
|
|
|
|
|
|
|
1600
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
1601
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::from |
1602
|
|
|
|
|
|
|
{ |
1603
|
24
|
|
|
24
|
|
67
|
my $thisparser = $_[0]; |
1604
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
457
|
|
1605
|
24
|
|
50
|
|
|
95
|
local $tracelevel = ($tracelevel||0)+1; |
1606
|
24
|
|
|
|
|
61
|
$ERRORS = 0; |
1607
|
24
|
|
|
|
|
75
|
my $thisrule = $thisparser->{"rules"}{"from"}; |
1608
|
|
|
|
|
|
|
|
1609
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying rule: [from]}, |
1610
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1611
|
|
|
|
|
|
|
q{from}, |
1612
|
|
|
|
|
|
|
$tracelevel) |
1613
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1614
|
|
|
|
|
|
|
|
1615
|
24
|
|
|
|
|
51
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
61
|
|
1616
|
24
|
|
|
|
|
50
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
72
|
|
1617
|
|
|
|
|
|
|
|
1618
|
24
|
|
|
|
|
87
|
my $score; |
1619
|
|
|
|
|
|
|
my $score_return; |
1620
|
24
|
|
|
|
|
0
|
my $_tok; |
1621
|
24
|
|
|
|
|
49
|
my $return = undef; |
1622
|
24
|
|
|
|
|
43
|
my $_matched=0; |
1623
|
24
|
|
|
|
|
49
|
my $commit=0; |
1624
|
24
|
|
|
|
|
64
|
my @item = (); |
1625
|
24
|
|
|
|
|
54
|
my %item = (); |
1626
|
24
|
|
|
|
|
45
|
my $repeating = $_[2]; |
1627
|
24
|
|
|
|
|
45
|
my $_noactions = $_[3]; |
1628
|
24
|
50
|
|
|
|
77
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
37
|
|
|
24
|
|
|
|
|
62
|
|
1629
|
24
|
|
|
|
|
54
|
my $_itempos = $_[5]; |
1630
|
24
|
50
|
|
|
|
84
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
1631
|
24
|
|
|
|
|
79
|
my $text; |
1632
|
|
|
|
|
|
|
my $lastsep; |
1633
|
24
|
|
|
|
|
0
|
my $current_match; |
1634
|
24
|
|
|
|
|
79
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
1635
|
24
|
|
|
|
|
220
|
$expectation->at($_[1]); |
1636
|
|
|
|
|
|
|
|
1637
|
24
|
|
|
|
|
123
|
my $thisline; |
1638
|
24
|
|
|
|
|
105
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
1639
|
|
|
|
|
|
|
|
1640
|
|
|
|
|
|
|
|
1641
|
|
|
|
|
|
|
|
1642
|
24
|
|
33
|
|
|
264
|
while (!$_matched && !$commit) |
1643
|
|
|
|
|
|
|
{ |
1644
|
|
|
|
|
|
|
|
1645
|
24
|
50
|
|
|
|
77
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
1646
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1647
|
|
|
|
|
|
|
q{from}, |
1648
|
|
|
|
|
|
|
$tracelevel) |
1649
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1650
|
24
|
|
|
|
|
84
|
my $thisprod = $thisrule->{"prods"}[0]; |
1651
|
24
|
|
|
|
|
52
|
$text = $_[1]; |
1652
|
24
|
|
|
|
|
43
|
my $_savetext; |
1653
|
24
|
|
|
|
|
98
|
@item = (q{from}); |
1654
|
24
|
|
|
|
|
73
|
%item = (__RULE__ => q{from}); |
1655
|
24
|
|
|
|
|
47
|
my $repcount = 0; |
1656
|
|
|
|
|
|
|
|
1657
|
|
|
|
|
|
|
|
1658
|
24
|
50
|
|
|
|
61
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
1659
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1660
|
|
|
|
|
|
|
q{from}, |
1661
|
|
|
|
|
|
|
$tracelevel) |
1662
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1663
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
454
|
|
|
24
|
|
|
|
|
51
|
|
1664
|
24
|
|
|
|
|
72
|
$expectation->is(q{})->at($text); |
1665
|
24
|
50
|
|
24
|
|
305
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
66
|
|
1666
|
|
|
|
|
|
|
{ |
1667
|
|
|
|
|
|
|
|
1668
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1669
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1670
|
|
|
|
|
|
|
q{from}, |
1671
|
|
|
|
|
|
|
$tracelevel) |
1672
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1673
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
1674
|
0
|
|
|
|
|
0
|
last; |
1675
|
|
|
|
|
|
|
} |
1676
|
24
|
50
|
|
|
|
104
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
1677
|
|
|
|
|
|
|
. $_tok . q{]}, |
1678
|
|
|
|
|
|
|
|
1679
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1680
|
|
|
|
|
|
|
q{from}, |
1681
|
|
|
|
|
|
|
$tracelevel) |
1682
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1683
|
24
|
|
|
|
|
71
|
$item{q{ADDRESSES}} = $_tok; |
1684
|
24
|
|
|
|
|
67
|
push @item, $_tok; |
1685
|
|
|
|
|
|
|
|
1686
|
|
|
|
|
|
|
} |
1687
|
|
|
|
|
|
|
|
1688
|
24
|
50
|
|
|
|
77
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
1689
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1690
|
|
|
|
|
|
|
q{from}, |
1691
|
|
|
|
|
|
|
$tracelevel) |
1692
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1693
|
|
|
|
|
|
|
|
1694
|
|
|
|
|
|
|
|
1695
|
|
|
|
|
|
|
|
1696
|
24
|
|
|
|
|
50
|
$_matched = 1; |
1697
|
24
|
|
|
|
|
55
|
last; |
1698
|
|
|
|
|
|
|
} |
1699
|
|
|
|
|
|
|
|
1700
|
|
|
|
|
|
|
splice |
1701
|
24
|
50
|
|
|
|
96
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
1702
|
|
|
|
|
|
|
|
1703
|
24
|
50
|
33
|
|
|
99
|
unless ( $_matched || defined($score) ) |
1704
|
|
|
|
|
|
|
{ |
1705
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
1706
|
|
|
|
|
|
|
|
1707
|
|
|
|
|
|
|
|
1708
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
1709
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1710
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1711
|
|
|
|
|
|
|
q{from}, |
1712
|
|
|
|
|
|
|
$tracelevel) |
1713
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1714
|
0
|
|
|
|
|
0
|
return undef; |
1715
|
|
|
|
|
|
|
} |
1716
|
24
|
50
|
33
|
|
|
135
|
if (!defined($return) && defined($score)) |
1717
|
|
|
|
|
|
|
{ |
1718
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
1719
|
|
|
|
|
|
|
q{from}, |
1720
|
|
|
|
|
|
|
$tracelevel) |
1721
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1722
|
0
|
|
|
|
|
0
|
$return = $score_return; |
1723
|
|
|
|
|
|
|
} |
1724
|
24
|
|
|
|
|
54
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
71
|
|
1725
|
24
|
50
|
|
|
|
80
|
$return = $item[$#item] unless defined $return; |
1726
|
24
|
50
|
|
|
|
67
|
if (defined $::RD_TRACE) |
1727
|
|
|
|
|
|
|
{ |
1728
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
1729
|
|
|
|
|
|
|
$return . q{])}, "", |
1730
|
|
|
|
|
|
|
q{from}, |
1731
|
|
|
|
|
|
|
$tracelevel); |
1732
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
1733
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
1734
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1735
|
|
|
|
|
|
|
, q{from}, |
1736
|
|
|
|
|
|
|
$tracelevel) |
1737
|
|
|
|
|
|
|
} |
1738
|
24
|
|
|
|
|
69
|
$_[1] = $text; |
1739
|
24
|
|
|
|
|
165
|
return $return; |
1740
|
|
|
|
|
|
|
} |
1741
|
|
|
|
|
|
|
|
1742
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
1743
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::multipart |
1744
|
|
|
|
|
|
|
{ |
1745
|
122
|
|
|
122
|
|
299
|
my $thisparser = $_[0]; |
1746
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
538
|
|
1747
|
122
|
|
50
|
|
|
467
|
local $tracelevel = ($tracelevel||0)+1; |
1748
|
122
|
|
|
|
|
261
|
$ERRORS = 0; |
1749
|
122
|
|
|
|
|
354
|
my $thisrule = $thisparser->{"rules"}{"multipart"}; |
1750
|
|
|
|
|
|
|
|
1751
|
122
|
50
|
|
|
|
325
|
Parse::RecDescent::_trace(q{Trying rule: [multipart]}, |
1752
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1753
|
|
|
|
|
|
|
q{multipart}, |
1754
|
|
|
|
|
|
|
$tracelevel) |
1755
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1756
|
|
|
|
|
|
|
|
1757
|
122
|
|
|
|
|
230
|
my $def_at = @{$thisparser->{deferred}}; |
|
122
|
|
|
|
|
295
|
|
1758
|
122
|
|
|
|
|
221
|
my $err_at = @{$thisparser->{errors}}; |
|
122
|
|
|
|
|
278
|
|
1759
|
|
|
|
|
|
|
|
1760
|
122
|
|
|
|
|
359
|
my $score; |
1761
|
|
|
|
|
|
|
my $score_return; |
1762
|
122
|
|
|
|
|
0
|
my $_tok; |
1763
|
122
|
|
|
|
|
235
|
my $return = undef; |
1764
|
122
|
|
|
|
|
243
|
my $_matched=0; |
1765
|
122
|
|
|
|
|
234
|
my $commit=0; |
1766
|
122
|
|
|
|
|
262
|
my @item = (); |
1767
|
122
|
|
|
|
|
228
|
my %item = (); |
1768
|
122
|
|
|
|
|
240
|
my $repeating = $_[2]; |
1769
|
122
|
|
|
|
|
199
|
my $_noactions = $_[3]; |
1770
|
122
|
50
|
|
|
|
382
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
122
|
|
|
|
|
180
|
|
|
122
|
|
|
|
|
309
|
|
1771
|
122
|
|
|
|
|
295
|
my $_itempos = $_[5]; |
1772
|
122
|
50
|
|
|
|
441
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
1773
|
122
|
|
|
|
|
344
|
my $text; |
1774
|
|
|
|
|
|
|
my $lastsep; |
1775
|
122
|
|
|
|
|
0
|
my $current_match; |
1776
|
122
|
|
|
|
|
341
|
my $expectation = new Parse::RecDescent::Expectation(q{subpart}); |
1777
|
122
|
|
|
|
|
857
|
$expectation->at($_[1]); |
1778
|
|
|
|
|
|
|
|
1779
|
122
|
|
|
|
|
549
|
my $thisline; |
1780
|
122
|
|
|
|
|
449
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
1781
|
|
|
|
|
|
|
|
1782
|
|
|
|
|
|
|
|
1783
|
|
|
|
|
|
|
|
1784
|
122
|
|
33
|
|
|
1057
|
while (!$_matched && !$commit) |
1785
|
|
|
|
|
|
|
{ |
1786
|
|
|
|
|
|
|
|
1787
|
122
|
50
|
|
|
|
341
|
Parse::RecDescent::_trace(q{Trying production: [subpart bodysubtype bodyparms bodydisp bodylang bodyloc bodyextra ]}, |
1788
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
1789
|
|
|
|
|
|
|
q{multipart}, |
1790
|
|
|
|
|
|
|
$tracelevel) |
1791
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1792
|
122
|
|
|
|
|
394
|
my $thisprod = $thisrule->{"prods"}[0]; |
1793
|
122
|
|
|
|
|
238
|
$text = $_[1]; |
1794
|
122
|
|
|
|
|
196
|
my $_savetext; |
1795
|
122
|
|
|
|
|
300
|
@item = (q{multipart}); |
1796
|
122
|
|
|
|
|
338
|
%item = (__RULE__ => q{multipart}); |
1797
|
122
|
|
|
|
|
260
|
my $repcount = 0; |
1798
|
|
|
|
|
|
|
|
1799
|
|
|
|
|
|
|
|
1800
|
122
|
50
|
|
|
|
339
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [subpart]}, |
1801
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1802
|
|
|
|
|
|
|
q{multipart}, |
1803
|
|
|
|
|
|
|
$tracelevel) |
1804
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1805
|
122
|
|
|
|
|
307
|
$expectation->is(q{})->at($text); |
1806
|
|
|
|
|
|
|
|
1807
|
122
|
100
|
|
195
|
|
1409
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::subpart, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef))) |
|
195
|
|
|
|
|
488
|
|
1808
|
|
|
|
|
|
|
{ |
1809
|
92
|
50
|
|
|
|
1337
|
Parse::RecDescent::_trace(q{<>}, |
1810
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1811
|
|
|
|
|
|
|
q{multipart}, |
1812
|
|
|
|
|
|
|
$tracelevel) |
1813
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1814
|
92
|
|
|
|
|
213
|
last; |
1815
|
|
|
|
|
|
|
} |
1816
|
30
|
50
|
|
|
|
549
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [subpart]<< (} |
1817
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
1818
|
|
|
|
|
|
|
|
1819
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1820
|
|
|
|
|
|
|
q{multipart}, |
1821
|
|
|
|
|
|
|
$tracelevel) |
1822
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1823
|
30
|
|
|
|
|
107
|
$item{q{subpart(s)}} = $_tok; |
1824
|
30
|
|
|
|
|
77
|
push @item, $_tok; |
1825
|
|
|
|
|
|
|
|
1826
|
|
|
|
|
|
|
|
1827
|
|
|
|
|
|
|
|
1828
|
|
|
|
|
|
|
|
1829
|
|
|
|
|
|
|
|
1830
|
30
|
50
|
|
|
|
106
|
Parse::RecDescent::_trace(q{Trying directive: []}, |
1831
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1832
|
|
|
|
|
|
|
q{multipart}, |
1833
|
|
|
|
|
|
|
$tracelevel) |
1834
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1835
|
30
|
|
|
|
|
70
|
$_tok = do { $commit = 1 }; |
|
30
|
|
|
|
|
76
|
|
1836
|
30
|
50
|
|
|
|
99
|
if (defined($_tok)) |
1837
|
|
|
|
|
|
|
{ |
1838
|
30
|
50
|
|
|
|
111
|
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} |
1839
|
|
|
|
|
|
|
. $_tok . q{])}, |
1840
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1841
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1842
|
|
|
|
|
|
|
} |
1843
|
|
|
|
|
|
|
else |
1844
|
|
|
|
|
|
|
{ |
1845
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1846
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
1847
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1848
|
|
|
|
|
|
|
} |
1849
|
|
|
|
|
|
|
|
1850
|
30
|
50
|
|
|
|
98
|
last unless defined $_tok; |
1851
|
30
|
|
|
|
|
94
|
push @item, $item{__DIRECTIVE1__}=$_tok; |
1852
|
|
|
|
|
|
|
|
1853
|
|
|
|
|
|
|
|
1854
|
30
|
50
|
|
|
|
110
|
Parse::RecDescent::_trace(q{Trying subrule: [bodysubtype]}, |
1855
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1856
|
|
|
|
|
|
|
q{multipart}, |
1857
|
|
|
|
|
|
|
$tracelevel) |
1858
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1859
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1387
|
|
|
30
|
|
|
|
|
54
|
|
1860
|
30
|
|
|
|
|
102
|
$expectation->is(q{bodysubtype})->at($text); |
1861
|
30
|
50
|
|
30
|
|
399
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysubtype($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
30
|
|
|
|
|
85
|
|
1862
|
|
|
|
|
|
|
{ |
1863
|
|
|
|
|
|
|
|
1864
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1865
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1866
|
|
|
|
|
|
|
q{multipart}, |
1867
|
|
|
|
|
|
|
$tracelevel) |
1868
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1869
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
1870
|
0
|
|
|
|
|
0
|
last; |
1871
|
|
|
|
|
|
|
} |
1872
|
30
|
50
|
|
|
|
128
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodysubtype]<< (return value: [} |
1873
|
|
|
|
|
|
|
. $_tok . q{]}, |
1874
|
|
|
|
|
|
|
|
1875
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1876
|
|
|
|
|
|
|
q{multipart}, |
1877
|
|
|
|
|
|
|
$tracelevel) |
1878
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1879
|
30
|
|
|
|
|
99
|
$item{q{bodysubtype}} = $_tok; |
1880
|
30
|
|
|
|
|
98
|
push @item, $_tok; |
1881
|
|
|
|
|
|
|
|
1882
|
|
|
|
|
|
|
} |
1883
|
|
|
|
|
|
|
|
1884
|
30
|
50
|
|
|
|
105
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyparms]}, |
1885
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1886
|
|
|
|
|
|
|
q{multipart}, |
1887
|
|
|
|
|
|
|
$tracelevel) |
1888
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1889
|
30
|
|
|
|
|
107
|
$expectation->is(q{bodyparms})->at($text); |
1890
|
|
|
|
|
|
|
|
1891
|
30
|
50
|
|
30
|
|
414
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyparms, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
30
|
|
|
|
|
83
|
|
1892
|
|
|
|
|
|
|
{ |
1893
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1894
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1895
|
|
|
|
|
|
|
q{multipart}, |
1896
|
|
|
|
|
|
|
$tracelevel) |
1897
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1898
|
0
|
|
|
|
|
0
|
last; |
1899
|
|
|
|
|
|
|
} |
1900
|
30
|
50
|
|
|
|
553
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyparms]<< (} |
1901
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
1902
|
|
|
|
|
|
|
|
1903
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1904
|
|
|
|
|
|
|
q{multipart}, |
1905
|
|
|
|
|
|
|
$tracelevel) |
1906
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1907
|
30
|
|
|
|
|
80
|
$item{q{bodyparms(?)}} = $_tok; |
1908
|
30
|
|
|
|
|
74
|
push @item, $_tok; |
1909
|
|
|
|
|
|
|
|
1910
|
|
|
|
|
|
|
|
1911
|
|
|
|
|
|
|
|
1912
|
30
|
50
|
|
|
|
96
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodydisp]}, |
1913
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1914
|
|
|
|
|
|
|
q{multipart}, |
1915
|
|
|
|
|
|
|
$tracelevel) |
1916
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1917
|
30
|
|
|
|
|
120
|
$expectation->is(q{bodydisp})->at($text); |
1918
|
|
|
|
|
|
|
|
1919
|
30
|
50
|
|
30
|
|
384
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydisp, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
30
|
|
|
|
|
73
|
|
1920
|
|
|
|
|
|
|
{ |
1921
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1922
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1923
|
|
|
|
|
|
|
q{multipart}, |
1924
|
|
|
|
|
|
|
$tracelevel) |
1925
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1926
|
0
|
|
|
|
|
0
|
last; |
1927
|
|
|
|
|
|
|
} |
1928
|
30
|
50
|
|
|
|
612
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodydisp]<< (} |
1929
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
1930
|
|
|
|
|
|
|
|
1931
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1932
|
|
|
|
|
|
|
q{multipart}, |
1933
|
|
|
|
|
|
|
$tracelevel) |
1934
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1935
|
30
|
|
|
|
|
82
|
$item{q{bodydisp(?)}} = $_tok; |
1936
|
30
|
|
|
|
|
68
|
push @item, $_tok; |
1937
|
|
|
|
|
|
|
|
1938
|
|
|
|
|
|
|
|
1939
|
|
|
|
|
|
|
|
1940
|
30
|
50
|
|
|
|
126
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodylang]}, |
1941
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1942
|
|
|
|
|
|
|
q{multipart}, |
1943
|
|
|
|
|
|
|
$tracelevel) |
1944
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1945
|
30
|
|
|
|
|
93
|
$expectation->is(q{bodylang})->at($text); |
1946
|
|
|
|
|
|
|
|
1947
|
30
|
50
|
|
30
|
|
409
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodylang, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
30
|
|
|
|
|
75
|
|
1948
|
|
|
|
|
|
|
{ |
1949
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1950
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1951
|
|
|
|
|
|
|
q{multipart}, |
1952
|
|
|
|
|
|
|
$tracelevel) |
1953
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1954
|
0
|
|
|
|
|
0
|
last; |
1955
|
|
|
|
|
|
|
} |
1956
|
30
|
50
|
|
|
|
577
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodylang]<< (} |
1957
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
1958
|
|
|
|
|
|
|
|
1959
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1960
|
|
|
|
|
|
|
q{multipart}, |
1961
|
|
|
|
|
|
|
$tracelevel) |
1962
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1963
|
30
|
|
|
|
|
80
|
$item{q{bodylang(?)}} = $_tok; |
1964
|
30
|
|
|
|
|
86
|
push @item, $_tok; |
1965
|
|
|
|
|
|
|
|
1966
|
|
|
|
|
|
|
|
1967
|
|
|
|
|
|
|
|
1968
|
30
|
50
|
|
|
|
98
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyloc]}, |
1969
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1970
|
|
|
|
|
|
|
q{multipart}, |
1971
|
|
|
|
|
|
|
$tracelevel) |
1972
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1973
|
30
|
|
|
|
|
95
|
$expectation->is(q{bodyloc})->at($text); |
1974
|
|
|
|
|
|
|
|
1975
|
30
|
50
|
|
30
|
|
382
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyloc, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
30
|
|
|
|
|
70
|
|
1976
|
|
|
|
|
|
|
{ |
1977
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
1978
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1979
|
|
|
|
|
|
|
q{multipart}, |
1980
|
|
|
|
|
|
|
$tracelevel) |
1981
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1982
|
0
|
|
|
|
|
0
|
last; |
1983
|
|
|
|
|
|
|
} |
1984
|
30
|
50
|
|
|
|
515
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyloc]<< (} |
1985
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
1986
|
|
|
|
|
|
|
|
1987
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1988
|
|
|
|
|
|
|
q{multipart}, |
1989
|
|
|
|
|
|
|
$tracelevel) |
1990
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
1991
|
30
|
|
|
|
|
103
|
$item{q{bodyloc(?)}} = $_tok; |
1992
|
30
|
|
|
|
|
75
|
push @item, $_tok; |
1993
|
|
|
|
|
|
|
|
1994
|
|
|
|
|
|
|
|
1995
|
|
|
|
|
|
|
|
1996
|
30
|
50
|
|
|
|
90
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyextra]}, |
1997
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
1998
|
|
|
|
|
|
|
q{multipart}, |
1999
|
|
|
|
|
|
|
$tracelevel) |
2000
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2001
|
30
|
|
|
|
|
102
|
$expectation->is(q{bodyextra})->at($text); |
2002
|
|
|
|
|
|
|
|
2003
|
30
|
50
|
|
30
|
|
379
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyextra, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
30
|
|
|
|
|
84
|
|
2004
|
|
|
|
|
|
|
{ |
2005
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2006
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2007
|
|
|
|
|
|
|
q{multipart}, |
2008
|
|
|
|
|
|
|
$tracelevel) |
2009
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2010
|
0
|
|
|
|
|
0
|
last; |
2011
|
|
|
|
|
|
|
} |
2012
|
30
|
50
|
|
|
|
516
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyextra]<< (} |
2013
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
2014
|
|
|
|
|
|
|
|
2015
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2016
|
|
|
|
|
|
|
q{multipart}, |
2017
|
|
|
|
|
|
|
$tracelevel) |
2018
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2019
|
30
|
|
|
|
|
96
|
$item{q{bodyextra(?)}} = $_tok; |
2020
|
30
|
|
|
|
|
78
|
push @item, $_tok; |
2021
|
|
|
|
|
|
|
|
2022
|
|
|
|
|
|
|
|
2023
|
|
|
|
|
|
|
|
2024
|
|
|
|
|
|
|
|
2025
|
|
|
|
|
|
|
|
2026
|
30
|
50
|
|
|
|
103
|
Parse::RecDescent::_trace(q{Trying directive: []}, |
2027
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2028
|
|
|
|
|
|
|
q{multipart}, |
2029
|
|
|
|
|
|
|
$tracelevel) |
2030
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2031
|
30
|
|
|
30
|
|
52
|
$_tok = do { push @{$thisparser->{deferred}}, sub { $subpartCount = 0 }; }; |
|
30
|
|
|
|
|
55
|
|
|
30
|
|
|
|
|
200
|
|
|
30
|
|
|
|
|
113
|
|
2032
|
30
|
50
|
|
|
|
165
|
if (defined($_tok)) |
2033
|
|
|
|
|
|
|
{ |
2034
|
30
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} |
2035
|
|
|
|
|
|
|
. $_tok . q{])}, |
2036
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
2037
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2038
|
|
|
|
|
|
|
} |
2039
|
|
|
|
|
|
|
else |
2040
|
|
|
|
|
|
|
{ |
2041
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2042
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
2043
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2044
|
|
|
|
|
|
|
} |
2045
|
|
|
|
|
|
|
|
2046
|
30
|
50
|
|
|
|
99
|
last unless defined $_tok; |
2047
|
30
|
|
|
|
|
102
|
push @item, $item{__DIRECTIVE2__}=$_tok; |
2048
|
|
|
|
|
|
|
|
2049
|
|
|
|
|
|
|
|
2050
|
30
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{Trying action}, |
2051
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2052
|
|
|
|
|
|
|
q{multipart}, |
2053
|
|
|
|
|
|
|
$tracelevel) |
2054
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2055
|
|
|
|
|
|
|
|
2056
|
|
|
|
|
|
|
|
2057
|
30
|
50
|
|
|
|
84
|
$_tok = ($_noactions) ? 0 : do { $return = |
2058
|
|
|
|
|
|
|
{ bodysubtype => $item{bodysubtype} |
2059
|
|
|
|
|
|
|
, bodytype => 'MULTIPART' |
2060
|
30
|
|
|
|
|
174
|
, bodystructure => $item{'subpart(s)'} |
2061
|
|
|
|
|
|
|
}; |
2062
|
30
|
|
|
|
|
146
|
take_optional_items($return, \%item |
2063
|
|
|
|
|
|
|
, qw/bodyparms bodydisp bodylang bodyloc bodyextra/); |
2064
|
30
|
|
|
|
|
69
|
1; |
2065
|
|
|
|
|
|
|
}; |
2066
|
30
|
50
|
|
|
|
113
|
unless (defined $_tok) |
2067
|
|
|
|
|
|
|
{ |
2068
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
2069
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2070
|
0
|
|
|
|
|
0
|
last; |
2071
|
|
|
|
|
|
|
} |
2072
|
30
|
50
|
|
|
|
91
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
2073
|
|
|
|
|
|
|
. $_tok . q{])}, |
2074
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
2075
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2076
|
30
|
|
|
|
|
83
|
push @item, $_tok; |
2077
|
30
|
|
|
|
|
82
|
$item{__ACTION1__}=$_tok; |
2078
|
|
|
|
|
|
|
|
2079
|
|
|
|
|
|
|
|
2080
|
30
|
50
|
|
|
|
106
|
Parse::RecDescent::_trace(q{>>Matched production: [subpart bodysubtype bodyparms bodydisp bodylang bodyloc bodyextra ]<<}, |
2081
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2082
|
|
|
|
|
|
|
q{multipart}, |
2083
|
|
|
|
|
|
|
$tracelevel) |
2084
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2085
|
|
|
|
|
|
|
|
2086
|
|
|
|
|
|
|
|
2087
|
|
|
|
|
|
|
|
2088
|
30
|
|
|
|
|
52
|
$_matched = 1; |
2089
|
30
|
|
|
|
|
67
|
last; |
2090
|
|
|
|
|
|
|
} |
2091
|
|
|
|
|
|
|
|
2092
|
|
|
|
|
|
|
splice |
2093
|
122
|
100
|
|
|
|
539
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
92
|
|
|
|
|
301
|
|
2094
|
|
|
|
|
|
|
|
2095
|
122
|
100
|
66
|
|
|
668
|
unless ( $_matched || defined($score) ) |
2096
|
|
|
|
|
|
|
{ |
2097
|
92
|
|
|
|
|
164
|
splice @{$thisparser->{deferred}}, $def_at; |
|
92
|
|
|
|
|
243
|
|
2098
|
|
|
|
|
|
|
|
2099
|
|
|
|
|
|
|
|
2100
|
92
|
|
|
|
|
182
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
2101
|
92
|
50
|
|
|
|
223
|
Parse::RecDescent::_trace(q{<>}, |
2102
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2103
|
|
|
|
|
|
|
q{multipart}, |
2104
|
|
|
|
|
|
|
$tracelevel) |
2105
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2106
|
92
|
|
|
|
|
503
|
return undef; |
2107
|
|
|
|
|
|
|
} |
2108
|
30
|
50
|
33
|
|
|
118
|
if (!defined($return) && defined($score)) |
2109
|
|
|
|
|
|
|
{ |
2110
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
2111
|
|
|
|
|
|
|
q{multipart}, |
2112
|
|
|
|
|
|
|
$tracelevel) |
2113
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2114
|
0
|
|
|
|
|
0
|
$return = $score_return; |
2115
|
|
|
|
|
|
|
} |
2116
|
30
|
|
|
|
|
67
|
splice @{$thisparser->{errors}}, $err_at; |
|
30
|
|
|
|
|
98
|
|
2117
|
30
|
50
|
|
|
|
93
|
$return = $item[$#item] unless defined $return; |
2118
|
30
|
50
|
|
|
|
93
|
if (defined $::RD_TRACE) |
2119
|
|
|
|
|
|
|
{ |
2120
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
2121
|
|
|
|
|
|
|
$return . q{])}, "", |
2122
|
|
|
|
|
|
|
q{multipart}, |
2123
|
|
|
|
|
|
|
$tracelevel); |
2124
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
2125
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
2126
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2127
|
|
|
|
|
|
|
, q{multipart}, |
2128
|
|
|
|
|
|
|
$tracelevel) |
2129
|
|
|
|
|
|
|
} |
2130
|
30
|
|
|
|
|
89
|
$_[1] = $text; |
2131
|
30
|
|
|
|
|
361
|
return $return; |
2132
|
|
|
|
|
|
|
} |
2133
|
|
|
|
|
|
|
|
2134
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
2135
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyid |
2136
|
|
|
|
|
|
|
{ |
2137
|
72
|
|
|
72
|
|
1033
|
my $thisparser = $_[0]; |
2138
|
1
|
|
|
1
|
|
17
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
511
|
|
2139
|
72
|
|
50
|
|
|
235
|
local $tracelevel = ($tracelevel||0)+1; |
2140
|
72
|
|
|
|
|
155
|
$ERRORS = 0; |
2141
|
72
|
|
|
|
|
217
|
my $thisrule = $thisparser->{"rules"}{"bodyid"}; |
2142
|
|
|
|
|
|
|
|
2143
|
72
|
50
|
|
|
|
192
|
Parse::RecDescent::_trace(q{Trying rule: [bodyid]}, |
2144
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2145
|
|
|
|
|
|
|
q{bodyid}, |
2146
|
|
|
|
|
|
|
$tracelevel) |
2147
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2148
|
|
|
|
|
|
|
|
2149
|
72
|
|
|
|
|
125
|
my $def_at = @{$thisparser->{deferred}}; |
|
72
|
|
|
|
|
206
|
|
2150
|
72
|
|
|
|
|
150
|
my $err_at = @{$thisparser->{errors}}; |
|
72
|
|
|
|
|
177
|
|
2151
|
|
|
|
|
|
|
|
2152
|
72
|
|
|
|
|
257
|
my $score; |
2153
|
|
|
|
|
|
|
my $score_return; |
2154
|
72
|
|
|
|
|
0
|
my $_tok; |
2155
|
72
|
|
|
|
|
179
|
my $return = undef; |
2156
|
72
|
|
|
|
|
115
|
my $_matched=0; |
2157
|
72
|
|
|
|
|
120
|
my $commit=0; |
2158
|
72
|
|
|
|
|
130
|
my @item = (); |
2159
|
72
|
|
|
|
|
140
|
my %item = (); |
2160
|
72
|
|
|
|
|
138
|
my $repeating = $_[2]; |
2161
|
72
|
|
|
|
|
118
|
my $_noactions = $_[3]; |
2162
|
72
|
50
|
|
|
|
216
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
72
|
|
|
|
|
133
|
|
|
72
|
|
|
|
|
163
|
|
2163
|
72
|
|
|
|
|
159
|
my $_itempos = $_[5]; |
2164
|
72
|
50
|
|
|
|
243
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
2165
|
72
|
|
|
|
|
199
|
my $text; |
2166
|
|
|
|
|
|
|
my $lastsep; |
2167
|
72
|
|
|
|
|
0
|
my $current_match; |
2168
|
72
|
|
|
|
|
210
|
my $expectation = new Parse::RecDescent::Expectation(q{/[()]/, or STRING}); |
2169
|
72
|
|
|
|
|
569
|
$expectation->at($_[1]); |
2170
|
|
|
|
|
|
|
|
2171
|
72
|
|
|
|
|
328
|
my $thisline; |
2172
|
72
|
|
|
|
|
267
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
2173
|
|
|
|
|
|
|
|
2174
|
|
|
|
|
|
|
|
2175
|
|
|
|
|
|
|
|
2176
|
72
|
|
33
|
|
|
728
|
while (!$_matched && !$commit) |
2177
|
|
|
|
|
|
|
{ |
2178
|
|
|
|
|
|
|
|
2179
|
72
|
50
|
|
|
|
216
|
Parse::RecDescent::_trace(q{Trying production: [/[()]/ NIL]}, |
2180
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2181
|
|
|
|
|
|
|
q{bodyid}, |
2182
|
|
|
|
|
|
|
$tracelevel) |
2183
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2184
|
72
|
|
|
|
|
257
|
my $thisprod = $thisrule->{"prods"}[0]; |
2185
|
72
|
|
|
|
|
200
|
$text = $_[1]; |
2186
|
72
|
|
|
|
|
161
|
my $_savetext; |
2187
|
72
|
|
|
|
|
164
|
@item = (q{bodyid}); |
2188
|
72
|
|
|
|
|
196
|
%item = (__RULE__ => q{bodyid}); |
2189
|
72
|
|
|
|
|
169
|
my $repcount = 0; |
2190
|
|
|
|
|
|
|
|
2191
|
|
|
|
|
|
|
|
2192
|
72
|
50
|
|
|
|
250
|
Parse::RecDescent::_trace(q{Trying terminal: [/[()]/]}, Parse::RecDescent::_tracefirst($text), |
2193
|
|
|
|
|
|
|
q{bodyid}, |
2194
|
|
|
|
|
|
|
$tracelevel) |
2195
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2196
|
72
|
|
|
|
|
166
|
undef $lastsep; |
2197
|
72
|
|
|
|
|
217
|
$expectation->is(q{})->at($text); |
2198
|
72
|
|
|
|
|
536
|
$_savetext = $text; |
2199
|
|
|
|
|
|
|
|
2200
|
72
|
50
|
33
|
|
|
592
|
if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[()])/) |
|
72
|
50
|
|
|
|
851
|
|
2201
|
|
|
|
|
|
|
{ |
2202
|
0
|
|
|
|
|
0
|
$text = $_savetext; |
2203
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
2204
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2205
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
2206
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2207
|
|
|
|
|
|
|
|
2208
|
0
|
|
|
|
|
0
|
last; |
2209
|
|
|
|
|
|
|
} |
2210
|
72
|
|
|
|
|
411
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
2211
|
72
|
|
|
|
|
273
|
substr($text,0,length($current_match),q{}); |
2212
|
72
|
50
|
|
|
|
193
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
2213
|
|
|
|
|
|
|
. $current_match . q{])}, |
2214
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
2215
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2216
|
72
|
|
|
|
|
251
|
push @item, $item{__PATTERN1__}=$current_match; |
2217
|
72
|
|
|
|
|
151
|
$text = $_savetext; |
2218
|
|
|
|
|
|
|
|
2219
|
72
|
50
|
|
|
|
229
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
2220
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2221
|
|
|
|
|
|
|
q{bodyid}, |
2222
|
|
|
|
|
|
|
$tracelevel) |
2223
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2224
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
285
|
|
|
72
|
|
|
|
|
121
|
|
2225
|
72
|
|
|
|
|
227
|
$expectation->is(q{NIL})->at($text); |
2226
|
72
|
100
|
|
72
|
|
849
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
160
|
|
2227
|
|
|
|
|
|
|
{ |
2228
|
|
|
|
|
|
|
|
2229
|
2
|
50
|
|
|
|
9
|
Parse::RecDescent::_trace(q{<>}, |
2230
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2231
|
|
|
|
|
|
|
q{bodyid}, |
2232
|
|
|
|
|
|
|
$tracelevel) |
2233
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2234
|
2
|
|
|
|
|
10
|
$expectation->failed(); |
2235
|
2
|
|
|
|
|
24
|
last; |
2236
|
|
|
|
|
|
|
} |
2237
|
70
|
50
|
|
|
|
308
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
2238
|
|
|
|
|
|
|
. $_tok . q{]}, |
2239
|
|
|
|
|
|
|
|
2240
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2241
|
|
|
|
|
|
|
q{bodyid}, |
2242
|
|
|
|
|
|
|
$tracelevel) |
2243
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2244
|
70
|
|
|
|
|
209
|
$item{q{NIL}} = $_tok; |
2245
|
70
|
|
|
|
|
148
|
push @item, $_tok; |
2246
|
|
|
|
|
|
|
|
2247
|
|
|
|
|
|
|
} |
2248
|
|
|
|
|
|
|
|
2249
|
70
|
50
|
|
|
|
236
|
Parse::RecDescent::_trace(q{>>Matched production: [/[()]/ NIL]<<}, |
2250
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2251
|
|
|
|
|
|
|
q{bodyid}, |
2252
|
|
|
|
|
|
|
$tracelevel) |
2253
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2254
|
|
|
|
|
|
|
|
2255
|
|
|
|
|
|
|
|
2256
|
|
|
|
|
|
|
|
2257
|
70
|
|
|
|
|
128
|
$_matched = 1; |
2258
|
70
|
|
|
|
|
166
|
last; |
2259
|
|
|
|
|
|
|
} |
2260
|
|
|
|
|
|
|
|
2261
|
|
|
|
|
|
|
splice |
2262
|
72
|
100
|
|
|
|
229
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
2
|
|
|
|
|
6
|
|
2263
|
|
|
|
|
|
|
|
2264
|
72
|
|
66
|
|
|
310
|
while (!$_matched && !$commit) |
2265
|
|
|
|
|
|
|
{ |
2266
|
|
|
|
|
|
|
|
2267
|
2
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
2268
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2269
|
|
|
|
|
|
|
q{bodyid}, |
2270
|
|
|
|
|
|
|
$tracelevel) |
2271
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2272
|
2
|
|
|
|
|
7
|
my $thisprod = $thisrule->{"prods"}[1]; |
2273
|
2
|
|
|
|
|
5
|
$text = $_[1]; |
2274
|
2
|
|
|
|
|
4
|
my $_savetext; |
2275
|
2
|
|
|
|
|
7
|
@item = (q{bodyid}); |
2276
|
2
|
|
|
|
|
8
|
%item = (__RULE__ => q{bodyid}); |
2277
|
2
|
|
|
|
|
6
|
my $repcount = 0; |
2278
|
|
|
|
|
|
|
|
2279
|
|
|
|
|
|
|
|
2280
|
2
|
50
|
|
|
|
8
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
2281
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2282
|
|
|
|
|
|
|
q{bodyid}, |
2283
|
|
|
|
|
|
|
$tracelevel) |
2284
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2285
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
520
|
|
|
2
|
|
|
|
|
4
|
|
2286
|
2
|
|
|
|
|
8
|
$expectation->is(q{})->at($text); |
2287
|
2
|
50
|
|
2
|
|
25
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
2
|
|
|
|
|
6
|
|
2288
|
|
|
|
|
|
|
{ |
2289
|
|
|
|
|
|
|
|
2290
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2291
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2292
|
|
|
|
|
|
|
q{bodyid}, |
2293
|
|
|
|
|
|
|
$tracelevel) |
2294
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2295
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
2296
|
0
|
|
|
|
|
0
|
last; |
2297
|
|
|
|
|
|
|
} |
2298
|
2
|
50
|
|
|
|
10
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
2299
|
|
|
|
|
|
|
. $_tok . q{]}, |
2300
|
|
|
|
|
|
|
|
2301
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2302
|
|
|
|
|
|
|
q{bodyid}, |
2303
|
|
|
|
|
|
|
$tracelevel) |
2304
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2305
|
2
|
|
|
|
|
5
|
$item{q{STRING}} = $_tok; |
2306
|
2
|
|
|
|
|
6
|
push @item, $_tok; |
2307
|
|
|
|
|
|
|
|
2308
|
|
|
|
|
|
|
} |
2309
|
|
|
|
|
|
|
|
2310
|
2
|
50
|
|
|
|
7
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
2311
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2312
|
|
|
|
|
|
|
q{bodyid}, |
2313
|
|
|
|
|
|
|
$tracelevel) |
2314
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2315
|
|
|
|
|
|
|
|
2316
|
|
|
|
|
|
|
|
2317
|
|
|
|
|
|
|
|
2318
|
2
|
|
|
|
|
5
|
$_matched = 1; |
2319
|
2
|
|
|
|
|
6
|
last; |
2320
|
|
|
|
|
|
|
} |
2321
|
|
|
|
|
|
|
|
2322
|
|
|
|
|
|
|
splice |
2323
|
72
|
50
|
|
|
|
218
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
2324
|
|
|
|
|
|
|
|
2325
|
72
|
50
|
33
|
|
|
239
|
unless ( $_matched || defined($score) ) |
2326
|
|
|
|
|
|
|
{ |
2327
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
2328
|
|
|
|
|
|
|
|
2329
|
|
|
|
|
|
|
|
2330
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
2331
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2332
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2333
|
|
|
|
|
|
|
q{bodyid}, |
2334
|
|
|
|
|
|
|
$tracelevel) |
2335
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2336
|
0
|
|
|
|
|
0
|
return undef; |
2337
|
|
|
|
|
|
|
} |
2338
|
72
|
50
|
33
|
|
|
407
|
if (!defined($return) && defined($score)) |
2339
|
|
|
|
|
|
|
{ |
2340
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
2341
|
|
|
|
|
|
|
q{bodyid}, |
2342
|
|
|
|
|
|
|
$tracelevel) |
2343
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2344
|
0
|
|
|
|
|
0
|
$return = $score_return; |
2345
|
|
|
|
|
|
|
} |
2346
|
72
|
|
|
|
|
166
|
splice @{$thisparser->{errors}}, $err_at; |
|
72
|
|
|
|
|
219
|
|
2347
|
72
|
50
|
|
|
|
258
|
$return = $item[$#item] unless defined $return; |
2348
|
72
|
50
|
|
|
|
209
|
if (defined $::RD_TRACE) |
2349
|
|
|
|
|
|
|
{ |
2350
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
2351
|
|
|
|
|
|
|
$return . q{])}, "", |
2352
|
|
|
|
|
|
|
q{bodyid}, |
2353
|
|
|
|
|
|
|
$tracelevel); |
2354
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
2355
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
2356
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2357
|
|
|
|
|
|
|
, q{bodyid}, |
2358
|
|
|
|
|
|
|
$tracelevel) |
2359
|
|
|
|
|
|
|
} |
2360
|
72
|
|
|
|
|
184
|
$_[1] = $text; |
2361
|
72
|
|
|
|
|
416
|
return $return; |
2362
|
|
|
|
|
|
|
} |
2363
|
|
|
|
|
|
|
|
2364
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
2365
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodylang |
2366
|
|
|
|
|
|
|
{ |
2367
|
102
|
|
|
102
|
|
1821
|
my $thisparser = $_[0]; |
2368
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
367
|
|
2369
|
102
|
|
50
|
|
|
303
|
local $tracelevel = ($tracelevel||0)+1; |
2370
|
102
|
|
|
|
|
216
|
$ERRORS = 0; |
2371
|
102
|
|
|
|
|
258
|
my $thisrule = $thisparser->{"rules"}{"bodylang"}; |
2372
|
|
|
|
|
|
|
|
2373
|
102
|
50
|
|
|
|
302
|
Parse::RecDescent::_trace(q{Trying rule: [bodylang]}, |
2374
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2375
|
|
|
|
|
|
|
q{bodylang}, |
2376
|
|
|
|
|
|
|
$tracelevel) |
2377
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2378
|
|
|
|
|
|
|
|
2379
|
102
|
|
|
|
|
166
|
my $def_at = @{$thisparser->{deferred}}; |
|
102
|
|
|
|
|
218
|
|
2380
|
102
|
|
|
|
|
169
|
my $err_at = @{$thisparser->{errors}}; |
|
102
|
|
|
|
|
215
|
|
2381
|
|
|
|
|
|
|
|
2382
|
102
|
|
|
|
|
310
|
my $score; |
2383
|
|
|
|
|
|
|
my $score_return; |
2384
|
102
|
|
|
|
|
0
|
my $_tok; |
2385
|
102
|
|
|
|
|
209
|
my $return = undef; |
2386
|
102
|
|
|
|
|
164
|
my $_matched=0; |
2387
|
102
|
|
|
|
|
161
|
my $commit=0; |
2388
|
102
|
|
|
|
|
176
|
my @item = (); |
2389
|
102
|
|
|
|
|
197
|
my %item = (); |
2390
|
102
|
|
|
|
|
168
|
my $repeating = $_[2]; |
2391
|
102
|
|
|
|
|
225
|
my $_noactions = $_[3]; |
2392
|
102
|
50
|
|
|
|
313
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
102
|
|
|
|
|
212
|
|
|
102
|
|
|
|
|
202
|
|
2393
|
102
|
|
|
|
|
245
|
my $_itempos = $_[5]; |
2394
|
102
|
50
|
|
|
|
319
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
2395
|
102
|
|
|
|
|
276
|
my $text; |
2396
|
|
|
|
|
|
|
my $lastsep; |
2397
|
102
|
|
|
|
|
0
|
my $current_match; |
2398
|
102
|
|
|
|
|
314
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING, or STRINGS}); |
2399
|
102
|
|
|
|
|
740
|
$expectation->at($_[1]); |
2400
|
|
|
|
|
|
|
|
2401
|
102
|
|
|
|
|
435
|
my $thisline; |
2402
|
102
|
|
|
|
|
377
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
2403
|
|
|
|
|
|
|
|
2404
|
|
|
|
|
|
|
|
2405
|
|
|
|
|
|
|
|
2406
|
102
|
|
33
|
|
|
969
|
while (!$_matched && !$commit) |
2407
|
|
|
|
|
|
|
{ |
2408
|
|
|
|
|
|
|
|
2409
|
102
|
50
|
|
|
|
295
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
2410
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2411
|
|
|
|
|
|
|
q{bodylang}, |
2412
|
|
|
|
|
|
|
$tracelevel) |
2413
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2414
|
102
|
|
|
|
|
322
|
my $thisprod = $thisrule->{"prods"}[0]; |
2415
|
102
|
|
|
|
|
218
|
$text = $_[1]; |
2416
|
102
|
|
|
|
|
169
|
my $_savetext; |
2417
|
102
|
|
|
|
|
265
|
@item = (q{bodylang}); |
2418
|
102
|
|
|
|
|
274
|
%item = (__RULE__ => q{bodylang}); |
2419
|
102
|
|
|
|
|
227
|
my $repcount = 0; |
2420
|
|
|
|
|
|
|
|
2421
|
|
|
|
|
|
|
|
2422
|
102
|
50
|
|
|
|
248
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
2423
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2424
|
|
|
|
|
|
|
q{bodylang}, |
2425
|
|
|
|
|
|
|
$tracelevel) |
2426
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2427
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
293
|
|
|
102
|
|
|
|
|
180
|
|
2428
|
102
|
|
|
|
|
318
|
$expectation->is(q{})->at($text); |
2429
|
102
|
100
|
|
102
|
|
969
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
102
|
|
|
|
|
224
|
|
2430
|
|
|
|
|
|
|
{ |
2431
|
|
|
|
|
|
|
|
2432
|
11
|
50
|
|
|
|
41
|
Parse::RecDescent::_trace(q{<>}, |
2433
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2434
|
|
|
|
|
|
|
q{bodylang}, |
2435
|
|
|
|
|
|
|
$tracelevel) |
2436
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2437
|
11
|
|
|
|
|
40
|
$expectation->failed(); |
2438
|
11
|
|
|
|
|
40
|
last; |
2439
|
|
|
|
|
|
|
} |
2440
|
91
|
50
|
|
|
|
405
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
2441
|
|
|
|
|
|
|
. $_tok . q{]}, |
2442
|
|
|
|
|
|
|
|
2443
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2444
|
|
|
|
|
|
|
q{bodylang}, |
2445
|
|
|
|
|
|
|
$tracelevel) |
2446
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2447
|
91
|
|
|
|
|
216
|
$item{q{NIL}} = $_tok; |
2448
|
91
|
|
|
|
|
235
|
push @item, $_tok; |
2449
|
|
|
|
|
|
|
|
2450
|
|
|
|
|
|
|
} |
2451
|
|
|
|
|
|
|
|
2452
|
91
|
50
|
|
|
|
228
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
2453
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2454
|
|
|
|
|
|
|
q{bodylang}, |
2455
|
|
|
|
|
|
|
$tracelevel) |
2456
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2457
|
|
|
|
|
|
|
|
2458
|
|
|
|
|
|
|
|
2459
|
|
|
|
|
|
|
|
2460
|
91
|
|
|
|
|
188
|
$_matched = 1; |
2461
|
91
|
|
|
|
|
179
|
last; |
2462
|
|
|
|
|
|
|
} |
2463
|
|
|
|
|
|
|
|
2464
|
|
|
|
|
|
|
splice |
2465
|
102
|
100
|
|
|
|
320
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
11
|
|
|
|
|
34
|
|
2466
|
|
|
|
|
|
|
|
2467
|
102
|
|
66
|
|
|
343
|
while (!$_matched && !$commit) |
2468
|
|
|
|
|
|
|
{ |
2469
|
|
|
|
|
|
|
|
2470
|
11
|
50
|
|
|
|
31
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
2471
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2472
|
|
|
|
|
|
|
q{bodylang}, |
2473
|
|
|
|
|
|
|
$tracelevel) |
2474
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2475
|
11
|
|
|
|
|
29
|
my $thisprod = $thisrule->{"prods"}[1]; |
2476
|
11
|
|
|
|
|
26
|
$text = $_[1]; |
2477
|
11
|
|
|
|
|
19
|
my $_savetext; |
2478
|
11
|
|
|
|
|
28
|
@item = (q{bodylang}); |
2479
|
11
|
|
|
|
|
35
|
%item = (__RULE__ => q{bodylang}); |
2480
|
11
|
|
|
|
|
23
|
my $repcount = 0; |
2481
|
|
|
|
|
|
|
|
2482
|
|
|
|
|
|
|
|
2483
|
11
|
50
|
|
|
|
31
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
2484
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2485
|
|
|
|
|
|
|
q{bodylang}, |
2486
|
|
|
|
|
|
|
$tracelevel) |
2487
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2488
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
283
|
|
|
11
|
|
|
|
|
20
|
|
2489
|
11
|
|
|
|
|
31
|
$expectation->is(q{})->at($text); |
2490
|
11
|
50
|
|
11
|
|
121
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
11
|
|
|
|
|
25
|
|
2491
|
|
|
|
|
|
|
{ |
2492
|
|
|
|
|
|
|
|
2493
|
11
|
50
|
|
|
|
31
|
Parse::RecDescent::_trace(q{<>}, |
2494
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2495
|
|
|
|
|
|
|
q{bodylang}, |
2496
|
|
|
|
|
|
|
$tracelevel) |
2497
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2498
|
11
|
|
|
|
|
36
|
$expectation->failed(); |
2499
|
11
|
|
|
|
|
37
|
last; |
2500
|
|
|
|
|
|
|
} |
2501
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
2502
|
|
|
|
|
|
|
. $_tok . q{]}, |
2503
|
|
|
|
|
|
|
|
2504
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2505
|
|
|
|
|
|
|
q{bodylang}, |
2506
|
|
|
|
|
|
|
$tracelevel) |
2507
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2508
|
0
|
|
|
|
|
0
|
$item{q{STRING}} = $_tok; |
2509
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
2510
|
|
|
|
|
|
|
|
2511
|
|
|
|
|
|
|
} |
2512
|
|
|
|
|
|
|
|
2513
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
2514
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2515
|
|
|
|
|
|
|
q{bodylang}, |
2516
|
|
|
|
|
|
|
$tracelevel) |
2517
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2518
|
|
|
|
|
|
|
|
2519
|
|
|
|
|
|
|
|
2520
|
|
|
|
|
|
|
|
2521
|
0
|
|
|
|
|
0
|
$_matched = 1; |
2522
|
0
|
|
|
|
|
0
|
last; |
2523
|
|
|
|
|
|
|
} |
2524
|
|
|
|
|
|
|
|
2525
|
|
|
|
|
|
|
splice |
2526
|
102
|
100
|
|
|
|
351
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
11
|
|
|
|
|
27
|
|
2527
|
|
|
|
|
|
|
|
2528
|
102
|
|
66
|
|
|
323
|
while (!$_matched && !$commit) |
2529
|
|
|
|
|
|
|
{ |
2530
|
|
|
|
|
|
|
|
2531
|
11
|
50
|
|
|
|
29
|
Parse::RecDescent::_trace(q{Trying production: [STRINGS]}, |
2532
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2533
|
|
|
|
|
|
|
q{bodylang}, |
2534
|
|
|
|
|
|
|
$tracelevel) |
2535
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2536
|
11
|
|
|
|
|
26
|
my $thisprod = $thisrule->{"prods"}[2]; |
2537
|
11
|
|
|
|
|
22
|
$text = $_[1]; |
2538
|
11
|
|
|
|
|
16
|
my $_savetext; |
2539
|
11
|
|
|
|
|
36
|
@item = (q{bodylang}); |
2540
|
11
|
|
|
|
|
33
|
%item = (__RULE__ => q{bodylang}); |
2541
|
11
|
|
|
|
|
19
|
my $repcount = 0; |
2542
|
|
|
|
|
|
|
|
2543
|
|
|
|
|
|
|
|
2544
|
11
|
50
|
|
|
|
29
|
Parse::RecDescent::_trace(q{Trying subrule: [STRINGS]}, |
2545
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2546
|
|
|
|
|
|
|
q{bodylang}, |
2547
|
|
|
|
|
|
|
$tracelevel) |
2548
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2549
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
491
|
|
|
11
|
|
|
|
|
18
|
|
2550
|
11
|
|
|
|
|
30
|
$expectation->is(q{})->at($text); |
2551
|
11
|
100
|
|
11
|
|
130
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRINGS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
11
|
|
|
|
|
26
|
|
2552
|
|
|
|
|
|
|
{ |
2553
|
|
|
|
|
|
|
|
2554
|
10
|
50
|
|
|
|
28
|
Parse::RecDescent::_trace(q{<>}, |
2555
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2556
|
|
|
|
|
|
|
q{bodylang}, |
2557
|
|
|
|
|
|
|
$tracelevel) |
2558
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2559
|
10
|
|
|
|
|
27
|
$expectation->failed(); |
2560
|
10
|
|
|
|
|
34
|
last; |
2561
|
|
|
|
|
|
|
} |
2562
|
1
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRINGS]<< (return value: [} |
2563
|
|
|
|
|
|
|
. $_tok . q{]}, |
2564
|
|
|
|
|
|
|
|
2565
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2566
|
|
|
|
|
|
|
q{bodylang}, |
2567
|
|
|
|
|
|
|
$tracelevel) |
2568
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2569
|
1
|
|
|
|
|
3
|
$item{q{STRINGS}} = $_tok; |
2570
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
2571
|
|
|
|
|
|
|
|
2572
|
|
|
|
|
|
|
} |
2573
|
|
|
|
|
|
|
|
2574
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched production: [STRINGS]<<}, |
2575
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2576
|
|
|
|
|
|
|
q{bodylang}, |
2577
|
|
|
|
|
|
|
$tracelevel) |
2578
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2579
|
|
|
|
|
|
|
|
2580
|
|
|
|
|
|
|
|
2581
|
|
|
|
|
|
|
|
2582
|
1
|
|
|
|
|
3
|
$_matched = 1; |
2583
|
1
|
|
|
|
|
2
|
last; |
2584
|
|
|
|
|
|
|
} |
2585
|
|
|
|
|
|
|
|
2586
|
|
|
|
|
|
|
splice |
2587
|
102
|
100
|
|
|
|
295
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
10
|
|
|
|
|
25
|
|
2588
|
|
|
|
|
|
|
|
2589
|
102
|
100
|
66
|
|
|
398
|
unless ( $_matched || defined($score) ) |
2590
|
|
|
|
|
|
|
{ |
2591
|
10
|
|
|
|
|
20
|
splice @{$thisparser->{deferred}}, $def_at; |
|
10
|
|
|
|
|
18
|
|
2592
|
|
|
|
|
|
|
|
2593
|
|
|
|
|
|
|
|
2594
|
10
|
|
|
|
|
23
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
2595
|
10
|
50
|
|
|
|
25
|
Parse::RecDescent::_trace(q{<>}, |
2596
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2597
|
|
|
|
|
|
|
q{bodylang}, |
2598
|
|
|
|
|
|
|
$tracelevel) |
2599
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2600
|
10
|
|
|
|
|
44
|
return undef; |
2601
|
|
|
|
|
|
|
} |
2602
|
92
|
50
|
33
|
|
|
480
|
if (!defined($return) && defined($score)) |
2603
|
|
|
|
|
|
|
{ |
2604
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
2605
|
|
|
|
|
|
|
q{bodylang}, |
2606
|
|
|
|
|
|
|
$tracelevel) |
2607
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2608
|
0
|
|
|
|
|
0
|
$return = $score_return; |
2609
|
|
|
|
|
|
|
} |
2610
|
92
|
|
|
|
|
219
|
splice @{$thisparser->{errors}}, $err_at; |
|
92
|
|
|
|
|
267
|
|
2611
|
92
|
50
|
|
|
|
318
|
$return = $item[$#item] unless defined $return; |
2612
|
92
|
50
|
|
|
|
278
|
if (defined $::RD_TRACE) |
2613
|
|
|
|
|
|
|
{ |
2614
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
2615
|
|
|
|
|
|
|
$return . q{])}, "", |
2616
|
|
|
|
|
|
|
q{bodylang}, |
2617
|
|
|
|
|
|
|
$tracelevel); |
2618
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
2619
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
2620
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2621
|
|
|
|
|
|
|
, q{bodylang}, |
2622
|
|
|
|
|
|
|
$tracelevel) |
2623
|
|
|
|
|
|
|
} |
2624
|
92
|
|
|
|
|
241
|
$_[1] = $text; |
2625
|
92
|
|
|
|
|
451
|
return $return; |
2626
|
|
|
|
|
|
|
} |
2627
|
|
|
|
|
|
|
|
2628
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
2629
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyloc |
2630
|
|
|
|
|
|
|
{ |
2631
|
30
|
|
|
30
|
|
557
|
my $thisparser = $_[0]; |
2632
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
327
|
|
2633
|
30
|
|
50
|
|
|
115
|
local $tracelevel = ($tracelevel||0)+1; |
2634
|
30
|
|
|
|
|
73
|
$ERRORS = 0; |
2635
|
30
|
|
|
|
|
95
|
my $thisrule = $thisparser->{"rules"}{"bodyloc"}; |
2636
|
|
|
|
|
|
|
|
2637
|
30
|
50
|
|
|
|
97
|
Parse::RecDescent::_trace(q{Trying rule: [bodyloc]}, |
2638
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2639
|
|
|
|
|
|
|
q{bodyloc}, |
2640
|
|
|
|
|
|
|
$tracelevel) |
2641
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2642
|
|
|
|
|
|
|
|
2643
|
30
|
|
|
|
|
49
|
my $def_at = @{$thisparser->{deferred}}; |
|
30
|
|
|
|
|
83
|
|
2644
|
30
|
|
|
|
|
51
|
my $err_at = @{$thisparser->{errors}}; |
|
30
|
|
|
|
|
83
|
|
2645
|
|
|
|
|
|
|
|
2646
|
30
|
|
|
|
|
107
|
my $score; |
2647
|
|
|
|
|
|
|
my $score_return; |
2648
|
30
|
|
|
|
|
0
|
my $_tok; |
2649
|
30
|
|
|
|
|
60
|
my $return = undef; |
2650
|
30
|
|
|
|
|
56
|
my $_matched=0; |
2651
|
30
|
|
|
|
|
65
|
my $commit=0; |
2652
|
30
|
|
|
|
|
62
|
my @item = (); |
2653
|
30
|
|
|
|
|
58
|
my %item = (); |
2654
|
30
|
|
|
|
|
59
|
my $repeating = $_[2]; |
2655
|
30
|
|
|
|
|
64
|
my $_noactions = $_[3]; |
2656
|
30
|
50
|
|
|
|
96
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
30
|
|
|
|
|
50
|
|
|
30
|
|
|
|
|
61
|
|
2657
|
30
|
|
|
|
|
66
|
my $_itempos = $_[5]; |
2658
|
30
|
50
|
|
|
|
102
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
2659
|
30
|
|
|
|
|
100
|
my $text; |
2660
|
|
|
|
|
|
|
my $lastsep; |
2661
|
30
|
|
|
|
|
0
|
my $current_match; |
2662
|
30
|
|
|
|
|
80
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
2663
|
30
|
|
|
|
|
249
|
$expectation->at($_[1]); |
2664
|
|
|
|
|
|
|
|
2665
|
30
|
|
|
|
|
122
|
my $thisline; |
2666
|
30
|
|
|
|
|
127
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
2667
|
|
|
|
|
|
|
|
2668
|
|
|
|
|
|
|
|
2669
|
|
|
|
|
|
|
|
2670
|
30
|
|
33
|
|
|
294
|
while (!$_matched && !$commit) |
2671
|
|
|
|
|
|
|
{ |
2672
|
|
|
|
|
|
|
|
2673
|
30
|
50
|
|
|
|
144
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
2674
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2675
|
|
|
|
|
|
|
q{bodyloc}, |
2676
|
|
|
|
|
|
|
$tracelevel) |
2677
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2678
|
30
|
|
|
|
|
123
|
my $thisprod = $thisrule->{"prods"}[0]; |
2679
|
30
|
|
|
|
|
67
|
$text = $_[1]; |
2680
|
30
|
|
|
|
|
58
|
my $_savetext; |
2681
|
30
|
|
|
|
|
75
|
@item = (q{bodyloc}); |
2682
|
30
|
|
|
|
|
83
|
%item = (__RULE__ => q{bodyloc}); |
2683
|
30
|
|
|
|
|
70
|
my $repcount = 0; |
2684
|
|
|
|
|
|
|
|
2685
|
|
|
|
|
|
|
|
2686
|
30
|
50
|
|
|
|
82
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
2687
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2688
|
|
|
|
|
|
|
q{bodyloc}, |
2689
|
|
|
|
|
|
|
$tracelevel) |
2690
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2691
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
277
|
|
|
30
|
|
|
|
|
54
|
|
2692
|
30
|
|
|
|
|
92
|
$expectation->is(q{})->at($text); |
2693
|
30
|
100
|
|
30
|
|
338
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
30
|
|
|
|
|
69
|
|
2694
|
|
|
|
|
|
|
{ |
2695
|
|
|
|
|
|
|
|
2696
|
9
|
50
|
|
|
|
26
|
Parse::RecDescent::_trace(q{<>}, |
2697
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2698
|
|
|
|
|
|
|
q{bodyloc}, |
2699
|
|
|
|
|
|
|
$tracelevel) |
2700
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2701
|
9
|
|
|
|
|
30
|
$expectation->failed(); |
2702
|
9
|
|
|
|
|
33
|
last; |
2703
|
|
|
|
|
|
|
} |
2704
|
21
|
50
|
|
|
|
113
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
2705
|
|
|
|
|
|
|
. $_tok . q{]}, |
2706
|
|
|
|
|
|
|
|
2707
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2708
|
|
|
|
|
|
|
q{bodyloc}, |
2709
|
|
|
|
|
|
|
$tracelevel) |
2710
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2711
|
21
|
|
|
|
|
71
|
$item{q{NIL}} = $_tok; |
2712
|
21
|
|
|
|
|
62
|
push @item, $_tok; |
2713
|
|
|
|
|
|
|
|
2714
|
|
|
|
|
|
|
} |
2715
|
|
|
|
|
|
|
|
2716
|
21
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
2717
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2718
|
|
|
|
|
|
|
q{bodyloc}, |
2719
|
|
|
|
|
|
|
$tracelevel) |
2720
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2721
|
|
|
|
|
|
|
|
2722
|
|
|
|
|
|
|
|
2723
|
|
|
|
|
|
|
|
2724
|
21
|
|
|
|
|
50
|
$_matched = 1; |
2725
|
21
|
|
|
|
|
50
|
last; |
2726
|
|
|
|
|
|
|
} |
2727
|
|
|
|
|
|
|
|
2728
|
|
|
|
|
|
|
splice |
2729
|
30
|
100
|
|
|
|
90
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
9
|
|
|
|
|
20
|
|
2730
|
|
|
|
|
|
|
|
2731
|
30
|
|
66
|
|
|
151
|
while (!$_matched && !$commit) |
2732
|
|
|
|
|
|
|
{ |
2733
|
|
|
|
|
|
|
|
2734
|
9
|
50
|
|
|
|
34
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
2735
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2736
|
|
|
|
|
|
|
q{bodyloc}, |
2737
|
|
|
|
|
|
|
$tracelevel) |
2738
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2739
|
9
|
|
|
|
|
26
|
my $thisprod = $thisrule->{"prods"}[1]; |
2740
|
9
|
|
|
|
|
22
|
$text = $_[1]; |
2741
|
9
|
|
|
|
|
18
|
my $_savetext; |
2742
|
9
|
|
|
|
|
25
|
@item = (q{bodyloc}); |
2743
|
9
|
|
|
|
|
25
|
%item = (__RULE__ => q{bodyloc}); |
2744
|
9
|
|
|
|
|
15
|
my $repcount = 0; |
2745
|
|
|
|
|
|
|
|
2746
|
|
|
|
|
|
|
|
2747
|
9
|
50
|
|
|
|
26
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
2748
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2749
|
|
|
|
|
|
|
q{bodyloc}, |
2750
|
|
|
|
|
|
|
$tracelevel) |
2751
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2752
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
458
|
|
|
9
|
|
|
|
|
18
|
|
2753
|
9
|
|
|
|
|
34
|
$expectation->is(q{})->at($text); |
2754
|
9
|
50
|
|
9
|
|
105
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
9
|
|
|
|
|
20
|
|
2755
|
|
|
|
|
|
|
{ |
2756
|
|
|
|
|
|
|
|
2757
|
9
|
50
|
|
|
|
26
|
Parse::RecDescent::_trace(q{<>}, |
2758
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2759
|
|
|
|
|
|
|
q{bodyloc}, |
2760
|
|
|
|
|
|
|
$tracelevel) |
2761
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2762
|
9
|
|
|
|
|
30
|
$expectation->failed(); |
2763
|
9
|
|
|
|
|
34
|
last; |
2764
|
|
|
|
|
|
|
} |
2765
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
2766
|
|
|
|
|
|
|
. $_tok . q{]}, |
2767
|
|
|
|
|
|
|
|
2768
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2769
|
|
|
|
|
|
|
q{bodyloc}, |
2770
|
|
|
|
|
|
|
$tracelevel) |
2771
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2772
|
0
|
|
|
|
|
0
|
$item{q{STRING}} = $_tok; |
2773
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
2774
|
|
|
|
|
|
|
|
2775
|
|
|
|
|
|
|
} |
2776
|
|
|
|
|
|
|
|
2777
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
2778
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2779
|
|
|
|
|
|
|
q{bodyloc}, |
2780
|
|
|
|
|
|
|
$tracelevel) |
2781
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2782
|
|
|
|
|
|
|
|
2783
|
|
|
|
|
|
|
|
2784
|
|
|
|
|
|
|
|
2785
|
0
|
|
|
|
|
0
|
$_matched = 1; |
2786
|
0
|
|
|
|
|
0
|
last; |
2787
|
|
|
|
|
|
|
} |
2788
|
|
|
|
|
|
|
|
2789
|
|
|
|
|
|
|
splice |
2790
|
30
|
100
|
|
|
|
137
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
9
|
|
|
|
|
22
|
|
2791
|
|
|
|
|
|
|
|
2792
|
30
|
100
|
66
|
|
|
120
|
unless ( $_matched || defined($score) ) |
2793
|
|
|
|
|
|
|
{ |
2794
|
9
|
|
|
|
|
20
|
splice @{$thisparser->{deferred}}, $def_at; |
|
9
|
|
|
|
|
17
|
|
2795
|
|
|
|
|
|
|
|
2796
|
|
|
|
|
|
|
|
2797
|
9
|
|
|
|
|
19
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
2798
|
9
|
50
|
|
|
|
24
|
Parse::RecDescent::_trace(q{<>}, |
2799
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2800
|
|
|
|
|
|
|
q{bodyloc}, |
2801
|
|
|
|
|
|
|
$tracelevel) |
2802
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2803
|
9
|
|
|
|
|
41
|
return undef; |
2804
|
|
|
|
|
|
|
} |
2805
|
21
|
50
|
33
|
|
|
130
|
if (!defined($return) && defined($score)) |
2806
|
|
|
|
|
|
|
{ |
2807
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
2808
|
|
|
|
|
|
|
q{bodyloc}, |
2809
|
|
|
|
|
|
|
$tracelevel) |
2810
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2811
|
0
|
|
|
|
|
0
|
$return = $score_return; |
2812
|
|
|
|
|
|
|
} |
2813
|
21
|
|
|
|
|
48
|
splice @{$thisparser->{errors}}, $err_at; |
|
21
|
|
|
|
|
76
|
|
2814
|
21
|
50
|
|
|
|
124
|
$return = $item[$#item] unless defined $return; |
2815
|
21
|
50
|
|
|
|
78
|
if (defined $::RD_TRACE) |
2816
|
|
|
|
|
|
|
{ |
2817
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
2818
|
|
|
|
|
|
|
$return . q{])}, "", |
2819
|
|
|
|
|
|
|
q{bodyloc}, |
2820
|
|
|
|
|
|
|
$tracelevel); |
2821
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
2822
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
2823
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2824
|
|
|
|
|
|
|
, q{bodyloc}, |
2825
|
|
|
|
|
|
|
$tracelevel) |
2826
|
|
|
|
|
|
|
} |
2827
|
21
|
|
|
|
|
54
|
$_[1] = $text; |
2828
|
21
|
|
|
|
|
118
|
return $return; |
2829
|
|
|
|
|
|
|
} |
2830
|
|
|
|
|
|
|
|
2831
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
2832
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::inreplyto |
2833
|
|
|
|
|
|
|
{ |
2834
|
24
|
|
|
24
|
|
71
|
my $thisparser = $_[0]; |
2835
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
341
|
|
2836
|
24
|
|
50
|
|
|
88
|
local $tracelevel = ($tracelevel||0)+1; |
2837
|
24
|
|
|
|
|
67
|
$ERRORS = 0; |
2838
|
24
|
|
|
|
|
79
|
my $thisrule = $thisparser->{"rules"}{"inreplyto"}; |
2839
|
|
|
|
|
|
|
|
2840
|
24
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{Trying rule: [inreplyto]}, |
2841
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2842
|
|
|
|
|
|
|
q{inreplyto}, |
2843
|
|
|
|
|
|
|
$tracelevel) |
2844
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2845
|
|
|
|
|
|
|
|
2846
|
24
|
|
|
|
|
44
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
58
|
|
2847
|
24
|
|
|
|
|
40
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
46
|
|
2848
|
|
|
|
|
|
|
|
2849
|
24
|
|
|
|
|
87
|
my $score; |
2850
|
|
|
|
|
|
|
my $score_return; |
2851
|
24
|
|
|
|
|
0
|
my $_tok; |
2852
|
24
|
|
|
|
|
65
|
my $return = undef; |
2853
|
24
|
|
|
|
|
40
|
my $_matched=0; |
2854
|
24
|
|
|
|
|
39
|
my $commit=0; |
2855
|
24
|
|
|
|
|
48
|
my @item = (); |
2856
|
24
|
|
|
|
|
49
|
my %item = (); |
2857
|
24
|
|
|
|
|
52
|
my $repeating = $_[2]; |
2858
|
24
|
|
|
|
|
59
|
my $_noactions = $_[3]; |
2859
|
24
|
50
|
|
|
|
94
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
46
|
|
|
24
|
|
|
|
|
56
|
|
2860
|
24
|
|
|
|
|
52
|
my $_itempos = $_[5]; |
2861
|
24
|
50
|
|
|
|
97
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
2862
|
24
|
|
|
|
|
83
|
my $text; |
2863
|
|
|
|
|
|
|
my $lastsep; |
2864
|
24
|
|
|
|
|
0
|
my $current_match; |
2865
|
24
|
|
|
|
|
87
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
2866
|
24
|
|
|
|
|
187
|
$expectation->at($_[1]); |
2867
|
|
|
|
|
|
|
|
2868
|
24
|
|
|
|
|
120
|
my $thisline; |
2869
|
24
|
|
|
|
|
101
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
2870
|
|
|
|
|
|
|
|
2871
|
|
|
|
|
|
|
|
2872
|
|
|
|
|
|
|
|
2873
|
24
|
|
33
|
|
|
249
|
while (!$_matched && !$commit) |
2874
|
|
|
|
|
|
|
{ |
2875
|
|
|
|
|
|
|
|
2876
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
2877
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2878
|
|
|
|
|
|
|
q{inreplyto}, |
2879
|
|
|
|
|
|
|
$tracelevel) |
2880
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2881
|
24
|
|
|
|
|
84
|
my $thisprod = $thisrule->{"prods"}[0]; |
2882
|
24
|
|
|
|
|
54
|
$text = $_[1]; |
2883
|
24
|
|
|
|
|
44
|
my $_savetext; |
2884
|
24
|
|
|
|
|
63
|
@item = (q{inreplyto}); |
2885
|
24
|
|
|
|
|
76
|
%item = (__RULE__ => q{inreplyto}); |
2886
|
24
|
|
|
|
|
57
|
my $repcount = 0; |
2887
|
|
|
|
|
|
|
|
2888
|
|
|
|
|
|
|
|
2889
|
24
|
50
|
|
|
|
88
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
2890
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2891
|
|
|
|
|
|
|
q{inreplyto}, |
2892
|
|
|
|
|
|
|
$tracelevel) |
2893
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2894
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
8
|
|
|
1
|
|
|
|
|
276
|
|
|
24
|
|
|
|
|
59
|
|
2895
|
24
|
|
|
|
|
83
|
$expectation->is(q{})->at($text); |
2896
|
24
|
100
|
|
24
|
|
262
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
61
|
|
2897
|
|
|
|
|
|
|
{ |
2898
|
|
|
|
|
|
|
|
2899
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{<>}, |
2900
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2901
|
|
|
|
|
|
|
q{inreplyto}, |
2902
|
|
|
|
|
|
|
$tracelevel) |
2903
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2904
|
1
|
|
|
|
|
5
|
$expectation->failed(); |
2905
|
1
|
|
|
|
|
4
|
last; |
2906
|
|
|
|
|
|
|
} |
2907
|
23
|
50
|
|
|
|
109
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
2908
|
|
|
|
|
|
|
. $_tok . q{]}, |
2909
|
|
|
|
|
|
|
|
2910
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2911
|
|
|
|
|
|
|
q{inreplyto}, |
2912
|
|
|
|
|
|
|
$tracelevel) |
2913
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2914
|
23
|
|
|
|
|
64
|
$item{q{NIL}} = $_tok; |
2915
|
23
|
|
|
|
|
59
|
push @item, $_tok; |
2916
|
|
|
|
|
|
|
|
2917
|
|
|
|
|
|
|
} |
2918
|
|
|
|
|
|
|
|
2919
|
23
|
50
|
|
|
|
59
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
2920
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2921
|
|
|
|
|
|
|
q{inreplyto}, |
2922
|
|
|
|
|
|
|
$tracelevel) |
2923
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2924
|
|
|
|
|
|
|
|
2925
|
|
|
|
|
|
|
|
2926
|
|
|
|
|
|
|
|
2927
|
23
|
|
|
|
|
44
|
$_matched = 1; |
2928
|
23
|
|
|
|
|
63
|
last; |
2929
|
|
|
|
|
|
|
} |
2930
|
|
|
|
|
|
|
|
2931
|
|
|
|
|
|
|
splice |
2932
|
24
|
100
|
|
|
|
80
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
1
|
|
|
|
|
5
|
|
2933
|
|
|
|
|
|
|
|
2934
|
24
|
|
66
|
|
|
108
|
while (!$_matched && !$commit) |
2935
|
|
|
|
|
|
|
{ |
2936
|
|
|
|
|
|
|
|
2937
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
2938
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
2939
|
|
|
|
|
|
|
q{inreplyto}, |
2940
|
|
|
|
|
|
|
$tracelevel) |
2941
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2942
|
1
|
|
|
|
|
3
|
my $thisprod = $thisrule->{"prods"}[1]; |
2943
|
1
|
|
|
|
|
3
|
$text = $_[1]; |
2944
|
1
|
|
|
|
|
3
|
my $_savetext; |
2945
|
1
|
|
|
|
|
3
|
@item = (q{inreplyto}); |
2946
|
1
|
|
|
|
|
5
|
%item = (__RULE__ => q{inreplyto}); |
2947
|
1
|
|
|
|
|
2
|
my $repcount = 0; |
2948
|
|
|
|
|
|
|
|
2949
|
|
|
|
|
|
|
|
2950
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
2951
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2952
|
|
|
|
|
|
|
q{inreplyto}, |
2953
|
|
|
|
|
|
|
$tracelevel) |
2954
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2955
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
448
|
|
|
1
|
|
|
|
|
2
|
|
2956
|
1
|
|
|
|
|
4
|
$expectation->is(q{})->at($text); |
2957
|
1
|
50
|
|
1
|
|
13
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
1
|
|
|
|
|
3
|
|
2958
|
|
|
|
|
|
|
{ |
2959
|
|
|
|
|
|
|
|
2960
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
2961
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2962
|
|
|
|
|
|
|
q{inreplyto}, |
2963
|
|
|
|
|
|
|
$tracelevel) |
2964
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2965
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
2966
|
0
|
|
|
|
|
0
|
last; |
2967
|
|
|
|
|
|
|
} |
2968
|
1
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
2969
|
|
|
|
|
|
|
. $_tok . q{]}, |
2970
|
|
|
|
|
|
|
|
2971
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2972
|
|
|
|
|
|
|
q{inreplyto}, |
2973
|
|
|
|
|
|
|
$tracelevel) |
2974
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2975
|
1
|
|
|
|
|
3
|
$item{q{STRING}} = $_tok; |
2976
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
2977
|
|
|
|
|
|
|
|
2978
|
|
|
|
|
|
|
} |
2979
|
|
|
|
|
|
|
|
2980
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
2981
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
2982
|
|
|
|
|
|
|
q{inreplyto}, |
2983
|
|
|
|
|
|
|
$tracelevel) |
2984
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
2985
|
|
|
|
|
|
|
|
2986
|
|
|
|
|
|
|
|
2987
|
|
|
|
|
|
|
|
2988
|
1
|
|
|
|
|
3
|
$_matched = 1; |
2989
|
1
|
|
|
|
|
2
|
last; |
2990
|
|
|
|
|
|
|
} |
2991
|
|
|
|
|
|
|
|
2992
|
|
|
|
|
|
|
splice |
2993
|
24
|
50
|
|
|
|
78
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
2994
|
|
|
|
|
|
|
|
2995
|
24
|
50
|
33
|
|
|
99
|
unless ( $_matched || defined($score) ) |
2996
|
|
|
|
|
|
|
{ |
2997
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
2998
|
|
|
|
|
|
|
|
2999
|
|
|
|
|
|
|
|
3000
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
3001
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3002
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3003
|
|
|
|
|
|
|
q{inreplyto}, |
3004
|
|
|
|
|
|
|
$tracelevel) |
3005
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3006
|
0
|
|
|
|
|
0
|
return undef; |
3007
|
|
|
|
|
|
|
} |
3008
|
24
|
50
|
33
|
|
|
154
|
if (!defined($return) && defined($score)) |
3009
|
|
|
|
|
|
|
{ |
3010
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
3011
|
|
|
|
|
|
|
q{inreplyto}, |
3012
|
|
|
|
|
|
|
$tracelevel) |
3013
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3014
|
0
|
|
|
|
|
0
|
$return = $score_return; |
3015
|
|
|
|
|
|
|
} |
3016
|
24
|
|
|
|
|
47
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
69
|
|
3017
|
24
|
50
|
|
|
|
96
|
$return = $item[$#item] unless defined $return; |
3018
|
24
|
50
|
|
|
|
71
|
if (defined $::RD_TRACE) |
3019
|
|
|
|
|
|
|
{ |
3020
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
3021
|
|
|
|
|
|
|
$return . q{])}, "", |
3022
|
|
|
|
|
|
|
q{inreplyto}, |
3023
|
|
|
|
|
|
|
$tracelevel); |
3024
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
3025
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
3026
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3027
|
|
|
|
|
|
|
, q{inreplyto}, |
3028
|
|
|
|
|
|
|
$tracelevel) |
3029
|
|
|
|
|
|
|
} |
3030
|
24
|
|
|
|
|
64
|
$_[1] = $text; |
3031
|
24
|
|
|
|
|
146
|
return $return; |
3032
|
|
|
|
|
|
|
} |
3033
|
|
|
|
|
|
|
|
3034
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
3035
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES |
3036
|
|
|
|
|
|
|
{ |
3037
|
144
|
|
|
144
|
|
283
|
my $thisparser = $_[0]; |
3038
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
394
|
|
3039
|
144
|
|
50
|
|
|
360
|
local $tracelevel = ($tracelevel||0)+1; |
3040
|
144
|
|
|
|
|
235
|
$ERRORS = 0; |
3041
|
144
|
|
|
|
|
312
|
my $thisrule = $thisparser->{"rules"}{"ADDRESSES"}; |
3042
|
|
|
|
|
|
|
|
3043
|
144
|
50
|
|
|
|
290
|
Parse::RecDescent::_trace(q{Trying rule: [ADDRESSES]}, |
3044
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3045
|
|
|
|
|
|
|
q{ADDRESSES}, |
3046
|
|
|
|
|
|
|
$tracelevel) |
3047
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3048
|
|
|
|
|
|
|
|
3049
|
144
|
|
|
|
|
206
|
my $def_at = @{$thisparser->{deferred}}; |
|
144
|
|
|
|
|
319
|
|
3050
|
144
|
|
|
|
|
209
|
my $err_at = @{$thisparser->{errors}}; |
|
144
|
|
|
|
|
269
|
|
3051
|
|
|
|
|
|
|
|
3052
|
144
|
|
|
|
|
348
|
my $score; |
3053
|
|
|
|
|
|
|
my $score_return; |
3054
|
144
|
|
|
|
|
0
|
my $_tok; |
3055
|
144
|
|
|
|
|
253
|
my $return = undef; |
3056
|
144
|
|
|
|
|
225
|
my $_matched=0; |
3057
|
144
|
|
|
|
|
198
|
my $commit=0; |
3058
|
144
|
|
|
|
|
240
|
my @item = (); |
3059
|
144
|
|
|
|
|
225
|
my %item = (); |
3060
|
144
|
|
|
|
|
236
|
my $repeating = $_[2]; |
3061
|
144
|
|
|
|
|
238
|
my $_noactions = $_[3]; |
3062
|
144
|
50
|
|
|
|
306
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
144
|
|
|
|
|
205
|
|
|
144
|
|
|
|
|
260
|
|
3063
|
144
|
|
|
|
|
226
|
my $_itempos = $_[5]; |
3064
|
144
|
50
|
|
|
|
341
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
3065
|
144
|
|
|
|
|
379
|
my $text; |
3066
|
|
|
|
|
|
|
my $lastsep; |
3067
|
144
|
|
|
|
|
0
|
my $current_match; |
3068
|
144
|
|
|
|
|
328
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or RFCNONCOMPLY, or '('}); |
3069
|
144
|
|
|
|
|
906
|
$expectation->at($_[1]); |
3070
|
|
|
|
|
|
|
|
3071
|
144
|
|
|
|
|
597
|
my $thisline; |
3072
|
144
|
|
|
|
|
409
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
3073
|
|
|
|
|
|
|
|
3074
|
|
|
|
|
|
|
|
3075
|
|
|
|
|
|
|
|
3076
|
144
|
|
33
|
|
|
1101
|
while (!$_matched && !$commit) |
3077
|
|
|
|
|
|
|
{ |
3078
|
|
|
|
|
|
|
|
3079
|
144
|
50
|
|
|
|
381
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
3080
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3081
|
|
|
|
|
|
|
q{ADDRESSES}, |
3082
|
|
|
|
|
|
|
$tracelevel) |
3083
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3084
|
144
|
|
|
|
|
330
|
my $thisprod = $thisrule->{"prods"}[0]; |
3085
|
144
|
|
|
|
|
266
|
$text = $_[1]; |
3086
|
144
|
|
|
|
|
251
|
my $_savetext; |
3087
|
144
|
|
|
|
|
278
|
@item = (q{ADDRESSES}); |
3088
|
144
|
|
|
|
|
319
|
%item = (__RULE__ => q{ADDRESSES}); |
3089
|
144
|
|
|
|
|
255
|
my $repcount = 0; |
3090
|
|
|
|
|
|
|
|
3091
|
|
|
|
|
|
|
|
3092
|
144
|
50
|
|
|
|
307
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
3093
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3094
|
|
|
|
|
|
|
q{ADDRESSES}, |
3095
|
|
|
|
|
|
|
$tracelevel) |
3096
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3097
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
287
|
|
|
144
|
|
|
|
|
255
|
|
3098
|
144
|
|
|
|
|
368
|
$expectation->is(q{})->at($text); |
3099
|
144
|
100
|
|
144
|
|
1333
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
144
|
|
|
|
|
315
|
|
3100
|
|
|
|
|
|
|
{ |
3101
|
|
|
|
|
|
|
|
3102
|
98
|
50
|
|
|
|
223
|
Parse::RecDescent::_trace(q{<>}, |
3103
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3104
|
|
|
|
|
|
|
q{ADDRESSES}, |
3105
|
|
|
|
|
|
|
$tracelevel) |
3106
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3107
|
98
|
|
|
|
|
308
|
$expectation->failed(); |
3108
|
98
|
|
|
|
|
417
|
last; |
3109
|
|
|
|
|
|
|
} |
3110
|
46
|
50
|
|
|
|
189
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
3111
|
|
|
|
|
|
|
. $_tok . q{]}, |
3112
|
|
|
|
|
|
|
|
3113
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3114
|
|
|
|
|
|
|
q{ADDRESSES}, |
3115
|
|
|
|
|
|
|
$tracelevel) |
3116
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3117
|
46
|
|
|
|
|
113
|
$item{q{NIL}} = $_tok; |
3118
|
46
|
|
|
|
|
92
|
push @item, $_tok; |
3119
|
|
|
|
|
|
|
|
3120
|
|
|
|
|
|
|
} |
3121
|
|
|
|
|
|
|
|
3122
|
46
|
50
|
|
|
|
128
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
3123
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3124
|
|
|
|
|
|
|
q{ADDRESSES}, |
3125
|
|
|
|
|
|
|
$tracelevel) |
3126
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3127
|
|
|
|
|
|
|
|
3128
|
|
|
|
|
|
|
|
3129
|
|
|
|
|
|
|
|
3130
|
46
|
|
|
|
|
82
|
$_matched = 1; |
3131
|
46
|
|
|
|
|
89
|
last; |
3132
|
|
|
|
|
|
|
} |
3133
|
|
|
|
|
|
|
|
3134
|
|
|
|
|
|
|
splice |
3135
|
144
|
100
|
|
|
|
431
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
98
|
|
|
|
|
247
|
|
3136
|
|
|
|
|
|
|
|
3137
|
144
|
|
66
|
|
|
504
|
while (!$_matched && !$commit) |
3138
|
|
|
|
|
|
|
{ |
3139
|
|
|
|
|
|
|
|
3140
|
98
|
50
|
|
|
|
245
|
Parse::RecDescent::_trace(q{Trying production: [RFCNONCOMPLY]}, |
3141
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3142
|
|
|
|
|
|
|
q{ADDRESSES}, |
3143
|
|
|
|
|
|
|
$tracelevel) |
3144
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3145
|
98
|
|
|
|
|
224
|
my $thisprod = $thisrule->{"prods"}[1]; |
3146
|
98
|
|
|
|
|
194
|
$text = $_[1]; |
3147
|
98
|
|
|
|
|
145
|
my $_savetext; |
3148
|
98
|
|
|
|
|
247
|
@item = (q{ADDRESSES}); |
3149
|
98
|
|
|
|
|
249
|
%item = (__RULE__ => q{ADDRESSES}); |
3150
|
98
|
|
|
|
|
156
|
my $repcount = 0; |
3151
|
|
|
|
|
|
|
|
3152
|
|
|
|
|
|
|
|
3153
|
98
|
50
|
|
|
|
234
|
Parse::RecDescent::_trace(q{Trying subrule: [RFCNONCOMPLY]}, |
3154
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3155
|
|
|
|
|
|
|
q{ADDRESSES}, |
3156
|
|
|
|
|
|
|
$tracelevel) |
3157
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3158
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1188
|
|
|
98
|
|
|
|
|
161
|
|
3159
|
98
|
|
|
|
|
270
|
$expectation->is(q{})->at($text); |
3160
|
98
|
100
|
|
98
|
|
1054
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::RFCNONCOMPLY($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
98
|
|
|
|
|
200
|
|
3161
|
|
|
|
|
|
|
{ |
3162
|
|
|
|
|
|
|
|
3163
|
94
|
50
|
|
|
|
211
|
Parse::RecDescent::_trace(q{<>}, |
3164
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3165
|
|
|
|
|
|
|
q{ADDRESSES}, |
3166
|
|
|
|
|
|
|
$tracelevel) |
3167
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3168
|
94
|
|
|
|
|
268
|
$expectation->failed(); |
3169
|
94
|
|
|
|
|
318
|
last; |
3170
|
|
|
|
|
|
|
} |
3171
|
4
|
50
|
|
|
|
21
|
Parse::RecDescent::_trace(q{>>Matched subrule: [RFCNONCOMPLY]<< (return value: [} |
3172
|
|
|
|
|
|
|
. $_tok . q{]}, |
3173
|
|
|
|
|
|
|
|
3174
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3175
|
|
|
|
|
|
|
q{ADDRESSES}, |
3176
|
|
|
|
|
|
|
$tracelevel) |
3177
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3178
|
4
|
|
|
|
|
11
|
$item{q{RFCNONCOMPLY}} = $_tok; |
3179
|
4
|
|
|
|
|
9
|
push @item, $_tok; |
3180
|
|
|
|
|
|
|
|
3181
|
|
|
|
|
|
|
} |
3182
|
|
|
|
|
|
|
|
3183
|
4
|
50
|
|
|
|
11
|
Parse::RecDescent::_trace(q{>>Matched production: [RFCNONCOMPLY]<<}, |
3184
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3185
|
|
|
|
|
|
|
q{ADDRESSES}, |
3186
|
|
|
|
|
|
|
$tracelevel) |
3187
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3188
|
|
|
|
|
|
|
|
3189
|
|
|
|
|
|
|
|
3190
|
|
|
|
|
|
|
|
3191
|
4
|
|
|
|
|
9
|
$_matched = 1; |
3192
|
4
|
|
|
|
|
7
|
last; |
3193
|
|
|
|
|
|
|
} |
3194
|
|
|
|
|
|
|
|
3195
|
|
|
|
|
|
|
splice |
3196
|
144
|
100
|
|
|
|
467
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
94
|
|
|
|
|
210
|
|
3197
|
|
|
|
|
|
|
|
3198
|
144
|
|
66
|
|
|
481
|
while (!$_matched && !$commit) |
3199
|
|
|
|
|
|
|
{ |
3200
|
|
|
|
|
|
|
|
3201
|
94
|
50
|
|
|
|
187
|
Parse::RecDescent::_trace(q{Trying production: ['(' addressstruct ')']}, |
3202
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3203
|
|
|
|
|
|
|
q{ADDRESSES}, |
3204
|
|
|
|
|
|
|
$tracelevel) |
3205
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3206
|
94
|
|
|
|
|
216
|
my $thisprod = $thisrule->{"prods"}[2]; |
3207
|
94
|
|
|
|
|
175
|
$text = $_[1]; |
3208
|
94
|
|
|
|
|
135
|
my $_savetext; |
3209
|
94
|
|
|
|
|
228
|
@item = (q{ADDRESSES}); |
3210
|
94
|
|
|
|
|
258
|
%item = (__RULE__ => q{ADDRESSES}); |
3211
|
94
|
|
|
|
|
167
|
my $repcount = 0; |
3212
|
|
|
|
|
|
|
|
3213
|
|
|
|
|
|
|
|
3214
|
94
|
50
|
|
|
|
193
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
3215
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3216
|
|
|
|
|
|
|
q{ADDRESSES}, |
3217
|
|
|
|
|
|
|
$tracelevel) |
3218
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3219
|
94
|
|
|
|
|
163
|
undef $lastsep; |
3220
|
94
|
|
|
|
|
232
|
$expectation->is(q{})->at($text); |
3221
|
|
|
|
|
|
|
|
3222
|
|
|
|
|
|
|
|
3223
|
94
|
50
|
33
|
|
|
1014
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
94
|
50
|
33
|
|
|
673
|
|
|
94
|
|
33
|
|
|
196
|
|
|
94
|
|
|
|
|
504
|
|
3224
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
3225
|
94
|
|
|
|
|
284
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
94
|
|
|
|
|
280
|
|
3226
|
|
|
|
|
|
|
) |
3227
|
|
|
|
|
|
|
{ |
3228
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
3229
|
|
|
|
|
|
|
|
3230
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
3231
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3232
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3233
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3234
|
0
|
|
|
|
|
0
|
last; |
3235
|
|
|
|
|
|
|
} |
3236
|
94
|
50
|
|
|
|
245
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
3237
|
|
|
|
|
|
|
. $_tok . q{])}, |
3238
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3239
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3240
|
94
|
|
|
|
|
253
|
push @item, $item{__STRING1__}=$_tok; |
3241
|
|
|
|
|
|
|
|
3242
|
|
|
|
|
|
|
|
3243
|
94
|
50
|
|
|
|
213
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [addressstruct]}, |
3244
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3245
|
|
|
|
|
|
|
q{ADDRESSES}, |
3246
|
|
|
|
|
|
|
$tracelevel) |
3247
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3248
|
94
|
|
|
|
|
248
|
$expectation->is(q{addressstruct})->at($text); |
3249
|
|
|
|
|
|
|
|
3250
|
94
|
50
|
|
188
|
|
1164
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::addressstruct, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef))) |
|
188
|
|
|
|
|
382
|
|
3251
|
|
|
|
|
|
|
{ |
3252
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3253
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3254
|
|
|
|
|
|
|
q{ADDRESSES}, |
3255
|
|
|
|
|
|
|
$tracelevel) |
3256
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3257
|
0
|
|
|
|
|
0
|
last; |
3258
|
|
|
|
|
|
|
} |
3259
|
94
|
50
|
|
|
|
1492
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [addressstruct]<< (} |
3260
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
3261
|
|
|
|
|
|
|
|
3262
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3263
|
|
|
|
|
|
|
q{ADDRESSES}, |
3264
|
|
|
|
|
|
|
$tracelevel) |
3265
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3266
|
94
|
|
|
|
|
242
|
$item{q{addressstruct(s)}} = $_tok; |
3267
|
94
|
|
|
|
|
192
|
push @item, $_tok; |
3268
|
|
|
|
|
|
|
|
3269
|
|
|
|
|
|
|
|
3270
|
|
|
|
|
|
|
|
3271
|
94
|
50
|
|
|
|
199
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
3272
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3273
|
|
|
|
|
|
|
q{ADDRESSES}, |
3274
|
|
|
|
|
|
|
$tracelevel) |
3275
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3276
|
94
|
|
|
|
|
154
|
undef $lastsep; |
3277
|
94
|
|
|
|
|
257
|
$expectation->is(q{')'})->at($text); |
3278
|
|
|
|
|
|
|
|
3279
|
|
|
|
|
|
|
|
3280
|
94
|
50
|
33
|
|
|
984
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
94
|
50
|
33
|
|
|
592
|
|
|
94
|
|
33
|
|
|
179
|
|
|
94
|
|
|
|
|
500
|
|
3281
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
3282
|
94
|
|
|
|
|
220
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
94
|
|
|
|
|
247
|
|
3283
|
|
|
|
|
|
|
) |
3284
|
|
|
|
|
|
|
{ |
3285
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
3286
|
|
|
|
|
|
|
|
3287
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
3288
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3289
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3290
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3291
|
0
|
|
|
|
|
0
|
last; |
3292
|
|
|
|
|
|
|
} |
3293
|
94
|
50
|
|
|
|
256
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
3294
|
|
|
|
|
|
|
. $_tok . q{])}, |
3295
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3296
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3297
|
94
|
|
|
|
|
285
|
push @item, $item{__STRING2__}=$_tok; |
3298
|
|
|
|
|
|
|
|
3299
|
|
|
|
|
|
|
|
3300
|
94
|
50
|
|
|
|
208
|
Parse::RecDescent::_trace(q{Trying action}, |
3301
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3302
|
|
|
|
|
|
|
q{ADDRESSES}, |
3303
|
|
|
|
|
|
|
$tracelevel) |
3304
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3305
|
|
|
|
|
|
|
|
3306
|
|
|
|
|
|
|
|
3307
|
94
|
50
|
|
|
|
222
|
$_tok = ($_noactions) ? 0 : do { $return = $item{'addressstruct(s)'} }; |
|
94
|
|
|
|
|
194
|
|
3308
|
94
|
50
|
|
|
|
216
|
unless (defined $_tok) |
3309
|
|
|
|
|
|
|
{ |
3310
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
3311
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3312
|
0
|
|
|
|
|
0
|
last; |
3313
|
|
|
|
|
|
|
} |
3314
|
94
|
50
|
|
|
|
208
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
3315
|
|
|
|
|
|
|
. $_tok . q{])}, |
3316
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3317
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3318
|
94
|
|
|
|
|
171
|
push @item, $_tok; |
3319
|
94
|
|
|
|
|
177
|
$item{__ACTION1__}=$_tok; |
3320
|
|
|
|
|
|
|
|
3321
|
|
|
|
|
|
|
|
3322
|
94
|
50
|
|
|
|
190
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' addressstruct ')']<<}, |
3323
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3324
|
|
|
|
|
|
|
q{ADDRESSES}, |
3325
|
|
|
|
|
|
|
$tracelevel) |
3326
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3327
|
|
|
|
|
|
|
|
3328
|
|
|
|
|
|
|
|
3329
|
|
|
|
|
|
|
|
3330
|
94
|
|
|
|
|
162
|
$_matched = 1; |
3331
|
94
|
|
|
|
|
208
|
last; |
3332
|
|
|
|
|
|
|
} |
3333
|
|
|
|
|
|
|
|
3334
|
|
|
|
|
|
|
splice |
3335
|
144
|
50
|
|
|
|
322
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
3336
|
|
|
|
|
|
|
|
3337
|
144
|
50
|
33
|
|
|
365
|
unless ( $_matched || defined($score) ) |
3338
|
|
|
|
|
|
|
{ |
3339
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
3340
|
|
|
|
|
|
|
|
3341
|
|
|
|
|
|
|
|
3342
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
3343
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3344
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3345
|
|
|
|
|
|
|
q{ADDRESSES}, |
3346
|
|
|
|
|
|
|
$tracelevel) |
3347
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3348
|
0
|
|
|
|
|
0
|
return undef; |
3349
|
|
|
|
|
|
|
} |
3350
|
144
|
50
|
66
|
|
|
481
|
if (!defined($return) && defined($score)) |
3351
|
|
|
|
|
|
|
{ |
3352
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
3353
|
|
|
|
|
|
|
q{ADDRESSES}, |
3354
|
|
|
|
|
|
|
$tracelevel) |
3355
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3356
|
0
|
|
|
|
|
0
|
$return = $score_return; |
3357
|
|
|
|
|
|
|
} |
3358
|
144
|
|
|
|
|
228
|
splice @{$thisparser->{errors}}, $err_at; |
|
144
|
|
|
|
|
369
|
|
3359
|
144
|
100
|
|
|
|
371
|
$return = $item[$#item] unless defined $return; |
3360
|
144
|
50
|
|
|
|
340
|
if (defined $::RD_TRACE) |
3361
|
|
|
|
|
|
|
{ |
3362
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
3363
|
|
|
|
|
|
|
$return . q{])}, "", |
3364
|
|
|
|
|
|
|
q{ADDRESSES}, |
3365
|
|
|
|
|
|
|
$tracelevel); |
3366
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
3367
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
3368
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3369
|
|
|
|
|
|
|
, q{ADDRESSES}, |
3370
|
|
|
|
|
|
|
$tracelevel) |
3371
|
|
|
|
|
|
|
} |
3372
|
144
|
|
|
|
|
398
|
$_[1] = $text; |
3373
|
144
|
|
|
|
|
1079
|
return $return; |
3374
|
|
|
|
|
|
|
} |
3375
|
|
|
|
|
|
|
|
3376
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
3377
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::key |
3378
|
|
|
|
|
|
|
{ |
3379
|
129
|
|
|
129
|
|
268
|
my $thisparser = $_[0]; |
3380
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
337
|
|
3381
|
129
|
|
50
|
|
|
423
|
local $tracelevel = ($tracelevel||0)+1; |
3382
|
129
|
|
|
|
|
264
|
$ERRORS = 0; |
3383
|
129
|
|
|
|
|
409
|
my $thisrule = $thisparser->{"rules"}{"key"}; |
3384
|
|
|
|
|
|
|
|
3385
|
129
|
50
|
|
|
|
351
|
Parse::RecDescent::_trace(q{Trying rule: [key]}, |
3386
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3387
|
|
|
|
|
|
|
q{key}, |
3388
|
|
|
|
|
|
|
$tracelevel) |
3389
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3390
|
|
|
|
|
|
|
|
3391
|
129
|
|
|
|
|
205
|
my $def_at = @{$thisparser->{deferred}}; |
|
129
|
|
|
|
|
272
|
|
3392
|
129
|
|
|
|
|
273
|
my $err_at = @{$thisparser->{errors}}; |
|
129
|
|
|
|
|
282
|
|
3393
|
|
|
|
|
|
|
|
3394
|
129
|
|
|
|
|
398
|
my $score; |
3395
|
|
|
|
|
|
|
my $score_return; |
3396
|
129
|
|
|
|
|
0
|
my $_tok; |
3397
|
129
|
|
|
|
|
249
|
my $return = undef; |
3398
|
129
|
|
|
|
|
201
|
my $_matched=0; |
3399
|
129
|
|
|
|
|
249
|
my $commit=0; |
3400
|
129
|
|
|
|
|
257
|
my @item = (); |
3401
|
129
|
|
|
|
|
283
|
my %item = (); |
3402
|
129
|
|
|
|
|
218
|
my $repeating = $_[2]; |
3403
|
129
|
|
|
|
|
267
|
my $_noactions = $_[3]; |
3404
|
129
|
50
|
|
|
|
299
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
129
|
|
|
|
|
208
|
|
|
129
|
|
|
|
|
255
|
|
3405
|
129
|
|
|
|
|
240
|
my $_itempos = $_[5]; |
3406
|
129
|
50
|
|
|
|
389
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
3407
|
129
|
|
|
|
|
357
|
my $text; |
3408
|
|
|
|
|
|
|
my $lastsep; |
3409
|
129
|
|
|
|
|
0
|
my $current_match; |
3410
|
129
|
|
|
|
|
325
|
my $expectation = new Parse::RecDescent::Expectation(q{STRING}); |
3411
|
129
|
|
|
|
|
976
|
$expectation->at($_[1]); |
3412
|
|
|
|
|
|
|
|
3413
|
129
|
|
|
|
|
516
|
my $thisline; |
3414
|
129
|
|
|
|
|
431
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
3415
|
|
|
|
|
|
|
|
3416
|
|
|
|
|
|
|
|
3417
|
|
|
|
|
|
|
|
3418
|
129
|
|
33
|
|
|
1109
|
while (!$_matched && !$commit) |
3419
|
|
|
|
|
|
|
{ |
3420
|
|
|
|
|
|
|
|
3421
|
129
|
50
|
|
|
|
325
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
3422
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3423
|
|
|
|
|
|
|
q{key}, |
3424
|
|
|
|
|
|
|
$tracelevel) |
3425
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3426
|
129
|
|
|
|
|
373
|
my $thisprod = $thisrule->{"prods"}[0]; |
3427
|
129
|
|
|
|
|
262
|
$text = $_[1]; |
3428
|
129
|
|
|
|
|
261
|
my $_savetext; |
3429
|
129
|
|
|
|
|
312
|
@item = (q{key}); |
3430
|
129
|
|
|
|
|
299
|
%item = (__RULE__ => q{key}); |
3431
|
129
|
|
|
|
|
238
|
my $repcount = 0; |
3432
|
|
|
|
|
|
|
|
3433
|
|
|
|
|
|
|
|
3434
|
129
|
50
|
|
|
|
333
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
3435
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3436
|
|
|
|
|
|
|
q{key}, |
3437
|
|
|
|
|
|
|
$tracelevel) |
3438
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3439
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
434
|
|
|
129
|
|
|
|
|
189
|
|
3440
|
129
|
|
|
|
|
336
|
$expectation->is(q{})->at($text); |
3441
|
129
|
50
|
|
129
|
|
1295
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
129
|
|
|
|
|
292
|
|
3442
|
|
|
|
|
|
|
{ |
3443
|
|
|
|
|
|
|
|
3444
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3445
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3446
|
|
|
|
|
|
|
q{key}, |
3447
|
|
|
|
|
|
|
$tracelevel) |
3448
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3449
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
3450
|
0
|
|
|
|
|
0
|
last; |
3451
|
|
|
|
|
|
|
} |
3452
|
129
|
50
|
|
|
|
423
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
3453
|
|
|
|
|
|
|
. $_tok . q{]}, |
3454
|
|
|
|
|
|
|
|
3455
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3456
|
|
|
|
|
|
|
q{key}, |
3457
|
|
|
|
|
|
|
$tracelevel) |
3458
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3459
|
129
|
|
|
|
|
277
|
$item{q{STRING}} = $_tok; |
3460
|
129
|
|
|
|
|
265
|
push @item, $_tok; |
3461
|
|
|
|
|
|
|
|
3462
|
|
|
|
|
|
|
} |
3463
|
|
|
|
|
|
|
|
3464
|
129
|
50
|
|
|
|
297
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
3465
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3466
|
|
|
|
|
|
|
q{key}, |
3467
|
|
|
|
|
|
|
$tracelevel) |
3468
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3469
|
|
|
|
|
|
|
|
3470
|
|
|
|
|
|
|
|
3471
|
|
|
|
|
|
|
|
3472
|
129
|
|
|
|
|
234
|
$_matched = 1; |
3473
|
129
|
|
|
|
|
215
|
last; |
3474
|
|
|
|
|
|
|
} |
3475
|
|
|
|
|
|
|
|
3476
|
|
|
|
|
|
|
splice |
3477
|
129
|
50
|
|
|
|
315
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
3478
|
|
|
|
|
|
|
|
3479
|
129
|
50
|
33
|
|
|
348
|
unless ( $_matched || defined($score) ) |
3480
|
|
|
|
|
|
|
{ |
3481
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
3482
|
|
|
|
|
|
|
|
3483
|
|
|
|
|
|
|
|
3484
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
3485
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3486
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3487
|
|
|
|
|
|
|
q{key}, |
3488
|
|
|
|
|
|
|
$tracelevel) |
3489
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3490
|
0
|
|
|
|
|
0
|
return undef; |
3491
|
|
|
|
|
|
|
} |
3492
|
129
|
50
|
33
|
|
|
523
|
if (!defined($return) && defined($score)) |
3493
|
|
|
|
|
|
|
{ |
3494
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
3495
|
|
|
|
|
|
|
q{key}, |
3496
|
|
|
|
|
|
|
$tracelevel) |
3497
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3498
|
0
|
|
|
|
|
0
|
$return = $score_return; |
3499
|
|
|
|
|
|
|
} |
3500
|
129
|
|
|
|
|
220
|
splice @{$thisparser->{errors}}, $err_at; |
|
129
|
|
|
|
|
307
|
|
3501
|
129
|
50
|
|
|
|
413
|
$return = $item[$#item] unless defined $return; |
3502
|
129
|
50
|
|
|
|
337
|
if (defined $::RD_TRACE) |
3503
|
|
|
|
|
|
|
{ |
3504
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
3505
|
|
|
|
|
|
|
$return . q{])}, "", |
3506
|
|
|
|
|
|
|
q{key}, |
3507
|
|
|
|
|
|
|
$tracelevel); |
3508
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
3509
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
3510
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3511
|
|
|
|
|
|
|
, q{key}, |
3512
|
|
|
|
|
|
|
$tracelevel) |
3513
|
|
|
|
|
|
|
} |
3514
|
129
|
|
|
|
|
332
|
$_[1] = $text; |
3515
|
129
|
|
|
|
|
794
|
return $return; |
3516
|
|
|
|
|
|
|
} |
3517
|
|
|
|
|
|
|
|
3518
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
3519
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::rfc822message |
3520
|
|
|
|
|
|
|
{ |
3521
|
53
|
|
|
53
|
|
136
|
my $thisparser = $_[0]; |
3522
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
342
|
|
3523
|
53
|
|
50
|
|
|
187
|
local $tracelevel = ($tracelevel||0)+1; |
3524
|
53
|
|
|
|
|
113
|
$ERRORS = 0; |
3525
|
53
|
|
|
|
|
184
|
my $thisrule = $thisparser->{"rules"}{"rfc822message"}; |
3526
|
|
|
|
|
|
|
|
3527
|
53
|
50
|
|
|
|
172
|
Parse::RecDescent::_trace(q{Trying rule: [rfc822message]}, |
3528
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3529
|
|
|
|
|
|
|
q{rfc822message}, |
3530
|
|
|
|
|
|
|
$tracelevel) |
3531
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3532
|
|
|
|
|
|
|
|
3533
|
53
|
|
|
|
|
149
|
my $def_at = @{$thisparser->{deferred}}; |
|
53
|
|
|
|
|
128
|
|
3534
|
53
|
|
|
|
|
98
|
my $err_at = @{$thisparser->{errors}}; |
|
53
|
|
|
|
|
136
|
|
3535
|
|
|
|
|
|
|
|
3536
|
53
|
|
|
|
|
223
|
my $score; |
3537
|
|
|
|
|
|
|
my $score_return; |
3538
|
53
|
|
|
|
|
0
|
my $_tok; |
3539
|
53
|
|
|
|
|
86
|
my $return = undef; |
3540
|
53
|
|
|
|
|
88
|
my $_matched=0; |
3541
|
53
|
|
|
|
|
99
|
my $commit=0; |
3542
|
53
|
|
|
|
|
115
|
my @item = (); |
3543
|
53
|
|
|
|
|
119
|
my %item = (); |
3544
|
53
|
|
|
|
|
93
|
my $repeating = $_[2]; |
3545
|
53
|
|
|
|
|
105
|
my $_noactions = $_[3]; |
3546
|
53
|
50
|
|
|
|
190
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
53
|
|
|
|
|
92
|
|
|
53
|
|
|
|
|
120
|
|
3547
|
53
|
|
|
|
|
118
|
my $_itempos = $_[5]; |
3548
|
53
|
50
|
|
|
|
183
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
3549
|
53
|
|
|
|
|
185
|
my $text; |
3550
|
|
|
|
|
|
|
my $lastsep; |
3551
|
53
|
|
|
|
|
0
|
my $current_match; |
3552
|
53
|
|
|
|
|
184
|
my $expectation = new Parse::RecDescent::Expectation(q{MESSAGE}); |
3553
|
53
|
|
|
|
|
412
|
$expectation->at($_[1]); |
3554
|
|
|
|
|
|
|
|
3555
|
53
|
|
|
|
|
218
|
my $thisline; |
3556
|
53
|
|
|
|
|
215
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
3557
|
|
|
|
|
|
|
|
3558
|
|
|
|
|
|
|
|
3559
|
|
|
|
|
|
|
|
3560
|
53
|
|
33
|
|
|
476
|
while (!$_matched && !$commit) |
3561
|
|
|
|
|
|
|
{ |
3562
|
|
|
|
|
|
|
|
3563
|
53
|
50
|
|
|
|
159
|
Parse::RecDescent::_trace(q{Trying production: [MESSAGE RFC822]}, |
3564
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3565
|
|
|
|
|
|
|
q{rfc822message}, |
3566
|
|
|
|
|
|
|
$tracelevel) |
3567
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3568
|
53
|
|
|
|
|
216
|
my $thisprod = $thisrule->{"prods"}[0]; |
3569
|
53
|
|
|
|
|
118
|
$text = $_[1]; |
3570
|
53
|
|
|
|
|
91
|
my $_savetext; |
3571
|
53
|
|
|
|
|
129
|
@item = (q{rfc822message}); |
3572
|
53
|
|
|
|
|
137
|
%item = (__RULE__ => q{rfc822message}); |
3573
|
53
|
|
|
|
|
91
|
my $repcount = 0; |
3574
|
|
|
|
|
|
|
|
3575
|
|
|
|
|
|
|
|
3576
|
53
|
50
|
|
|
|
141
|
Parse::RecDescent::_trace(q{Trying subrule: [MESSAGE]}, |
3577
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3578
|
|
|
|
|
|
|
q{rfc822message}, |
3579
|
|
|
|
|
|
|
$tracelevel) |
3580
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3581
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
166
|
|
|
53
|
|
|
|
|
111
|
|
3582
|
53
|
|
|
|
|
170
|
$expectation->is(q{})->at($text); |
3583
|
53
|
100
|
|
53
|
|
708
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::MESSAGE($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
53
|
|
|
|
|
156
|
|
3584
|
|
|
|
|
|
|
{ |
3585
|
|
|
|
|
|
|
|
3586
|
31
|
50
|
|
|
|
114
|
Parse::RecDescent::_trace(q{<>}, |
3587
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3588
|
|
|
|
|
|
|
q{rfc822message}, |
3589
|
|
|
|
|
|
|
$tracelevel) |
3590
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3591
|
31
|
|
|
|
|
118
|
$expectation->failed(); |
3592
|
31
|
|
|
|
|
117
|
last; |
3593
|
|
|
|
|
|
|
} |
3594
|
22
|
50
|
|
|
|
121
|
Parse::RecDescent::_trace(q{>>Matched subrule: [MESSAGE]<< (return value: [} |
3595
|
|
|
|
|
|
|
. $_tok . q{]}, |
3596
|
|
|
|
|
|
|
|
3597
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3598
|
|
|
|
|
|
|
q{rfc822message}, |
3599
|
|
|
|
|
|
|
$tracelevel) |
3600
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3601
|
22
|
|
|
|
|
86
|
$item{q{MESSAGE}} = $_tok; |
3602
|
22
|
|
|
|
|
58
|
push @item, $_tok; |
3603
|
|
|
|
|
|
|
|
3604
|
|
|
|
|
|
|
} |
3605
|
|
|
|
|
|
|
|
3606
|
22
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{Trying subrule: [RFC822]}, |
3607
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3608
|
|
|
|
|
|
|
q{rfc822message}, |
3609
|
|
|
|
|
|
|
$tracelevel) |
3610
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3611
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
518
|
|
|
22
|
|
|
|
|
49
|
|
3612
|
22
|
|
|
|
|
83
|
$expectation->is(q{RFC822})->at($text); |
3613
|
22
|
100
|
|
22
|
|
314
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::RFC822($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
22
|
|
|
|
|
56
|
|
3614
|
|
|
|
|
|
|
{ |
3615
|
|
|
|
|
|
|
|
3616
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{<>}, |
3617
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3618
|
|
|
|
|
|
|
q{rfc822message}, |
3619
|
|
|
|
|
|
|
$tracelevel) |
3620
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3621
|
1
|
|
|
|
|
5
|
$expectation->failed(); |
3622
|
1
|
|
|
|
|
10
|
last; |
3623
|
|
|
|
|
|
|
} |
3624
|
21
|
50
|
|
|
|
94
|
Parse::RecDescent::_trace(q{>>Matched subrule: [RFC822]<< (return value: [} |
3625
|
|
|
|
|
|
|
. $_tok . q{]}, |
3626
|
|
|
|
|
|
|
|
3627
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3628
|
|
|
|
|
|
|
q{rfc822message}, |
3629
|
|
|
|
|
|
|
$tracelevel) |
3630
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3631
|
21
|
|
|
|
|
62
|
$item{q{RFC822}} = $_tok; |
3632
|
21
|
|
|
|
|
66
|
push @item, $_tok; |
3633
|
|
|
|
|
|
|
|
3634
|
|
|
|
|
|
|
} |
3635
|
|
|
|
|
|
|
|
3636
|
21
|
50
|
|
|
|
86
|
Parse::RecDescent::_trace(q{Trying action}, |
3637
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3638
|
|
|
|
|
|
|
q{rfc822message}, |
3639
|
|
|
|
|
|
|
$tracelevel) |
3640
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3641
|
|
|
|
|
|
|
|
3642
|
|
|
|
|
|
|
|
3643
|
21
|
50
|
|
|
|
64
|
$_tok = ($_noactions) ? 0 : do { $return = "MESSAGE RFC822" }; |
|
21
|
|
|
|
|
71
|
|
3644
|
21
|
50
|
|
|
|
59
|
unless (defined $_tok) |
3645
|
|
|
|
|
|
|
{ |
3646
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
3647
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3648
|
0
|
|
|
|
|
0
|
last; |
3649
|
|
|
|
|
|
|
} |
3650
|
21
|
50
|
|
|
|
64
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
3651
|
|
|
|
|
|
|
. $_tok . q{])}, |
3652
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
3653
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3654
|
21
|
|
|
|
|
40
|
push @item, $_tok; |
3655
|
21
|
|
|
|
|
51
|
$item{__ACTION1__}=$_tok; |
3656
|
|
|
|
|
|
|
|
3657
|
|
|
|
|
|
|
|
3658
|
21
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{>>Matched production: [MESSAGE RFC822]<<}, |
3659
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3660
|
|
|
|
|
|
|
q{rfc822message}, |
3661
|
|
|
|
|
|
|
$tracelevel) |
3662
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3663
|
|
|
|
|
|
|
|
3664
|
|
|
|
|
|
|
|
3665
|
|
|
|
|
|
|
|
3666
|
21
|
|
|
|
|
41
|
$_matched = 1; |
3667
|
21
|
|
|
|
|
45
|
last; |
3668
|
|
|
|
|
|
|
} |
3669
|
|
|
|
|
|
|
|
3670
|
|
|
|
|
|
|
splice |
3671
|
53
|
100
|
|
|
|
253
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
32
|
|
|
|
|
115
|
|
3672
|
|
|
|
|
|
|
|
3673
|
53
|
100
|
66
|
|
|
238
|
unless ( $_matched || defined($score) ) |
3674
|
|
|
|
|
|
|
{ |
3675
|
32
|
|
|
|
|
62
|
splice @{$thisparser->{deferred}}, $def_at; |
|
32
|
|
|
|
|
84
|
|
3676
|
|
|
|
|
|
|
|
3677
|
|
|
|
|
|
|
|
3678
|
32
|
|
|
|
|
79
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
3679
|
32
|
50
|
|
|
|
98
|
Parse::RecDescent::_trace(q{<>}, |
3680
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3681
|
|
|
|
|
|
|
q{rfc822message}, |
3682
|
|
|
|
|
|
|
$tracelevel) |
3683
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3684
|
32
|
|
|
|
|
201
|
return undef; |
3685
|
|
|
|
|
|
|
} |
3686
|
21
|
50
|
33
|
|
|
80
|
if (!defined($return) && defined($score)) |
3687
|
|
|
|
|
|
|
{ |
3688
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
3689
|
|
|
|
|
|
|
q{rfc822message}, |
3690
|
|
|
|
|
|
|
$tracelevel) |
3691
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3692
|
0
|
|
|
|
|
0
|
$return = $score_return; |
3693
|
|
|
|
|
|
|
} |
3694
|
21
|
|
|
|
|
39
|
splice @{$thisparser->{errors}}, $err_at; |
|
21
|
|
|
|
|
63
|
|
3695
|
21
|
50
|
|
|
|
73
|
$return = $item[$#item] unless defined $return; |
3696
|
21
|
50
|
|
|
|
67
|
if (defined $::RD_TRACE) |
3697
|
|
|
|
|
|
|
{ |
3698
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
3699
|
|
|
|
|
|
|
$return . q{])}, "", |
3700
|
|
|
|
|
|
|
q{rfc822message}, |
3701
|
|
|
|
|
|
|
$tracelevel); |
3702
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
3703
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
3704
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3705
|
|
|
|
|
|
|
, q{rfc822message}, |
3706
|
|
|
|
|
|
|
$tracelevel) |
3707
|
|
|
|
|
|
|
} |
3708
|
21
|
|
|
|
|
52
|
$_[1] = $text; |
3709
|
21
|
|
|
|
|
155
|
return $return; |
3710
|
|
|
|
|
|
|
} |
3711
|
|
|
|
|
|
|
|
3712
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
3713
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bcc |
3714
|
|
|
|
|
|
|
{ |
3715
|
24
|
|
|
24
|
|
62
|
my $thisparser = $_[0]; |
3716
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
352
|
|
3717
|
24
|
|
50
|
|
|
100
|
local $tracelevel = ($tracelevel||0)+1; |
3718
|
24
|
|
|
|
|
49
|
$ERRORS = 0; |
3719
|
24
|
|
|
|
|
93
|
my $thisrule = $thisparser->{"rules"}{"bcc"}; |
3720
|
|
|
|
|
|
|
|
3721
|
24
|
50
|
|
|
|
84
|
Parse::RecDescent::_trace(q{Trying rule: [bcc]}, |
3722
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3723
|
|
|
|
|
|
|
q{bcc}, |
3724
|
|
|
|
|
|
|
$tracelevel) |
3725
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3726
|
|
|
|
|
|
|
|
3727
|
24
|
|
|
|
|
42
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
70
|
|
3728
|
24
|
|
|
|
|
49
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
66
|
|
3729
|
|
|
|
|
|
|
|
3730
|
24
|
|
|
|
|
88
|
my $score; |
3731
|
|
|
|
|
|
|
my $score_return; |
3732
|
24
|
|
|
|
|
0
|
my $_tok; |
3733
|
24
|
|
|
|
|
47
|
my $return = undef; |
3734
|
24
|
|
|
|
|
50
|
my $_matched=0; |
3735
|
24
|
|
|
|
|
67
|
my $commit=0; |
3736
|
24
|
|
|
|
|
57
|
my @item = (); |
3737
|
24
|
|
|
|
|
53
|
my %item = (); |
3738
|
24
|
|
|
|
|
45
|
my $repeating = $_[2]; |
3739
|
24
|
|
|
|
|
45
|
my $_noactions = $_[3]; |
3740
|
24
|
50
|
|
|
|
71
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
59
|
|
|
24
|
|
|
|
|
63
|
|
3741
|
24
|
|
|
|
|
58
|
my $_itempos = $_[5]; |
3742
|
24
|
50
|
|
|
|
107
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
3743
|
24
|
|
|
|
|
77
|
my $text; |
3744
|
|
|
|
|
|
|
my $lastsep; |
3745
|
24
|
|
|
|
|
0
|
my $current_match; |
3746
|
24
|
|
|
|
|
82
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
3747
|
24
|
|
|
|
|
180
|
$expectation->at($_[1]); |
3748
|
|
|
|
|
|
|
|
3749
|
24
|
|
|
|
|
112
|
my $thisline; |
3750
|
24
|
|
|
|
|
103
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
3751
|
|
|
|
|
|
|
|
3752
|
|
|
|
|
|
|
|
3753
|
|
|
|
|
|
|
|
3754
|
24
|
|
33
|
|
|
274
|
while (!$_matched && !$commit) |
3755
|
|
|
|
|
|
|
{ |
3756
|
|
|
|
|
|
|
|
3757
|
24
|
50
|
|
|
|
88
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
3758
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3759
|
|
|
|
|
|
|
q{bcc}, |
3760
|
|
|
|
|
|
|
$tracelevel) |
3761
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3762
|
24
|
|
|
|
|
86
|
my $thisprod = $thisrule->{"prods"}[0]; |
3763
|
24
|
|
|
|
|
52
|
$text = $_[1]; |
3764
|
24
|
|
|
|
|
40
|
my $_savetext; |
3765
|
24
|
|
|
|
|
67
|
@item = (q{bcc}); |
3766
|
24
|
|
|
|
|
73
|
%item = (__RULE__ => q{bcc}); |
3767
|
24
|
|
|
|
|
39
|
my $repcount = 0; |
3768
|
|
|
|
|
|
|
|
3769
|
|
|
|
|
|
|
|
3770
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
3771
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3772
|
|
|
|
|
|
|
q{bcc}, |
3773
|
|
|
|
|
|
|
$tracelevel) |
3774
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3775
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
458
|
|
|
24
|
|
|
|
|
51
|
|
3776
|
24
|
|
|
|
|
67
|
$expectation->is(q{})->at($text); |
3777
|
24
|
50
|
|
24
|
|
269
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
51
|
|
3778
|
|
|
|
|
|
|
{ |
3779
|
|
|
|
|
|
|
|
3780
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3781
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3782
|
|
|
|
|
|
|
q{bcc}, |
3783
|
|
|
|
|
|
|
$tracelevel) |
3784
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3785
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
3786
|
0
|
|
|
|
|
0
|
last; |
3787
|
|
|
|
|
|
|
} |
3788
|
24
|
50
|
|
|
|
112
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
3789
|
|
|
|
|
|
|
. $_tok . q{]}, |
3790
|
|
|
|
|
|
|
|
3791
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3792
|
|
|
|
|
|
|
q{bcc}, |
3793
|
|
|
|
|
|
|
$tracelevel) |
3794
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3795
|
24
|
|
|
|
|
66
|
$item{q{ADDRESSES}} = $_tok; |
3796
|
24
|
|
|
|
|
55
|
push @item, $_tok; |
3797
|
|
|
|
|
|
|
|
3798
|
|
|
|
|
|
|
} |
3799
|
|
|
|
|
|
|
|
3800
|
24
|
50
|
|
|
|
66
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
3801
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3802
|
|
|
|
|
|
|
q{bcc}, |
3803
|
|
|
|
|
|
|
$tracelevel) |
3804
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3805
|
|
|
|
|
|
|
|
3806
|
|
|
|
|
|
|
|
3807
|
|
|
|
|
|
|
|
3808
|
24
|
|
|
|
|
47
|
$_matched = 1; |
3809
|
24
|
|
|
|
|
60
|
last; |
3810
|
|
|
|
|
|
|
} |
3811
|
|
|
|
|
|
|
|
3812
|
|
|
|
|
|
|
splice |
3813
|
24
|
50
|
|
|
|
75
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
3814
|
|
|
|
|
|
|
|
3815
|
24
|
50
|
33
|
|
|
100
|
unless ( $_matched || defined($score) ) |
3816
|
|
|
|
|
|
|
{ |
3817
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
3818
|
|
|
|
|
|
|
|
3819
|
|
|
|
|
|
|
|
3820
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
3821
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
3822
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3823
|
|
|
|
|
|
|
q{bcc}, |
3824
|
|
|
|
|
|
|
$tracelevel) |
3825
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3826
|
0
|
|
|
|
|
0
|
return undef; |
3827
|
|
|
|
|
|
|
} |
3828
|
24
|
50
|
33
|
|
|
142
|
if (!defined($return) && defined($score)) |
3829
|
|
|
|
|
|
|
{ |
3830
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
3831
|
|
|
|
|
|
|
q{bcc}, |
3832
|
|
|
|
|
|
|
$tracelevel) |
3833
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3834
|
0
|
|
|
|
|
0
|
$return = $score_return; |
3835
|
|
|
|
|
|
|
} |
3836
|
24
|
|
|
|
|
46
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
67
|
|
3837
|
24
|
50
|
|
|
|
70
|
$return = $item[$#item] unless defined $return; |
3838
|
24
|
50
|
|
|
|
76
|
if (defined $::RD_TRACE) |
3839
|
|
|
|
|
|
|
{ |
3840
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
3841
|
|
|
|
|
|
|
$return . q{])}, "", |
3842
|
|
|
|
|
|
|
q{bcc}, |
3843
|
|
|
|
|
|
|
$tracelevel); |
3844
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
3845
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
3846
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3847
|
|
|
|
|
|
|
, q{bcc}, |
3848
|
|
|
|
|
|
|
$tracelevel) |
3849
|
|
|
|
|
|
|
} |
3850
|
24
|
|
|
|
|
59
|
$_[1] = $text; |
3851
|
24
|
|
|
|
|
141
|
return $return; |
3852
|
|
|
|
|
|
|
} |
3853
|
|
|
|
|
|
|
|
3854
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
3855
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydisp |
3856
|
|
|
|
|
|
|
{ |
3857
|
102
|
|
|
102
|
|
1750
|
my $thisparser = $_[0]; |
3858
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
349
|
|
3859
|
102
|
|
50
|
|
|
319
|
local $tracelevel = ($tracelevel||0)+1; |
3860
|
102
|
|
|
|
|
222
|
$ERRORS = 0; |
3861
|
102
|
|
|
|
|
297
|
my $thisrule = $thisparser->{"rules"}{"bodydisp"}; |
3862
|
|
|
|
|
|
|
|
3863
|
102
|
50
|
|
|
|
263
|
Parse::RecDescent::_trace(q{Trying rule: [bodydisp]}, |
3864
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3865
|
|
|
|
|
|
|
q{bodydisp}, |
3866
|
|
|
|
|
|
|
$tracelevel) |
3867
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3868
|
|
|
|
|
|
|
|
3869
|
102
|
|
|
|
|
213
|
my $def_at = @{$thisparser->{deferred}}; |
|
102
|
|
|
|
|
247
|
|
3870
|
102
|
|
|
|
|
175
|
my $err_at = @{$thisparser->{errors}}; |
|
102
|
|
|
|
|
248
|
|
3871
|
|
|
|
|
|
|
|
3872
|
102
|
|
|
|
|
383
|
my $score; |
3873
|
|
|
|
|
|
|
my $score_return; |
3874
|
102
|
|
|
|
|
0
|
my $_tok; |
3875
|
102
|
|
|
|
|
192
|
my $return = undef; |
3876
|
102
|
|
|
|
|
231
|
my $_matched=0; |
3877
|
102
|
|
|
|
|
193
|
my $commit=0; |
3878
|
102
|
|
|
|
|
214
|
my @item = (); |
3879
|
102
|
|
|
|
|
233
|
my %item = (); |
3880
|
102
|
|
|
|
|
201
|
my $repeating = $_[2]; |
3881
|
102
|
|
|
|
|
166
|
my $_noactions = $_[3]; |
3882
|
102
|
50
|
|
|
|
262
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
102
|
|
|
|
|
212
|
|
|
102
|
|
|
|
|
264
|
|
3883
|
102
|
|
|
|
|
206
|
my $_itempos = $_[5]; |
3884
|
102
|
50
|
|
|
|
357
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
3885
|
102
|
|
|
|
|
368
|
my $text; |
3886
|
|
|
|
|
|
|
my $lastsep; |
3887
|
102
|
|
|
|
|
0
|
my $current_match; |
3888
|
102
|
|
|
|
|
296
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or KVPAIRS}); |
3889
|
102
|
|
|
|
|
701
|
$expectation->at($_[1]); |
3890
|
|
|
|
|
|
|
|
3891
|
102
|
|
|
|
|
435
|
my $thisline; |
3892
|
102
|
|
|
|
|
436
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
3893
|
|
|
|
|
|
|
|
3894
|
|
|
|
|
|
|
|
3895
|
|
|
|
|
|
|
|
3896
|
102
|
|
33
|
|
|
979
|
while (!$_matched && !$commit) |
3897
|
|
|
|
|
|
|
{ |
3898
|
|
|
|
|
|
|
|
3899
|
102
|
50
|
|
|
|
266
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
3900
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3901
|
|
|
|
|
|
|
q{bodydisp}, |
3902
|
|
|
|
|
|
|
$tracelevel) |
3903
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3904
|
102
|
|
|
|
|
356
|
my $thisprod = $thisrule->{"prods"}[0]; |
3905
|
102
|
|
|
|
|
218
|
$text = $_[1]; |
3906
|
102
|
|
|
|
|
165
|
my $_savetext; |
3907
|
102
|
|
|
|
|
220
|
@item = (q{bodydisp}); |
3908
|
102
|
|
|
|
|
278
|
%item = (__RULE__ => q{bodydisp}); |
3909
|
102
|
|
|
|
|
206
|
my $repcount = 0; |
3910
|
|
|
|
|
|
|
|
3911
|
|
|
|
|
|
|
|
3912
|
102
|
50
|
|
|
|
277
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
3913
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3914
|
|
|
|
|
|
|
q{bodydisp}, |
3915
|
|
|
|
|
|
|
$tracelevel) |
3916
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3917
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
279
|
|
|
102
|
|
|
|
|
173
|
|
3918
|
102
|
|
|
|
|
324
|
$expectation->is(q{})->at($text); |
3919
|
102
|
100
|
|
102
|
|
1061
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
102
|
|
|
|
|
242
|
|
3920
|
|
|
|
|
|
|
{ |
3921
|
|
|
|
|
|
|
|
3922
|
38
|
50
|
|
|
|
130
|
Parse::RecDescent::_trace(q{<>}, |
3923
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3924
|
|
|
|
|
|
|
q{bodydisp}, |
3925
|
|
|
|
|
|
|
$tracelevel) |
3926
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3927
|
38
|
|
|
|
|
130
|
$expectation->failed(); |
3928
|
38
|
|
|
|
|
143
|
last; |
3929
|
|
|
|
|
|
|
} |
3930
|
64
|
50
|
|
|
|
316
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
3931
|
|
|
|
|
|
|
. $_tok . q{]}, |
3932
|
|
|
|
|
|
|
|
3933
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3934
|
|
|
|
|
|
|
q{bodydisp}, |
3935
|
|
|
|
|
|
|
$tracelevel) |
3936
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3937
|
64
|
|
|
|
|
174
|
$item{q{NIL}} = $_tok; |
3938
|
64
|
|
|
|
|
152
|
push @item, $_tok; |
3939
|
|
|
|
|
|
|
|
3940
|
|
|
|
|
|
|
} |
3941
|
|
|
|
|
|
|
|
3942
|
64
|
50
|
|
|
|
170
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
3943
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3944
|
|
|
|
|
|
|
q{bodydisp}, |
3945
|
|
|
|
|
|
|
$tracelevel) |
3946
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3947
|
|
|
|
|
|
|
|
3948
|
|
|
|
|
|
|
|
3949
|
|
|
|
|
|
|
|
3950
|
64
|
|
|
|
|
138
|
$_matched = 1; |
3951
|
64
|
|
|
|
|
128
|
last; |
3952
|
|
|
|
|
|
|
} |
3953
|
|
|
|
|
|
|
|
3954
|
|
|
|
|
|
|
splice |
3955
|
102
|
100
|
|
|
|
336
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
38
|
|
|
|
|
116
|
|
3956
|
|
|
|
|
|
|
|
3957
|
102
|
|
66
|
|
|
388
|
while (!$_matched && !$commit) |
3958
|
|
|
|
|
|
|
{ |
3959
|
|
|
|
|
|
|
|
3960
|
38
|
50
|
|
|
|
117
|
Parse::RecDescent::_trace(q{Trying production: [KVPAIRS]}, |
3961
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
3962
|
|
|
|
|
|
|
q{bodydisp}, |
3963
|
|
|
|
|
|
|
$tracelevel) |
3964
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3965
|
38
|
|
|
|
|
92
|
my $thisprod = $thisrule->{"prods"}[1]; |
3966
|
38
|
|
|
|
|
96
|
$text = $_[1]; |
3967
|
38
|
|
|
|
|
63
|
my $_savetext; |
3968
|
38
|
|
|
|
|
119
|
@item = (q{bodydisp}); |
3969
|
38
|
|
|
|
|
97
|
%item = (__RULE__ => q{bodydisp}); |
3970
|
38
|
|
|
|
|
76
|
my $repcount = 0; |
3971
|
|
|
|
|
|
|
|
3972
|
|
|
|
|
|
|
|
3973
|
38
|
50
|
|
|
|
107
|
Parse::RecDescent::_trace(q{Trying subrule: [KVPAIRS]}, |
3974
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3975
|
|
|
|
|
|
|
q{bodydisp}, |
3976
|
|
|
|
|
|
|
$tracelevel) |
3977
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3978
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
476
|
|
|
38
|
|
|
|
|
68
|
|
3979
|
38
|
|
|
|
|
118
|
$expectation->is(q{})->at($text); |
3980
|
38
|
100
|
|
38
|
|
420
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::KVPAIRS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
38
|
|
|
|
|
116
|
|
3981
|
|
|
|
|
|
|
{ |
3982
|
|
|
|
|
|
|
|
3983
|
10
|
50
|
|
|
|
29
|
Parse::RecDescent::_trace(q{<>}, |
3984
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3985
|
|
|
|
|
|
|
q{bodydisp}, |
3986
|
|
|
|
|
|
|
$tracelevel) |
3987
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3988
|
10
|
|
|
|
|
31
|
$expectation->failed(); |
3989
|
10
|
|
|
|
|
33
|
last; |
3990
|
|
|
|
|
|
|
} |
3991
|
28
|
50
|
|
|
|
480
|
Parse::RecDescent::_trace(q{>>Matched subrule: [KVPAIRS]<< (return value: [} |
3992
|
|
|
|
|
|
|
. $_tok . q{]}, |
3993
|
|
|
|
|
|
|
|
3994
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
3995
|
|
|
|
|
|
|
q{bodydisp}, |
3996
|
|
|
|
|
|
|
$tracelevel) |
3997
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
3998
|
28
|
|
|
|
|
90
|
$item{q{KVPAIRS}} = $_tok; |
3999
|
28
|
|
|
|
|
72
|
push @item, $_tok; |
4000
|
|
|
|
|
|
|
|
4001
|
|
|
|
|
|
|
} |
4002
|
|
|
|
|
|
|
|
4003
|
28
|
50
|
|
|
|
106
|
Parse::RecDescent::_trace(q{>>Matched production: [KVPAIRS]<<}, |
4004
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4005
|
|
|
|
|
|
|
q{bodydisp}, |
4006
|
|
|
|
|
|
|
$tracelevel) |
4007
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4008
|
|
|
|
|
|
|
|
4009
|
|
|
|
|
|
|
|
4010
|
|
|
|
|
|
|
|
4011
|
28
|
|
|
|
|
61
|
$_matched = 1; |
4012
|
28
|
|
|
|
|
74
|
last; |
4013
|
|
|
|
|
|
|
} |
4014
|
|
|
|
|
|
|
|
4015
|
|
|
|
|
|
|
splice |
4016
|
102
|
100
|
|
|
|
297
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
10
|
|
|
|
|
25
|
|
4017
|
|
|
|
|
|
|
|
4018
|
102
|
100
|
66
|
|
|
425
|
unless ( $_matched || defined($score) ) |
4019
|
|
|
|
|
|
|
{ |
4020
|
10
|
|
|
|
|
22
|
splice @{$thisparser->{deferred}}, $def_at; |
|
10
|
|
|
|
|
19
|
|
4021
|
|
|
|
|
|
|
|
4022
|
|
|
|
|
|
|
|
4023
|
10
|
|
|
|
|
29
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
4024
|
10
|
50
|
|
|
|
29
|
Parse::RecDescent::_trace(q{<>}, |
4025
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4026
|
|
|
|
|
|
|
q{bodydisp}, |
4027
|
|
|
|
|
|
|
$tracelevel) |
4028
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4029
|
10
|
|
|
|
|
45
|
return undef; |
4030
|
|
|
|
|
|
|
} |
4031
|
92
|
50
|
33
|
|
|
451
|
if (!defined($return) && defined($score)) |
4032
|
|
|
|
|
|
|
{ |
4033
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
4034
|
|
|
|
|
|
|
q{bodydisp}, |
4035
|
|
|
|
|
|
|
$tracelevel) |
4036
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4037
|
0
|
|
|
|
|
0
|
$return = $score_return; |
4038
|
|
|
|
|
|
|
} |
4039
|
92
|
|
|
|
|
188
|
splice @{$thisparser->{errors}}, $err_at; |
|
92
|
|
|
|
|
252
|
|
4040
|
92
|
50
|
|
|
|
308
|
$return = $item[$#item] unless defined $return; |
4041
|
92
|
50
|
|
|
|
271
|
if (defined $::RD_TRACE) |
4042
|
|
|
|
|
|
|
{ |
4043
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
4044
|
|
|
|
|
|
|
$return . q{])}, "", |
4045
|
|
|
|
|
|
|
q{bodydisp}, |
4046
|
|
|
|
|
|
|
$tracelevel); |
4047
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
4048
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
4049
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4050
|
|
|
|
|
|
|
, q{bodydisp}, |
4051
|
|
|
|
|
|
|
$tracelevel) |
4052
|
|
|
|
|
|
|
} |
4053
|
92
|
|
|
|
|
181
|
$_[1] = $text; |
4054
|
92
|
|
|
|
|
529
|
return $return; |
4055
|
|
|
|
|
|
|
} |
4056
|
|
|
|
|
|
|
|
4057
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
4058
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::KVPAIRS |
4059
|
|
|
|
|
|
|
{ |
4060
|
133
|
|
|
133
|
|
282
|
my $thisparser = $_[0]; |
4061
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1142
|
|
4062
|
133
|
|
50
|
|
|
413
|
local $tracelevel = ($tracelevel||0)+1; |
4063
|
133
|
|
|
|
|
226
|
$ERRORS = 0; |
4064
|
133
|
|
|
|
|
340
|
my $thisrule = $thisparser->{"rules"}{"KVPAIRS"}; |
4065
|
|
|
|
|
|
|
|
4066
|
133
|
50
|
|
|
|
299
|
Parse::RecDescent::_trace(q{Trying rule: [KVPAIRS]}, |
4067
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4068
|
|
|
|
|
|
|
q{KVPAIRS}, |
4069
|
|
|
|
|
|
|
$tracelevel) |
4070
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4071
|
|
|
|
|
|
|
|
4072
|
133
|
|
|
|
|
202
|
my $def_at = @{$thisparser->{deferred}}; |
|
133
|
|
|
|
|
310
|
|
4073
|
133
|
|
|
|
|
233
|
my $err_at = @{$thisparser->{errors}}; |
|
133
|
|
|
|
|
301
|
|
4074
|
|
|
|
|
|
|
|
4075
|
133
|
|
|
|
|
416
|
my $score; |
4076
|
|
|
|
|
|
|
my $score_return; |
4077
|
133
|
|
|
|
|
0
|
my $_tok; |
4078
|
133
|
|
|
|
|
227
|
my $return = undef; |
4079
|
133
|
|
|
|
|
215
|
my $_matched=0; |
4080
|
133
|
|
|
|
|
243
|
my $commit=0; |
4081
|
133
|
|
|
|
|
319
|
my @item = (); |
4082
|
133
|
|
|
|
|
283
|
my %item = (); |
4083
|
133
|
|
|
|
|
224
|
my $repeating = $_[2]; |
4084
|
133
|
|
|
|
|
243
|
my $_noactions = $_[3]; |
4085
|
133
|
50
|
|
|
|
358
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
133
|
|
|
|
|
240
|
|
|
133
|
|
|
|
|
279
|
|
4086
|
133
|
|
|
|
|
264
|
my $_itempos = $_[5]; |
4087
|
133
|
50
|
|
|
|
401
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
4088
|
133
|
|
|
|
|
374
|
my $text; |
4089
|
|
|
|
|
|
|
my $lastsep; |
4090
|
133
|
|
|
|
|
0
|
my $current_match; |
4091
|
133
|
|
|
|
|
354
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
4092
|
133
|
|
|
|
|
900
|
$expectation->at($_[1]); |
4093
|
|
|
|
|
|
|
|
4094
|
133
|
|
|
|
|
585
|
my $thisline; |
4095
|
133
|
|
|
|
|
536
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
4096
|
|
|
|
|
|
|
|
4097
|
|
|
|
|
|
|
|
4098
|
|
|
|
|
|
|
|
4099
|
133
|
|
33
|
|
|
1168
|
while (!$_matched && !$commit) |
4100
|
|
|
|
|
|
|
{ |
4101
|
|
|
|
|
|
|
|
4102
|
133
|
50
|
|
|
|
378
|
Parse::RecDescent::_trace(q{Trying production: ['(' kvpair ')']}, |
4103
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4104
|
|
|
|
|
|
|
q{KVPAIRS}, |
4105
|
|
|
|
|
|
|
$tracelevel) |
4106
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4107
|
133
|
|
|
|
|
359
|
my $thisprod = $thisrule->{"prods"}[0]; |
4108
|
133
|
|
|
|
|
296
|
$text = $_[1]; |
4109
|
133
|
|
|
|
|
267
|
my $_savetext; |
4110
|
133
|
|
|
|
|
349
|
@item = (q{KVPAIRS}); |
4111
|
133
|
|
|
|
|
322
|
%item = (__RULE__ => q{KVPAIRS}); |
4112
|
133
|
|
|
|
|
258
|
my $repcount = 0; |
4113
|
|
|
|
|
|
|
|
4114
|
|
|
|
|
|
|
|
4115
|
133
|
50
|
|
|
|
326
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
4116
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4117
|
|
|
|
|
|
|
q{KVPAIRS}, |
4118
|
|
|
|
|
|
|
$tracelevel) |
4119
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4120
|
133
|
|
|
|
|
307
|
undef $lastsep; |
4121
|
133
|
|
|
|
|
358
|
$expectation->is(q{})->at($text); |
4122
|
|
|
|
|
|
|
|
4123
|
|
|
|
|
|
|
|
4124
|
133
|
100
|
33
|
|
|
1585
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
133
|
100
|
66
|
|
|
1081
|
|
|
133
|
|
66
|
|
|
287
|
|
|
133
|
|
|
|
|
917
|
|
4125
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
4126
|
120
|
|
|
|
|
298
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
120
|
|
|
|
|
418
|
|
4127
|
|
|
|
|
|
|
) |
4128
|
|
|
|
|
|
|
{ |
4129
|
13
|
50
|
|
|
|
40
|
$text = $lastsep . $text if defined $lastsep; |
4130
|
|
|
|
|
|
|
|
4131
|
13
|
|
|
|
|
45
|
$expectation->failed(); |
4132
|
13
|
50
|
|
|
|
57
|
Parse::RecDescent::_trace(q{<>}, |
4133
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4134
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4135
|
13
|
|
|
|
|
35
|
last; |
4136
|
|
|
|
|
|
|
} |
4137
|
120
|
50
|
|
|
|
344
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
4138
|
|
|
|
|
|
|
. $_tok . q{])}, |
4139
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4140
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4141
|
120
|
|
|
|
|
390
|
push @item, $item{__STRING1__}=$_tok; |
4142
|
|
|
|
|
|
|
|
4143
|
|
|
|
|
|
|
|
4144
|
120
|
50
|
|
|
|
301
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [kvpair]}, |
4145
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4146
|
|
|
|
|
|
|
q{KVPAIRS}, |
4147
|
|
|
|
|
|
|
$tracelevel) |
4148
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4149
|
120
|
|
|
|
|
328
|
$expectation->is(q{kvpair})->at($text); |
4150
|
|
|
|
|
|
|
|
4151
|
120
|
50
|
|
249
|
|
1586
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::kvpair, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef))) |
|
249
|
|
|
|
|
561
|
|
4152
|
|
|
|
|
|
|
{ |
4153
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
4154
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4155
|
|
|
|
|
|
|
q{KVPAIRS}, |
4156
|
|
|
|
|
|
|
$tracelevel) |
4157
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4158
|
0
|
|
|
|
|
0
|
last; |
4159
|
|
|
|
|
|
|
} |
4160
|
120
|
50
|
|
|
|
1931
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [kvpair]<< (} |
4161
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
4162
|
|
|
|
|
|
|
|
4163
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4164
|
|
|
|
|
|
|
q{KVPAIRS}, |
4165
|
|
|
|
|
|
|
$tracelevel) |
4166
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4167
|
120
|
|
|
|
|
364
|
$item{q{kvpair(s)}} = $_tok; |
4168
|
120
|
|
|
|
|
419
|
push @item, $_tok; |
4169
|
|
|
|
|
|
|
|
4170
|
|
|
|
|
|
|
|
4171
|
|
|
|
|
|
|
|
4172
|
120
|
50
|
|
|
|
310
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
4173
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4174
|
|
|
|
|
|
|
q{KVPAIRS}, |
4175
|
|
|
|
|
|
|
$tracelevel) |
4176
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4177
|
120
|
|
|
|
|
239
|
undef $lastsep; |
4178
|
120
|
|
|
|
|
358
|
$expectation->is(q{')'})->at($text); |
4179
|
|
|
|
|
|
|
|
4180
|
|
|
|
|
|
|
|
4181
|
120
|
50
|
33
|
|
|
1501
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
120
|
50
|
33
|
|
|
832
|
|
|
120
|
|
33
|
|
|
272
|
|
|
120
|
|
|
|
|
870
|
|
4182
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
4183
|
120
|
|
|
|
|
262
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
120
|
|
|
|
|
380
|
|
4184
|
|
|
|
|
|
|
) |
4185
|
|
|
|
|
|
|
{ |
4186
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
4187
|
|
|
|
|
|
|
|
4188
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
4189
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
4190
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4191
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4192
|
0
|
|
|
|
|
0
|
last; |
4193
|
|
|
|
|
|
|
} |
4194
|
120
|
50
|
|
|
|
383
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
4195
|
|
|
|
|
|
|
. $_tok . q{])}, |
4196
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4197
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4198
|
120
|
|
|
|
|
383
|
push @item, $item{__STRING2__}=$_tok; |
4199
|
|
|
|
|
|
|
|
4200
|
|
|
|
|
|
|
|
4201
|
120
|
50
|
|
|
|
416
|
Parse::RecDescent::_trace(q{Trying action}, |
4202
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4203
|
|
|
|
|
|
|
q{KVPAIRS}, |
4204
|
|
|
|
|
|
|
$tracelevel) |
4205
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4206
|
|
|
|
|
|
|
|
4207
|
|
|
|
|
|
|
|
4208
|
120
|
50
|
|
|
|
283
|
$_tok = ($_noactions) ? 0 : do { $return = { map { (%$_) } @{$item{'kvpair(s)'}} } }; |
|
120
|
|
|
|
|
200
|
|
|
129
|
|
|
|
|
1072
|
|
|
120
|
|
|
|
|
417
|
|
4209
|
120
|
50
|
|
|
|
368
|
unless (defined $_tok) |
4210
|
|
|
|
|
|
|
{ |
4211
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4212
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4213
|
0
|
|
|
|
|
0
|
last; |
4214
|
|
|
|
|
|
|
} |
4215
|
120
|
50
|
|
|
|
273
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4216
|
|
|
|
|
|
|
. $_tok . q{])}, |
4217
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4218
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4219
|
120
|
|
|
|
|
233
|
push @item, $_tok; |
4220
|
120
|
|
|
|
|
312
|
$item{__ACTION1__}=$_tok; |
4221
|
|
|
|
|
|
|
|
4222
|
|
|
|
|
|
|
|
4223
|
120
|
50
|
|
|
|
317
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' kvpair ')']<<}, |
4224
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4225
|
|
|
|
|
|
|
q{KVPAIRS}, |
4226
|
|
|
|
|
|
|
$tracelevel) |
4227
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4228
|
|
|
|
|
|
|
|
4229
|
|
|
|
|
|
|
|
4230
|
|
|
|
|
|
|
|
4231
|
120
|
|
|
|
|
237
|
$_matched = 1; |
4232
|
120
|
|
|
|
|
272
|
last; |
4233
|
|
|
|
|
|
|
} |
4234
|
|
|
|
|
|
|
|
4235
|
|
|
|
|
|
|
splice |
4236
|
133
|
100
|
|
|
|
383
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
13
|
|
|
|
|
36
|
|
4237
|
|
|
|
|
|
|
|
4238
|
133
|
100
|
66
|
|
|
421
|
unless ( $_matched || defined($score) ) |
4239
|
|
|
|
|
|
|
{ |
4240
|
13
|
|
|
|
|
32
|
splice @{$thisparser->{deferred}}, $def_at; |
|
13
|
|
|
|
|
31
|
|
4241
|
|
|
|
|
|
|
|
4242
|
|
|
|
|
|
|
|
4243
|
13
|
|
|
|
|
24
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
4244
|
13
|
50
|
|
|
|
28
|
Parse::RecDescent::_trace(q{<>}, |
4245
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4246
|
|
|
|
|
|
|
q{KVPAIRS}, |
4247
|
|
|
|
|
|
|
$tracelevel) |
4248
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4249
|
13
|
|
|
|
|
77
|
return undef; |
4250
|
|
|
|
|
|
|
} |
4251
|
120
|
50
|
33
|
|
|
354
|
if (!defined($return) && defined($score)) |
4252
|
|
|
|
|
|
|
{ |
4253
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
4254
|
|
|
|
|
|
|
q{KVPAIRS}, |
4255
|
|
|
|
|
|
|
$tracelevel) |
4256
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4257
|
0
|
|
|
|
|
0
|
$return = $score_return; |
4258
|
|
|
|
|
|
|
} |
4259
|
120
|
|
|
|
|
198
|
splice @{$thisparser->{errors}}, $err_at; |
|
120
|
|
|
|
|
343
|
|
4260
|
120
|
50
|
|
|
|
376
|
$return = $item[$#item] unless defined $return; |
4261
|
120
|
50
|
|
|
|
352
|
if (defined $::RD_TRACE) |
4262
|
|
|
|
|
|
|
{ |
4263
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
4264
|
|
|
|
|
|
|
$return . q{])}, "", |
4265
|
|
|
|
|
|
|
q{KVPAIRS}, |
4266
|
|
|
|
|
|
|
$tracelevel); |
4267
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
4268
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
4269
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4270
|
|
|
|
|
|
|
, q{KVPAIRS}, |
4271
|
|
|
|
|
|
|
$tracelevel) |
4272
|
|
|
|
|
|
|
} |
4273
|
120
|
|
|
|
|
366
|
$_[1] = $text; |
4274
|
120
|
|
|
|
|
1083
|
return $return; |
4275
|
|
|
|
|
|
|
} |
4276
|
|
|
|
|
|
|
|
4277
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
4278
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyMD5 |
4279
|
|
|
|
|
|
|
{ |
4280
|
72
|
|
|
72
|
|
1333
|
my $thisparser = $_[0]; |
4281
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
352
|
|
4282
|
72
|
|
50
|
|
|
272
|
local $tracelevel = ($tracelevel||0)+1; |
4283
|
72
|
|
|
|
|
168
|
$ERRORS = 0; |
4284
|
72
|
|
|
|
|
253
|
my $thisrule = $thisparser->{"rules"}{"bodyMD5"}; |
4285
|
|
|
|
|
|
|
|
4286
|
72
|
50
|
|
|
|
191
|
Parse::RecDescent::_trace(q{Trying rule: [bodyMD5]}, |
4287
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4288
|
|
|
|
|
|
|
q{bodyMD5}, |
4289
|
|
|
|
|
|
|
$tracelevel) |
4290
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4291
|
|
|
|
|
|
|
|
4292
|
72
|
|
|
|
|
154
|
my $def_at = @{$thisparser->{deferred}}; |
|
72
|
|
|
|
|
188
|
|
4293
|
72
|
|
|
|
|
144
|
my $err_at = @{$thisparser->{errors}}; |
|
72
|
|
|
|
|
163
|
|
4294
|
|
|
|
|
|
|
|
4295
|
72
|
|
|
|
|
210
|
my $score; |
4296
|
|
|
|
|
|
|
my $score_return; |
4297
|
72
|
|
|
|
|
0
|
my $_tok; |
4298
|
72
|
|
|
|
|
118
|
my $return = undef; |
4299
|
72
|
|
|
|
|
131
|
my $_matched=0; |
4300
|
72
|
|
|
|
|
110
|
my $commit=0; |
4301
|
72
|
|
|
|
|
131
|
my @item = (); |
4302
|
72
|
|
|
|
|
136
|
my %item = (); |
4303
|
72
|
|
|
|
|
160
|
my $repeating = $_[2]; |
4304
|
72
|
|
|
|
|
142
|
my $_noactions = $_[3]; |
4305
|
72
|
50
|
|
|
|
266
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
72
|
|
|
|
|
128
|
|
|
72
|
|
|
|
|
174
|
|
4306
|
72
|
|
|
|
|
147
|
my $_itempos = $_[5]; |
4307
|
72
|
50
|
|
|
|
274
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
4308
|
72
|
|
|
|
|
206
|
my $text; |
4309
|
|
|
|
|
|
|
my $lastsep; |
4310
|
72
|
|
|
|
|
0
|
my $current_match; |
4311
|
72
|
|
|
|
|
243
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
4312
|
72
|
|
|
|
|
536
|
$expectation->at($_[1]); |
4313
|
|
|
|
|
|
|
|
4314
|
72
|
|
|
|
|
324
|
my $thisline; |
4315
|
72
|
|
|
|
|
281
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
4316
|
|
|
|
|
|
|
|
4317
|
|
|
|
|
|
|
|
4318
|
|
|
|
|
|
|
|
4319
|
72
|
|
33
|
|
|
700
|
while (!$_matched && !$commit) |
4320
|
|
|
|
|
|
|
{ |
4321
|
|
|
|
|
|
|
|
4322
|
72
|
50
|
|
|
|
223
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
4323
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4324
|
|
|
|
|
|
|
q{bodyMD5}, |
4325
|
|
|
|
|
|
|
$tracelevel) |
4326
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4327
|
72
|
|
|
|
|
276
|
my $thisprod = $thisrule->{"prods"}[0]; |
4328
|
72
|
|
|
|
|
159
|
$text = $_[1]; |
4329
|
72
|
|
|
|
|
159
|
my $_savetext; |
4330
|
72
|
|
|
|
|
175
|
@item = (q{bodyMD5}); |
4331
|
72
|
|
|
|
|
242
|
%item = (__RULE__ => q{bodyMD5}); |
4332
|
72
|
|
|
|
|
157
|
my $repcount = 0; |
4333
|
|
|
|
|
|
|
|
4334
|
|
|
|
|
|
|
|
4335
|
72
|
50
|
|
|
|
204
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
4336
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4337
|
|
|
|
|
|
|
q{bodyMD5}, |
4338
|
|
|
|
|
|
|
$tracelevel) |
4339
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4340
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
286
|
|
|
72
|
|
|
|
|
149
|
|
4341
|
72
|
|
|
|
|
298
|
$expectation->is(q{})->at($text); |
4342
|
72
|
100
|
|
72
|
|
783
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
156
|
|
4343
|
|
|
|
|
|
|
{ |
4344
|
|
|
|
|
|
|
|
4345
|
8
|
50
|
|
|
|
31
|
Parse::RecDescent::_trace(q{<>}, |
4346
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4347
|
|
|
|
|
|
|
q{bodyMD5}, |
4348
|
|
|
|
|
|
|
$tracelevel) |
4349
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4350
|
8
|
|
|
|
|
30
|
$expectation->failed(); |
4351
|
8
|
|
|
|
|
32
|
last; |
4352
|
|
|
|
|
|
|
} |
4353
|
64
|
50
|
|
|
|
288
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
4354
|
|
|
|
|
|
|
. $_tok . q{]}, |
4355
|
|
|
|
|
|
|
|
4356
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4357
|
|
|
|
|
|
|
q{bodyMD5}, |
4358
|
|
|
|
|
|
|
$tracelevel) |
4359
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4360
|
64
|
|
|
|
|
170
|
$item{q{NIL}} = $_tok; |
4361
|
64
|
|
|
|
|
160
|
push @item, $_tok; |
4362
|
|
|
|
|
|
|
|
4363
|
|
|
|
|
|
|
} |
4364
|
|
|
|
|
|
|
|
4365
|
64
|
50
|
|
|
|
174
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
4366
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4367
|
|
|
|
|
|
|
q{bodyMD5}, |
4368
|
|
|
|
|
|
|
$tracelevel) |
4369
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4370
|
|
|
|
|
|
|
|
4371
|
|
|
|
|
|
|
|
4372
|
|
|
|
|
|
|
|
4373
|
64
|
|
|
|
|
137
|
$_matched = 1; |
4374
|
64
|
|
|
|
|
127
|
last; |
4375
|
|
|
|
|
|
|
} |
4376
|
|
|
|
|
|
|
|
4377
|
|
|
|
|
|
|
splice |
4378
|
72
|
100
|
|
|
|
229
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
8
|
|
|
|
|
20
|
|
4379
|
|
|
|
|
|
|
|
4380
|
72
|
|
66
|
|
|
267
|
while (!$_matched && !$commit) |
4381
|
|
|
|
|
|
|
{ |
4382
|
|
|
|
|
|
|
|
4383
|
8
|
50
|
|
|
|
21
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
4384
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4385
|
|
|
|
|
|
|
q{bodyMD5}, |
4386
|
|
|
|
|
|
|
$tracelevel) |
4387
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4388
|
8
|
|
|
|
|
22
|
my $thisprod = $thisrule->{"prods"}[1]; |
4389
|
8
|
|
|
|
|
18
|
$text = $_[1]; |
4390
|
8
|
|
|
|
|
15
|
my $_savetext; |
4391
|
8
|
|
|
|
|
23
|
@item = (q{bodyMD5}); |
4392
|
8
|
|
|
|
|
27
|
%item = (__RULE__ => q{bodyMD5}); |
4393
|
8
|
|
|
|
|
16
|
my $repcount = 0; |
4394
|
|
|
|
|
|
|
|
4395
|
|
|
|
|
|
|
|
4396
|
8
|
50
|
|
|
|
24
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
4397
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4398
|
|
|
|
|
|
|
q{bodyMD5}, |
4399
|
|
|
|
|
|
|
$tracelevel) |
4400
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4401
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
460
|
|
|
8
|
|
|
|
|
17
|
|
4402
|
8
|
|
|
|
|
25
|
$expectation->is(q{})->at($text); |
4403
|
8
|
100
|
|
8
|
|
99
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
8
|
|
|
|
|
19
|
|
4404
|
|
|
|
|
|
|
{ |
4405
|
|
|
|
|
|
|
|
4406
|
7
|
50
|
|
|
|
36
|
Parse::RecDescent::_trace(q{<>}, |
4407
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4408
|
|
|
|
|
|
|
q{bodyMD5}, |
4409
|
|
|
|
|
|
|
$tracelevel) |
4410
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4411
|
7
|
|
|
|
|
25
|
$expectation->failed(); |
4412
|
7
|
|
|
|
|
28
|
last; |
4413
|
|
|
|
|
|
|
} |
4414
|
1
|
50
|
|
|
|
6
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
4415
|
|
|
|
|
|
|
. $_tok . q{]}, |
4416
|
|
|
|
|
|
|
|
4417
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4418
|
|
|
|
|
|
|
q{bodyMD5}, |
4419
|
|
|
|
|
|
|
$tracelevel) |
4420
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4421
|
1
|
|
|
|
|
3
|
$item{q{STRING}} = $_tok; |
4422
|
1
|
|
|
|
|
2
|
push @item, $_tok; |
4423
|
|
|
|
|
|
|
|
4424
|
|
|
|
|
|
|
} |
4425
|
|
|
|
|
|
|
|
4426
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
4427
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4428
|
|
|
|
|
|
|
q{bodyMD5}, |
4429
|
|
|
|
|
|
|
$tracelevel) |
4430
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4431
|
|
|
|
|
|
|
|
4432
|
|
|
|
|
|
|
|
4433
|
|
|
|
|
|
|
|
4434
|
1
|
|
|
|
|
3
|
$_matched = 1; |
4435
|
1
|
|
|
|
|
2
|
last; |
4436
|
|
|
|
|
|
|
} |
4437
|
|
|
|
|
|
|
|
4438
|
|
|
|
|
|
|
splice |
4439
|
72
|
100
|
|
|
|
216
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
7
|
|
|
|
|
24
|
|
4440
|
|
|
|
|
|
|
|
4441
|
72
|
100
|
66
|
|
|
291
|
unless ( $_matched || defined($score) ) |
4442
|
|
|
|
|
|
|
{ |
4443
|
7
|
|
|
|
|
14
|
splice @{$thisparser->{deferred}}, $def_at; |
|
7
|
|
|
|
|
17
|
|
4444
|
|
|
|
|
|
|
|
4445
|
|
|
|
|
|
|
|
4446
|
7
|
|
|
|
|
19
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
4447
|
7
|
50
|
|
|
|
22
|
Parse::RecDescent::_trace(q{<>}, |
4448
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4449
|
|
|
|
|
|
|
q{bodyMD5}, |
4450
|
|
|
|
|
|
|
$tracelevel) |
4451
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4452
|
7
|
|
|
|
|
34
|
return undef; |
4453
|
|
|
|
|
|
|
} |
4454
|
65
|
50
|
33
|
|
|
331
|
if (!defined($return) && defined($score)) |
4455
|
|
|
|
|
|
|
{ |
4456
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
4457
|
|
|
|
|
|
|
q{bodyMD5}, |
4458
|
|
|
|
|
|
|
$tracelevel) |
4459
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4460
|
0
|
|
|
|
|
0
|
$return = $score_return; |
4461
|
|
|
|
|
|
|
} |
4462
|
65
|
|
|
|
|
133
|
splice @{$thisparser->{errors}}, $err_at; |
|
65
|
|
|
|
|
170
|
|
4463
|
65
|
50
|
|
|
|
233
|
$return = $item[$#item] unless defined $return; |
4464
|
65
|
50
|
|
|
|
175
|
if (defined $::RD_TRACE) |
4465
|
|
|
|
|
|
|
{ |
4466
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
4467
|
|
|
|
|
|
|
$return . q{])}, "", |
4468
|
|
|
|
|
|
|
q{bodyMD5}, |
4469
|
|
|
|
|
|
|
$tracelevel); |
4470
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
4471
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
4472
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4473
|
|
|
|
|
|
|
, q{bodyMD5}, |
4474
|
|
|
|
|
|
|
$tracelevel) |
4475
|
|
|
|
|
|
|
} |
4476
|
65
|
|
|
|
|
172
|
$_[1] = $text; |
4477
|
65
|
|
|
|
|
364
|
return $return; |
4478
|
|
|
|
|
|
|
} |
4479
|
|
|
|
|
|
|
|
4480
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
4481
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::part |
4482
|
|
|
|
|
|
|
{ |
4483
|
122
|
|
|
122
|
|
1207
|
my $thisparser = $_[0]; |
4484
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
362
|
|
4485
|
122
|
|
50
|
|
|
535
|
local $tracelevel = ($tracelevel||0)+1; |
4486
|
122
|
|
|
|
|
293
|
$ERRORS = 0; |
4487
|
122
|
|
|
|
|
415
|
my $thisrule = $thisparser->{"rules"}{"part"}; |
4488
|
|
|
|
|
|
|
|
4489
|
122
|
50
|
|
|
|
386
|
Parse::RecDescent::_trace(q{Trying rule: [part]}, |
4490
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4491
|
|
|
|
|
|
|
q{part}, |
4492
|
|
|
|
|
|
|
$tracelevel) |
4493
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4494
|
|
|
|
|
|
|
|
4495
|
122
|
|
|
|
|
188
|
my $def_at = @{$thisparser->{deferred}}; |
|
122
|
|
|
|
|
341
|
|
4496
|
122
|
|
|
|
|
263
|
my $err_at = @{$thisparser->{errors}}; |
|
122
|
|
|
|
|
352
|
|
4497
|
|
|
|
|
|
|
|
4498
|
122
|
|
|
|
|
431
|
my $score; |
4499
|
|
|
|
|
|
|
my $score_return; |
4500
|
122
|
|
|
|
|
0
|
my $_tok; |
4501
|
122
|
|
|
|
|
259
|
my $return = undef; |
4502
|
122
|
|
|
|
|
232
|
my $_matched=0; |
4503
|
122
|
|
|
|
|
229
|
my $commit=0; |
4504
|
122
|
|
|
|
|
329
|
my @item = (); |
4505
|
122
|
|
|
|
|
227
|
my %item = (); |
4506
|
122
|
|
|
|
|
289
|
my $repeating = $_[2]; |
4507
|
122
|
|
|
|
|
240
|
my $_noactions = $_[3]; |
4508
|
122
|
50
|
|
|
|
352
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
122
|
|
|
|
|
218
|
|
|
122
|
|
|
|
|
322
|
|
4509
|
122
|
|
|
|
|
248
|
my $_itempos = $_[5]; |
4510
|
122
|
50
|
|
|
|
400
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
4511
|
122
|
|
|
|
|
402
|
my $text; |
4512
|
|
|
|
|
|
|
my $lastsep; |
4513
|
122
|
|
|
|
|
0
|
my $current_match; |
4514
|
122
|
|
|
|
|
417
|
my $expectation = new Parse::RecDescent::Expectation(q{multipart, or textmessage, or nestedmessage, or othertypemessage}); |
4515
|
122
|
|
|
|
|
877
|
$expectation->at($_[1]); |
4516
|
|
|
|
|
|
|
|
4517
|
122
|
|
|
|
|
743
|
my $thisline; |
4518
|
122
|
|
|
|
|
520
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
4519
|
|
|
|
|
|
|
|
4520
|
|
|
|
|
|
|
|
4521
|
|
|
|
|
|
|
|
4522
|
122
|
|
33
|
|
|
1298
|
while (!$_matched && !$commit) |
4523
|
|
|
|
|
|
|
{ |
4524
|
|
|
|
|
|
|
|
4525
|
122
|
50
|
|
|
|
395
|
Parse::RecDescent::_trace(q{Trying production: [multipart]}, |
4526
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4527
|
|
|
|
|
|
|
q{part}, |
4528
|
|
|
|
|
|
|
$tracelevel) |
4529
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4530
|
122
|
|
|
|
|
373
|
my $thisprod = $thisrule->{"prods"}[0]; |
4531
|
122
|
|
|
|
|
448
|
$text = $_[1]; |
4532
|
122
|
|
|
|
|
275
|
my $_savetext; |
4533
|
122
|
|
|
|
|
284
|
@item = (q{part}); |
4534
|
122
|
|
|
|
|
344
|
%item = (__RULE__ => q{part}); |
4535
|
122
|
|
|
|
|
242
|
my $repcount = 0; |
4536
|
|
|
|
|
|
|
|
4537
|
|
|
|
|
|
|
|
4538
|
122
|
50
|
|
|
|
337
|
Parse::RecDescent::_trace(q{Trying subrule: [multipart]}, |
4539
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4540
|
|
|
|
|
|
|
q{part}, |
4541
|
|
|
|
|
|
|
$tracelevel) |
4542
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4543
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
390
|
|
|
122
|
|
|
|
|
221
|
|
4544
|
122
|
|
|
|
|
382
|
$expectation->is(q{})->at($text); |
4545
|
122
|
100
|
|
122
|
|
1427
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::multipart($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
122
|
|
|
|
|
297
|
|
4546
|
|
|
|
|
|
|
{ |
4547
|
|
|
|
|
|
|
|
4548
|
92
|
50
|
|
|
|
342
|
Parse::RecDescent::_trace(q{<>}, |
4549
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4550
|
|
|
|
|
|
|
q{part}, |
4551
|
|
|
|
|
|
|
$tracelevel) |
4552
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4553
|
92
|
|
|
|
|
302
|
$expectation->failed(); |
4554
|
92
|
|
|
|
|
369
|
last; |
4555
|
|
|
|
|
|
|
} |
4556
|
30
|
50
|
|
|
|
199
|
Parse::RecDescent::_trace(q{>>Matched subrule: [multipart]<< (return value: [} |
4557
|
|
|
|
|
|
|
. $_tok . q{]}, |
4558
|
|
|
|
|
|
|
|
4559
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4560
|
|
|
|
|
|
|
q{part}, |
4561
|
|
|
|
|
|
|
$tracelevel) |
4562
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4563
|
30
|
|
|
|
|
89
|
$item{q{multipart}} = $_tok; |
4564
|
30
|
|
|
|
|
76
|
push @item, $_tok; |
4565
|
|
|
|
|
|
|
|
4566
|
|
|
|
|
|
|
} |
4567
|
|
|
|
|
|
|
|
4568
|
30
|
50
|
|
|
|
96
|
Parse::RecDescent::_trace(q{Trying action}, |
4569
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4570
|
|
|
|
|
|
|
q{part}, |
4571
|
|
|
|
|
|
|
$tracelevel) |
4572
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4573
|
|
|
|
|
|
|
|
4574
|
|
|
|
|
|
|
|
4575
|
30
|
50
|
|
|
|
77
|
$_tok = ($_noactions) ? 0 : do { $return = bless $item{multipart}, $mibs }; |
|
30
|
|
|
|
|
110
|
|
4576
|
30
|
50
|
|
|
|
100
|
unless (defined $_tok) |
4577
|
|
|
|
|
|
|
{ |
4578
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4579
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4580
|
0
|
|
|
|
|
0
|
last; |
4581
|
|
|
|
|
|
|
} |
4582
|
30
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4583
|
|
|
|
|
|
|
. $_tok . q{])}, |
4584
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4585
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4586
|
30
|
|
|
|
|
57
|
push @item, $_tok; |
4587
|
30
|
|
|
|
|
75
|
$item{__ACTION1__}=$_tok; |
4588
|
|
|
|
|
|
|
|
4589
|
|
|
|
|
|
|
|
4590
|
30
|
50
|
|
|
|
74
|
Parse::RecDescent::_trace(q{>>Matched production: [multipart]<<}, |
4591
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4592
|
|
|
|
|
|
|
q{part}, |
4593
|
|
|
|
|
|
|
$tracelevel) |
4594
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4595
|
|
|
|
|
|
|
|
4596
|
|
|
|
|
|
|
|
4597
|
|
|
|
|
|
|
|
4598
|
30
|
|
|
|
|
55
|
$_matched = 1; |
4599
|
30
|
|
|
|
|
61
|
last; |
4600
|
|
|
|
|
|
|
} |
4601
|
|
|
|
|
|
|
|
4602
|
|
|
|
|
|
|
splice |
4603
|
122
|
100
|
|
|
|
452
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
92
|
|
|
|
|
240
|
|
4604
|
|
|
|
|
|
|
|
4605
|
122
|
|
66
|
|
|
593
|
while (!$_matched && !$commit) |
4606
|
|
|
|
|
|
|
{ |
4607
|
|
|
|
|
|
|
|
4608
|
92
|
50
|
|
|
|
259
|
Parse::RecDescent::_trace(q{Trying production: [textmessage]}, |
4609
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4610
|
|
|
|
|
|
|
q{part}, |
4611
|
|
|
|
|
|
|
$tracelevel) |
4612
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4613
|
92
|
|
|
|
|
247
|
my $thisprod = $thisrule->{"prods"}[1]; |
4614
|
92
|
|
|
|
|
301
|
$text = $_[1]; |
4615
|
92
|
|
|
|
|
138
|
my $_savetext; |
4616
|
92
|
|
|
|
|
286
|
@item = (q{part}); |
4617
|
92
|
|
|
|
|
311
|
%item = (__RULE__ => q{part}); |
4618
|
92
|
|
|
|
|
167
|
my $repcount = 0; |
4619
|
|
|
|
|
|
|
|
4620
|
|
|
|
|
|
|
|
4621
|
92
|
50
|
|
|
|
294
|
Parse::RecDescent::_trace(q{Trying subrule: [textmessage]}, |
4622
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4623
|
|
|
|
|
|
|
q{part}, |
4624
|
|
|
|
|
|
|
$tracelevel) |
4625
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4626
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
389
|
|
|
92
|
|
|
|
|
181
|
|
4627
|
92
|
|
|
|
|
284
|
$expectation->is(q{})->at($text); |
4628
|
92
|
100
|
|
92
|
|
1220
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::textmessage($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
92
|
|
|
|
|
222
|
|
4629
|
|
|
|
|
|
|
{ |
4630
|
|
|
|
|
|
|
|
4631
|
53
|
50
|
|
|
|
187
|
Parse::RecDescent::_trace(q{<>}, |
4632
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4633
|
|
|
|
|
|
|
q{part}, |
4634
|
|
|
|
|
|
|
$tracelevel) |
4635
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4636
|
53
|
|
|
|
|
167
|
$expectation->failed(); |
4637
|
53
|
|
|
|
|
244
|
last; |
4638
|
|
|
|
|
|
|
} |
4639
|
39
|
50
|
|
|
|
249
|
Parse::RecDescent::_trace(q{>>Matched subrule: [textmessage]<< (return value: [} |
4640
|
|
|
|
|
|
|
. $_tok . q{]}, |
4641
|
|
|
|
|
|
|
|
4642
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4643
|
|
|
|
|
|
|
q{part}, |
4644
|
|
|
|
|
|
|
$tracelevel) |
4645
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4646
|
39
|
|
|
|
|
146
|
$item{q{textmessage}} = $_tok; |
4647
|
39
|
|
|
|
|
104
|
push @item, $_tok; |
4648
|
|
|
|
|
|
|
|
4649
|
|
|
|
|
|
|
} |
4650
|
|
|
|
|
|
|
|
4651
|
39
|
50
|
|
|
|
132
|
Parse::RecDescent::_trace(q{Trying action}, |
4652
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4653
|
|
|
|
|
|
|
q{part}, |
4654
|
|
|
|
|
|
|
$tracelevel) |
4655
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4656
|
|
|
|
|
|
|
|
4657
|
|
|
|
|
|
|
|
4658
|
39
|
50
|
|
|
|
103
|
$_tok = ($_noactions) ? 0 : do { $return = bless $item{textmessage}, $mibs }; |
|
39
|
|
|
|
|
176
|
|
4659
|
39
|
50
|
|
|
|
117
|
unless (defined $_tok) |
4660
|
|
|
|
|
|
|
{ |
4661
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4662
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4663
|
0
|
|
|
|
|
0
|
last; |
4664
|
|
|
|
|
|
|
} |
4665
|
39
|
50
|
|
|
|
121
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4666
|
|
|
|
|
|
|
. $_tok . q{])}, |
4667
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4668
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4669
|
39
|
|
|
|
|
79
|
push @item, $_tok; |
4670
|
39
|
|
|
|
|
97
|
$item{__ACTION1__}=$_tok; |
4671
|
|
|
|
|
|
|
|
4672
|
|
|
|
|
|
|
|
4673
|
39
|
50
|
|
|
|
101
|
Parse::RecDescent::_trace(q{>>Matched production: [textmessage]<<}, |
4674
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4675
|
|
|
|
|
|
|
q{part}, |
4676
|
|
|
|
|
|
|
$tracelevel) |
4677
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4678
|
|
|
|
|
|
|
|
4679
|
|
|
|
|
|
|
|
4680
|
|
|
|
|
|
|
|
4681
|
39
|
|
|
|
|
81
|
$_matched = 1; |
4682
|
39
|
|
|
|
|
106
|
last; |
4683
|
|
|
|
|
|
|
} |
4684
|
|
|
|
|
|
|
|
4685
|
|
|
|
|
|
|
splice |
4686
|
122
|
100
|
|
|
|
450
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
53
|
|
|
|
|
139
|
|
4687
|
|
|
|
|
|
|
|
4688
|
122
|
|
66
|
|
|
519
|
while (!$_matched && !$commit) |
4689
|
|
|
|
|
|
|
{ |
4690
|
|
|
|
|
|
|
|
4691
|
53
|
50
|
|
|
|
192
|
Parse::RecDescent::_trace(q{Trying production: [nestedmessage]}, |
4692
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4693
|
|
|
|
|
|
|
q{part}, |
4694
|
|
|
|
|
|
|
$tracelevel) |
4695
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4696
|
53
|
|
|
|
|
140
|
my $thisprod = $thisrule->{"prods"}[2]; |
4697
|
53
|
|
|
|
|
209
|
$text = $_[1]; |
4698
|
53
|
|
|
|
|
131
|
my $_savetext; |
4699
|
53
|
|
|
|
|
157
|
@item = (q{part}); |
4700
|
53
|
|
|
|
|
164
|
%item = (__RULE__ => q{part}); |
4701
|
53
|
|
|
|
|
153
|
my $repcount = 0; |
4702
|
|
|
|
|
|
|
|
4703
|
|
|
|
|
|
|
|
4704
|
53
|
50
|
|
|
|
156
|
Parse::RecDescent::_trace(q{Trying subrule: [nestedmessage]}, |
4705
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4706
|
|
|
|
|
|
|
q{part}, |
4707
|
|
|
|
|
|
|
$tracelevel) |
4708
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4709
|
1
|
|
|
1
|
|
49
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
384
|
|
|
53
|
|
|
|
|
103
|
|
4710
|
53
|
|
|
|
|
195
|
$expectation->is(q{})->at($text); |
4711
|
53
|
100
|
|
53
|
|
819
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::nestedmessage($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
53
|
|
|
|
|
143
|
|
4712
|
|
|
|
|
|
|
{ |
4713
|
|
|
|
|
|
|
|
4714
|
32
|
50
|
|
|
|
122
|
Parse::RecDescent::_trace(q{<>}, |
4715
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4716
|
|
|
|
|
|
|
q{part}, |
4717
|
|
|
|
|
|
|
$tracelevel) |
4718
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4719
|
32
|
|
|
|
|
171
|
$expectation->failed(); |
4720
|
32
|
|
|
|
|
130
|
last; |
4721
|
|
|
|
|
|
|
} |
4722
|
21
|
50
|
|
|
|
149
|
Parse::RecDescent::_trace(q{>>Matched subrule: [nestedmessage]<< (return value: [} |
4723
|
|
|
|
|
|
|
. $_tok . q{]}, |
4724
|
|
|
|
|
|
|
|
4725
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4726
|
|
|
|
|
|
|
q{part}, |
4727
|
|
|
|
|
|
|
$tracelevel) |
4728
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4729
|
21
|
|
|
|
|
72
|
$item{q{nestedmessage}} = $_tok; |
4730
|
21
|
|
|
|
|
71
|
push @item, $_tok; |
4731
|
|
|
|
|
|
|
|
4732
|
|
|
|
|
|
|
} |
4733
|
|
|
|
|
|
|
|
4734
|
21
|
50
|
|
|
|
70
|
Parse::RecDescent::_trace(q{Trying action}, |
4735
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4736
|
|
|
|
|
|
|
q{part}, |
4737
|
|
|
|
|
|
|
$tracelevel) |
4738
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4739
|
|
|
|
|
|
|
|
4740
|
|
|
|
|
|
|
|
4741
|
21
|
50
|
|
|
|
58
|
$_tok = ($_noactions) ? 0 : do { $return = bless $item{nestedmessage}, $mibs }; |
|
21
|
|
|
|
|
80
|
|
4742
|
21
|
50
|
|
|
|
64
|
unless (defined $_tok) |
4743
|
|
|
|
|
|
|
{ |
4744
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4745
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4746
|
0
|
|
|
|
|
0
|
last; |
4747
|
|
|
|
|
|
|
} |
4748
|
21
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4749
|
|
|
|
|
|
|
. $_tok . q{])}, |
4750
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4751
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4752
|
21
|
|
|
|
|
49
|
push @item, $_tok; |
4753
|
21
|
|
|
|
|
51
|
$item{__ACTION1__}=$_tok; |
4754
|
|
|
|
|
|
|
|
4755
|
|
|
|
|
|
|
|
4756
|
21
|
50
|
|
|
|
57
|
Parse::RecDescent::_trace(q{>>Matched production: [nestedmessage]<<}, |
4757
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4758
|
|
|
|
|
|
|
q{part}, |
4759
|
|
|
|
|
|
|
$tracelevel) |
4760
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4761
|
|
|
|
|
|
|
|
4762
|
|
|
|
|
|
|
|
4763
|
|
|
|
|
|
|
|
4764
|
21
|
|
|
|
|
41
|
$_matched = 1; |
4765
|
21
|
|
|
|
|
46
|
last; |
4766
|
|
|
|
|
|
|
} |
4767
|
|
|
|
|
|
|
|
4768
|
|
|
|
|
|
|
splice |
4769
|
122
|
100
|
|
|
|
340
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
32
|
|
|
|
|
88
|
|
4770
|
|
|
|
|
|
|
|
4771
|
122
|
|
66
|
|
|
402
|
while (!$_matched && !$commit) |
4772
|
|
|
|
|
|
|
{ |
4773
|
|
|
|
|
|
|
|
4774
|
32
|
50
|
|
|
|
87
|
Parse::RecDescent::_trace(q{Trying production: [othertypemessage]}, |
4775
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4776
|
|
|
|
|
|
|
q{part}, |
4777
|
|
|
|
|
|
|
$tracelevel) |
4778
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4779
|
32
|
|
|
|
|
92
|
my $thisprod = $thisrule->{"prods"}[3]; |
4780
|
32
|
|
|
|
|
77
|
$text = $_[1]; |
4781
|
32
|
|
|
|
|
69
|
my $_savetext; |
4782
|
32
|
|
|
|
|
104
|
@item = (q{part}); |
4783
|
32
|
|
|
|
|
95
|
%item = (__RULE__ => q{part}); |
4784
|
32
|
|
|
|
|
83
|
my $repcount = 0; |
4785
|
|
|
|
|
|
|
|
4786
|
|
|
|
|
|
|
|
4787
|
32
|
50
|
|
|
|
99
|
Parse::RecDescent::_trace(q{Trying subrule: [othertypemessage]}, |
4788
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4789
|
|
|
|
|
|
|
q{part}, |
4790
|
|
|
|
|
|
|
$tracelevel) |
4791
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4792
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
11
|
|
|
1
|
|
|
|
|
620
|
|
|
32
|
|
|
|
|
57
|
|
4793
|
32
|
|
|
|
|
100
|
$expectation->is(q{})->at($text); |
4794
|
32
|
100
|
|
32
|
|
405
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::othertypemessage($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
32
|
|
|
|
|
78
|
|
4795
|
|
|
|
|
|
|
{ |
4796
|
|
|
|
|
|
|
|
4797
|
20
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{<>}, |
4798
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4799
|
|
|
|
|
|
|
q{part}, |
4800
|
|
|
|
|
|
|
$tracelevel) |
4801
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4802
|
20
|
|
|
|
|
67
|
$expectation->failed(); |
4803
|
20
|
|
|
|
|
68
|
last; |
4804
|
|
|
|
|
|
|
} |
4805
|
12
|
50
|
|
|
|
77
|
Parse::RecDescent::_trace(q{>>Matched subrule: [othertypemessage]<< (return value: [} |
4806
|
|
|
|
|
|
|
. $_tok . q{]}, |
4807
|
|
|
|
|
|
|
|
4808
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4809
|
|
|
|
|
|
|
q{part}, |
4810
|
|
|
|
|
|
|
$tracelevel) |
4811
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4812
|
12
|
|
|
|
|
38
|
$item{q{othertypemessage}} = $_tok; |
4813
|
12
|
|
|
|
|
66
|
push @item, $_tok; |
4814
|
|
|
|
|
|
|
|
4815
|
|
|
|
|
|
|
} |
4816
|
|
|
|
|
|
|
|
4817
|
12
|
50
|
|
|
|
42
|
Parse::RecDescent::_trace(q{Trying action}, |
4818
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4819
|
|
|
|
|
|
|
q{part}, |
4820
|
|
|
|
|
|
|
$tracelevel) |
4821
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4822
|
|
|
|
|
|
|
|
4823
|
|
|
|
|
|
|
|
4824
|
12
|
50
|
|
|
|
46
|
$_tok = ($_noactions) ? 0 : do { $return = bless $item{othertypemessage}, $mibs }; |
|
12
|
|
|
|
|
61
|
|
4825
|
12
|
50
|
|
|
|
55
|
unless (defined $_tok) |
4826
|
|
|
|
|
|
|
{ |
4827
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4828
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4829
|
0
|
|
|
|
|
0
|
last; |
4830
|
|
|
|
|
|
|
} |
4831
|
12
|
50
|
|
|
|
40
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4832
|
|
|
|
|
|
|
. $_tok . q{])}, |
4833
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4834
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4835
|
12
|
|
|
|
|
29
|
push @item, $_tok; |
4836
|
12
|
|
|
|
|
33
|
$item{__ACTION1__}=$_tok; |
4837
|
|
|
|
|
|
|
|
4838
|
|
|
|
|
|
|
|
4839
|
12
|
50
|
|
|
|
37
|
Parse::RecDescent::_trace(q{>>Matched production: [othertypemessage]<<}, |
4840
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4841
|
|
|
|
|
|
|
q{part}, |
4842
|
|
|
|
|
|
|
$tracelevel) |
4843
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4844
|
|
|
|
|
|
|
|
4845
|
|
|
|
|
|
|
|
4846
|
|
|
|
|
|
|
|
4847
|
12
|
|
|
|
|
23
|
$_matched = 1; |
4848
|
12
|
|
|
|
|
26
|
last; |
4849
|
|
|
|
|
|
|
} |
4850
|
|
|
|
|
|
|
|
4851
|
|
|
|
|
|
|
splice |
4852
|
122
|
100
|
|
|
|
302
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
20
|
|
|
|
|
66
|
|
4853
|
|
|
|
|
|
|
|
4854
|
122
|
100
|
66
|
|
|
413
|
unless ( $_matched || defined($score) ) |
4855
|
|
|
|
|
|
|
{ |
4856
|
20
|
|
|
|
|
36
|
splice @{$thisparser->{deferred}}, $def_at; |
|
20
|
|
|
|
|
56
|
|
4857
|
|
|
|
|
|
|
|
4858
|
|
|
|
|
|
|
|
4859
|
20
|
|
|
|
|
41
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
4860
|
20
|
50
|
|
|
|
66
|
Parse::RecDescent::_trace(q{<>}, |
4861
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4862
|
|
|
|
|
|
|
q{part}, |
4863
|
|
|
|
|
|
|
$tracelevel) |
4864
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4865
|
20
|
|
|
|
|
102
|
return undef; |
4866
|
|
|
|
|
|
|
} |
4867
|
102
|
50
|
33
|
|
|
377
|
if (!defined($return) && defined($score)) |
4868
|
|
|
|
|
|
|
{ |
4869
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
4870
|
|
|
|
|
|
|
q{part}, |
4871
|
|
|
|
|
|
|
$tracelevel) |
4872
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4873
|
0
|
|
|
|
|
0
|
$return = $score_return; |
4874
|
|
|
|
|
|
|
} |
4875
|
102
|
|
|
|
|
249
|
splice @{$thisparser->{errors}}, $err_at; |
|
102
|
|
|
|
|
262
|
|
4876
|
102
|
50
|
|
|
|
323
|
$return = $item[$#item] unless defined $return; |
4877
|
102
|
50
|
|
|
|
258
|
if (defined $::RD_TRACE) |
4878
|
|
|
|
|
|
|
{ |
4879
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
4880
|
|
|
|
|
|
|
$return . q{])}, "", |
4881
|
|
|
|
|
|
|
q{part}, |
4882
|
|
|
|
|
|
|
$tracelevel); |
4883
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
4884
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
4885
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4886
|
|
|
|
|
|
|
, q{part}, |
4887
|
|
|
|
|
|
|
$tracelevel) |
4888
|
|
|
|
|
|
|
} |
4889
|
102
|
|
|
|
|
289
|
$_[1] = $text; |
4890
|
102
|
|
|
|
|
985
|
return $return; |
4891
|
|
|
|
|
|
|
} |
4892
|
|
|
|
|
|
|
|
4893
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
4894
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::TEXT |
4895
|
|
|
|
|
|
|
{ |
4896
|
92
|
|
|
92
|
|
219
|
my $thisparser = $_[0]; |
4897
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
886
|
|
4898
|
92
|
|
50
|
|
|
317
|
local $tracelevel = ($tracelevel||0)+1; |
4899
|
92
|
|
|
|
|
190
|
$ERRORS = 0; |
4900
|
92
|
|
|
|
|
266
|
my $thisrule = $thisparser->{"rules"}{"TEXT"}; |
4901
|
|
|
|
|
|
|
|
4902
|
92
|
50
|
|
|
|
321
|
Parse::RecDescent::_trace(q{Trying rule: [TEXT]}, |
4903
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4904
|
|
|
|
|
|
|
q{TEXT}, |
4905
|
|
|
|
|
|
|
$tracelevel) |
4906
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4907
|
|
|
|
|
|
|
|
4908
|
92
|
|
|
|
|
152
|
my $def_at = @{$thisparser->{deferred}}; |
|
92
|
|
|
|
|
250
|
|
4909
|
92
|
|
|
|
|
207
|
my $err_at = @{$thisparser->{errors}}; |
|
92
|
|
|
|
|
287
|
|
4910
|
|
|
|
|
|
|
|
4911
|
92
|
|
|
|
|
299
|
my $score; |
4912
|
|
|
|
|
|
|
my $score_return; |
4913
|
92
|
|
|
|
|
0
|
my $_tok; |
4914
|
92
|
|
|
|
|
154
|
my $return = undef; |
4915
|
92
|
|
|
|
|
212
|
my $_matched=0; |
4916
|
92
|
|
|
|
|
176
|
my $commit=0; |
4917
|
92
|
|
|
|
|
199
|
my @item = (); |
4918
|
92
|
|
|
|
|
184
|
my %item = (); |
4919
|
92
|
|
|
|
|
163
|
my $repeating = $_[2]; |
4920
|
92
|
|
|
|
|
162
|
my $_noactions = $_[3]; |
4921
|
92
|
50
|
|
|
|
324
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
92
|
|
|
|
|
179
|
|
|
92
|
|
|
|
|
158
|
|
4922
|
92
|
|
|
|
|
187
|
my $_itempos = $_[5]; |
4923
|
92
|
50
|
|
|
|
307
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
4924
|
92
|
|
|
|
|
424
|
my $text; |
4925
|
|
|
|
|
|
|
my $lastsep; |
4926
|
92
|
|
|
|
|
0
|
my $current_match; |
4927
|
92
|
|
|
|
|
268
|
my $expectation = new Parse::RecDescent::Expectation(q{/^"TEXT"|^TEXT/i}); |
4928
|
92
|
|
|
|
|
645
|
$expectation->at($_[1]); |
4929
|
|
|
|
|
|
|
|
4930
|
92
|
|
|
|
|
409
|
my $thisline; |
4931
|
92
|
|
|
|
|
323
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
4932
|
|
|
|
|
|
|
|
4933
|
|
|
|
|
|
|
|
4934
|
|
|
|
|
|
|
|
4935
|
92
|
|
33
|
|
|
841
|
while (!$_matched && !$commit) |
4936
|
|
|
|
|
|
|
{ |
4937
|
|
|
|
|
|
|
|
4938
|
92
|
50
|
|
|
|
283
|
Parse::RecDescent::_trace(q{Trying production: [/^"TEXT"|^TEXT/i]}, |
4939
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
4940
|
|
|
|
|
|
|
q{TEXT}, |
4941
|
|
|
|
|
|
|
$tracelevel) |
4942
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4943
|
92
|
|
|
|
|
260
|
my $thisprod = $thisrule->{"prods"}[0]; |
4944
|
92
|
|
|
|
|
232
|
$text = $_[1]; |
4945
|
92
|
|
|
|
|
196
|
my $_savetext; |
4946
|
92
|
|
|
|
|
218
|
@item = (q{TEXT}); |
4947
|
92
|
|
|
|
|
272
|
%item = (__RULE__ => q{TEXT}); |
4948
|
92
|
|
|
|
|
160
|
my $repcount = 0; |
4949
|
|
|
|
|
|
|
|
4950
|
|
|
|
|
|
|
|
4951
|
92
|
50
|
|
|
|
302
|
Parse::RecDescent::_trace(q{Trying terminal: [/^"TEXT"|^TEXT/i]}, Parse::RecDescent::_tracefirst($text), |
4952
|
|
|
|
|
|
|
q{TEXT}, |
4953
|
|
|
|
|
|
|
$tracelevel) |
4954
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4955
|
92
|
|
|
|
|
300
|
undef $lastsep; |
4956
|
92
|
|
|
|
|
290
|
$expectation->is(q{})->at($text); |
4957
|
|
|
|
|
|
|
|
4958
|
|
|
|
|
|
|
|
4959
|
92
|
50
|
66
|
|
|
1227
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^"TEXT"|^TEXT)/i) |
|
92
|
100
|
|
|
|
1052
|
|
4960
|
|
|
|
|
|
|
{ |
4961
|
53
|
50
|
|
|
|
297
|
$text = $lastsep . $text if defined $lastsep; |
4962
|
53
|
|
|
|
|
201
|
$expectation->failed(); |
4963
|
53
|
50
|
|
|
|
299
|
Parse::RecDescent::_trace(q{<>}, |
4964
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4965
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4966
|
|
|
|
|
|
|
|
4967
|
53
|
|
|
|
|
165
|
last; |
4968
|
|
|
|
|
|
|
} |
4969
|
39
|
|
|
|
|
255
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
4970
|
39
|
|
|
|
|
215
|
substr($text,0,length($current_match),q{}); |
4971
|
39
|
50
|
|
|
|
142
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
4972
|
|
|
|
|
|
|
. $current_match . q{])}, |
4973
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4974
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4975
|
39
|
|
|
|
|
136
|
push @item, $item{__PATTERN1__}=$current_match; |
4976
|
|
|
|
|
|
|
|
4977
|
|
|
|
|
|
|
|
4978
|
39
|
50
|
|
|
|
130
|
Parse::RecDescent::_trace(q{Trying action}, |
4979
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
4980
|
|
|
|
|
|
|
q{TEXT}, |
4981
|
|
|
|
|
|
|
$tracelevel) |
4982
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4983
|
|
|
|
|
|
|
|
4984
|
|
|
|
|
|
|
|
4985
|
39
|
50
|
|
|
|
114
|
$_tok = ($_noactions) ? 0 : do { $return = "TEXT" }; |
|
39
|
|
|
|
|
114
|
|
4986
|
39
|
50
|
|
|
|
141
|
unless (defined $_tok) |
4987
|
|
|
|
|
|
|
{ |
4988
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
4989
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4990
|
0
|
|
|
|
|
0
|
last; |
4991
|
|
|
|
|
|
|
} |
4992
|
39
|
50
|
|
|
|
115
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
4993
|
|
|
|
|
|
|
. $_tok . q{])}, |
4994
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
4995
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
4996
|
39
|
|
|
|
|
99
|
push @item, $_tok; |
4997
|
39
|
|
|
|
|
105
|
$item{__ACTION1__}=$_tok; |
4998
|
|
|
|
|
|
|
|
4999
|
|
|
|
|
|
|
|
5000
|
39
|
50
|
|
|
|
111
|
Parse::RecDescent::_trace(q{>>Matched production: [/^"TEXT"|^TEXT/i]<<}, |
5001
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5002
|
|
|
|
|
|
|
q{TEXT}, |
5003
|
|
|
|
|
|
|
$tracelevel) |
5004
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5005
|
|
|
|
|
|
|
|
5006
|
|
|
|
|
|
|
|
5007
|
|
|
|
|
|
|
|
5008
|
39
|
|
|
|
|
95
|
$_matched = 1; |
5009
|
39
|
|
|
|
|
101
|
last; |
5010
|
|
|
|
|
|
|
} |
5011
|
|
|
|
|
|
|
|
5012
|
|
|
|
|
|
|
splice |
5013
|
92
|
100
|
|
|
|
311
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
53
|
|
|
|
|
161
|
|
5014
|
|
|
|
|
|
|
|
5015
|
92
|
100
|
66
|
|
|
433
|
unless ( $_matched || defined($score) ) |
5016
|
|
|
|
|
|
|
{ |
5017
|
53
|
|
|
|
|
108
|
splice @{$thisparser->{deferred}}, $def_at; |
|
53
|
|
|
|
|
138
|
|
5018
|
|
|
|
|
|
|
|
5019
|
|
|
|
|
|
|
|
5020
|
53
|
|
|
|
|
119
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
5021
|
53
|
50
|
|
|
|
155
|
Parse::RecDescent::_trace(q{<>}, |
5022
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5023
|
|
|
|
|
|
|
q{TEXT}, |
5024
|
|
|
|
|
|
|
$tracelevel) |
5025
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5026
|
53
|
|
|
|
|
347
|
return undef; |
5027
|
|
|
|
|
|
|
} |
5028
|
39
|
50
|
33
|
|
|
158
|
if (!defined($return) && defined($score)) |
5029
|
|
|
|
|
|
|
{ |
5030
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
5031
|
|
|
|
|
|
|
q{TEXT}, |
5032
|
|
|
|
|
|
|
$tracelevel) |
5033
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5034
|
0
|
|
|
|
|
0
|
$return = $score_return; |
5035
|
|
|
|
|
|
|
} |
5036
|
39
|
|
|
|
|
67
|
splice @{$thisparser->{errors}}, $err_at; |
|
39
|
|
|
|
|
103
|
|
5037
|
39
|
50
|
|
|
|
123
|
$return = $item[$#item] unless defined $return; |
5038
|
39
|
50
|
|
|
|
130
|
if (defined $::RD_TRACE) |
5039
|
|
|
|
|
|
|
{ |
5040
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
5041
|
|
|
|
|
|
|
$return . q{])}, "", |
5042
|
|
|
|
|
|
|
q{TEXT}, |
5043
|
|
|
|
|
|
|
$tracelevel); |
5044
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
5045
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
5046
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5047
|
|
|
|
|
|
|
, q{TEXT}, |
5048
|
|
|
|
|
|
|
$tracelevel) |
5049
|
|
|
|
|
|
|
} |
5050
|
39
|
|
|
|
|
140
|
$_[1] = $text; |
5051
|
39
|
|
|
|
|
320
|
return $return; |
5052
|
|
|
|
|
|
|
} |
5053
|
|
|
|
|
|
|
|
5054
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
5055
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::MESSAGE |
5056
|
|
|
|
|
|
|
{ |
5057
|
53
|
|
|
53
|
|
119
|
my $thisparser = $_[0]; |
5058
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
1223
|
|
5059
|
53
|
|
50
|
|
|
166
|
local $tracelevel = ($tracelevel||0)+1; |
5060
|
53
|
|
|
|
|
119
|
$ERRORS = 0; |
5061
|
53
|
|
|
|
|
144
|
my $thisrule = $thisparser->{"rules"}{"MESSAGE"}; |
5062
|
|
|
|
|
|
|
|
5063
|
53
|
50
|
|
|
|
182
|
Parse::RecDescent::_trace(q{Trying rule: [MESSAGE]}, |
5064
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5065
|
|
|
|
|
|
|
q{MESSAGE}, |
5066
|
|
|
|
|
|
|
$tracelevel) |
5067
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5068
|
|
|
|
|
|
|
|
5069
|
53
|
|
|
|
|
91
|
my $def_at = @{$thisparser->{deferred}}; |
|
53
|
|
|
|
|
139
|
|
5070
|
53
|
|
|
|
|
98
|
my $err_at = @{$thisparser->{errors}}; |
|
53
|
|
|
|
|
132
|
|
5071
|
|
|
|
|
|
|
|
5072
|
53
|
|
|
|
|
194
|
my $score; |
5073
|
|
|
|
|
|
|
my $score_return; |
5074
|
53
|
|
|
|
|
0
|
my $_tok; |
5075
|
53
|
|
|
|
|
105
|
my $return = undef; |
5076
|
53
|
|
|
|
|
100
|
my $_matched=0; |
5077
|
53
|
|
|
|
|
110
|
my $commit=0; |
5078
|
53
|
|
|
|
|
107
|
my @item = (); |
5079
|
53
|
|
|
|
|
120
|
my %item = (); |
5080
|
53
|
|
|
|
|
106
|
my $repeating = $_[2]; |
5081
|
53
|
|
|
|
|
95
|
my $_noactions = $_[3]; |
5082
|
53
|
50
|
|
|
|
165
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
53
|
|
|
|
|
105
|
|
|
53
|
|
|
|
|
103
|
|
5083
|
53
|
|
|
|
|
129
|
my $_itempos = $_[5]; |
5084
|
53
|
50
|
|
|
|
186
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
5085
|
53
|
|
|
|
|
189
|
my $text; |
5086
|
|
|
|
|
|
|
my $lastsep; |
5087
|
53
|
|
|
|
|
0
|
my $current_match; |
5088
|
53
|
|
|
|
|
161
|
my $expectation = new Parse::RecDescent::Expectation(q{/^"MESSAGE"|^MESSAGE/i}); |
5089
|
53
|
|
|
|
|
408
|
$expectation->at($_[1]); |
5090
|
|
|
|
|
|
|
|
5091
|
53
|
|
|
|
|
206
|
my $thisline; |
5092
|
53
|
|
|
|
|
242
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
5093
|
|
|
|
|
|
|
|
5094
|
|
|
|
|
|
|
|
5095
|
|
|
|
|
|
|
|
5096
|
53
|
|
33
|
|
|
468
|
while (!$_matched && !$commit) |
5097
|
|
|
|
|
|
|
{ |
5098
|
|
|
|
|
|
|
|
5099
|
53
|
50
|
|
|
|
160
|
Parse::RecDescent::_trace(q{Trying production: [/^"MESSAGE"|^MESSAGE/i]}, |
5100
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5101
|
|
|
|
|
|
|
q{MESSAGE}, |
5102
|
|
|
|
|
|
|
$tracelevel) |
5103
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5104
|
53
|
|
|
|
|
190
|
my $thisprod = $thisrule->{"prods"}[0]; |
5105
|
53
|
|
|
|
|
135
|
$text = $_[1]; |
5106
|
53
|
|
|
|
|
107
|
my $_savetext; |
5107
|
53
|
|
|
|
|
151
|
@item = (q{MESSAGE}); |
5108
|
53
|
|
|
|
|
152
|
%item = (__RULE__ => q{MESSAGE}); |
5109
|
53
|
|
|
|
|
133
|
my $repcount = 0; |
5110
|
|
|
|
|
|
|
|
5111
|
|
|
|
|
|
|
|
5112
|
53
|
50
|
|
|
|
186
|
Parse::RecDescent::_trace(q{Trying terminal: [/^"MESSAGE"|^MESSAGE/i]}, Parse::RecDescent::_tracefirst($text), |
5113
|
|
|
|
|
|
|
q{MESSAGE}, |
5114
|
|
|
|
|
|
|
$tracelevel) |
5115
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5116
|
53
|
|
|
|
|
133
|
undef $lastsep; |
5117
|
53
|
|
|
|
|
166
|
$expectation->is(q{})->at($text); |
5118
|
|
|
|
|
|
|
|
5119
|
|
|
|
|
|
|
|
5120
|
53
|
50
|
66
|
|
|
696
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^"MESSAGE"|^MESSAGE)/i) |
|
53
|
100
|
|
|
|
656
|
|
5121
|
|
|
|
|
|
|
{ |
5122
|
31
|
50
|
|
|
|
159
|
$text = $lastsep . $text if defined $lastsep; |
5123
|
31
|
|
|
|
|
143
|
$expectation->failed(); |
5124
|
31
|
50
|
|
|
|
157
|
Parse::RecDescent::_trace(q{<>}, |
5125
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5126
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5127
|
|
|
|
|
|
|
|
5128
|
31
|
|
|
|
|
76
|
last; |
5129
|
|
|
|
|
|
|
} |
5130
|
22
|
|
|
|
|
145
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
5131
|
22
|
|
|
|
|
111
|
substr($text,0,length($current_match),q{}); |
5132
|
22
|
50
|
|
|
|
62
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
5133
|
|
|
|
|
|
|
. $current_match . q{])}, |
5134
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5135
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5136
|
22
|
|
|
|
|
83
|
push @item, $item{__PATTERN1__}=$current_match; |
5137
|
|
|
|
|
|
|
|
5138
|
|
|
|
|
|
|
|
5139
|
22
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{Trying action}, |
5140
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5141
|
|
|
|
|
|
|
q{MESSAGE}, |
5142
|
|
|
|
|
|
|
$tracelevel) |
5143
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5144
|
|
|
|
|
|
|
|
5145
|
|
|
|
|
|
|
|
5146
|
22
|
50
|
|
|
|
65
|
$_tok = ($_noactions) ? 0 : do { $return = "MESSAGE"}; |
|
22
|
|
|
|
|
68
|
|
5147
|
22
|
50
|
|
|
|
60
|
unless (defined $_tok) |
5148
|
|
|
|
|
|
|
{ |
5149
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
5150
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5151
|
0
|
|
|
|
|
0
|
last; |
5152
|
|
|
|
|
|
|
} |
5153
|
22
|
50
|
|
|
|
100
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
5154
|
|
|
|
|
|
|
. $_tok . q{])}, |
5155
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5156
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5157
|
22
|
|
|
|
|
44
|
push @item, $_tok; |
5158
|
22
|
|
|
|
|
57
|
$item{__ACTION1__}=$_tok; |
5159
|
|
|
|
|
|
|
|
5160
|
|
|
|
|
|
|
|
5161
|
22
|
50
|
|
|
|
62
|
Parse::RecDescent::_trace(q{>>Matched production: [/^"MESSAGE"|^MESSAGE/i]<<}, |
5162
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5163
|
|
|
|
|
|
|
q{MESSAGE}, |
5164
|
|
|
|
|
|
|
$tracelevel) |
5165
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5166
|
|
|
|
|
|
|
|
5167
|
|
|
|
|
|
|
|
5168
|
|
|
|
|
|
|
|
5169
|
22
|
|
|
|
|
50
|
$_matched = 1; |
5170
|
22
|
|
|
|
|
48
|
last; |
5171
|
|
|
|
|
|
|
} |
5172
|
|
|
|
|
|
|
|
5173
|
|
|
|
|
|
|
splice |
5174
|
53
|
100
|
|
|
|
175
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
31
|
|
|
|
|
96
|
|
5175
|
|
|
|
|
|
|
|
5176
|
53
|
100
|
66
|
|
|
257
|
unless ( $_matched || defined($score) ) |
5177
|
|
|
|
|
|
|
{ |
5178
|
31
|
|
|
|
|
71
|
splice @{$thisparser->{deferred}}, $def_at; |
|
31
|
|
|
|
|
76
|
|
5179
|
|
|
|
|
|
|
|
5180
|
|
|
|
|
|
|
|
5181
|
31
|
|
|
|
|
84
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
5182
|
31
|
50
|
|
|
|
93
|
Parse::RecDescent::_trace(q{<>}, |
5183
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5184
|
|
|
|
|
|
|
q{MESSAGE}, |
5185
|
|
|
|
|
|
|
$tracelevel) |
5186
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5187
|
31
|
|
|
|
|
207
|
return undef; |
5188
|
|
|
|
|
|
|
} |
5189
|
22
|
50
|
33
|
|
|
95
|
if (!defined($return) && defined($score)) |
5190
|
|
|
|
|
|
|
{ |
5191
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
5192
|
|
|
|
|
|
|
q{MESSAGE}, |
5193
|
|
|
|
|
|
|
$tracelevel) |
5194
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5195
|
0
|
|
|
|
|
0
|
$return = $score_return; |
5196
|
|
|
|
|
|
|
} |
5197
|
22
|
|
|
|
|
62
|
splice @{$thisparser->{errors}}, $err_at; |
|
22
|
|
|
|
|
79
|
|
5198
|
22
|
50
|
|
|
|
104
|
$return = $item[$#item] unless defined $return; |
5199
|
22
|
50
|
|
|
|
72
|
if (defined $::RD_TRACE) |
5200
|
|
|
|
|
|
|
{ |
5201
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
5202
|
|
|
|
|
|
|
$return . q{])}, "", |
5203
|
|
|
|
|
|
|
q{MESSAGE}, |
5204
|
|
|
|
|
|
|
$tracelevel); |
5205
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
5206
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
5207
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5208
|
|
|
|
|
|
|
, q{MESSAGE}, |
5209
|
|
|
|
|
|
|
$tracelevel) |
5210
|
|
|
|
|
|
|
} |
5211
|
22
|
|
|
|
|
93
|
$_[1] = $text; |
5212
|
22
|
|
|
|
|
178
|
return $return; |
5213
|
|
|
|
|
|
|
} |
5214
|
|
|
|
|
|
|
|
5215
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
5216
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::start |
5217
|
|
|
|
|
|
|
{ |
5218
|
9
|
|
|
9
|
|
890
|
my $thisparser = $_[0]; |
5219
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
1202
|
|
5220
|
9
|
|
50
|
|
|
52
|
local $tracelevel = ($tracelevel||0)+1; |
5221
|
9
|
|
|
|
|
31
|
$ERRORS = 0; |
5222
|
9
|
|
|
|
|
30
|
my $thisrule = $thisparser->{"rules"}{"start"}; |
5223
|
|
|
|
|
|
|
|
5224
|
9
|
50
|
|
|
|
40
|
Parse::RecDescent::_trace(q{Trying rule: [start]}, |
5225
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5226
|
|
|
|
|
|
|
q{start}, |
5227
|
|
|
|
|
|
|
$tracelevel) |
5228
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5229
|
|
|
|
|
|
|
|
5230
|
9
|
|
|
|
|
22
|
my $def_at = @{$thisparser->{deferred}}; |
|
9
|
|
|
|
|
28
|
|
5231
|
9
|
|
|
|
|
18
|
my $err_at = @{$thisparser->{errors}}; |
|
9
|
|
|
|
|
27
|
|
5232
|
|
|
|
|
|
|
|
5233
|
9
|
|
|
|
|
29
|
my $score; |
5234
|
|
|
|
|
|
|
my $score_return; |
5235
|
9
|
|
|
|
|
0
|
my $_tok; |
5236
|
9
|
|
|
|
|
17
|
my $return = undef; |
5237
|
9
|
|
|
|
|
24
|
my $_matched=0; |
5238
|
9
|
|
|
|
|
20
|
my $commit=0; |
5239
|
9
|
|
|
|
|
22
|
my @item = (); |
5240
|
9
|
|
|
|
|
24
|
my %item = (); |
5241
|
9
|
|
|
|
|
21
|
my $repeating = $_[2]; |
5242
|
9
|
|
|
|
|
18
|
my $_noactions = $_[3]; |
5243
|
9
|
50
|
|
|
|
27
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
9
|
|
|
|
|
16
|
|
|
9
|
|
|
|
|
26
|
|
5244
|
9
|
|
|
|
|
47
|
my $_itempos = $_[5]; |
5245
|
9
|
50
|
|
|
|
32
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
5246
|
9
|
|
|
|
|
29
|
my $text; |
5247
|
|
|
|
|
|
|
my $lastsep; |
5248
|
9
|
|
|
|
|
0
|
my $current_match; |
5249
|
9
|
|
|
|
|
38
|
my $expectation = new Parse::RecDescent::Expectation(q{/.*?\\(.*?BODYSTRUCTURE \\(/i}); |
5250
|
9
|
|
|
|
|
100
|
$expectation->at($_[1]); |
5251
|
|
|
|
|
|
|
|
5252
|
9
|
|
|
|
|
47
|
my $thisline; |
5253
|
9
|
|
|
|
|
52
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
5254
|
|
|
|
|
|
|
|
5255
|
|
|
|
|
|
|
|
5256
|
|
|
|
|
|
|
|
5257
|
9
|
|
33
|
|
|
115
|
while (!$_matched && !$commit) |
5258
|
|
|
|
|
|
|
{ |
5259
|
|
|
|
|
|
|
|
5260
|
9
|
50
|
|
|
|
29
|
Parse::RecDescent::_trace(q{Trying production: [/.*?\\(.*?BODYSTRUCTURE \\(/i part /\\).*\\)\\r?\\n?/]}, |
5261
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5262
|
|
|
|
|
|
|
q{start}, |
5263
|
|
|
|
|
|
|
$tracelevel) |
5264
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5265
|
9
|
|
|
|
|
41
|
my $thisprod = $thisrule->{"prods"}[0]; |
5266
|
9
|
|
|
|
|
23
|
$text = $_[1]; |
5267
|
9
|
|
|
|
|
19
|
my $_savetext; |
5268
|
9
|
|
|
|
|
26
|
@item = (q{start}); |
5269
|
9
|
|
|
|
|
29
|
%item = (__RULE__ => q{start}); |
5270
|
9
|
|
|
|
|
18
|
my $repcount = 0; |
5271
|
|
|
|
|
|
|
|
5272
|
|
|
|
|
|
|
|
5273
|
9
|
50
|
|
|
|
30
|
Parse::RecDescent::_trace(q{Trying terminal: [/.*?\\(.*?BODYSTRUCTURE \\(/i]}, Parse::RecDescent::_tracefirst($text), |
5274
|
|
|
|
|
|
|
q{start}, |
5275
|
|
|
|
|
|
|
$tracelevel) |
5276
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5277
|
9
|
|
|
|
|
23
|
undef $lastsep; |
5278
|
9
|
|
|
|
|
35
|
$expectation->is(q{})->at($text); |
5279
|
|
|
|
|
|
|
|
5280
|
|
|
|
|
|
|
|
5281
|
9
|
50
|
33
|
|
|
139
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:.*?\(.*?BODYSTRUCTURE \()/i) |
|
9
|
50
|
|
|
|
189
|
|
5282
|
|
|
|
|
|
|
{ |
5283
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
5284
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5285
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5286
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5287
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5288
|
|
|
|
|
|
|
|
5289
|
0
|
|
|
|
|
0
|
last; |
5290
|
|
|
|
|
|
|
} |
5291
|
9
|
|
|
|
|
69
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
5292
|
9
|
|
|
|
|
58
|
substr($text,0,length($current_match),q{}); |
5293
|
9
|
50
|
|
|
|
42
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
5294
|
|
|
|
|
|
|
. $current_match . q{])}, |
5295
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5296
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5297
|
9
|
|
|
|
|
35
|
push @item, $item{__PATTERN1__}=$current_match; |
5298
|
|
|
|
|
|
|
|
5299
|
|
|
|
|
|
|
|
5300
|
9
|
50
|
|
|
|
28
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [part]}, |
5301
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5302
|
|
|
|
|
|
|
q{start}, |
5303
|
|
|
|
|
|
|
$tracelevel) |
5304
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5305
|
9
|
|
|
|
|
48
|
$expectation->is(q{part})->at($text); |
5306
|
|
|
|
|
|
|
|
5307
|
9
|
50
|
|
9
|
|
148
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::part, 1, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
9
|
|
|
|
|
25
|
|
5308
|
|
|
|
|
|
|
{ |
5309
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5310
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5311
|
|
|
|
|
|
|
q{start}, |
5312
|
|
|
|
|
|
|
$tracelevel) |
5313
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5314
|
0
|
|
|
|
|
0
|
last; |
5315
|
|
|
|
|
|
|
} |
5316
|
9
|
50
|
|
|
|
234
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [part]<< (} |
5317
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
5318
|
|
|
|
|
|
|
|
5319
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5320
|
|
|
|
|
|
|
q{start}, |
5321
|
|
|
|
|
|
|
$tracelevel) |
5322
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5323
|
9
|
|
|
|
|
31
|
$item{q{part(1)}} = $_tok; |
5324
|
9
|
|
|
|
|
39
|
push @item, $_tok; |
5325
|
|
|
|
|
|
|
|
5326
|
|
|
|
|
|
|
|
5327
|
|
|
|
|
|
|
|
5328
|
9
|
50
|
|
|
|
28
|
Parse::RecDescent::_trace(q{Trying terminal: [/\\).*\\)\\r?\\n?/]}, Parse::RecDescent::_tracefirst($text), |
5329
|
|
|
|
|
|
|
q{start}, |
5330
|
|
|
|
|
|
|
$tracelevel) |
5331
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5332
|
9
|
|
|
|
|
19
|
undef $lastsep; |
5333
|
9
|
|
|
|
|
31
|
$expectation->is(q{/\\).*\\)\\r?\\n?/})->at($text); |
5334
|
|
|
|
|
|
|
|
5335
|
|
|
|
|
|
|
|
5336
|
9
|
50
|
33
|
|
|
138
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\).*\)\r?\n?)/) |
|
9
|
50
|
|
|
|
146
|
|
5337
|
|
|
|
|
|
|
{ |
5338
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
5339
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5340
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5341
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5342
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5343
|
|
|
|
|
|
|
|
5344
|
0
|
|
|
|
|
0
|
last; |
5345
|
|
|
|
|
|
|
} |
5346
|
9
|
|
|
|
|
61
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
5347
|
9
|
|
|
|
|
43
|
substr($text,0,length($current_match),q{}); |
5348
|
9
|
50
|
|
|
|
43
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
5349
|
|
|
|
|
|
|
. $current_match . q{])}, |
5350
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5351
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5352
|
9
|
|
|
|
|
38
|
push @item, $item{__PATTERN2__}=$current_match; |
5353
|
|
|
|
|
|
|
|
5354
|
|
|
|
|
|
|
|
5355
|
9
|
50
|
|
|
|
37
|
Parse::RecDescent::_trace(q{Trying action}, |
5356
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5357
|
|
|
|
|
|
|
q{start}, |
5358
|
|
|
|
|
|
|
$tracelevel) |
5359
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5360
|
|
|
|
|
|
|
|
5361
|
|
|
|
|
|
|
|
5362
|
9
|
50
|
|
|
|
31
|
$_tok = ($_noactions) ? 0 : do { $return = $item{'part(1)'}[0] }; |
|
9
|
|
|
|
|
35
|
|
5363
|
9
|
50
|
|
|
|
35
|
unless (defined $_tok) |
5364
|
|
|
|
|
|
|
{ |
5365
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
5366
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5367
|
0
|
|
|
|
|
0
|
last; |
5368
|
|
|
|
|
|
|
} |
5369
|
9
|
50
|
|
|
|
25
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
5370
|
|
|
|
|
|
|
. $_tok . q{])}, |
5371
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5372
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5373
|
9
|
|
|
|
|
20
|
push @item, $_tok; |
5374
|
9
|
|
|
|
|
26
|
$item{__ACTION1__}=$_tok; |
5375
|
|
|
|
|
|
|
|
5376
|
|
|
|
|
|
|
|
5377
|
9
|
50
|
|
|
|
22
|
Parse::RecDescent::_trace(q{>>Matched production: [/.*?\\(.*?BODYSTRUCTURE \\(/i part /\\).*\\)\\r?\\n?/]<<}, |
5378
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5379
|
|
|
|
|
|
|
q{start}, |
5380
|
|
|
|
|
|
|
$tracelevel) |
5381
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5382
|
|
|
|
|
|
|
|
5383
|
|
|
|
|
|
|
|
5384
|
|
|
|
|
|
|
|
5385
|
9
|
|
|
|
|
14
|
$_matched = 1; |
5386
|
9
|
|
|
|
|
23
|
last; |
5387
|
|
|
|
|
|
|
} |
5388
|
|
|
|
|
|
|
|
5389
|
|
|
|
|
|
|
splice |
5390
|
9
|
50
|
|
|
|
23
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
5391
|
|
|
|
|
|
|
|
5392
|
9
|
50
|
33
|
|
|
33
|
unless ( $_matched || defined($score) ) |
5393
|
|
|
|
|
|
|
{ |
5394
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
5395
|
|
|
|
|
|
|
|
5396
|
|
|
|
|
|
|
|
5397
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
5398
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5399
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5400
|
|
|
|
|
|
|
q{start}, |
5401
|
|
|
|
|
|
|
$tracelevel) |
5402
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5403
|
0
|
|
|
|
|
0
|
return undef; |
5404
|
|
|
|
|
|
|
} |
5405
|
9
|
50
|
33
|
|
|
35
|
if (!defined($return) && defined($score)) |
5406
|
|
|
|
|
|
|
{ |
5407
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
5408
|
|
|
|
|
|
|
q{start}, |
5409
|
|
|
|
|
|
|
$tracelevel) |
5410
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5411
|
0
|
|
|
|
|
0
|
$return = $score_return; |
5412
|
|
|
|
|
|
|
} |
5413
|
9
|
|
|
|
|
23
|
splice @{$thisparser->{errors}}, $err_at; |
|
9
|
|
|
|
|
37
|
|
5414
|
9
|
50
|
|
|
|
29
|
$return = $item[$#item] unless defined $return; |
5415
|
9
|
50
|
|
|
|
33
|
if (defined $::RD_TRACE) |
5416
|
|
|
|
|
|
|
{ |
5417
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
5418
|
|
|
|
|
|
|
$return . q{])}, "", |
5419
|
|
|
|
|
|
|
q{start}, |
5420
|
|
|
|
|
|
|
$tracelevel); |
5421
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
5422
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
5423
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5424
|
|
|
|
|
|
|
, q{start}, |
5425
|
|
|
|
|
|
|
$tracelevel) |
5426
|
|
|
|
|
|
|
} |
5427
|
9
|
|
|
|
|
35
|
$_[1] = $text; |
5428
|
9
|
|
|
|
|
95
|
return $return; |
5429
|
|
|
|
|
|
|
} |
5430
|
|
|
|
|
|
|
|
5431
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
5432
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::addressstruct |
5433
|
|
|
|
|
|
|
{ |
5434
|
188
|
|
|
188
|
|
3530
|
my $thisparser = $_[0]; |
5435
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
509
|
|
5436
|
188
|
|
50
|
|
|
488
|
local $tracelevel = ($tracelevel||0)+1; |
5437
|
188
|
|
|
|
|
308
|
$ERRORS = 0; |
5438
|
188
|
|
|
|
|
415
|
my $thisrule = $thisparser->{"rules"}{"addressstruct"}; |
5439
|
|
|
|
|
|
|
|
5440
|
188
|
50
|
|
|
|
388
|
Parse::RecDescent::_trace(q{Trying rule: [addressstruct]}, |
5441
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5442
|
|
|
|
|
|
|
q{addressstruct}, |
5443
|
|
|
|
|
|
|
$tracelevel) |
5444
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5445
|
|
|
|
|
|
|
|
5446
|
188
|
|
|
|
|
332
|
my $def_at = @{$thisparser->{deferred}}; |
|
188
|
|
|
|
|
374
|
|
5447
|
188
|
|
|
|
|
286
|
my $err_at = @{$thisparser->{errors}}; |
|
188
|
|
|
|
|
382
|
|
5448
|
|
|
|
|
|
|
|
5449
|
188
|
|
|
|
|
442
|
my $score; |
5450
|
|
|
|
|
|
|
my $score_return; |
5451
|
188
|
|
|
|
|
0
|
my $_tok; |
5452
|
188
|
|
|
|
|
293
|
my $return = undef; |
5453
|
188
|
|
|
|
|
328
|
my $_matched=0; |
5454
|
188
|
|
|
|
|
268
|
my $commit=0; |
5455
|
188
|
|
|
|
|
353
|
my @item = (); |
5456
|
188
|
|
|
|
|
336
|
my %item = (); |
5457
|
188
|
|
|
|
|
321
|
my $repeating = $_[2]; |
5458
|
188
|
|
|
|
|
333
|
my $_noactions = $_[3]; |
5459
|
188
|
50
|
|
|
|
388
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
188
|
|
|
|
|
291
|
|
|
188
|
|
|
|
|
339
|
|
5460
|
188
|
|
|
|
|
313
|
my $_itempos = $_[5]; |
5461
|
188
|
50
|
|
|
|
480
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
5462
|
188
|
|
|
|
|
464
|
my $text; |
5463
|
|
|
|
|
|
|
my $lastsep; |
5464
|
188
|
|
|
|
|
0
|
my $current_match; |
5465
|
188
|
|
|
|
|
509
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
5466
|
188
|
|
|
|
|
1326
|
$expectation->at($_[1]); |
5467
|
|
|
|
|
|
|
|
5468
|
188
|
|
|
|
|
777
|
my $thisline; |
5469
|
188
|
|
|
|
|
707
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
5470
|
|
|
|
|
|
|
|
5471
|
|
|
|
|
|
|
|
5472
|
|
|
|
|
|
|
|
5473
|
188
|
|
33
|
|
|
1484
|
while (!$_matched && !$commit) |
5474
|
|
|
|
|
|
|
{ |
5475
|
|
|
|
|
|
|
|
5476
|
188
|
50
|
|
|
|
451
|
Parse::RecDescent::_trace(q{Trying production: ['(' personalname sourceroute mailboxname hostname ')']}, |
5477
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5478
|
|
|
|
|
|
|
q{addressstruct}, |
5479
|
|
|
|
|
|
|
$tracelevel) |
5480
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5481
|
188
|
|
|
|
|
407
|
my $thisprod = $thisrule->{"prods"}[0]; |
5482
|
188
|
|
|
|
|
326
|
$text = $_[1]; |
5483
|
188
|
|
|
|
|
274
|
my $_savetext; |
5484
|
188
|
|
|
|
|
355
|
@item = (q{addressstruct}); |
5485
|
188
|
|
|
|
|
411
|
%item = (__RULE__ => q{addressstruct}); |
5486
|
188
|
|
|
|
|
282
|
my $repcount = 0; |
5487
|
|
|
|
|
|
|
|
5488
|
|
|
|
|
|
|
|
5489
|
188
|
50
|
|
|
|
493
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
5490
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5491
|
|
|
|
|
|
|
q{addressstruct}, |
5492
|
|
|
|
|
|
|
$tracelevel) |
5493
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5494
|
188
|
|
|
|
|
324
|
undef $lastsep; |
5495
|
188
|
|
|
|
|
457
|
$expectation->is(q{})->at($text); |
5496
|
|
|
|
|
|
|
|
5497
|
|
|
|
|
|
|
|
5498
|
188
|
50
|
33
|
|
|
2083
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
188
|
100
|
66
|
|
|
1134
|
|
|
188
|
|
66
|
|
|
343
|
|
|
188
|
|
|
|
|
950
|
|
5499
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
5500
|
94
|
|
|
|
|
211
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
94
|
|
|
|
|
253
|
|
5501
|
|
|
|
|
|
|
) |
5502
|
|
|
|
|
|
|
{ |
5503
|
94
|
50
|
|
|
|
353
|
$text = $lastsep . $text if defined $lastsep; |
5504
|
|
|
|
|
|
|
|
5505
|
94
|
|
|
|
|
320
|
$expectation->failed(); |
5506
|
94
|
50
|
|
|
|
416
|
Parse::RecDescent::_trace(q{<>}, |
5507
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5508
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5509
|
94
|
|
|
|
|
200
|
last; |
5510
|
|
|
|
|
|
|
} |
5511
|
94
|
50
|
|
|
|
273
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
5512
|
|
|
|
|
|
|
. $_tok . q{])}, |
5513
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5514
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5515
|
94
|
|
|
|
|
234
|
push @item, $item{__STRING1__}=$_tok; |
5516
|
|
|
|
|
|
|
|
5517
|
|
|
|
|
|
|
|
5518
|
94
|
50
|
|
|
|
274
|
Parse::RecDescent::_trace(q{Trying subrule: [personalname]}, |
5519
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5520
|
|
|
|
|
|
|
q{addressstruct}, |
5521
|
|
|
|
|
|
|
$tracelevel) |
5522
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5523
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
171
|
|
|
94
|
|
|
|
|
173
|
|
5524
|
94
|
|
|
|
|
297
|
$expectation->is(q{personalname})->at($text); |
5525
|
94
|
50
|
|
94
|
|
1135
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::personalname($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
204
|
|
5526
|
|
|
|
|
|
|
{ |
5527
|
|
|
|
|
|
|
|
5528
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5529
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5530
|
|
|
|
|
|
|
q{addressstruct}, |
5531
|
|
|
|
|
|
|
$tracelevel) |
5532
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5533
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5534
|
0
|
|
|
|
|
0
|
last; |
5535
|
|
|
|
|
|
|
} |
5536
|
94
|
50
|
|
|
|
313
|
Parse::RecDescent::_trace(q{>>Matched subrule: [personalname]<< (return value: [} |
5537
|
|
|
|
|
|
|
. $_tok . q{]}, |
5538
|
|
|
|
|
|
|
|
5539
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5540
|
|
|
|
|
|
|
q{addressstruct}, |
5541
|
|
|
|
|
|
|
$tracelevel) |
5542
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5543
|
94
|
|
|
|
|
209
|
$item{q{personalname}} = $_tok; |
5544
|
94
|
|
|
|
|
198
|
push @item, $_tok; |
5545
|
|
|
|
|
|
|
|
5546
|
|
|
|
|
|
|
} |
5547
|
|
|
|
|
|
|
|
5548
|
94
|
50
|
|
|
|
207
|
Parse::RecDescent::_trace(q{Trying subrule: [sourceroute]}, |
5549
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5550
|
|
|
|
|
|
|
q{addressstruct}, |
5551
|
|
|
|
|
|
|
$tracelevel) |
5552
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5553
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
181
|
|
|
94
|
|
|
|
|
160
|
|
5554
|
94
|
|
|
|
|
310
|
$expectation->is(q{sourceroute})->at($text); |
5555
|
94
|
50
|
|
94
|
|
1099
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::sourceroute($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
217
|
|
5556
|
|
|
|
|
|
|
{ |
5557
|
|
|
|
|
|
|
|
5558
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5559
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5560
|
|
|
|
|
|
|
q{addressstruct}, |
5561
|
|
|
|
|
|
|
$tracelevel) |
5562
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5563
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5564
|
0
|
|
|
|
|
0
|
last; |
5565
|
|
|
|
|
|
|
} |
5566
|
94
|
50
|
|
|
|
317
|
Parse::RecDescent::_trace(q{>>Matched subrule: [sourceroute]<< (return value: [} |
5567
|
|
|
|
|
|
|
. $_tok . q{]}, |
5568
|
|
|
|
|
|
|
|
5569
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5570
|
|
|
|
|
|
|
q{addressstruct}, |
5571
|
|
|
|
|
|
|
$tracelevel) |
5572
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5573
|
94
|
|
|
|
|
244
|
$item{q{sourceroute}} = $_tok; |
5574
|
94
|
|
|
|
|
185
|
push @item, $_tok; |
5575
|
|
|
|
|
|
|
|
5576
|
|
|
|
|
|
|
} |
5577
|
|
|
|
|
|
|
|
5578
|
94
|
50
|
|
|
|
266
|
Parse::RecDescent::_trace(q{Trying subrule: [mailboxname]}, |
5579
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5580
|
|
|
|
|
|
|
q{addressstruct}, |
5581
|
|
|
|
|
|
|
$tracelevel) |
5582
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5583
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
161
|
|
|
94
|
|
|
|
|
151
|
|
5584
|
94
|
|
|
|
|
330
|
$expectation->is(q{mailboxname})->at($text); |
5585
|
94
|
50
|
|
94
|
|
1092
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::mailboxname($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
266
|
|
5586
|
|
|
|
|
|
|
{ |
5587
|
|
|
|
|
|
|
|
5588
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5589
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5590
|
|
|
|
|
|
|
q{addressstruct}, |
5591
|
|
|
|
|
|
|
$tracelevel) |
5592
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5593
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5594
|
0
|
|
|
|
|
0
|
last; |
5595
|
|
|
|
|
|
|
} |
5596
|
94
|
50
|
|
|
|
341
|
Parse::RecDescent::_trace(q{>>Matched subrule: [mailboxname]<< (return value: [} |
5597
|
|
|
|
|
|
|
. $_tok . q{]}, |
5598
|
|
|
|
|
|
|
|
5599
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5600
|
|
|
|
|
|
|
q{addressstruct}, |
5601
|
|
|
|
|
|
|
$tracelevel) |
5602
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5603
|
94
|
|
|
|
|
226
|
$item{q{mailboxname}} = $_tok; |
5604
|
94
|
|
|
|
|
200
|
push @item, $_tok; |
5605
|
|
|
|
|
|
|
|
5606
|
|
|
|
|
|
|
} |
5607
|
|
|
|
|
|
|
|
5608
|
94
|
50
|
|
|
|
229
|
Parse::RecDescent::_trace(q{Trying subrule: [hostname]}, |
5609
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5610
|
|
|
|
|
|
|
q{addressstruct}, |
5611
|
|
|
|
|
|
|
$tracelevel) |
5612
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5613
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
731
|
|
|
94
|
|
|
|
|
155
|
|
5614
|
94
|
|
|
|
|
336
|
$expectation->is(q{hostname})->at($text); |
5615
|
94
|
50
|
|
94
|
|
1090
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::hostname($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
214
|
|
5616
|
|
|
|
|
|
|
{ |
5617
|
|
|
|
|
|
|
|
5618
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5619
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5620
|
|
|
|
|
|
|
q{addressstruct}, |
5621
|
|
|
|
|
|
|
$tracelevel) |
5622
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5623
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5624
|
0
|
|
|
|
|
0
|
last; |
5625
|
|
|
|
|
|
|
} |
5626
|
94
|
50
|
|
|
|
358
|
Parse::RecDescent::_trace(q{>>Matched subrule: [hostname]<< (return value: [} |
5627
|
|
|
|
|
|
|
. $_tok . q{]}, |
5628
|
|
|
|
|
|
|
|
5629
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5630
|
|
|
|
|
|
|
q{addressstruct}, |
5631
|
|
|
|
|
|
|
$tracelevel) |
5632
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5633
|
94
|
|
|
|
|
217
|
$item{q{hostname}} = $_tok; |
5634
|
94
|
|
|
|
|
183
|
push @item, $_tok; |
5635
|
|
|
|
|
|
|
|
5636
|
|
|
|
|
|
|
} |
5637
|
|
|
|
|
|
|
|
5638
|
94
|
50
|
|
|
|
221
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
5639
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5640
|
|
|
|
|
|
|
q{addressstruct}, |
5641
|
|
|
|
|
|
|
$tracelevel) |
5642
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5643
|
94
|
|
|
|
|
188
|
undef $lastsep; |
5644
|
94
|
|
|
|
|
347
|
$expectation->is(q{')'})->at($text); |
5645
|
|
|
|
|
|
|
|
5646
|
|
|
|
|
|
|
|
5647
|
94
|
50
|
33
|
|
|
1115
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
94
|
50
|
33
|
|
|
676
|
|
|
94
|
|
33
|
|
|
506
|
|
|
94
|
|
|
|
|
558
|
|
5648
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
5649
|
94
|
|
|
|
|
212
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
94
|
|
|
|
|
301
|
|
5650
|
|
|
|
|
|
|
) |
5651
|
|
|
|
|
|
|
{ |
5652
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
5653
|
|
|
|
|
|
|
|
5654
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5655
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5656
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5657
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5658
|
0
|
|
|
|
|
0
|
last; |
5659
|
|
|
|
|
|
|
} |
5660
|
94
|
50
|
|
|
|
268
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
5661
|
|
|
|
|
|
|
. $_tok . q{])}, |
5662
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5663
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5664
|
94
|
|
|
|
|
290
|
push @item, $item{__STRING2__}=$_tok; |
5665
|
|
|
|
|
|
|
|
5666
|
|
|
|
|
|
|
|
5667
|
94
|
50
|
|
|
|
235
|
Parse::RecDescent::_trace(q{Trying action}, |
5668
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5669
|
|
|
|
|
|
|
q{addressstruct}, |
5670
|
|
|
|
|
|
|
$tracelevel) |
5671
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5672
|
|
|
|
|
|
|
|
5673
|
|
|
|
|
|
|
|
5674
|
94
|
50
|
|
|
|
189
|
$_tok = ($_noactions) ? 0 : do { bless { personalname => $item{personalname} |
5675
|
|
|
|
|
|
|
, sourceroute => $item{sourceroute} |
5676
|
|
|
|
|
|
|
, mailboxname => $item{mailboxname} |
5677
|
|
|
|
|
|
|
, hostname => $item{hostname} |
5678
|
94
|
|
|
|
|
536
|
}, 'Mail::IMAPClient::BodyStructure::Address'; |
5679
|
|
|
|
|
|
|
}; |
5680
|
94
|
50
|
|
|
|
238
|
unless (defined $_tok) |
5681
|
|
|
|
|
|
|
{ |
5682
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
5683
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5684
|
0
|
|
|
|
|
0
|
last; |
5685
|
|
|
|
|
|
|
} |
5686
|
94
|
50
|
|
|
|
306
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
5687
|
|
|
|
|
|
|
. $_tok . q{])}, |
5688
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
5689
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5690
|
94
|
|
|
|
|
182
|
push @item, $_tok; |
5691
|
94
|
|
|
|
|
183
|
$item{__ACTION1__}=$_tok; |
5692
|
|
|
|
|
|
|
|
5693
|
|
|
|
|
|
|
|
5694
|
94
|
50
|
|
|
|
234
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' personalname sourceroute mailboxname hostname ')']<<}, |
5695
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5696
|
|
|
|
|
|
|
q{addressstruct}, |
5697
|
|
|
|
|
|
|
$tracelevel) |
5698
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5699
|
|
|
|
|
|
|
|
5700
|
|
|
|
|
|
|
|
5701
|
|
|
|
|
|
|
|
5702
|
94
|
|
|
|
|
167
|
$_matched = 1; |
5703
|
94
|
|
|
|
|
208
|
last; |
5704
|
|
|
|
|
|
|
} |
5705
|
|
|
|
|
|
|
|
5706
|
|
|
|
|
|
|
splice |
5707
|
188
|
100
|
|
|
|
472
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
94
|
|
|
|
|
220
|
|
5708
|
|
|
|
|
|
|
|
5709
|
188
|
100
|
66
|
|
|
617
|
unless ( $_matched || defined($score) ) |
5710
|
|
|
|
|
|
|
{ |
5711
|
94
|
|
|
|
|
152
|
splice @{$thisparser->{deferred}}, $def_at; |
|
94
|
|
|
|
|
163
|
|
5712
|
|
|
|
|
|
|
|
5713
|
|
|
|
|
|
|
|
5714
|
94
|
|
|
|
|
197
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
5715
|
94
|
50
|
|
|
|
222
|
Parse::RecDescent::_trace(q{<>}, |
5716
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5717
|
|
|
|
|
|
|
q{addressstruct}, |
5718
|
|
|
|
|
|
|
$tracelevel) |
5719
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5720
|
94
|
|
|
|
|
458
|
return undef; |
5721
|
|
|
|
|
|
|
} |
5722
|
94
|
50
|
33
|
|
|
375
|
if (!defined($return) && defined($score)) |
5723
|
|
|
|
|
|
|
{ |
5724
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
5725
|
|
|
|
|
|
|
q{addressstruct}, |
5726
|
|
|
|
|
|
|
$tracelevel) |
5727
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5728
|
0
|
|
|
|
|
0
|
$return = $score_return; |
5729
|
|
|
|
|
|
|
} |
5730
|
94
|
|
|
|
|
155
|
splice @{$thisparser->{errors}}, $err_at; |
|
94
|
|
|
|
|
235
|
|
5731
|
94
|
50
|
|
|
|
263
|
$return = $item[$#item] unless defined $return; |
5732
|
94
|
50
|
|
|
|
223
|
if (defined $::RD_TRACE) |
5733
|
|
|
|
|
|
|
{ |
5734
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
5735
|
|
|
|
|
|
|
$return . q{])}, "", |
5736
|
|
|
|
|
|
|
q{addressstruct}, |
5737
|
|
|
|
|
|
|
$tracelevel); |
5738
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
5739
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
5740
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5741
|
|
|
|
|
|
|
, q{addressstruct}, |
5742
|
|
|
|
|
|
|
$tracelevel) |
5743
|
|
|
|
|
|
|
} |
5744
|
94
|
|
|
|
|
314
|
$_[1] = $text; |
5745
|
94
|
|
|
|
|
644
|
return $return; |
5746
|
|
|
|
|
|
|
} |
5747
|
|
|
|
|
|
|
|
5748
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
5749
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::date |
5750
|
|
|
|
|
|
|
{ |
5751
|
24
|
|
|
24
|
|
59
|
my $thisparser = $_[0]; |
5752
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
339
|
|
5753
|
24
|
|
50
|
|
|
94
|
local $tracelevel = ($tracelevel||0)+1; |
5754
|
24
|
|
|
|
|
77
|
$ERRORS = 0; |
5755
|
24
|
|
|
|
|
86
|
my $thisrule = $thisparser->{"rules"}{"date"}; |
5756
|
|
|
|
|
|
|
|
5757
|
24
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{Trying rule: [date]}, |
5758
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5759
|
|
|
|
|
|
|
q{date}, |
5760
|
|
|
|
|
|
|
$tracelevel) |
5761
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5762
|
|
|
|
|
|
|
|
5763
|
24
|
|
|
|
|
46
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
67
|
|
5764
|
24
|
|
|
|
|
53
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
64
|
|
5765
|
|
|
|
|
|
|
|
5766
|
24
|
|
|
|
|
100
|
my $score; |
5767
|
|
|
|
|
|
|
my $score_return; |
5768
|
24
|
|
|
|
|
0
|
my $_tok; |
5769
|
24
|
|
|
|
|
46
|
my $return = undef; |
5770
|
24
|
|
|
|
|
43
|
my $_matched=0; |
5771
|
24
|
|
|
|
|
44
|
my $commit=0; |
5772
|
24
|
|
|
|
|
50
|
my @item = (); |
5773
|
24
|
|
|
|
|
49
|
my %item = (); |
5774
|
24
|
|
|
|
|
53
|
my $repeating = $_[2]; |
5775
|
24
|
|
|
|
|
42
|
my $_noactions = $_[3]; |
5776
|
24
|
50
|
|
|
|
70
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
47
|
|
|
24
|
|
|
|
|
47
|
|
5777
|
24
|
|
|
|
|
47
|
my $_itempos = $_[5]; |
5778
|
24
|
50
|
|
|
|
91
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
5779
|
24
|
|
|
|
|
75
|
my $text; |
5780
|
|
|
|
|
|
|
my $lastsep; |
5781
|
24
|
|
|
|
|
0
|
my $current_match; |
5782
|
24
|
|
|
|
|
64
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
5783
|
24
|
|
|
|
|
210
|
$expectation->at($_[1]); |
5784
|
|
|
|
|
|
|
|
5785
|
24
|
|
|
|
|
136
|
my $thisline; |
5786
|
24
|
|
|
|
|
111
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
5787
|
|
|
|
|
|
|
|
5788
|
|
|
|
|
|
|
|
5789
|
|
|
|
|
|
|
|
5790
|
24
|
|
33
|
|
|
250
|
while (!$_matched && !$commit) |
5791
|
|
|
|
|
|
|
{ |
5792
|
|
|
|
|
|
|
|
5793
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
5794
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5795
|
|
|
|
|
|
|
q{date}, |
5796
|
|
|
|
|
|
|
$tracelevel) |
5797
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5798
|
24
|
|
|
|
|
97
|
my $thisprod = $thisrule->{"prods"}[0]; |
5799
|
24
|
|
|
|
|
127
|
$text = $_[1]; |
5800
|
24
|
|
|
|
|
48
|
my $_savetext; |
5801
|
24
|
|
|
|
|
70
|
@item = (q{date}); |
5802
|
24
|
|
|
|
|
91
|
%item = (__RULE__ => q{date}); |
5803
|
24
|
|
|
|
|
53
|
my $repcount = 0; |
5804
|
|
|
|
|
|
|
|
5805
|
|
|
|
|
|
|
|
5806
|
24
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
5807
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5808
|
|
|
|
|
|
|
q{date}, |
5809
|
|
|
|
|
|
|
$tracelevel) |
5810
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5811
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
285
|
|
|
24
|
|
|
|
|
52
|
|
5812
|
24
|
|
|
|
|
71
|
$expectation->is(q{})->at($text); |
5813
|
24
|
50
|
|
24
|
|
263
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
58
|
|
5814
|
|
|
|
|
|
|
{ |
5815
|
|
|
|
|
|
|
|
5816
|
24
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{<>}, |
5817
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5818
|
|
|
|
|
|
|
q{date}, |
5819
|
|
|
|
|
|
|
$tracelevel) |
5820
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5821
|
24
|
|
|
|
|
77
|
$expectation->failed(); |
5822
|
24
|
|
|
|
|
94
|
last; |
5823
|
|
|
|
|
|
|
} |
5824
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
5825
|
|
|
|
|
|
|
. $_tok . q{]}, |
5826
|
|
|
|
|
|
|
|
5827
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5828
|
|
|
|
|
|
|
q{date}, |
5829
|
|
|
|
|
|
|
$tracelevel) |
5830
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5831
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
5832
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
5833
|
|
|
|
|
|
|
|
5834
|
|
|
|
|
|
|
} |
5835
|
|
|
|
|
|
|
|
5836
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
5837
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5838
|
|
|
|
|
|
|
q{date}, |
5839
|
|
|
|
|
|
|
$tracelevel) |
5840
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5841
|
|
|
|
|
|
|
|
5842
|
|
|
|
|
|
|
|
5843
|
|
|
|
|
|
|
|
5844
|
0
|
|
|
|
|
0
|
$_matched = 1; |
5845
|
0
|
|
|
|
|
0
|
last; |
5846
|
|
|
|
|
|
|
} |
5847
|
|
|
|
|
|
|
|
5848
|
|
|
|
|
|
|
splice |
5849
|
24
|
50
|
|
|
|
116
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
24
|
|
|
|
|
78
|
|
5850
|
|
|
|
|
|
|
|
5851
|
24
|
|
33
|
|
|
121
|
while (!$_matched && !$commit) |
5852
|
|
|
|
|
|
|
{ |
5853
|
|
|
|
|
|
|
|
5854
|
24
|
50
|
|
|
|
69
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
5855
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5856
|
|
|
|
|
|
|
q{date}, |
5857
|
|
|
|
|
|
|
$tracelevel) |
5858
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5859
|
24
|
|
|
|
|
73
|
my $thisprod = $thisrule->{"prods"}[1]; |
5860
|
24
|
|
|
|
|
72
|
$text = $_[1]; |
5861
|
24
|
|
|
|
|
55
|
my $_savetext; |
5862
|
24
|
|
|
|
|
66
|
@item = (q{date}); |
5863
|
24
|
|
|
|
|
80
|
%item = (__RULE__ => q{date}); |
5864
|
24
|
|
|
|
|
54
|
my $repcount = 0; |
5865
|
|
|
|
|
|
|
|
5866
|
|
|
|
|
|
|
|
5867
|
24
|
50
|
|
|
|
82
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
5868
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5869
|
|
|
|
|
|
|
q{date}, |
5870
|
|
|
|
|
|
|
$tracelevel) |
5871
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5872
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
504
|
|
|
24
|
|
|
|
|
54
|
|
5873
|
24
|
|
|
|
|
79
|
$expectation->is(q{})->at($text); |
5874
|
24
|
50
|
|
24
|
|
274
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
49
|
|
5875
|
|
|
|
|
|
|
{ |
5876
|
|
|
|
|
|
|
|
5877
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5878
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5879
|
|
|
|
|
|
|
q{date}, |
5880
|
|
|
|
|
|
|
$tracelevel) |
5881
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5882
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
5883
|
0
|
|
|
|
|
0
|
last; |
5884
|
|
|
|
|
|
|
} |
5885
|
24
|
50
|
|
|
|
98
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
5886
|
|
|
|
|
|
|
. $_tok . q{]}, |
5887
|
|
|
|
|
|
|
|
5888
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5889
|
|
|
|
|
|
|
q{date}, |
5890
|
|
|
|
|
|
|
$tracelevel) |
5891
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5892
|
24
|
|
|
|
|
65
|
$item{q{STRING}} = $_tok; |
5893
|
24
|
|
|
|
|
61
|
push @item, $_tok; |
5894
|
|
|
|
|
|
|
|
5895
|
|
|
|
|
|
|
} |
5896
|
|
|
|
|
|
|
|
5897
|
24
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
5898
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5899
|
|
|
|
|
|
|
q{date}, |
5900
|
|
|
|
|
|
|
$tracelevel) |
5901
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5902
|
|
|
|
|
|
|
|
5903
|
|
|
|
|
|
|
|
5904
|
|
|
|
|
|
|
|
5905
|
24
|
|
|
|
|
47
|
$_matched = 1; |
5906
|
24
|
|
|
|
|
50
|
last; |
5907
|
|
|
|
|
|
|
} |
5908
|
|
|
|
|
|
|
|
5909
|
|
|
|
|
|
|
splice |
5910
|
24
|
50
|
|
|
|
74
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
5911
|
|
|
|
|
|
|
|
5912
|
24
|
50
|
33
|
|
|
100
|
unless ( $_matched || defined($score) ) |
5913
|
|
|
|
|
|
|
{ |
5914
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
5915
|
|
|
|
|
|
|
|
5916
|
|
|
|
|
|
|
|
5917
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
5918
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
5919
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5920
|
|
|
|
|
|
|
q{date}, |
5921
|
|
|
|
|
|
|
$tracelevel) |
5922
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5923
|
0
|
|
|
|
|
0
|
return undef; |
5924
|
|
|
|
|
|
|
} |
5925
|
24
|
50
|
33
|
|
|
120
|
if (!defined($return) && defined($score)) |
5926
|
|
|
|
|
|
|
{ |
5927
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
5928
|
|
|
|
|
|
|
q{date}, |
5929
|
|
|
|
|
|
|
$tracelevel) |
5930
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5931
|
0
|
|
|
|
|
0
|
$return = $score_return; |
5932
|
|
|
|
|
|
|
} |
5933
|
24
|
|
|
|
|
69
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
62
|
|
5934
|
24
|
50
|
|
|
|
77
|
$return = $item[$#item] unless defined $return; |
5935
|
24
|
50
|
|
|
|
77
|
if (defined $::RD_TRACE) |
5936
|
|
|
|
|
|
|
{ |
5937
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
5938
|
|
|
|
|
|
|
$return . q{])}, "", |
5939
|
|
|
|
|
|
|
q{date}, |
5940
|
|
|
|
|
|
|
$tracelevel); |
5941
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
5942
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
5943
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
5944
|
|
|
|
|
|
|
, q{date}, |
5945
|
|
|
|
|
|
|
$tracelevel) |
5946
|
|
|
|
|
|
|
} |
5947
|
24
|
|
|
|
|
62
|
$_[1] = $text; |
5948
|
24
|
|
|
|
|
169
|
return $return; |
5949
|
|
|
|
|
|
|
} |
5950
|
|
|
|
|
|
|
|
5951
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
5952
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::hostname |
5953
|
|
|
|
|
|
|
{ |
5954
|
94
|
|
|
94
|
|
177
|
my $thisparser = $_[0]; |
5955
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
352
|
|
5956
|
94
|
|
50
|
|
|
265
|
local $tracelevel = ($tracelevel||0)+1; |
5957
|
94
|
|
|
|
|
168
|
$ERRORS = 0; |
5958
|
94
|
|
|
|
|
225
|
my $thisrule = $thisparser->{"rules"}{"hostname"}; |
5959
|
|
|
|
|
|
|
|
5960
|
94
|
50
|
|
|
|
278
|
Parse::RecDescent::_trace(q{Trying rule: [hostname]}, |
5961
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5962
|
|
|
|
|
|
|
q{hostname}, |
5963
|
|
|
|
|
|
|
$tracelevel) |
5964
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
5965
|
|
|
|
|
|
|
|
5966
|
94
|
|
|
|
|
163
|
my $def_at = @{$thisparser->{deferred}}; |
|
94
|
|
|
|
|
197
|
|
5967
|
94
|
|
|
|
|
169
|
my $err_at = @{$thisparser->{errors}}; |
|
94
|
|
|
|
|
178
|
|
5968
|
|
|
|
|
|
|
|
5969
|
94
|
|
|
|
|
248
|
my $score; |
5970
|
|
|
|
|
|
|
my $score_return; |
5971
|
94
|
|
|
|
|
0
|
my $_tok; |
5972
|
94
|
|
|
|
|
151
|
my $return = undef; |
5973
|
94
|
|
|
|
|
165
|
my $_matched=0; |
5974
|
94
|
|
|
|
|
477
|
my $commit=0; |
5975
|
94
|
|
|
|
|
199
|
my @item = (); |
5976
|
94
|
|
|
|
|
190
|
my %item = (); |
5977
|
94
|
|
|
|
|
151
|
my $repeating = $_[2]; |
5978
|
94
|
|
|
|
|
149
|
my $_noactions = $_[3]; |
5979
|
94
|
50
|
|
|
|
286
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
94
|
|
|
|
|
133
|
|
|
94
|
|
|
|
|
209
|
|
5980
|
94
|
|
|
|
|
192
|
my $_itempos = $_[5]; |
5981
|
94
|
50
|
|
|
|
250
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
5982
|
94
|
|
|
|
|
260
|
my $text; |
5983
|
|
|
|
|
|
|
my $lastsep; |
5984
|
94
|
|
|
|
|
0
|
my $current_match; |
5985
|
94
|
|
|
|
|
288
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
5986
|
94
|
|
|
|
|
684
|
$expectation->at($_[1]); |
5987
|
|
|
|
|
|
|
|
5988
|
94
|
|
|
|
|
395
|
my $thisline; |
5989
|
94
|
|
|
|
|
344
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
5990
|
|
|
|
|
|
|
|
5991
|
|
|
|
|
|
|
|
5992
|
|
|
|
|
|
|
|
5993
|
94
|
|
33
|
|
|
830
|
while (!$_matched && !$commit) |
5994
|
|
|
|
|
|
|
{ |
5995
|
|
|
|
|
|
|
|
5996
|
94
|
50
|
|
|
|
250
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
5997
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
5998
|
|
|
|
|
|
|
q{hostname}, |
5999
|
|
|
|
|
|
|
$tracelevel) |
6000
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6001
|
94
|
|
|
|
|
232
|
my $thisprod = $thisrule->{"prods"}[0]; |
6002
|
94
|
|
|
|
|
180
|
$text = $_[1]; |
6003
|
94
|
|
|
|
|
136
|
my $_savetext; |
6004
|
94
|
|
|
|
|
224
|
@item = (q{hostname}); |
6005
|
94
|
|
|
|
|
191
|
%item = (__RULE__ => q{hostname}); |
6006
|
94
|
|
|
|
|
143
|
my $repcount = 0; |
6007
|
|
|
|
|
|
|
|
6008
|
|
|
|
|
|
|
|
6009
|
94
|
50
|
|
|
|
206
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
6010
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6011
|
|
|
|
|
|
|
q{hostname}, |
6012
|
|
|
|
|
|
|
$tracelevel) |
6013
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6014
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
289
|
|
|
94
|
|
|
|
|
205
|
|
6015
|
94
|
|
|
|
|
224
|
$expectation->is(q{})->at($text); |
6016
|
94
|
50
|
|
94
|
|
933
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
186
|
|
6017
|
|
|
|
|
|
|
{ |
6018
|
|
|
|
|
|
|
|
6019
|
94
|
50
|
|
|
|
216
|
Parse::RecDescent::_trace(q{<>}, |
6020
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6021
|
|
|
|
|
|
|
q{hostname}, |
6022
|
|
|
|
|
|
|
$tracelevel) |
6023
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6024
|
94
|
|
|
|
|
291
|
$expectation->failed(); |
6025
|
94
|
|
|
|
|
323
|
last; |
6026
|
|
|
|
|
|
|
} |
6027
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
6028
|
|
|
|
|
|
|
. $_tok . q{]}, |
6029
|
|
|
|
|
|
|
|
6030
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6031
|
|
|
|
|
|
|
q{hostname}, |
6032
|
|
|
|
|
|
|
$tracelevel) |
6033
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6034
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
6035
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
6036
|
|
|
|
|
|
|
|
6037
|
|
|
|
|
|
|
} |
6038
|
|
|
|
|
|
|
|
6039
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
6040
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6041
|
|
|
|
|
|
|
q{hostname}, |
6042
|
|
|
|
|
|
|
$tracelevel) |
6043
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6044
|
|
|
|
|
|
|
|
6045
|
|
|
|
|
|
|
|
6046
|
|
|
|
|
|
|
|
6047
|
0
|
|
|
|
|
0
|
$_matched = 1; |
6048
|
0
|
|
|
|
|
0
|
last; |
6049
|
|
|
|
|
|
|
} |
6050
|
|
|
|
|
|
|
|
6051
|
|
|
|
|
|
|
splice |
6052
|
94
|
50
|
|
|
|
346
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
94
|
|
|
|
|
220
|
|
6053
|
|
|
|
|
|
|
|
6054
|
94
|
|
33
|
|
|
383
|
while (!$_matched && !$commit) |
6055
|
|
|
|
|
|
|
{ |
6056
|
|
|
|
|
|
|
|
6057
|
94
|
50
|
|
|
|
218
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
6058
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6059
|
|
|
|
|
|
|
q{hostname}, |
6060
|
|
|
|
|
|
|
$tracelevel) |
6061
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6062
|
94
|
|
|
|
|
197
|
my $thisprod = $thisrule->{"prods"}[1]; |
6063
|
94
|
|
|
|
|
169
|
$text = $_[1]; |
6064
|
94
|
|
|
|
|
156
|
my $_savetext; |
6065
|
94
|
|
|
|
|
236
|
@item = (q{hostname}); |
6066
|
94
|
|
|
|
|
239
|
%item = (__RULE__ => q{hostname}); |
6067
|
94
|
|
|
|
|
151
|
my $repcount = 0; |
6068
|
|
|
|
|
|
|
|
6069
|
|
|
|
|
|
|
|
6070
|
94
|
50
|
|
|
|
179
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
6071
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6072
|
|
|
|
|
|
|
q{hostname}, |
6073
|
|
|
|
|
|
|
$tracelevel) |
6074
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6075
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
448
|
|
|
94
|
|
|
|
|
149
|
|
6076
|
94
|
|
|
|
|
219
|
$expectation->is(q{})->at($text); |
6077
|
94
|
50
|
|
94
|
|
952
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
188
|
|
6078
|
|
|
|
|
|
|
{ |
6079
|
|
|
|
|
|
|
|
6080
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6081
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6082
|
|
|
|
|
|
|
q{hostname}, |
6083
|
|
|
|
|
|
|
$tracelevel) |
6084
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6085
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6086
|
0
|
|
|
|
|
0
|
last; |
6087
|
|
|
|
|
|
|
} |
6088
|
94
|
50
|
|
|
|
331
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
6089
|
|
|
|
|
|
|
. $_tok . q{]}, |
6090
|
|
|
|
|
|
|
|
6091
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6092
|
|
|
|
|
|
|
q{hostname}, |
6093
|
|
|
|
|
|
|
$tracelevel) |
6094
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6095
|
94
|
|
|
|
|
206
|
$item{q{STRING}} = $_tok; |
6096
|
94
|
|
|
|
|
203
|
push @item, $_tok; |
6097
|
|
|
|
|
|
|
|
6098
|
|
|
|
|
|
|
} |
6099
|
|
|
|
|
|
|
|
6100
|
94
|
50
|
|
|
|
239
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
6101
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6102
|
|
|
|
|
|
|
q{hostname}, |
6103
|
|
|
|
|
|
|
$tracelevel) |
6104
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6105
|
|
|
|
|
|
|
|
6106
|
|
|
|
|
|
|
|
6107
|
|
|
|
|
|
|
|
6108
|
94
|
|
|
|
|
167
|
$_matched = 1; |
6109
|
94
|
|
|
|
|
169
|
last; |
6110
|
|
|
|
|
|
|
} |
6111
|
|
|
|
|
|
|
|
6112
|
|
|
|
|
|
|
splice |
6113
|
94
|
50
|
|
|
|
266
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
6114
|
|
|
|
|
|
|
|
6115
|
94
|
50
|
33
|
|
|
301
|
unless ( $_matched || defined($score) ) |
6116
|
|
|
|
|
|
|
{ |
6117
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
6118
|
|
|
|
|
|
|
|
6119
|
|
|
|
|
|
|
|
6120
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
6121
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6122
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6123
|
|
|
|
|
|
|
q{hostname}, |
6124
|
|
|
|
|
|
|
$tracelevel) |
6125
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6126
|
0
|
|
|
|
|
0
|
return undef; |
6127
|
|
|
|
|
|
|
} |
6128
|
94
|
50
|
33
|
|
|
412
|
if (!defined($return) && defined($score)) |
6129
|
|
|
|
|
|
|
{ |
6130
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
6131
|
|
|
|
|
|
|
q{hostname}, |
6132
|
|
|
|
|
|
|
$tracelevel) |
6133
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6134
|
0
|
|
|
|
|
0
|
$return = $score_return; |
6135
|
|
|
|
|
|
|
} |
6136
|
94
|
|
|
|
|
173
|
splice @{$thisparser->{errors}}, $err_at; |
|
94
|
|
|
|
|
204
|
|
6137
|
94
|
50
|
|
|
|
298
|
$return = $item[$#item] unless defined $return; |
6138
|
94
|
50
|
|
|
|
234
|
if (defined $::RD_TRACE) |
6139
|
|
|
|
|
|
|
{ |
6140
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
6141
|
|
|
|
|
|
|
$return . q{])}, "", |
6142
|
|
|
|
|
|
|
q{hostname}, |
6143
|
|
|
|
|
|
|
$tracelevel); |
6144
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
6145
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
6146
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6147
|
|
|
|
|
|
|
, q{hostname}, |
6148
|
|
|
|
|
|
|
$tracelevel) |
6149
|
|
|
|
|
|
|
} |
6150
|
94
|
|
|
|
|
233
|
$_[1] = $text; |
6151
|
94
|
|
|
|
|
502
|
return $return; |
6152
|
|
|
|
|
|
|
} |
6153
|
|
|
|
|
|
|
|
6154
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
6155
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::HTML |
6156
|
|
|
|
|
|
|
{ |
6157
|
51
|
|
|
51
|
|
111
|
my $thisparser = $_[0]; |
6158
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
918
|
|
6159
|
51
|
|
50
|
|
|
154
|
local $tracelevel = ($tracelevel||0)+1; |
6160
|
51
|
|
|
|
|
111
|
$ERRORS = 0; |
6161
|
51
|
|
|
|
|
154
|
my $thisrule = $thisparser->{"rules"}{"HTML"}; |
6162
|
|
|
|
|
|
|
|
6163
|
51
|
50
|
|
|
|
133
|
Parse::RecDescent::_trace(q{Trying rule: [HTML]}, |
6164
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6165
|
|
|
|
|
|
|
q{HTML}, |
6166
|
|
|
|
|
|
|
$tracelevel) |
6167
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6168
|
|
|
|
|
|
|
|
6169
|
51
|
|
|
|
|
82
|
my $def_at = @{$thisparser->{deferred}}; |
|
51
|
|
|
|
|
127
|
|
6170
|
51
|
|
|
|
|
85
|
my $err_at = @{$thisparser->{errors}}; |
|
51
|
|
|
|
|
141
|
|
6171
|
|
|
|
|
|
|
|
6172
|
51
|
|
|
|
|
165
|
my $score; |
6173
|
|
|
|
|
|
|
my $score_return; |
6174
|
51
|
|
|
|
|
0
|
my $_tok; |
6175
|
51
|
|
|
|
|
123
|
my $return = undef; |
6176
|
51
|
|
|
|
|
89
|
my $_matched=0; |
6177
|
51
|
|
|
|
|
101
|
my $commit=0; |
6178
|
51
|
|
|
|
|
98
|
my @item = (); |
6179
|
51
|
|
|
|
|
102
|
my %item = (); |
6180
|
51
|
|
|
|
|
91
|
my $repeating = $_[2]; |
6181
|
51
|
|
|
|
|
126
|
my $_noactions = $_[3]; |
6182
|
51
|
50
|
|
|
|
152
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
51
|
|
|
|
|
100
|
|
|
51
|
|
|
|
|
116
|
|
6183
|
51
|
|
|
|
|
116
|
my $_itempos = $_[5]; |
6184
|
51
|
50
|
|
|
|
194
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
6185
|
51
|
|
|
|
|
156
|
my $text; |
6186
|
|
|
|
|
|
|
my $lastsep; |
6187
|
51
|
|
|
|
|
0
|
my $current_match; |
6188
|
51
|
|
|
|
|
138
|
my $expectation = new Parse::RecDescent::Expectation(q{/"HTML"|HTML/i}); |
6189
|
51
|
|
|
|
|
348
|
$expectation->at($_[1]); |
6190
|
|
|
|
|
|
|
|
6191
|
51
|
|
|
|
|
212
|
my $thisline; |
6192
|
51
|
|
|
|
|
179
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
6193
|
|
|
|
|
|
|
|
6194
|
|
|
|
|
|
|
|
6195
|
|
|
|
|
|
|
|
6196
|
51
|
|
33
|
|
|
493
|
while (!$_matched && !$commit) |
6197
|
|
|
|
|
|
|
{ |
6198
|
|
|
|
|
|
|
|
6199
|
51
|
50
|
|
|
|
128
|
Parse::RecDescent::_trace(q{Trying production: [/"HTML"|HTML/i]}, |
6200
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6201
|
|
|
|
|
|
|
q{HTML}, |
6202
|
|
|
|
|
|
|
$tracelevel) |
6203
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6204
|
51
|
|
|
|
|
176
|
my $thisprod = $thisrule->{"prods"}[0]; |
6205
|
51
|
|
|
|
|
106
|
$text = $_[1]; |
6206
|
51
|
|
|
|
|
77
|
my $_savetext; |
6207
|
51
|
|
|
|
|
111
|
@item = (q{HTML}); |
6208
|
51
|
|
|
|
|
142
|
%item = (__RULE__ => q{HTML}); |
6209
|
51
|
|
|
|
|
98
|
my $repcount = 0; |
6210
|
|
|
|
|
|
|
|
6211
|
|
|
|
|
|
|
|
6212
|
51
|
50
|
|
|
|
154
|
Parse::RecDescent::_trace(q{Trying terminal: [/"HTML"|HTML/i]}, Parse::RecDescent::_tracefirst($text), |
6213
|
|
|
|
|
|
|
q{HTML}, |
6214
|
|
|
|
|
|
|
$tracelevel) |
6215
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6216
|
51
|
|
|
|
|
130
|
undef $lastsep; |
6217
|
51
|
|
|
|
|
141
|
$expectation->is(q{})->at($text); |
6218
|
|
|
|
|
|
|
|
6219
|
|
|
|
|
|
|
|
6220
|
51
|
50
|
66
|
|
|
714
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:"HTML"|HTML)/i) |
|
51
|
100
|
|
|
|
666
|
|
6221
|
|
|
|
|
|
|
{ |
6222
|
43
|
50
|
|
|
|
221
|
$text = $lastsep . $text if defined $lastsep; |
6223
|
43
|
|
|
|
|
173
|
$expectation->failed(); |
6224
|
43
|
50
|
|
|
|
237
|
Parse::RecDescent::_trace(q{<>}, |
6225
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6226
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6227
|
|
|
|
|
|
|
|
6228
|
43
|
|
|
|
|
106
|
last; |
6229
|
|
|
|
|
|
|
} |
6230
|
8
|
|
|
|
|
53
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
6231
|
8
|
|
|
|
|
37
|
substr($text,0,length($current_match),q{}); |
6232
|
8
|
50
|
|
|
|
28
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
6233
|
|
|
|
|
|
|
. $current_match . q{])}, |
6234
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6235
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6236
|
8
|
|
|
|
|
27
|
push @item, $item{__PATTERN1__}=$current_match; |
6237
|
|
|
|
|
|
|
|
6238
|
|
|
|
|
|
|
|
6239
|
8
|
50
|
|
|
|
33
|
Parse::RecDescent::_trace(q{Trying action}, |
6240
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6241
|
|
|
|
|
|
|
q{HTML}, |
6242
|
|
|
|
|
|
|
$tracelevel) |
6243
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6244
|
|
|
|
|
|
|
|
6245
|
|
|
|
|
|
|
|
6246
|
8
|
50
|
|
|
|
22
|
$_tok = ($_noactions) ? 0 : do { $return = "HTML" }; |
|
8
|
|
|
|
|
22
|
|
6247
|
8
|
50
|
|
|
|
24
|
unless (defined $_tok) |
6248
|
|
|
|
|
|
|
{ |
6249
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
6250
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6251
|
0
|
|
|
|
|
0
|
last; |
6252
|
|
|
|
|
|
|
} |
6253
|
8
|
50
|
|
|
|
25
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
6254
|
|
|
|
|
|
|
. $_tok . q{])}, |
6255
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6256
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6257
|
8
|
|
|
|
|
31
|
push @item, $_tok; |
6258
|
8
|
|
|
|
|
21
|
$item{__ACTION1__}=$_tok; |
6259
|
|
|
|
|
|
|
|
6260
|
|
|
|
|
|
|
|
6261
|
8
|
50
|
|
|
|
25
|
Parse::RecDescent::_trace(q{>>Matched production: [/"HTML"|HTML/i]<<}, |
6262
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6263
|
|
|
|
|
|
|
q{HTML}, |
6264
|
|
|
|
|
|
|
$tracelevel) |
6265
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6266
|
|
|
|
|
|
|
|
6267
|
|
|
|
|
|
|
|
6268
|
|
|
|
|
|
|
|
6269
|
8
|
|
|
|
|
19
|
$_matched = 1; |
6270
|
8
|
|
|
|
|
21
|
last; |
6271
|
|
|
|
|
|
|
} |
6272
|
|
|
|
|
|
|
|
6273
|
|
|
|
|
|
|
splice |
6274
|
51
|
100
|
|
|
|
161
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
43
|
|
|
|
|
116
|
|
6275
|
|
|
|
|
|
|
|
6276
|
51
|
100
|
66
|
|
|
246
|
unless ( $_matched || defined($score) ) |
6277
|
|
|
|
|
|
|
{ |
6278
|
43
|
|
|
|
|
84
|
splice @{$thisparser->{deferred}}, $def_at; |
|
43
|
|
|
|
|
89
|
|
6279
|
|
|
|
|
|
|
|
6280
|
|
|
|
|
|
|
|
6281
|
43
|
|
|
|
|
94
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
6282
|
43
|
50
|
|
|
|
124
|
Parse::RecDescent::_trace(q{<>}, |
6283
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6284
|
|
|
|
|
|
|
q{HTML}, |
6285
|
|
|
|
|
|
|
$tracelevel) |
6286
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6287
|
43
|
|
|
|
|
298
|
return undef; |
6288
|
|
|
|
|
|
|
} |
6289
|
8
|
50
|
33
|
|
|
35
|
if (!defined($return) && defined($score)) |
6290
|
|
|
|
|
|
|
{ |
6291
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
6292
|
|
|
|
|
|
|
q{HTML}, |
6293
|
|
|
|
|
|
|
$tracelevel) |
6294
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6295
|
0
|
|
|
|
|
0
|
$return = $score_return; |
6296
|
|
|
|
|
|
|
} |
6297
|
8
|
|
|
|
|
17
|
splice @{$thisparser->{errors}}, $err_at; |
|
8
|
|
|
|
|
40
|
|
6298
|
8
|
50
|
|
|
|
28
|
$return = $item[$#item] unless defined $return; |
6299
|
8
|
50
|
|
|
|
28
|
if (defined $::RD_TRACE) |
6300
|
|
|
|
|
|
|
{ |
6301
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
6302
|
|
|
|
|
|
|
$return . q{])}, "", |
6303
|
|
|
|
|
|
|
q{HTML}, |
6304
|
|
|
|
|
|
|
$tracelevel); |
6305
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
6306
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
6307
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6308
|
|
|
|
|
|
|
, q{HTML}, |
6309
|
|
|
|
|
|
|
$tracelevel) |
6310
|
|
|
|
|
|
|
} |
6311
|
8
|
|
|
|
|
26
|
$_[1] = $text; |
6312
|
8
|
|
|
|
|
59
|
return $return; |
6313
|
|
|
|
|
|
|
} |
6314
|
|
|
|
|
|
|
|
6315
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
6316
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::kvpair |
6317
|
|
|
|
|
|
|
{ |
6318
|
249
|
|
|
249
|
|
4524
|
my $thisparser = $_[0]; |
6319
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
509
|
|
6320
|
249
|
|
50
|
|
|
668
|
local $tracelevel = ($tracelevel||0)+1; |
6321
|
249
|
|
|
|
|
397
|
$ERRORS = 0; |
6322
|
249
|
|
|
|
|
577
|
my $thisrule = $thisparser->{"rules"}{"kvpair"}; |
6323
|
|
|
|
|
|
|
|
6324
|
249
|
50
|
|
|
|
519
|
Parse::RecDescent::_trace(q{Trying rule: [kvpair]}, |
6325
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6326
|
|
|
|
|
|
|
q{kvpair}, |
6327
|
|
|
|
|
|
|
$tracelevel) |
6328
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6329
|
|
|
|
|
|
|
|
6330
|
249
|
|
|
|
|
345
|
my $def_at = @{$thisparser->{deferred}}; |
|
249
|
|
|
|
|
543
|
|
6331
|
249
|
|
|
|
|
447
|
my $err_at = @{$thisparser->{errors}}; |
|
249
|
|
|
|
|
434
|
|
6332
|
|
|
|
|
|
|
|
6333
|
249
|
|
|
|
|
686
|
my $score; |
6334
|
|
|
|
|
|
|
my $score_return; |
6335
|
249
|
|
|
|
|
0
|
my $_tok; |
6336
|
249
|
|
|
|
|
379
|
my $return = undef; |
6337
|
249
|
|
|
|
|
364
|
my $_matched=0; |
6338
|
249
|
|
|
|
|
389
|
my $commit=0; |
6339
|
249
|
|
|
|
|
449
|
my @item = (); |
6340
|
249
|
|
|
|
|
495
|
my %item = (); |
6341
|
249
|
|
|
|
|
373
|
my $repeating = $_[2]; |
6342
|
249
|
|
|
|
|
431
|
my $_noactions = $_[3]; |
6343
|
249
|
50
|
|
|
|
570
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
249
|
|
|
|
|
442
|
|
|
249
|
|
|
|
|
498
|
|
6344
|
249
|
|
|
|
|
536
|
my $_itempos = $_[5]; |
6345
|
249
|
50
|
|
|
|
598
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
6346
|
249
|
|
|
|
|
622
|
my $text; |
6347
|
|
|
|
|
|
|
my $lastsep; |
6348
|
249
|
|
|
|
|
0
|
my $current_match; |
6349
|
249
|
|
|
|
|
659
|
my $expectation = new Parse::RecDescent::Expectation(q{')'}); |
6350
|
249
|
|
|
|
|
1719
|
$expectation->at($_[1]); |
6351
|
|
|
|
|
|
|
|
6352
|
249
|
|
|
|
|
1017
|
my $thisline; |
6353
|
249
|
|
|
|
|
825
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
6354
|
|
|
|
|
|
|
|
6355
|
|
|
|
|
|
|
|
6356
|
|
|
|
|
|
|
|
6357
|
249
|
|
33
|
|
|
1960
|
while (!$_matched && !$commit) |
6358
|
|
|
|
|
|
|
{ |
6359
|
|
|
|
|
|
|
|
6360
|
249
|
50
|
|
|
|
561
|
Parse::RecDescent::_trace(q{Trying production: [')' key value]}, |
6361
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6362
|
|
|
|
|
|
|
q{kvpair}, |
6363
|
|
|
|
|
|
|
$tracelevel) |
6364
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6365
|
249
|
|
|
|
|
581
|
my $thisprod = $thisrule->{"prods"}[0]; |
6366
|
249
|
|
|
|
|
448
|
$text = $_[1]; |
6367
|
249
|
|
|
|
|
358
|
my $_savetext; |
6368
|
249
|
|
|
|
|
507
|
@item = (q{kvpair}); |
6369
|
249
|
|
|
|
|
565
|
%item = (__RULE__ => q{kvpair}); |
6370
|
249
|
|
|
|
|
403
|
my $repcount = 0; |
6371
|
|
|
|
|
|
|
|
6372
|
|
|
|
|
|
|
|
6373
|
249
|
50
|
|
|
|
472
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
6374
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6375
|
|
|
|
|
|
|
q{kvpair}, |
6376
|
|
|
|
|
|
|
$tracelevel) |
6377
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6378
|
249
|
|
|
|
|
539
|
undef $lastsep; |
6379
|
249
|
|
|
|
|
621
|
$expectation->is(q{})->at($text); |
6380
|
249
|
|
|
|
|
1717
|
$_savetext = $text; |
6381
|
|
|
|
|
|
|
|
6382
|
249
|
100
|
33
|
|
|
1538
|
if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
249
|
50
|
66
|
|
|
1687
|
|
|
249
|
|
66
|
|
|
476
|
|
|
249
|
|
|
|
|
1324
|
|
6383
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
6384
|
120
|
|
|
|
|
317
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
120
|
|
|
|
|
398
|
|
6385
|
|
|
|
|
|
|
) |
6386
|
|
|
|
|
|
|
{ |
6387
|
120
|
|
|
|
|
291
|
$text = $_savetext; |
6388
|
|
|
|
|
|
|
|
6389
|
120
|
|
|
|
|
400
|
$expectation->failed(); |
6390
|
120
|
50
|
|
|
|
589
|
Parse::RecDescent::_trace(q{<>}, |
6391
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6392
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6393
|
120
|
|
|
|
|
307
|
last; |
6394
|
|
|
|
|
|
|
} |
6395
|
129
|
50
|
|
|
|
353
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
6396
|
|
|
|
|
|
|
. $_tok . q{])}, |
6397
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6398
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6399
|
129
|
|
|
|
|
347
|
push @item, $item{__STRING1__}=$_tok; |
6400
|
129
|
|
|
|
|
290
|
$text = $_savetext; |
6401
|
|
|
|
|
|
|
|
6402
|
129
|
50
|
|
|
|
417
|
Parse::RecDescent::_trace(q{Trying subrule: [key]}, |
6403
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6404
|
|
|
|
|
|
|
q{kvpair}, |
6405
|
|
|
|
|
|
|
$tracelevel) |
6406
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6407
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
168
|
|
|
129
|
|
|
|
|
278
|
|
6408
|
129
|
|
|
|
|
405
|
$expectation->is(q{key})->at($text); |
6409
|
129
|
50
|
|
129
|
|
1573
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::key($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
129
|
|
|
|
|
279
|
|
6410
|
|
|
|
|
|
|
{ |
6411
|
|
|
|
|
|
|
|
6412
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6413
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6414
|
|
|
|
|
|
|
q{kvpair}, |
6415
|
|
|
|
|
|
|
$tracelevel) |
6416
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6417
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6418
|
0
|
|
|
|
|
0
|
last; |
6419
|
|
|
|
|
|
|
} |
6420
|
129
|
50
|
|
|
|
472
|
Parse::RecDescent::_trace(q{>>Matched subrule: [key]<< (return value: [} |
6421
|
|
|
|
|
|
|
. $_tok . q{]}, |
6422
|
|
|
|
|
|
|
|
6423
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6424
|
|
|
|
|
|
|
q{kvpair}, |
6425
|
|
|
|
|
|
|
$tracelevel) |
6426
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6427
|
129
|
|
|
|
|
326
|
$item{q{key}} = $_tok; |
6428
|
129
|
|
|
|
|
314
|
push @item, $_tok; |
6429
|
|
|
|
|
|
|
|
6430
|
|
|
|
|
|
|
} |
6431
|
|
|
|
|
|
|
|
6432
|
129
|
50
|
|
|
|
299
|
Parse::RecDescent::_trace(q{Trying subrule: [value]}, |
6433
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6434
|
|
|
|
|
|
|
q{kvpair}, |
6435
|
|
|
|
|
|
|
$tracelevel) |
6436
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6437
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
566
|
|
|
129
|
|
|
|
|
266
|
|
6438
|
129
|
|
|
|
|
397
|
$expectation->is(q{value})->at($text); |
6439
|
129
|
50
|
|
129
|
|
1555
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::value($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
129
|
|
|
|
|
325
|
|
6440
|
|
|
|
|
|
|
{ |
6441
|
|
|
|
|
|
|
|
6442
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6443
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6444
|
|
|
|
|
|
|
q{kvpair}, |
6445
|
|
|
|
|
|
|
$tracelevel) |
6446
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6447
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6448
|
0
|
|
|
|
|
0
|
last; |
6449
|
|
|
|
|
|
|
} |
6450
|
129
|
50
|
|
|
|
523
|
Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [} |
6451
|
|
|
|
|
|
|
. $_tok . q{]}, |
6452
|
|
|
|
|
|
|
|
6453
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6454
|
|
|
|
|
|
|
q{kvpair}, |
6455
|
|
|
|
|
|
|
$tracelevel) |
6456
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6457
|
129
|
|
|
|
|
334
|
$item{q{value}} = $_tok; |
6458
|
129
|
|
|
|
|
294
|
push @item, $_tok; |
6459
|
|
|
|
|
|
|
|
6460
|
|
|
|
|
|
|
} |
6461
|
|
|
|
|
|
|
|
6462
|
129
|
50
|
|
|
|
342
|
Parse::RecDescent::_trace(q{Trying action}, |
6463
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6464
|
|
|
|
|
|
|
q{kvpair}, |
6465
|
|
|
|
|
|
|
$tracelevel) |
6466
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6467
|
|
|
|
|
|
|
|
6468
|
|
|
|
|
|
|
|
6469
|
129
|
50
|
|
|
|
375
|
$_tok = ($_noactions) ? 0 : do { $return = { $item{key} => $item{value} } }; |
|
129
|
|
|
|
|
476
|
|
6470
|
129
|
50
|
|
|
|
415
|
unless (defined $_tok) |
6471
|
|
|
|
|
|
|
{ |
6472
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
6473
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6474
|
0
|
|
|
|
|
0
|
last; |
6475
|
|
|
|
|
|
|
} |
6476
|
129
|
50
|
|
|
|
392
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
6477
|
|
|
|
|
|
|
. $_tok . q{])}, |
6478
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
6479
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6480
|
129
|
|
|
|
|
278
|
push @item, $_tok; |
6481
|
129
|
|
|
|
|
269
|
$item{__ACTION1__}=$_tok; |
6482
|
|
|
|
|
|
|
|
6483
|
|
|
|
|
|
|
|
6484
|
129
|
50
|
|
|
|
335
|
Parse::RecDescent::_trace(q{>>Matched production: [')' key value]<<}, |
6485
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6486
|
|
|
|
|
|
|
q{kvpair}, |
6487
|
|
|
|
|
|
|
$tracelevel) |
6488
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6489
|
|
|
|
|
|
|
|
6490
|
|
|
|
|
|
|
|
6491
|
|
|
|
|
|
|
|
6492
|
129
|
|
|
|
|
299
|
$_matched = 1; |
6493
|
129
|
|
|
|
|
305
|
last; |
6494
|
|
|
|
|
|
|
} |
6495
|
|
|
|
|
|
|
|
6496
|
|
|
|
|
|
|
splice |
6497
|
249
|
100
|
|
|
|
582
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
120
|
|
|
|
|
353
|
|
6498
|
|
|
|
|
|
|
|
6499
|
249
|
100
|
66
|
|
|
837
|
unless ( $_matched || defined($score) ) |
6500
|
|
|
|
|
|
|
{ |
6501
|
120
|
|
|
|
|
218
|
splice @{$thisparser->{deferred}}, $def_at; |
|
120
|
|
|
|
|
262
|
|
6502
|
|
|
|
|
|
|
|
6503
|
|
|
|
|
|
|
|
6504
|
120
|
|
|
|
|
284
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
6505
|
120
|
50
|
|
|
|
337
|
Parse::RecDescent::_trace(q{<>}, |
6506
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6507
|
|
|
|
|
|
|
q{kvpair}, |
6508
|
|
|
|
|
|
|
$tracelevel) |
6509
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6510
|
120
|
|
|
|
|
588
|
return undef; |
6511
|
|
|
|
|
|
|
} |
6512
|
129
|
50
|
33
|
|
|
418
|
if (!defined($return) && defined($score)) |
6513
|
|
|
|
|
|
|
{ |
6514
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
6515
|
|
|
|
|
|
|
q{kvpair}, |
6516
|
|
|
|
|
|
|
$tracelevel) |
6517
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6518
|
0
|
|
|
|
|
0
|
$return = $score_return; |
6519
|
|
|
|
|
|
|
} |
6520
|
129
|
|
|
|
|
212
|
splice @{$thisparser->{errors}}, $err_at; |
|
129
|
|
|
|
|
328
|
|
6521
|
129
|
50
|
|
|
|
331
|
$return = $item[$#item] unless defined $return; |
6522
|
129
|
50
|
|
|
|
318
|
if (defined $::RD_TRACE) |
6523
|
|
|
|
|
|
|
{ |
6524
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
6525
|
|
|
|
|
|
|
$return . q{])}, "", |
6526
|
|
|
|
|
|
|
q{kvpair}, |
6527
|
|
|
|
|
|
|
$tracelevel); |
6528
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
6529
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
6530
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6531
|
|
|
|
|
|
|
, q{kvpair}, |
6532
|
|
|
|
|
|
|
$tracelevel) |
6533
|
|
|
|
|
|
|
} |
6534
|
129
|
|
|
|
|
259
|
$_[1] = $text; |
6535
|
129
|
|
|
|
|
720
|
return $return; |
6536
|
|
|
|
|
|
|
} |
6537
|
|
|
|
|
|
|
|
6538
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
6539
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::replyto |
6540
|
|
|
|
|
|
|
{ |
6541
|
24
|
|
|
24
|
|
53
|
my $thisparser = $_[0]; |
6542
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
354
|
|
6543
|
24
|
|
50
|
|
|
87
|
local $tracelevel = ($tracelevel||0)+1; |
6544
|
24
|
|
|
|
|
67
|
$ERRORS = 0; |
6545
|
24
|
|
|
|
|
90
|
my $thisrule = $thisparser->{"rules"}{"replyto"}; |
6546
|
|
|
|
|
|
|
|
6547
|
24
|
50
|
|
|
|
75
|
Parse::RecDescent::_trace(q{Trying rule: [replyto]}, |
6548
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6549
|
|
|
|
|
|
|
q{replyto}, |
6550
|
|
|
|
|
|
|
$tracelevel) |
6551
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6552
|
|
|
|
|
|
|
|
6553
|
24
|
|
|
|
|
47
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
59
|
|
6554
|
24
|
|
|
|
|
36
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
52
|
|
6555
|
|
|
|
|
|
|
|
6556
|
24
|
|
|
|
|
85
|
my $score; |
6557
|
|
|
|
|
|
|
my $score_return; |
6558
|
24
|
|
|
|
|
0
|
my $_tok; |
6559
|
24
|
|
|
|
|
53
|
my $return = undef; |
6560
|
24
|
|
|
|
|
55
|
my $_matched=0; |
6561
|
24
|
|
|
|
|
52
|
my $commit=0; |
6562
|
24
|
|
|
|
|
57
|
my @item = (); |
6563
|
24
|
|
|
|
|
52
|
my %item = (); |
6564
|
24
|
|
|
|
|
58
|
my $repeating = $_[2]; |
6565
|
24
|
|
|
|
|
46
|
my $_noactions = $_[3]; |
6566
|
24
|
50
|
|
|
|
86
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
43
|
|
|
24
|
|
|
|
|
52
|
|
6567
|
24
|
|
|
|
|
51
|
my $_itempos = $_[5]; |
6568
|
24
|
50
|
|
|
|
93
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
6569
|
24
|
|
|
|
|
87
|
my $text; |
6570
|
|
|
|
|
|
|
my $lastsep; |
6571
|
24
|
|
|
|
|
0
|
my $current_match; |
6572
|
24
|
|
|
|
|
79
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
6573
|
24
|
|
|
|
|
189
|
$expectation->at($_[1]); |
6574
|
|
|
|
|
|
|
|
6575
|
24
|
|
|
|
|
116
|
my $thisline; |
6576
|
24
|
|
|
|
|
100
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
6577
|
|
|
|
|
|
|
|
6578
|
|
|
|
|
|
|
|
6579
|
|
|
|
|
|
|
|
6580
|
24
|
|
33
|
|
|
228
|
while (!$_matched && !$commit) |
6581
|
|
|
|
|
|
|
{ |
6582
|
|
|
|
|
|
|
|
6583
|
24
|
50
|
|
|
|
74
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
6584
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6585
|
|
|
|
|
|
|
q{replyto}, |
6586
|
|
|
|
|
|
|
$tracelevel) |
6587
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6588
|
24
|
|
|
|
|
81
|
my $thisprod = $thisrule->{"prods"}[0]; |
6589
|
24
|
|
|
|
|
67
|
$text = $_[1]; |
6590
|
24
|
|
|
|
|
53
|
my $_savetext; |
6591
|
24
|
|
|
|
|
89
|
@item = (q{replyto}); |
6592
|
24
|
|
|
|
|
76
|
%item = (__RULE__ => q{replyto}); |
6593
|
24
|
|
|
|
|
59
|
my $repcount = 0; |
6594
|
|
|
|
|
|
|
|
6595
|
|
|
|
|
|
|
|
6596
|
24
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
6597
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6598
|
|
|
|
|
|
|
q{replyto}, |
6599
|
|
|
|
|
|
|
$tracelevel) |
6600
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6601
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
456
|
|
|
24
|
|
|
|
|
60
|
|
6602
|
24
|
|
|
|
|
83
|
$expectation->is(q{})->at($text); |
6603
|
24
|
50
|
|
24
|
|
265
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
53
|
|
6604
|
|
|
|
|
|
|
{ |
6605
|
|
|
|
|
|
|
|
6606
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6607
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6608
|
|
|
|
|
|
|
q{replyto}, |
6609
|
|
|
|
|
|
|
$tracelevel) |
6610
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6611
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6612
|
0
|
|
|
|
|
0
|
last; |
6613
|
|
|
|
|
|
|
} |
6614
|
24
|
50
|
|
|
|
121
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
6615
|
|
|
|
|
|
|
. $_tok . q{]}, |
6616
|
|
|
|
|
|
|
|
6617
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6618
|
|
|
|
|
|
|
q{replyto}, |
6619
|
|
|
|
|
|
|
$tracelevel) |
6620
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6621
|
24
|
|
|
|
|
74
|
$item{q{ADDRESSES}} = $_tok; |
6622
|
24
|
|
|
|
|
69
|
push @item, $_tok; |
6623
|
|
|
|
|
|
|
|
6624
|
|
|
|
|
|
|
} |
6625
|
|
|
|
|
|
|
|
6626
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
6627
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6628
|
|
|
|
|
|
|
q{replyto}, |
6629
|
|
|
|
|
|
|
$tracelevel) |
6630
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6631
|
|
|
|
|
|
|
|
6632
|
|
|
|
|
|
|
|
6633
|
|
|
|
|
|
|
|
6634
|
24
|
|
|
|
|
49
|
$_matched = 1; |
6635
|
24
|
|
|
|
|
46
|
last; |
6636
|
|
|
|
|
|
|
} |
6637
|
|
|
|
|
|
|
|
6638
|
|
|
|
|
|
|
splice |
6639
|
24
|
50
|
|
|
|
108
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
6640
|
|
|
|
|
|
|
|
6641
|
24
|
50
|
33
|
|
|
91
|
unless ( $_matched || defined($score) ) |
6642
|
|
|
|
|
|
|
{ |
6643
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
6644
|
|
|
|
|
|
|
|
6645
|
|
|
|
|
|
|
|
6646
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
6647
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6648
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6649
|
|
|
|
|
|
|
q{replyto}, |
6650
|
|
|
|
|
|
|
$tracelevel) |
6651
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6652
|
0
|
|
|
|
|
0
|
return undef; |
6653
|
|
|
|
|
|
|
} |
6654
|
24
|
50
|
33
|
|
|
158
|
if (!defined($return) && defined($score)) |
6655
|
|
|
|
|
|
|
{ |
6656
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
6657
|
|
|
|
|
|
|
q{replyto}, |
6658
|
|
|
|
|
|
|
$tracelevel) |
6659
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6660
|
0
|
|
|
|
|
0
|
$return = $score_return; |
6661
|
|
|
|
|
|
|
} |
6662
|
24
|
|
|
|
|
51
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
77
|
|
6663
|
24
|
50
|
|
|
|
81
|
$return = $item[$#item] unless defined $return; |
6664
|
24
|
50
|
|
|
|
83
|
if (defined $::RD_TRACE) |
6665
|
|
|
|
|
|
|
{ |
6666
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
6667
|
|
|
|
|
|
|
$return . q{])}, "", |
6668
|
|
|
|
|
|
|
q{replyto}, |
6669
|
|
|
|
|
|
|
$tracelevel); |
6670
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
6671
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
6672
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6673
|
|
|
|
|
|
|
, q{replyto}, |
6674
|
|
|
|
|
|
|
$tracelevel) |
6675
|
|
|
|
|
|
|
} |
6676
|
24
|
|
|
|
|
60
|
$_[1] = $text; |
6677
|
24
|
|
|
|
|
170
|
return $return; |
6678
|
|
|
|
|
|
|
} |
6679
|
|
|
|
|
|
|
|
6680
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
6681
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::mailboxname |
6682
|
|
|
|
|
|
|
{ |
6683
|
94
|
|
|
94
|
|
195
|
my $thisparser = $_[0]; |
6684
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
350
|
|
6685
|
94
|
|
50
|
|
|
248
|
local $tracelevel = ($tracelevel||0)+1; |
6686
|
94
|
|
|
|
|
168
|
$ERRORS = 0; |
6687
|
94
|
|
|
|
|
244
|
my $thisrule = $thisparser->{"rules"}{"mailboxname"}; |
6688
|
|
|
|
|
|
|
|
6689
|
94
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{Trying rule: [mailboxname]}, |
6690
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6691
|
|
|
|
|
|
|
q{mailboxname}, |
6692
|
|
|
|
|
|
|
$tracelevel) |
6693
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6694
|
|
|
|
|
|
|
|
6695
|
94
|
|
|
|
|
147
|
my $def_at = @{$thisparser->{deferred}}; |
|
94
|
|
|
|
|
212
|
|
6696
|
94
|
|
|
|
|
237
|
my $err_at = @{$thisparser->{errors}}; |
|
94
|
|
|
|
|
200
|
|
6697
|
|
|
|
|
|
|
|
6698
|
94
|
|
|
|
|
289
|
my $score; |
6699
|
|
|
|
|
|
|
my $score_return; |
6700
|
94
|
|
|
|
|
0
|
my $_tok; |
6701
|
94
|
|
|
|
|
166
|
my $return = undef; |
6702
|
94
|
|
|
|
|
156
|
my $_matched=0; |
6703
|
94
|
|
|
|
|
204
|
my $commit=0; |
6704
|
94
|
|
|
|
|
179
|
my @item = (); |
6705
|
94
|
|
|
|
|
154
|
my %item = (); |
6706
|
94
|
|
|
|
|
162
|
my $repeating = $_[2]; |
6707
|
94
|
|
|
|
|
148
|
my $_noactions = $_[3]; |
6708
|
94
|
50
|
|
|
|
218
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
94
|
|
|
|
|
148
|
|
|
94
|
|
|
|
|
163
|
|
6709
|
94
|
|
|
|
|
157
|
my $_itempos = $_[5]; |
6710
|
94
|
50
|
|
|
|
254
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
6711
|
94
|
|
|
|
|
281
|
my $text; |
6712
|
|
|
|
|
|
|
my $lastsep; |
6713
|
94
|
|
|
|
|
0
|
my $current_match; |
6714
|
94
|
|
|
|
|
260
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
6715
|
94
|
|
|
|
|
620
|
$expectation->at($_[1]); |
6716
|
|
|
|
|
|
|
|
6717
|
94
|
|
|
|
|
460
|
my $thisline; |
6718
|
94
|
|
|
|
|
331
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
6719
|
|
|
|
|
|
|
|
6720
|
|
|
|
|
|
|
|
6721
|
|
|
|
|
|
|
|
6722
|
94
|
|
33
|
|
|
792
|
while (!$_matched && !$commit) |
6723
|
|
|
|
|
|
|
{ |
6724
|
|
|
|
|
|
|
|
6725
|
94
|
50
|
|
|
|
264
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
6726
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6727
|
|
|
|
|
|
|
q{mailboxname}, |
6728
|
|
|
|
|
|
|
$tracelevel) |
6729
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6730
|
94
|
|
|
|
|
236
|
my $thisprod = $thisrule->{"prods"}[0]; |
6731
|
94
|
|
|
|
|
179
|
$text = $_[1]; |
6732
|
94
|
|
|
|
|
145
|
my $_savetext; |
6733
|
94
|
|
|
|
|
199
|
@item = (q{mailboxname}); |
6734
|
94
|
|
|
|
|
234
|
%item = (__RULE__ => q{mailboxname}); |
6735
|
94
|
|
|
|
|
157
|
my $repcount = 0; |
6736
|
|
|
|
|
|
|
|
6737
|
|
|
|
|
|
|
|
6738
|
94
|
50
|
|
|
|
227
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
6739
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6740
|
|
|
|
|
|
|
q{mailboxname}, |
6741
|
|
|
|
|
|
|
$tracelevel) |
6742
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6743
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
279
|
|
|
94
|
|
|
|
|
162
|
|
6744
|
94
|
|
|
|
|
212
|
$expectation->is(q{})->at($text); |
6745
|
94
|
50
|
|
94
|
|
873
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
200
|
|
6746
|
|
|
|
|
|
|
{ |
6747
|
|
|
|
|
|
|
|
6748
|
94
|
50
|
|
|
|
266
|
Parse::RecDescent::_trace(q{<>}, |
6749
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6750
|
|
|
|
|
|
|
q{mailboxname}, |
6751
|
|
|
|
|
|
|
$tracelevel) |
6752
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6753
|
94
|
|
|
|
|
291
|
$expectation->failed(); |
6754
|
94
|
|
|
|
|
326
|
last; |
6755
|
|
|
|
|
|
|
} |
6756
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
6757
|
|
|
|
|
|
|
. $_tok . q{]}, |
6758
|
|
|
|
|
|
|
|
6759
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6760
|
|
|
|
|
|
|
q{mailboxname}, |
6761
|
|
|
|
|
|
|
$tracelevel) |
6762
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6763
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
6764
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
6765
|
|
|
|
|
|
|
|
6766
|
|
|
|
|
|
|
} |
6767
|
|
|
|
|
|
|
|
6768
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
6769
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6770
|
|
|
|
|
|
|
q{mailboxname}, |
6771
|
|
|
|
|
|
|
$tracelevel) |
6772
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6773
|
|
|
|
|
|
|
|
6774
|
|
|
|
|
|
|
|
6775
|
|
|
|
|
|
|
|
6776
|
0
|
|
|
|
|
0
|
$_matched = 1; |
6777
|
0
|
|
|
|
|
0
|
last; |
6778
|
|
|
|
|
|
|
} |
6779
|
|
|
|
|
|
|
|
6780
|
|
|
|
|
|
|
splice |
6781
|
94
|
50
|
|
|
|
339
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
94
|
|
|
|
|
227
|
|
6782
|
|
|
|
|
|
|
|
6783
|
94
|
|
33
|
|
|
397
|
while (!$_matched && !$commit) |
6784
|
|
|
|
|
|
|
{ |
6785
|
|
|
|
|
|
|
|
6786
|
94
|
50
|
|
|
|
231
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
6787
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6788
|
|
|
|
|
|
|
q{mailboxname}, |
6789
|
|
|
|
|
|
|
$tracelevel) |
6790
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6791
|
94
|
|
|
|
|
205
|
my $thisprod = $thisrule->{"prods"}[1]; |
6792
|
94
|
|
|
|
|
216
|
$text = $_[1]; |
6793
|
94
|
|
|
|
|
152
|
my $_savetext; |
6794
|
94
|
|
|
|
|
219
|
@item = (q{mailboxname}); |
6795
|
94
|
|
|
|
|
236
|
%item = (__RULE__ => q{mailboxname}); |
6796
|
94
|
|
|
|
|
144
|
my $repcount = 0; |
6797
|
|
|
|
|
|
|
|
6798
|
|
|
|
|
|
|
|
6799
|
94
|
50
|
|
|
|
206
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
6800
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6801
|
|
|
|
|
|
|
q{mailboxname}, |
6802
|
|
|
|
|
|
|
$tracelevel) |
6803
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6804
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
9
|
|
|
1
|
|
|
|
|
446
|
|
|
94
|
|
|
|
|
146
|
|
6805
|
94
|
|
|
|
|
274
|
$expectation->is(q{})->at($text); |
6806
|
94
|
50
|
|
94
|
|
973
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
214
|
|
6807
|
|
|
|
|
|
|
{ |
6808
|
|
|
|
|
|
|
|
6809
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6810
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6811
|
|
|
|
|
|
|
q{mailboxname}, |
6812
|
|
|
|
|
|
|
$tracelevel) |
6813
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6814
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6815
|
0
|
|
|
|
|
0
|
last; |
6816
|
|
|
|
|
|
|
} |
6817
|
94
|
50
|
|
|
|
366
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
6818
|
|
|
|
|
|
|
. $_tok . q{]}, |
6819
|
|
|
|
|
|
|
|
6820
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6821
|
|
|
|
|
|
|
q{mailboxname}, |
6822
|
|
|
|
|
|
|
$tracelevel) |
6823
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6824
|
94
|
|
|
|
|
235
|
$item{q{STRING}} = $_tok; |
6825
|
94
|
|
|
|
|
187
|
push @item, $_tok; |
6826
|
|
|
|
|
|
|
|
6827
|
|
|
|
|
|
|
} |
6828
|
|
|
|
|
|
|
|
6829
|
94
|
50
|
|
|
|
222
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
6830
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6831
|
|
|
|
|
|
|
q{mailboxname}, |
6832
|
|
|
|
|
|
|
$tracelevel) |
6833
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6834
|
|
|
|
|
|
|
|
6835
|
|
|
|
|
|
|
|
6836
|
|
|
|
|
|
|
|
6837
|
94
|
|
|
|
|
156
|
$_matched = 1; |
6838
|
94
|
|
|
|
|
192
|
last; |
6839
|
|
|
|
|
|
|
} |
6840
|
|
|
|
|
|
|
|
6841
|
|
|
|
|
|
|
splice |
6842
|
94
|
50
|
|
|
|
219
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
6843
|
|
|
|
|
|
|
|
6844
|
94
|
50
|
33
|
|
|
291
|
unless ( $_matched || defined($score) ) |
6845
|
|
|
|
|
|
|
{ |
6846
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
6847
|
|
|
|
|
|
|
|
6848
|
|
|
|
|
|
|
|
6849
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
6850
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6851
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6852
|
|
|
|
|
|
|
q{mailboxname}, |
6853
|
|
|
|
|
|
|
$tracelevel) |
6854
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6855
|
0
|
|
|
|
|
0
|
return undef; |
6856
|
|
|
|
|
|
|
} |
6857
|
94
|
50
|
33
|
|
|
390
|
if (!defined($return) && defined($score)) |
6858
|
|
|
|
|
|
|
{ |
6859
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
6860
|
|
|
|
|
|
|
q{mailboxname}, |
6861
|
|
|
|
|
|
|
$tracelevel) |
6862
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6863
|
0
|
|
|
|
|
0
|
$return = $score_return; |
6864
|
|
|
|
|
|
|
} |
6865
|
94
|
|
|
|
|
169
|
splice @{$thisparser->{errors}}, $err_at; |
|
94
|
|
|
|
|
205
|
|
6866
|
94
|
50
|
|
|
|
315
|
$return = $item[$#item] unless defined $return; |
6867
|
94
|
50
|
|
|
|
240
|
if (defined $::RD_TRACE) |
6868
|
|
|
|
|
|
|
{ |
6869
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
6870
|
|
|
|
|
|
|
$return . q{])}, "", |
6871
|
|
|
|
|
|
|
q{mailboxname}, |
6872
|
|
|
|
|
|
|
$tracelevel); |
6873
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
6874
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
6875
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6876
|
|
|
|
|
|
|
, q{mailboxname}, |
6877
|
|
|
|
|
|
|
$tracelevel) |
6878
|
|
|
|
|
|
|
} |
6879
|
94
|
|
|
|
|
237
|
$_[1] = $text; |
6880
|
94
|
|
|
|
|
485
|
return $return; |
6881
|
|
|
|
|
|
|
} |
6882
|
|
|
|
|
|
|
|
6883
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
6884
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::basicfields |
6885
|
|
|
|
|
|
|
{ |
6886
|
51
|
|
|
51
|
|
119
|
my $thisparser = $_[0]; |
6887
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
348
|
|
6888
|
51
|
|
50
|
|
|
222
|
local $tracelevel = ($tracelevel||0)+1; |
6889
|
51
|
|
|
|
|
104
|
$ERRORS = 0; |
6890
|
51
|
|
|
|
|
205
|
my $thisrule = $thisparser->{"rules"}{"basicfields"}; |
6891
|
|
|
|
|
|
|
|
6892
|
51
|
50
|
|
|
|
154
|
Parse::RecDescent::_trace(q{Trying rule: [basicfields]}, |
6893
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6894
|
|
|
|
|
|
|
q{basicfields}, |
6895
|
|
|
|
|
|
|
$tracelevel) |
6896
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6897
|
|
|
|
|
|
|
|
6898
|
51
|
|
|
|
|
103
|
my $def_at = @{$thisparser->{deferred}}; |
|
51
|
|
|
|
|
130
|
|
6899
|
51
|
|
|
|
|
99
|
my $err_at = @{$thisparser->{errors}}; |
|
51
|
|
|
|
|
141
|
|
6900
|
|
|
|
|
|
|
|
6901
|
51
|
|
|
|
|
167
|
my $score; |
6902
|
|
|
|
|
|
|
my $score_return; |
6903
|
51
|
|
|
|
|
0
|
my $_tok; |
6904
|
51
|
|
|
|
|
91
|
my $return = undef; |
6905
|
51
|
|
|
|
|
121
|
my $_matched=0; |
6906
|
51
|
|
|
|
|
91
|
my $commit=0; |
6907
|
51
|
|
|
|
|
134
|
my @item = (); |
6908
|
51
|
|
|
|
|
97
|
my %item = (); |
6909
|
51
|
|
|
|
|
94
|
my $repeating = $_[2]; |
6910
|
51
|
|
|
|
|
96
|
my $_noactions = $_[3]; |
6911
|
51
|
50
|
|
|
|
148
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
51
|
|
|
|
|
85
|
|
|
51
|
|
|
|
|
101
|
|
6912
|
51
|
|
|
|
|
107
|
my $_itempos = $_[5]; |
6913
|
51
|
50
|
|
|
|
172
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
6914
|
51
|
|
|
|
|
167
|
my $text; |
6915
|
|
|
|
|
|
|
my $lastsep; |
6916
|
51
|
|
|
|
|
0
|
my $current_match; |
6917
|
51
|
|
|
|
|
175
|
my $expectation = new Parse::RecDescent::Expectation(q{bodysubtype}); |
6918
|
51
|
|
|
|
|
487
|
$expectation->at($_[1]); |
6919
|
|
|
|
|
|
|
|
6920
|
51
|
|
|
|
|
206
|
my $thisline; |
6921
|
51
|
|
|
|
|
216
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
6922
|
|
|
|
|
|
|
|
6923
|
|
|
|
|
|
|
|
6924
|
|
|
|
|
|
|
|
6925
|
51
|
|
33
|
|
|
508
|
while (!$_matched && !$commit) |
6926
|
|
|
|
|
|
|
{ |
6927
|
|
|
|
|
|
|
|
6928
|
51
|
50
|
|
|
|
160
|
Parse::RecDescent::_trace(q{Trying production: [bodysubtype bodyparms bodyid bodydesc bodyenc bodysize]}, |
6929
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
6930
|
|
|
|
|
|
|
q{basicfields}, |
6931
|
|
|
|
|
|
|
$tracelevel) |
6932
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6933
|
51
|
|
|
|
|
156
|
my $thisprod = $thisrule->{"prods"}[0]; |
6934
|
51
|
|
|
|
|
143
|
$text = $_[1]; |
6935
|
51
|
|
|
|
|
129
|
my $_savetext; |
6936
|
51
|
|
|
|
|
149
|
@item = (q{basicfields}); |
6937
|
51
|
|
|
|
|
190
|
%item = (__RULE__ => q{basicfields}); |
6938
|
51
|
|
|
|
|
114
|
my $repcount = 0; |
6939
|
|
|
|
|
|
|
|
6940
|
|
|
|
|
|
|
|
6941
|
51
|
50
|
|
|
|
153
|
Parse::RecDescent::_trace(q{Trying subrule: [bodysubtype]}, |
6942
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6943
|
|
|
|
|
|
|
q{basicfields}, |
6944
|
|
|
|
|
|
|
$tracelevel) |
6945
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6946
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1173
|
|
|
51
|
|
|
|
|
89
|
|
6947
|
51
|
|
|
|
|
247
|
$expectation->is(q{})->at($text); |
6948
|
51
|
50
|
|
51
|
|
630
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysubtype($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
51
|
|
|
|
|
110
|
|
6949
|
|
|
|
|
|
|
{ |
6950
|
|
|
|
|
|
|
|
6951
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6952
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6953
|
|
|
|
|
|
|
q{basicfields}, |
6954
|
|
|
|
|
|
|
$tracelevel) |
6955
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6956
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
6957
|
0
|
|
|
|
|
0
|
last; |
6958
|
|
|
|
|
|
|
} |
6959
|
51
|
50
|
|
|
|
250
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodysubtype]<< (return value: [} |
6960
|
|
|
|
|
|
|
. $_tok . q{]}, |
6961
|
|
|
|
|
|
|
|
6962
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6963
|
|
|
|
|
|
|
q{basicfields}, |
6964
|
|
|
|
|
|
|
$tracelevel) |
6965
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6966
|
51
|
|
|
|
|
165
|
$item{q{bodysubtype}} = $_tok; |
6967
|
51
|
|
|
|
|
122
|
push @item, $_tok; |
6968
|
|
|
|
|
|
|
|
6969
|
|
|
|
|
|
|
} |
6970
|
|
|
|
|
|
|
|
6971
|
51
|
50
|
|
|
|
156
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyparms]}, |
6972
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6973
|
|
|
|
|
|
|
q{basicfields}, |
6974
|
|
|
|
|
|
|
$tracelevel) |
6975
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6976
|
51
|
|
|
|
|
175
|
$expectation->is(q{bodyparms})->at($text); |
6977
|
|
|
|
|
|
|
|
6978
|
51
|
50
|
|
51
|
|
707
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyparms, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
51
|
|
|
|
|
118
|
|
6979
|
|
|
|
|
|
|
{ |
6980
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
6981
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6982
|
|
|
|
|
|
|
q{basicfields}, |
6983
|
|
|
|
|
|
|
$tracelevel) |
6984
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6985
|
0
|
|
|
|
|
0
|
last; |
6986
|
|
|
|
|
|
|
} |
6987
|
51
|
50
|
|
|
|
969
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyparms]<< (} |
6988
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
6989
|
|
|
|
|
|
|
|
6990
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
6991
|
|
|
|
|
|
|
q{basicfields}, |
6992
|
|
|
|
|
|
|
$tracelevel) |
6993
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
6994
|
51
|
|
|
|
|
171
|
$item{q{bodyparms(?)}} = $_tok; |
6995
|
51
|
|
|
|
|
123
|
push @item, $_tok; |
6996
|
|
|
|
|
|
|
|
6997
|
|
|
|
|
|
|
|
6998
|
|
|
|
|
|
|
|
6999
|
51
|
50
|
|
|
|
151
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyid]}, |
7000
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7001
|
|
|
|
|
|
|
q{basicfields}, |
7002
|
|
|
|
|
|
|
$tracelevel) |
7003
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7004
|
51
|
|
|
|
|
188
|
$expectation->is(q{bodyid})->at($text); |
7005
|
|
|
|
|
|
|
|
7006
|
51
|
50
|
|
51
|
|
751
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyid, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
51
|
|
|
|
|
136
|
|
7007
|
|
|
|
|
|
|
{ |
7008
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7009
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7010
|
|
|
|
|
|
|
q{basicfields}, |
7011
|
|
|
|
|
|
|
$tracelevel) |
7012
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7013
|
0
|
|
|
|
|
0
|
last; |
7014
|
|
|
|
|
|
|
} |
7015
|
51
|
50
|
|
|
|
916
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyid]<< (} |
7016
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7017
|
|
|
|
|
|
|
|
7018
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7019
|
|
|
|
|
|
|
q{basicfields}, |
7020
|
|
|
|
|
|
|
$tracelevel) |
7021
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7022
|
51
|
|
|
|
|
148
|
$item{q{bodyid(?)}} = $_tok; |
7023
|
51
|
|
|
|
|
149
|
push @item, $_tok; |
7024
|
|
|
|
|
|
|
|
7025
|
|
|
|
|
|
|
|
7026
|
|
|
|
|
|
|
|
7027
|
51
|
50
|
|
|
|
157
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodydesc]}, |
7028
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7029
|
|
|
|
|
|
|
q{basicfields}, |
7030
|
|
|
|
|
|
|
$tracelevel) |
7031
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7032
|
51
|
|
|
|
|
205
|
$expectation->is(q{bodydesc})->at($text); |
7033
|
|
|
|
|
|
|
|
7034
|
51
|
50
|
|
51
|
|
671
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydesc, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
51
|
|
|
|
|
162
|
|
7035
|
|
|
|
|
|
|
{ |
7036
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7037
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7038
|
|
|
|
|
|
|
q{basicfields}, |
7039
|
|
|
|
|
|
|
$tracelevel) |
7040
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7041
|
0
|
|
|
|
|
0
|
last; |
7042
|
|
|
|
|
|
|
} |
7043
|
51
|
50
|
|
|
|
909
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodydesc]<< (} |
7044
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7045
|
|
|
|
|
|
|
|
7046
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7047
|
|
|
|
|
|
|
q{basicfields}, |
7048
|
|
|
|
|
|
|
$tracelevel) |
7049
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7050
|
51
|
|
|
|
|
169
|
$item{q{bodydesc(?)}} = $_tok; |
7051
|
51
|
|
|
|
|
125
|
push @item, $_tok; |
7052
|
|
|
|
|
|
|
|
7053
|
|
|
|
|
|
|
|
7054
|
|
|
|
|
|
|
|
7055
|
51
|
50
|
|
|
|
155
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyenc]}, |
7056
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7057
|
|
|
|
|
|
|
q{basicfields}, |
7058
|
|
|
|
|
|
|
$tracelevel) |
7059
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7060
|
51
|
|
|
|
|
175
|
$expectation->is(q{bodyenc})->at($text); |
7061
|
|
|
|
|
|
|
|
7062
|
51
|
50
|
|
51
|
|
685
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyenc, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
51
|
|
|
|
|
143
|
|
7063
|
|
|
|
|
|
|
{ |
7064
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7065
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7066
|
|
|
|
|
|
|
q{basicfields}, |
7067
|
|
|
|
|
|
|
$tracelevel) |
7068
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7069
|
0
|
|
|
|
|
0
|
last; |
7070
|
|
|
|
|
|
|
} |
7071
|
51
|
50
|
|
|
|
932
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyenc]<< (} |
7072
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7073
|
|
|
|
|
|
|
|
7074
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7075
|
|
|
|
|
|
|
q{basicfields}, |
7076
|
|
|
|
|
|
|
$tracelevel) |
7077
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7078
|
51
|
|
|
|
|
152
|
$item{q{bodyenc(?)}} = $_tok; |
7079
|
51
|
|
|
|
|
110
|
push @item, $_tok; |
7080
|
|
|
|
|
|
|
|
7081
|
|
|
|
|
|
|
|
7082
|
|
|
|
|
|
|
|
7083
|
51
|
50
|
|
|
|
153
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodysize]}, |
7084
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7085
|
|
|
|
|
|
|
q{basicfields}, |
7086
|
|
|
|
|
|
|
$tracelevel) |
7087
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7088
|
51
|
|
|
|
|
172
|
$expectation->is(q{bodysize})->at($text); |
7089
|
|
|
|
|
|
|
|
7090
|
51
|
50
|
|
51
|
|
670
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysize, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
51
|
|
|
|
|
228
|
|
7091
|
|
|
|
|
|
|
{ |
7092
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7093
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7094
|
|
|
|
|
|
|
q{basicfields}, |
7095
|
|
|
|
|
|
|
$tracelevel) |
7096
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7097
|
0
|
|
|
|
|
0
|
last; |
7098
|
|
|
|
|
|
|
} |
7099
|
51
|
50
|
|
|
|
960
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodysize]<< (} |
7100
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7101
|
|
|
|
|
|
|
|
7102
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7103
|
|
|
|
|
|
|
q{basicfields}, |
7104
|
|
|
|
|
|
|
$tracelevel) |
7105
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7106
|
51
|
|
|
|
|
136
|
$item{q{bodysize(?)}} = $_tok; |
7107
|
51
|
|
|
|
|
105
|
push @item, $_tok; |
7108
|
|
|
|
|
|
|
|
7109
|
|
|
|
|
|
|
|
7110
|
|
|
|
|
|
|
|
7111
|
51
|
50
|
|
|
|
197
|
Parse::RecDescent::_trace(q{Trying action}, |
7112
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7113
|
|
|
|
|
|
|
q{basicfields}, |
7114
|
|
|
|
|
|
|
$tracelevel) |
7115
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7116
|
|
|
|
|
|
|
|
7117
|
|
|
|
|
|
|
|
7118
|
51
|
50
|
|
|
|
146
|
$_tok = ($_noactions) ? 0 : do { $return = { bodysubtype => $item{bodysubtype} }; |
|
51
|
|
|
|
|
196
|
|
7119
|
51
|
|
|
|
|
285
|
take_optional_items($return, \%item, |
7120
|
|
|
|
|
|
|
qw/bodyparms bodyid bodydesc bodyenc bodysize/); |
7121
|
51
|
|
|
|
|
122
|
1; |
7122
|
|
|
|
|
|
|
}; |
7123
|
51
|
50
|
|
|
|
158
|
unless (defined $_tok) |
7124
|
|
|
|
|
|
|
{ |
7125
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
7126
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7127
|
0
|
|
|
|
|
0
|
last; |
7128
|
|
|
|
|
|
|
} |
7129
|
51
|
50
|
|
|
|
215
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
7130
|
|
|
|
|
|
|
. $_tok . q{])}, |
7131
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7132
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7133
|
51
|
|
|
|
|
120
|
push @item, $_tok; |
7134
|
51
|
|
|
|
|
128
|
$item{__ACTION1__}=$_tok; |
7135
|
|
|
|
|
|
|
|
7136
|
|
|
|
|
|
|
|
7137
|
51
|
50
|
|
|
|
138
|
Parse::RecDescent::_trace(q{>>Matched production: [bodysubtype bodyparms bodyid bodydesc bodyenc bodysize]<<}, |
7138
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7139
|
|
|
|
|
|
|
q{basicfields}, |
7140
|
|
|
|
|
|
|
$tracelevel) |
7141
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7142
|
|
|
|
|
|
|
|
7143
|
|
|
|
|
|
|
|
7144
|
|
|
|
|
|
|
|
7145
|
51
|
|
|
|
|
117
|
$_matched = 1; |
7146
|
51
|
|
|
|
|
106
|
last; |
7147
|
|
|
|
|
|
|
} |
7148
|
|
|
|
|
|
|
|
7149
|
|
|
|
|
|
|
splice |
7150
|
51
|
50
|
|
|
|
135
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
7151
|
|
|
|
|
|
|
|
7152
|
51
|
50
|
33
|
|
|
195
|
unless ( $_matched || defined($score) ) |
7153
|
|
|
|
|
|
|
{ |
7154
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
7155
|
|
|
|
|
|
|
|
7156
|
|
|
|
|
|
|
|
7157
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
7158
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7159
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7160
|
|
|
|
|
|
|
q{basicfields}, |
7161
|
|
|
|
|
|
|
$tracelevel) |
7162
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7163
|
0
|
|
|
|
|
0
|
return undef; |
7164
|
|
|
|
|
|
|
} |
7165
|
51
|
50
|
33
|
|
|
178
|
if (!defined($return) && defined($score)) |
7166
|
|
|
|
|
|
|
{ |
7167
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
7168
|
|
|
|
|
|
|
q{basicfields}, |
7169
|
|
|
|
|
|
|
$tracelevel) |
7170
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7171
|
0
|
|
|
|
|
0
|
$return = $score_return; |
7172
|
|
|
|
|
|
|
} |
7173
|
51
|
|
|
|
|
120
|
splice @{$thisparser->{errors}}, $err_at; |
|
51
|
|
|
|
|
126
|
|
7174
|
51
|
50
|
|
|
|
170
|
$return = $item[$#item] unless defined $return; |
7175
|
51
|
50
|
|
|
|
138
|
if (defined $::RD_TRACE) |
7176
|
|
|
|
|
|
|
{ |
7177
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
7178
|
|
|
|
|
|
|
$return . q{])}, "", |
7179
|
|
|
|
|
|
|
q{basicfields}, |
7180
|
|
|
|
|
|
|
$tracelevel); |
7181
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
7182
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
7183
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7184
|
|
|
|
|
|
|
, q{basicfields}, |
7185
|
|
|
|
|
|
|
$tracelevel) |
7186
|
|
|
|
|
|
|
} |
7187
|
51
|
|
|
|
|
128
|
$_[1] = $text; |
7188
|
51
|
|
|
|
|
458
|
return $return; |
7189
|
|
|
|
|
|
|
} |
7190
|
|
|
|
|
|
|
|
7191
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
7192
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysize |
7193
|
|
|
|
|
|
|
{ |
7194
|
72
|
|
|
72
|
|
929
|
my $thisparser = $_[0]; |
7195
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
523
|
|
7196
|
72
|
|
50
|
|
|
278
|
local $tracelevel = ($tracelevel||0)+1; |
7197
|
72
|
|
|
|
|
143
|
$ERRORS = 0; |
7198
|
72
|
|
|
|
|
207
|
my $thisrule = $thisparser->{"rules"}{"bodysize"}; |
7199
|
|
|
|
|
|
|
|
7200
|
72
|
50
|
|
|
|
205
|
Parse::RecDescent::_trace(q{Trying rule: [bodysize]}, |
7201
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7202
|
|
|
|
|
|
|
q{bodysize}, |
7203
|
|
|
|
|
|
|
$tracelevel) |
7204
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7205
|
|
|
|
|
|
|
|
7206
|
72
|
|
|
|
|
109
|
my $def_at = @{$thisparser->{deferred}}; |
|
72
|
|
|
|
|
165
|
|
7207
|
72
|
|
|
|
|
108
|
my $err_at = @{$thisparser->{errors}}; |
|
72
|
|
|
|
|
188
|
|
7208
|
|
|
|
|
|
|
|
7209
|
72
|
|
|
|
|
239
|
my $score; |
7210
|
|
|
|
|
|
|
my $score_return; |
7211
|
72
|
|
|
|
|
0
|
my $_tok; |
7212
|
72
|
|
|
|
|
124
|
my $return = undef; |
7213
|
72
|
|
|
|
|
130
|
my $_matched=0; |
7214
|
72
|
|
|
|
|
153
|
my $commit=0; |
7215
|
72
|
|
|
|
|
144
|
my @item = (); |
7216
|
72
|
|
|
|
|
154
|
my %item = (); |
7217
|
72
|
|
|
|
|
134
|
my $repeating = $_[2]; |
7218
|
72
|
|
|
|
|
133
|
my $_noactions = $_[3]; |
7219
|
72
|
50
|
|
|
|
187
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
72
|
|
|
|
|
160
|
|
|
72
|
|
|
|
|
206
|
|
7220
|
72
|
|
|
|
|
162
|
my $_itempos = $_[5]; |
7221
|
72
|
50
|
|
|
|
261
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
7222
|
72
|
|
|
|
|
253
|
my $text; |
7223
|
|
|
|
|
|
|
my $lastsep; |
7224
|
72
|
|
|
|
|
0
|
my $current_match; |
7225
|
72
|
|
|
|
|
222
|
my $expectation = new Parse::RecDescent::Expectation(q{/[()]/, or NUMBER}); |
7226
|
72
|
|
|
|
|
564
|
$expectation->at($_[1]); |
7227
|
|
|
|
|
|
|
|
7228
|
72
|
|
|
|
|
301
|
my $thisline; |
7229
|
72
|
|
|
|
|
292
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
7230
|
|
|
|
|
|
|
|
7231
|
|
|
|
|
|
|
|
7232
|
|
|
|
|
|
|
|
7233
|
72
|
|
33
|
|
|
671
|
while (!$_matched && !$commit) |
7234
|
|
|
|
|
|
|
{ |
7235
|
|
|
|
|
|
|
|
7236
|
72
|
50
|
|
|
|
199
|
Parse::RecDescent::_trace(q{Trying production: [/[()]/ NIL]}, |
7237
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7238
|
|
|
|
|
|
|
q{bodysize}, |
7239
|
|
|
|
|
|
|
$tracelevel) |
7240
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7241
|
72
|
|
|
|
|
266
|
my $thisprod = $thisrule->{"prods"}[0]; |
7242
|
72
|
|
|
|
|
162
|
$text = $_[1]; |
7243
|
72
|
|
|
|
|
262
|
my $_savetext; |
7244
|
72
|
|
|
|
|
177
|
@item = (q{bodysize}); |
7245
|
72
|
|
|
|
|
183
|
%item = (__RULE__ => q{bodysize}); |
7246
|
72
|
|
|
|
|
166
|
my $repcount = 0; |
7247
|
|
|
|
|
|
|
|
7248
|
|
|
|
|
|
|
|
7249
|
72
|
50
|
|
|
|
204
|
Parse::RecDescent::_trace(q{Trying terminal: [/[()]/]}, Parse::RecDescent::_tracefirst($text), |
7250
|
|
|
|
|
|
|
q{bodysize}, |
7251
|
|
|
|
|
|
|
$tracelevel) |
7252
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7253
|
72
|
|
|
|
|
168
|
undef $lastsep; |
7254
|
72
|
|
|
|
|
212
|
$expectation->is(q{})->at($text); |
7255
|
72
|
|
|
|
|
570
|
$_savetext = $text; |
7256
|
|
|
|
|
|
|
|
7257
|
72
|
50
|
33
|
|
|
540
|
if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[()])/) |
|
72
|
50
|
|
|
|
919
|
|
7258
|
|
|
|
|
|
|
{ |
7259
|
0
|
|
|
|
|
0
|
$text = $_savetext; |
7260
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
7261
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7262
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7263
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7264
|
|
|
|
|
|
|
|
7265
|
0
|
|
|
|
|
0
|
last; |
7266
|
|
|
|
|
|
|
} |
7267
|
72
|
|
|
|
|
374
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
7268
|
72
|
|
|
|
|
236
|
substr($text,0,length($current_match),q{}); |
7269
|
72
|
50
|
|
|
|
251
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
7270
|
|
|
|
|
|
|
. $current_match . q{])}, |
7271
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7272
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7273
|
72
|
|
|
|
|
266
|
push @item, $item{__PATTERN1__}=$current_match; |
7274
|
72
|
|
|
|
|
197
|
$text = $_savetext; |
7275
|
|
|
|
|
|
|
|
7276
|
72
|
50
|
|
|
|
211
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
7277
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7278
|
|
|
|
|
|
|
q{bodysize}, |
7279
|
|
|
|
|
|
|
$tracelevel) |
7280
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7281
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
328
|
|
|
72
|
|
|
|
|
157
|
|
7282
|
72
|
|
|
|
|
260
|
$expectation->is(q{NIL})->at($text); |
7283
|
72
|
50
|
|
72
|
|
864
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
144
|
|
7284
|
|
|
|
|
|
|
{ |
7285
|
|
|
|
|
|
|
|
7286
|
72
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{<>}, |
7287
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7288
|
|
|
|
|
|
|
q{bodysize}, |
7289
|
|
|
|
|
|
|
$tracelevel) |
7290
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7291
|
72
|
|
|
|
|
220
|
$expectation->failed(); |
7292
|
72
|
|
|
|
|
864
|
last; |
7293
|
|
|
|
|
|
|
} |
7294
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
7295
|
|
|
|
|
|
|
. $_tok . q{]}, |
7296
|
|
|
|
|
|
|
|
7297
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7298
|
|
|
|
|
|
|
q{bodysize}, |
7299
|
|
|
|
|
|
|
$tracelevel) |
7300
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7301
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
7302
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
7303
|
|
|
|
|
|
|
|
7304
|
|
|
|
|
|
|
} |
7305
|
|
|
|
|
|
|
|
7306
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [/[()]/ NIL]<<}, |
7307
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7308
|
|
|
|
|
|
|
q{bodysize}, |
7309
|
|
|
|
|
|
|
$tracelevel) |
7310
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7311
|
|
|
|
|
|
|
|
7312
|
|
|
|
|
|
|
|
7313
|
|
|
|
|
|
|
|
7314
|
0
|
|
|
|
|
0
|
$_matched = 1; |
7315
|
0
|
|
|
|
|
0
|
last; |
7316
|
|
|
|
|
|
|
} |
7317
|
|
|
|
|
|
|
|
7318
|
|
|
|
|
|
|
splice |
7319
|
72
|
50
|
|
|
|
298
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
72
|
|
|
|
|
235
|
|
7320
|
|
|
|
|
|
|
|
7321
|
72
|
|
33
|
|
|
328
|
while (!$_matched && !$commit) |
7322
|
|
|
|
|
|
|
{ |
7323
|
|
|
|
|
|
|
|
7324
|
72
|
50
|
|
|
|
195
|
Parse::RecDescent::_trace(q{Trying production: [NUMBER]}, |
7325
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7326
|
|
|
|
|
|
|
q{bodysize}, |
7327
|
|
|
|
|
|
|
$tracelevel) |
7328
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7329
|
72
|
|
|
|
|
188
|
my $thisprod = $thisrule->{"prods"}[1]; |
7330
|
72
|
|
|
|
|
190
|
$text = $_[1]; |
7331
|
72
|
|
|
|
|
124
|
my $_savetext; |
7332
|
72
|
|
|
|
|
224
|
@item = (q{bodysize}); |
7333
|
72
|
|
|
|
|
219
|
%item = (__RULE__ => q{bodysize}); |
7334
|
72
|
|
|
|
|
153
|
my $repcount = 0; |
7335
|
|
|
|
|
|
|
|
7336
|
|
|
|
|
|
|
|
7337
|
72
|
50
|
|
|
|
221
|
Parse::RecDescent::_trace(q{Trying subrule: [NUMBER]}, |
7338
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7339
|
|
|
|
|
|
|
q{bodysize}, |
7340
|
|
|
|
|
|
|
$tracelevel) |
7341
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7342
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
486
|
|
|
72
|
|
|
|
|
160
|
|
7343
|
72
|
|
|
|
|
256
|
$expectation->is(q{})->at($text); |
7344
|
72
|
50
|
|
72
|
|
869
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NUMBER($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
173
|
|
7345
|
|
|
|
|
|
|
{ |
7346
|
|
|
|
|
|
|
|
7347
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7348
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7349
|
|
|
|
|
|
|
q{bodysize}, |
7350
|
|
|
|
|
|
|
$tracelevel) |
7351
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7352
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
7353
|
0
|
|
|
|
|
0
|
last; |
7354
|
|
|
|
|
|
|
} |
7355
|
72
|
50
|
|
|
|
361
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NUMBER]<< (return value: [} |
7356
|
|
|
|
|
|
|
. $_tok . q{]}, |
7357
|
|
|
|
|
|
|
|
7358
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7359
|
|
|
|
|
|
|
q{bodysize}, |
7360
|
|
|
|
|
|
|
$tracelevel) |
7361
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7362
|
72
|
|
|
|
|
209
|
$item{q{NUMBER}} = $_tok; |
7363
|
72
|
|
|
|
|
155
|
push @item, $_tok; |
7364
|
|
|
|
|
|
|
|
7365
|
|
|
|
|
|
|
} |
7366
|
|
|
|
|
|
|
|
7367
|
72
|
50
|
|
|
|
196
|
Parse::RecDescent::_trace(q{>>Matched production: [NUMBER]<<}, |
7368
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7369
|
|
|
|
|
|
|
q{bodysize}, |
7370
|
|
|
|
|
|
|
$tracelevel) |
7371
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7372
|
|
|
|
|
|
|
|
7373
|
|
|
|
|
|
|
|
7374
|
|
|
|
|
|
|
|
7375
|
72
|
|
|
|
|
155
|
$_matched = 1; |
7376
|
72
|
|
|
|
|
192
|
last; |
7377
|
|
|
|
|
|
|
} |
7378
|
|
|
|
|
|
|
|
7379
|
|
|
|
|
|
|
splice |
7380
|
72
|
50
|
|
|
|
203
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
7381
|
|
|
|
|
|
|
|
7382
|
72
|
50
|
33
|
|
|
242
|
unless ( $_matched || defined($score) ) |
7383
|
|
|
|
|
|
|
{ |
7384
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
7385
|
|
|
|
|
|
|
|
7386
|
|
|
|
|
|
|
|
7387
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
7388
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7389
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7390
|
|
|
|
|
|
|
q{bodysize}, |
7391
|
|
|
|
|
|
|
$tracelevel) |
7392
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7393
|
0
|
|
|
|
|
0
|
return undef; |
7394
|
|
|
|
|
|
|
} |
7395
|
72
|
50
|
33
|
|
|
362
|
if (!defined($return) && defined($score)) |
7396
|
|
|
|
|
|
|
{ |
7397
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
7398
|
|
|
|
|
|
|
q{bodysize}, |
7399
|
|
|
|
|
|
|
$tracelevel) |
7400
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7401
|
0
|
|
|
|
|
0
|
$return = $score_return; |
7402
|
|
|
|
|
|
|
} |
7403
|
72
|
|
|
|
|
144
|
splice @{$thisparser->{errors}}, $err_at; |
|
72
|
|
|
|
|
184
|
|
7404
|
72
|
50
|
|
|
|
254
|
$return = $item[$#item] unless defined $return; |
7405
|
72
|
50
|
|
|
|
205
|
if (defined $::RD_TRACE) |
7406
|
|
|
|
|
|
|
{ |
7407
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
7408
|
|
|
|
|
|
|
$return . q{])}, "", |
7409
|
|
|
|
|
|
|
q{bodysize}, |
7410
|
|
|
|
|
|
|
$tracelevel); |
7411
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
7412
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
7413
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7414
|
|
|
|
|
|
|
, q{bodysize}, |
7415
|
|
|
|
|
|
|
$tracelevel) |
7416
|
|
|
|
|
|
|
} |
7417
|
72
|
|
|
|
|
180
|
$_[1] = $text; |
7418
|
72
|
|
|
|
|
461
|
return $return; |
7419
|
|
|
|
|
|
|
} |
7420
|
|
|
|
|
|
|
|
7421
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
7422
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::othertypemessage |
7423
|
|
|
|
|
|
|
{ |
7424
|
32
|
|
|
32
|
|
76
|
my $thisparser = $_[0]; |
7425
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
364
|
|
7426
|
32
|
|
50
|
|
|
115
|
local $tracelevel = ($tracelevel||0)+1; |
7427
|
32
|
|
|
|
|
65
|
$ERRORS = 0; |
7428
|
32
|
|
|
|
|
106
|
my $thisrule = $thisparser->{"rules"}{"othertypemessage"}; |
7429
|
|
|
|
|
|
|
|
7430
|
32
|
50
|
|
|
|
103
|
Parse::RecDescent::_trace(q{Trying rule: [othertypemessage]}, |
7431
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7432
|
|
|
|
|
|
|
q{othertypemessage}, |
7433
|
|
|
|
|
|
|
$tracelevel) |
7434
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7435
|
|
|
|
|
|
|
|
7436
|
32
|
|
|
|
|
61
|
my $def_at = @{$thisparser->{deferred}}; |
|
32
|
|
|
|
|
85
|
|
7437
|
32
|
|
|
|
|
85
|
my $err_at = @{$thisparser->{errors}}; |
|
32
|
|
|
|
|
83
|
|
7438
|
|
|
|
|
|
|
|
7439
|
32
|
|
|
|
|
141
|
my $score; |
7440
|
|
|
|
|
|
|
my $score_return; |
7441
|
32
|
|
|
|
|
0
|
my $_tok; |
7442
|
32
|
|
|
|
|
56
|
my $return = undef; |
7443
|
32
|
|
|
|
|
53
|
my $_matched=0; |
7444
|
32
|
|
|
|
|
76
|
my $commit=0; |
7445
|
32
|
|
|
|
|
69
|
my @item = (); |
7446
|
32
|
|
|
|
|
80
|
my %item = (); |
7447
|
32
|
|
|
|
|
64
|
my $repeating = $_[2]; |
7448
|
32
|
|
|
|
|
58
|
my $_noactions = $_[3]; |
7449
|
32
|
50
|
|
|
|
100
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
32
|
|
|
|
|
56
|
|
|
32
|
|
|
|
|
88
|
|
7450
|
32
|
|
|
|
|
78
|
my $_itempos = $_[5]; |
7451
|
32
|
50
|
|
|
|
127
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
7452
|
32
|
|
|
|
|
112
|
my $text; |
7453
|
|
|
|
|
|
|
my $lastsep; |
7454
|
32
|
|
|
|
|
0
|
my $current_match; |
7455
|
32
|
|
|
|
|
111
|
my $expectation = new Parse::RecDescent::Expectation(q{bodytype}); |
7456
|
32
|
|
|
|
|
261
|
$expectation->at($_[1]); |
7457
|
|
|
|
|
|
|
|
7458
|
32
|
|
|
|
|
139
|
my $thisline; |
7459
|
32
|
|
|
|
|
136
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
7460
|
|
|
|
|
|
|
|
7461
|
|
|
|
|
|
|
|
7462
|
|
|
|
|
|
|
|
7463
|
32
|
|
33
|
|
|
328
|
while (!$_matched && !$commit) |
7464
|
|
|
|
|
|
|
{ |
7465
|
|
|
|
|
|
|
|
7466
|
32
|
50
|
|
|
|
105
|
Parse::RecDescent::_trace(q{Trying production: [bodytype basicfields bodyMD5 bodydisp bodylang bodyextra]}, |
7467
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7468
|
|
|
|
|
|
|
q{othertypemessage}, |
7469
|
|
|
|
|
|
|
$tracelevel) |
7470
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7471
|
32
|
|
|
|
|
115
|
my $thisprod = $thisrule->{"prods"}[0]; |
7472
|
32
|
|
|
|
|
98
|
$text = $_[1]; |
7473
|
32
|
|
|
|
|
64
|
my $_savetext; |
7474
|
32
|
|
|
|
|
77
|
@item = (q{othertypemessage}); |
7475
|
32
|
|
|
|
|
109
|
%item = (__RULE__ => q{othertypemessage}); |
7476
|
32
|
|
|
|
|
66
|
my $repcount = 0; |
7477
|
|
|
|
|
|
|
|
7478
|
|
|
|
|
|
|
|
7479
|
32
|
50
|
|
|
|
92
|
Parse::RecDescent::_trace(q{Trying subrule: [bodytype]}, |
7480
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7481
|
|
|
|
|
|
|
q{othertypemessage}, |
7482
|
|
|
|
|
|
|
$tracelevel) |
7483
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7484
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
170
|
|
|
32
|
|
|
|
|
71
|
|
7485
|
32
|
|
|
|
|
116
|
$expectation->is(q{})->at($text); |
7486
|
32
|
100
|
|
32
|
|
392
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodytype($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
32
|
|
|
|
|
80
|
|
7487
|
|
|
|
|
|
|
{ |
7488
|
|
|
|
|
|
|
|
7489
|
20
|
50
|
|
|
|
52
|
Parse::RecDescent::_trace(q{<>}, |
7490
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7491
|
|
|
|
|
|
|
q{othertypemessage}, |
7492
|
|
|
|
|
|
|
$tracelevel) |
7493
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7494
|
20
|
|
|
|
|
77
|
$expectation->failed(); |
7495
|
20
|
|
|
|
|
76
|
last; |
7496
|
|
|
|
|
|
|
} |
7497
|
12
|
50
|
|
|
|
59
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodytype]<< (return value: [} |
7498
|
|
|
|
|
|
|
. $_tok . q{]}, |
7499
|
|
|
|
|
|
|
|
7500
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7501
|
|
|
|
|
|
|
q{othertypemessage}, |
7502
|
|
|
|
|
|
|
$tracelevel) |
7503
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7504
|
12
|
|
|
|
|
38
|
$item{q{bodytype}} = $_tok; |
7505
|
12
|
|
|
|
|
35
|
push @item, $_tok; |
7506
|
|
|
|
|
|
|
|
7507
|
|
|
|
|
|
|
} |
7508
|
|
|
|
|
|
|
|
7509
|
12
|
50
|
|
|
|
42
|
Parse::RecDescent::_trace(q{Trying subrule: [basicfields]}, |
7510
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7511
|
|
|
|
|
|
|
q{othertypemessage}, |
7512
|
|
|
|
|
|
|
$tracelevel) |
7513
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7514
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1077
|
|
|
12
|
|
|
|
|
25
|
|
7515
|
12
|
|
|
|
|
47
|
$expectation->is(q{basicfields})->at($text); |
7516
|
12
|
50
|
|
12
|
|
179
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::basicfields($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
12
|
|
|
|
|
36
|
|
7517
|
|
|
|
|
|
|
{ |
7518
|
|
|
|
|
|
|
|
7519
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7520
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7521
|
|
|
|
|
|
|
q{othertypemessage}, |
7522
|
|
|
|
|
|
|
$tracelevel) |
7523
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7524
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
7525
|
0
|
|
|
|
|
0
|
last; |
7526
|
|
|
|
|
|
|
} |
7527
|
12
|
50
|
|
|
|
74
|
Parse::RecDescent::_trace(q{>>Matched subrule: [basicfields]<< (return value: [} |
7528
|
|
|
|
|
|
|
. $_tok . q{]}, |
7529
|
|
|
|
|
|
|
|
7530
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7531
|
|
|
|
|
|
|
q{othertypemessage}, |
7532
|
|
|
|
|
|
|
$tracelevel) |
7533
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7534
|
12
|
|
|
|
|
42
|
$item{q{basicfields}} = $_tok; |
7535
|
12
|
|
|
|
|
40
|
push @item, $_tok; |
7536
|
|
|
|
|
|
|
|
7537
|
|
|
|
|
|
|
} |
7538
|
|
|
|
|
|
|
|
7539
|
12
|
50
|
|
|
|
42
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyMD5]}, |
7540
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7541
|
|
|
|
|
|
|
q{othertypemessage}, |
7542
|
|
|
|
|
|
|
$tracelevel) |
7543
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7544
|
12
|
|
|
|
|
51
|
$expectation->is(q{bodyMD5})->at($text); |
7545
|
|
|
|
|
|
|
|
7546
|
12
|
50
|
|
12
|
|
170
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyMD5, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
12
|
|
|
|
|
29
|
|
7547
|
|
|
|
|
|
|
{ |
7548
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7549
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7550
|
|
|
|
|
|
|
q{othertypemessage}, |
7551
|
|
|
|
|
|
|
$tracelevel) |
7552
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7553
|
0
|
|
|
|
|
0
|
last; |
7554
|
|
|
|
|
|
|
} |
7555
|
12
|
50
|
|
|
|
221
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyMD5]<< (} |
7556
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7557
|
|
|
|
|
|
|
|
7558
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7559
|
|
|
|
|
|
|
q{othertypemessage}, |
7560
|
|
|
|
|
|
|
$tracelevel) |
7561
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7562
|
12
|
|
|
|
|
38
|
$item{q{bodyMD5(?)}} = $_tok; |
7563
|
12
|
|
|
|
|
35
|
push @item, $_tok; |
7564
|
|
|
|
|
|
|
|
7565
|
|
|
|
|
|
|
|
7566
|
|
|
|
|
|
|
|
7567
|
12
|
50
|
|
|
|
38
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodydisp]}, |
7568
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7569
|
|
|
|
|
|
|
q{othertypemessage}, |
7570
|
|
|
|
|
|
|
$tracelevel) |
7571
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7572
|
12
|
|
|
|
|
42
|
$expectation->is(q{bodydisp})->at($text); |
7573
|
|
|
|
|
|
|
|
7574
|
12
|
50
|
|
12
|
|
155
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydisp, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
12
|
|
|
|
|
39
|
|
7575
|
|
|
|
|
|
|
{ |
7576
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7577
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7578
|
|
|
|
|
|
|
q{othertypemessage}, |
7579
|
|
|
|
|
|
|
$tracelevel) |
7580
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7581
|
0
|
|
|
|
|
0
|
last; |
7582
|
|
|
|
|
|
|
} |
7583
|
12
|
50
|
|
|
|
233
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodydisp]<< (} |
7584
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7585
|
|
|
|
|
|
|
|
7586
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7587
|
|
|
|
|
|
|
q{othertypemessage}, |
7588
|
|
|
|
|
|
|
$tracelevel) |
7589
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7590
|
12
|
|
|
|
|
42
|
$item{q{bodydisp(?)}} = $_tok; |
7591
|
12
|
|
|
|
|
32
|
push @item, $_tok; |
7592
|
|
|
|
|
|
|
|
7593
|
|
|
|
|
|
|
|
7594
|
|
|
|
|
|
|
|
7595
|
12
|
50
|
|
|
|
43
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodylang]}, |
7596
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7597
|
|
|
|
|
|
|
q{othertypemessage}, |
7598
|
|
|
|
|
|
|
$tracelevel) |
7599
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7600
|
12
|
|
|
|
|
55
|
$expectation->is(q{bodylang})->at($text); |
7601
|
|
|
|
|
|
|
|
7602
|
12
|
50
|
|
12
|
|
167
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodylang, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
12
|
|
|
|
|
32
|
|
7603
|
|
|
|
|
|
|
{ |
7604
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7605
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7606
|
|
|
|
|
|
|
q{othertypemessage}, |
7607
|
|
|
|
|
|
|
$tracelevel) |
7608
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7609
|
0
|
|
|
|
|
0
|
last; |
7610
|
|
|
|
|
|
|
} |
7611
|
12
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodylang]<< (} |
7612
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7613
|
|
|
|
|
|
|
|
7614
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7615
|
|
|
|
|
|
|
q{othertypemessage}, |
7616
|
|
|
|
|
|
|
$tracelevel) |
7617
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7618
|
12
|
|
|
|
|
41
|
$item{q{bodylang(?)}} = $_tok; |
7619
|
12
|
|
|
|
|
26
|
push @item, $_tok; |
7620
|
|
|
|
|
|
|
|
7621
|
|
|
|
|
|
|
|
7622
|
|
|
|
|
|
|
|
7623
|
12
|
50
|
|
|
|
46
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyextra]}, |
7624
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7625
|
|
|
|
|
|
|
q{othertypemessage}, |
7626
|
|
|
|
|
|
|
$tracelevel) |
7627
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7628
|
12
|
|
|
|
|
46
|
$expectation->is(q{bodyextra})->at($text); |
7629
|
|
|
|
|
|
|
|
7630
|
12
|
50
|
|
12
|
|
168
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyextra, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
12
|
|
|
|
|
38
|
|
7631
|
|
|
|
|
|
|
{ |
7632
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7633
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7634
|
|
|
|
|
|
|
q{othertypemessage}, |
7635
|
|
|
|
|
|
|
$tracelevel) |
7636
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7637
|
0
|
|
|
|
|
0
|
last; |
7638
|
|
|
|
|
|
|
} |
7639
|
12
|
50
|
|
|
|
211
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyextra]<< (} |
7640
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
7641
|
|
|
|
|
|
|
|
7642
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7643
|
|
|
|
|
|
|
q{othertypemessage}, |
7644
|
|
|
|
|
|
|
$tracelevel) |
7645
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7646
|
12
|
|
|
|
|
34
|
$item{q{bodyextra(?)}} = $_tok; |
7647
|
12
|
|
|
|
|
31
|
push @item, $_tok; |
7648
|
|
|
|
|
|
|
|
7649
|
|
|
|
|
|
|
|
7650
|
|
|
|
|
|
|
|
7651
|
12
|
50
|
|
|
|
44
|
Parse::RecDescent::_trace(q{Trying action}, |
7652
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7653
|
|
|
|
|
|
|
q{othertypemessage}, |
7654
|
|
|
|
|
|
|
$tracelevel) |
7655
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7656
|
|
|
|
|
|
|
|
7657
|
|
|
|
|
|
|
|
7658
|
12
|
50
|
|
|
|
38
|
$_tok = ($_noactions) ? 0 : do { $return = { bodytype => $item{bodytype} }; |
|
12
|
|
|
|
|
48
|
|
7659
|
12
|
|
|
|
|
61
|
take_optional_items($return, \%item |
7660
|
|
|
|
|
|
|
, qw/bodyMD5 bodydisp bodylang bodyextra/ ); |
7661
|
12
|
|
|
|
|
69
|
merge_hash($return, $item{basicfields}); |
7662
|
12
|
|
|
|
|
32
|
1; |
7663
|
|
|
|
|
|
|
}; |
7664
|
12
|
50
|
|
|
|
37
|
unless (defined $_tok) |
7665
|
|
|
|
|
|
|
{ |
7666
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
7667
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7668
|
0
|
|
|
|
|
0
|
last; |
7669
|
|
|
|
|
|
|
} |
7670
|
12
|
50
|
|
|
|
34
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
7671
|
|
|
|
|
|
|
. $_tok . q{])}, |
7672
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7673
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7674
|
12
|
|
|
|
|
42
|
push @item, $_tok; |
7675
|
12
|
|
|
|
|
37
|
$item{__ACTION1__}=$_tok; |
7676
|
|
|
|
|
|
|
|
7677
|
|
|
|
|
|
|
|
7678
|
12
|
50
|
|
|
|
48
|
Parse::RecDescent::_trace(q{>>Matched production: [bodytype basicfields bodyMD5 bodydisp bodylang bodyextra]<<}, |
7679
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7680
|
|
|
|
|
|
|
q{othertypemessage}, |
7681
|
|
|
|
|
|
|
$tracelevel) |
7682
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7683
|
|
|
|
|
|
|
|
7684
|
|
|
|
|
|
|
|
7685
|
|
|
|
|
|
|
|
7686
|
12
|
|
|
|
|
26
|
$_matched = 1; |
7687
|
12
|
|
|
|
|
31
|
last; |
7688
|
|
|
|
|
|
|
} |
7689
|
|
|
|
|
|
|
|
7690
|
|
|
|
|
|
|
splice |
7691
|
32
|
100
|
|
|
|
127
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
20
|
|
|
|
|
69
|
|
7692
|
|
|
|
|
|
|
|
7693
|
32
|
100
|
66
|
|
|
173
|
unless ( $_matched || defined($score) ) |
7694
|
|
|
|
|
|
|
{ |
7695
|
20
|
|
|
|
|
40
|
splice @{$thisparser->{deferred}}, $def_at; |
|
20
|
|
|
|
|
96
|
|
7696
|
|
|
|
|
|
|
|
7697
|
|
|
|
|
|
|
|
7698
|
20
|
|
|
|
|
44
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
7699
|
20
|
50
|
|
|
|
55
|
Parse::RecDescent::_trace(q{<>}, |
7700
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7701
|
|
|
|
|
|
|
q{othertypemessage}, |
7702
|
|
|
|
|
|
|
$tracelevel) |
7703
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7704
|
20
|
|
|
|
|
114
|
return undef; |
7705
|
|
|
|
|
|
|
} |
7706
|
12
|
50
|
33
|
|
|
48
|
if (!defined($return) && defined($score)) |
7707
|
|
|
|
|
|
|
{ |
7708
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
7709
|
|
|
|
|
|
|
q{othertypemessage}, |
7710
|
|
|
|
|
|
|
$tracelevel) |
7711
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7712
|
0
|
|
|
|
|
0
|
$return = $score_return; |
7713
|
|
|
|
|
|
|
} |
7714
|
12
|
|
|
|
|
24
|
splice @{$thisparser->{errors}}, $err_at; |
|
12
|
|
|
|
|
45
|
|
7715
|
12
|
50
|
|
|
|
48
|
$return = $item[$#item] unless defined $return; |
7716
|
12
|
50
|
|
|
|
52
|
if (defined $::RD_TRACE) |
7717
|
|
|
|
|
|
|
{ |
7718
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
7719
|
|
|
|
|
|
|
$return . q{])}, "", |
7720
|
|
|
|
|
|
|
q{othertypemessage}, |
7721
|
|
|
|
|
|
|
$tracelevel); |
7722
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
7723
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
7724
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7725
|
|
|
|
|
|
|
, q{othertypemessage}, |
7726
|
|
|
|
|
|
|
$tracelevel) |
7727
|
|
|
|
|
|
|
} |
7728
|
12
|
|
|
|
|
32
|
$_[1] = $text; |
7729
|
12
|
|
|
|
|
145
|
return $return; |
7730
|
|
|
|
|
|
|
} |
7731
|
|
|
|
|
|
|
|
7732
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
7733
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydesc |
7734
|
|
|
|
|
|
|
{ |
7735
|
72
|
|
|
72
|
|
955
|
my $thisparser = $_[0]; |
7736
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
536
|
|
7737
|
72
|
|
50
|
|
|
254
|
local $tracelevel = ($tracelevel||0)+1; |
7738
|
72
|
|
|
|
|
155
|
$ERRORS = 0; |
7739
|
72
|
|
|
|
|
212
|
my $thisrule = $thisparser->{"rules"}{"bodydesc"}; |
7740
|
|
|
|
|
|
|
|
7741
|
72
|
50
|
|
|
|
274
|
Parse::RecDescent::_trace(q{Trying rule: [bodydesc]}, |
7742
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7743
|
|
|
|
|
|
|
q{bodydesc}, |
7744
|
|
|
|
|
|
|
$tracelevel) |
7745
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7746
|
|
|
|
|
|
|
|
7747
|
72
|
|
|
|
|
169
|
my $def_at = @{$thisparser->{deferred}}; |
|
72
|
|
|
|
|
231
|
|
7748
|
72
|
|
|
|
|
138
|
my $err_at = @{$thisparser->{errors}}; |
|
72
|
|
|
|
|
155
|
|
7749
|
|
|
|
|
|
|
|
7750
|
72
|
|
|
|
|
217
|
my $score; |
7751
|
|
|
|
|
|
|
my $score_return; |
7752
|
72
|
|
|
|
|
0
|
my $_tok; |
7753
|
72
|
|
|
|
|
136
|
my $return = undef; |
7754
|
72
|
|
|
|
|
129
|
my $_matched=0; |
7755
|
72
|
|
|
|
|
117
|
my $commit=0; |
7756
|
72
|
|
|
|
|
197
|
my @item = (); |
7757
|
72
|
|
|
|
|
145
|
my %item = (); |
7758
|
72
|
|
|
|
|
122
|
my $repeating = $_[2]; |
7759
|
72
|
|
|
|
|
172
|
my $_noactions = $_[3]; |
7760
|
72
|
50
|
|
|
|
186
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
72
|
|
|
|
|
106
|
|
|
72
|
|
|
|
|
172
|
|
7761
|
72
|
|
|
|
|
162
|
my $_itempos = $_[5]; |
7762
|
72
|
50
|
|
|
|
232
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
7763
|
72
|
|
|
|
|
250
|
my $text; |
7764
|
|
|
|
|
|
|
my $lastsep; |
7765
|
72
|
|
|
|
|
0
|
my $current_match; |
7766
|
72
|
|
|
|
|
217
|
my $expectation = new Parse::RecDescent::Expectation(q{/[()]/, or STRING}); |
7767
|
72
|
|
|
|
|
523
|
$expectation->at($_[1]); |
7768
|
|
|
|
|
|
|
|
7769
|
72
|
|
|
|
|
344
|
my $thisline; |
7770
|
72
|
|
|
|
|
285
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
7771
|
|
|
|
|
|
|
|
7772
|
|
|
|
|
|
|
|
7773
|
|
|
|
|
|
|
|
7774
|
72
|
|
33
|
|
|
704
|
while (!$_matched && !$commit) |
7775
|
|
|
|
|
|
|
{ |
7776
|
|
|
|
|
|
|
|
7777
|
72
|
50
|
|
|
|
227
|
Parse::RecDescent::_trace(q{Trying production: [/[()]/ NIL]}, |
7778
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7779
|
|
|
|
|
|
|
q{bodydesc}, |
7780
|
|
|
|
|
|
|
$tracelevel) |
7781
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7782
|
72
|
|
|
|
|
234
|
my $thisprod = $thisrule->{"prods"}[0]; |
7783
|
72
|
|
|
|
|
147
|
$text = $_[1]; |
7784
|
72
|
|
|
|
|
136
|
my $_savetext; |
7785
|
72
|
|
|
|
|
178
|
@item = (q{bodydesc}); |
7786
|
72
|
|
|
|
|
188
|
%item = (__RULE__ => q{bodydesc}); |
7787
|
72
|
|
|
|
|
147
|
my $repcount = 0; |
7788
|
|
|
|
|
|
|
|
7789
|
|
|
|
|
|
|
|
7790
|
72
|
50
|
|
|
|
224
|
Parse::RecDescent::_trace(q{Trying terminal: [/[()]/]}, Parse::RecDescent::_tracefirst($text), |
7791
|
|
|
|
|
|
|
q{bodydesc}, |
7792
|
|
|
|
|
|
|
$tracelevel) |
7793
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7794
|
72
|
|
|
|
|
152
|
undef $lastsep; |
7795
|
72
|
|
|
|
|
213
|
$expectation->is(q{})->at($text); |
7796
|
72
|
|
|
|
|
538
|
$_savetext = $text; |
7797
|
|
|
|
|
|
|
|
7798
|
72
|
50
|
33
|
|
|
559
|
if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[()])/) |
|
72
|
50
|
|
|
|
923
|
|
7799
|
|
|
|
|
|
|
{ |
7800
|
0
|
|
|
|
|
0
|
$text = $_savetext; |
7801
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
7802
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7803
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7804
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7805
|
|
|
|
|
|
|
|
7806
|
0
|
|
|
|
|
0
|
last; |
7807
|
|
|
|
|
|
|
} |
7808
|
72
|
|
|
|
|
421
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
7809
|
72
|
|
|
|
|
243
|
substr($text,0,length($current_match),q{}); |
7810
|
72
|
50
|
|
|
|
223
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
7811
|
|
|
|
|
|
|
. $current_match . q{])}, |
7812
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
7813
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7814
|
72
|
|
|
|
|
248
|
push @item, $item{__PATTERN1__}=$current_match; |
7815
|
72
|
|
|
|
|
216
|
$text = $_savetext; |
7816
|
|
|
|
|
|
|
|
7817
|
72
|
50
|
|
|
|
217
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
7818
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7819
|
|
|
|
|
|
|
q{bodydesc}, |
7820
|
|
|
|
|
|
|
$tracelevel) |
7821
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7822
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
273
|
|
|
72
|
|
|
|
|
153
|
|
7823
|
72
|
|
|
|
|
283
|
$expectation->is(q{NIL})->at($text); |
7824
|
72
|
100
|
|
72
|
|
848
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
161
|
|
7825
|
|
|
|
|
|
|
{ |
7826
|
|
|
|
|
|
|
|
7827
|
21
|
50
|
|
|
|
87
|
Parse::RecDescent::_trace(q{<>}, |
7828
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7829
|
|
|
|
|
|
|
q{bodydesc}, |
7830
|
|
|
|
|
|
|
$tracelevel) |
7831
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7832
|
21
|
|
|
|
|
88
|
$expectation->failed(); |
7833
|
21
|
|
|
|
|
253
|
last; |
7834
|
|
|
|
|
|
|
} |
7835
|
51
|
50
|
|
|
|
225
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
7836
|
|
|
|
|
|
|
. $_tok . q{]}, |
7837
|
|
|
|
|
|
|
|
7838
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7839
|
|
|
|
|
|
|
q{bodydesc}, |
7840
|
|
|
|
|
|
|
$tracelevel) |
7841
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7842
|
51
|
|
|
|
|
144
|
$item{q{NIL}} = $_tok; |
7843
|
51
|
|
|
|
|
108
|
push @item, $_tok; |
7844
|
|
|
|
|
|
|
|
7845
|
|
|
|
|
|
|
} |
7846
|
|
|
|
|
|
|
|
7847
|
51
|
50
|
|
|
|
155
|
Parse::RecDescent::_trace(q{>>Matched production: [/[()]/ NIL]<<}, |
7848
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7849
|
|
|
|
|
|
|
q{bodydesc}, |
7850
|
|
|
|
|
|
|
$tracelevel) |
7851
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7852
|
|
|
|
|
|
|
|
7853
|
|
|
|
|
|
|
|
7854
|
|
|
|
|
|
|
|
7855
|
51
|
|
|
|
|
116
|
$_matched = 1; |
7856
|
51
|
|
|
|
|
119
|
last; |
7857
|
|
|
|
|
|
|
} |
7858
|
|
|
|
|
|
|
|
7859
|
|
|
|
|
|
|
splice |
7860
|
72
|
100
|
|
|
|
290
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
21
|
|
|
|
|
74
|
|
7861
|
|
|
|
|
|
|
|
7862
|
72
|
|
66
|
|
|
315
|
while (!$_matched && !$commit) |
7863
|
|
|
|
|
|
|
{ |
7864
|
|
|
|
|
|
|
|
7865
|
21
|
50
|
|
|
|
78
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
7866
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7867
|
|
|
|
|
|
|
q{bodydesc}, |
7868
|
|
|
|
|
|
|
$tracelevel) |
7869
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7870
|
21
|
|
|
|
|
73
|
my $thisprod = $thisrule->{"prods"}[1]; |
7871
|
21
|
|
|
|
|
71
|
$text = $_[1]; |
7872
|
21
|
|
|
|
|
44
|
my $_savetext; |
7873
|
21
|
|
|
|
|
69
|
@item = (q{bodydesc}); |
7874
|
21
|
|
|
|
|
75
|
%item = (__RULE__ => q{bodydesc}); |
7875
|
21
|
|
|
|
|
52
|
my $repcount = 0; |
7876
|
|
|
|
|
|
|
|
7877
|
|
|
|
|
|
|
|
7878
|
21
|
50
|
|
|
|
92
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
7879
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7880
|
|
|
|
|
|
|
q{bodydesc}, |
7881
|
|
|
|
|
|
|
$tracelevel) |
7882
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7883
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
474
|
|
|
21
|
|
|
|
|
43
|
|
7884
|
21
|
|
|
|
|
74
|
$expectation->is(q{})->at($text); |
7885
|
21
|
50
|
|
21
|
|
278
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
51
|
|
7886
|
|
|
|
|
|
|
{ |
7887
|
|
|
|
|
|
|
|
7888
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7889
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7890
|
|
|
|
|
|
|
q{bodydesc}, |
7891
|
|
|
|
|
|
|
$tracelevel) |
7892
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7893
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
7894
|
0
|
|
|
|
|
0
|
last; |
7895
|
|
|
|
|
|
|
} |
7896
|
21
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
7897
|
|
|
|
|
|
|
. $_tok . q{]}, |
7898
|
|
|
|
|
|
|
|
7899
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7900
|
|
|
|
|
|
|
q{bodydesc}, |
7901
|
|
|
|
|
|
|
$tracelevel) |
7902
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7903
|
21
|
|
|
|
|
67
|
$item{q{STRING}} = $_tok; |
7904
|
21
|
|
|
|
|
59
|
push @item, $_tok; |
7905
|
|
|
|
|
|
|
|
7906
|
|
|
|
|
|
|
} |
7907
|
|
|
|
|
|
|
|
7908
|
21
|
50
|
|
|
|
70
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
7909
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7910
|
|
|
|
|
|
|
q{bodydesc}, |
7911
|
|
|
|
|
|
|
$tracelevel) |
7912
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7913
|
|
|
|
|
|
|
|
7914
|
|
|
|
|
|
|
|
7915
|
|
|
|
|
|
|
|
7916
|
21
|
|
|
|
|
45
|
$_matched = 1; |
7917
|
21
|
|
|
|
|
45
|
last; |
7918
|
|
|
|
|
|
|
} |
7919
|
|
|
|
|
|
|
|
7920
|
|
|
|
|
|
|
splice |
7921
|
72
|
50
|
|
|
|
198
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
7922
|
|
|
|
|
|
|
|
7923
|
72
|
50
|
33
|
|
|
226
|
unless ( $_matched || defined($score) ) |
7924
|
|
|
|
|
|
|
{ |
7925
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
7926
|
|
|
|
|
|
|
|
7927
|
|
|
|
|
|
|
|
7928
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
7929
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
7930
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7931
|
|
|
|
|
|
|
q{bodydesc}, |
7932
|
|
|
|
|
|
|
$tracelevel) |
7933
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7934
|
0
|
|
|
|
|
0
|
return undef; |
7935
|
|
|
|
|
|
|
} |
7936
|
72
|
50
|
33
|
|
|
366
|
if (!defined($return) && defined($score)) |
7937
|
|
|
|
|
|
|
{ |
7938
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
7939
|
|
|
|
|
|
|
q{bodydesc}, |
7940
|
|
|
|
|
|
|
$tracelevel) |
7941
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7942
|
0
|
|
|
|
|
0
|
$return = $score_return; |
7943
|
|
|
|
|
|
|
} |
7944
|
72
|
|
|
|
|
134
|
splice @{$thisparser->{errors}}, $err_at; |
|
72
|
|
|
|
|
185
|
|
7945
|
72
|
50
|
|
|
|
234
|
$return = $item[$#item] unless defined $return; |
7946
|
72
|
50
|
|
|
|
204
|
if (defined $::RD_TRACE) |
7947
|
|
|
|
|
|
|
{ |
7948
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
7949
|
|
|
|
|
|
|
$return . q{])}, "", |
7950
|
|
|
|
|
|
|
q{bodydesc}, |
7951
|
|
|
|
|
|
|
$tracelevel); |
7952
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
7953
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
7954
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
7955
|
|
|
|
|
|
|
, q{bodydesc}, |
7956
|
|
|
|
|
|
|
$tracelevel) |
7957
|
|
|
|
|
|
|
} |
7958
|
72
|
|
|
|
|
161
|
$_[1] = $text; |
7959
|
72
|
|
|
|
|
419
|
return $return; |
7960
|
|
|
|
|
|
|
} |
7961
|
|
|
|
|
|
|
|
7962
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
7963
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyenc |
7964
|
|
|
|
|
|
|
{ |
7965
|
72
|
|
|
72
|
|
964
|
my $thisparser = $_[0]; |
7966
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
341
|
|
7967
|
72
|
|
50
|
|
|
294
|
local $tracelevel = ($tracelevel||0)+1; |
7968
|
72
|
|
|
|
|
150
|
$ERRORS = 0; |
7969
|
72
|
|
|
|
|
235
|
my $thisrule = $thisparser->{"rules"}{"bodyenc"}; |
7970
|
|
|
|
|
|
|
|
7971
|
72
|
50
|
|
|
|
189
|
Parse::RecDescent::_trace(q{Trying rule: [bodyenc]}, |
7972
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
7973
|
|
|
|
|
|
|
q{bodyenc}, |
7974
|
|
|
|
|
|
|
$tracelevel) |
7975
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
7976
|
|
|
|
|
|
|
|
7977
|
72
|
|
|
|
|
148
|
my $def_at = @{$thisparser->{deferred}}; |
|
72
|
|
|
|
|
167
|
|
7978
|
72
|
|
|
|
|
131
|
my $err_at = @{$thisparser->{errors}}; |
|
72
|
|
|
|
|
225
|
|
7979
|
|
|
|
|
|
|
|
7980
|
72
|
|
|
|
|
251
|
my $score; |
7981
|
|
|
|
|
|
|
my $score_return; |
7982
|
72
|
|
|
|
|
0
|
my $_tok; |
7983
|
72
|
|
|
|
|
156
|
my $return = undef; |
7984
|
72
|
|
|
|
|
127
|
my $_matched=0; |
7985
|
72
|
|
|
|
|
129
|
my $commit=0; |
7986
|
72
|
|
|
|
|
141
|
my @item = (); |
7987
|
72
|
|
|
|
|
168
|
my %item = (); |
7988
|
72
|
|
|
|
|
148
|
my $repeating = $_[2]; |
7989
|
72
|
|
|
|
|
132
|
my $_noactions = $_[3]; |
7990
|
72
|
50
|
|
|
|
220
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
72
|
|
|
|
|
163
|
|
|
72
|
|
|
|
|
214
|
|
7991
|
72
|
|
|
|
|
170
|
my $_itempos = $_[5]; |
7992
|
72
|
50
|
|
|
|
233
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
7993
|
72
|
|
|
|
|
218
|
my $text; |
7994
|
|
|
|
|
|
|
my $lastsep; |
7995
|
72
|
|
|
|
|
0
|
my $current_match; |
7996
|
72
|
|
|
|
|
248
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING, or KVPAIRS}); |
7997
|
72
|
|
|
|
|
571
|
$expectation->at($_[1]); |
7998
|
|
|
|
|
|
|
|
7999
|
72
|
|
|
|
|
301
|
my $thisline; |
8000
|
72
|
|
|
|
|
269
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
8001
|
|
|
|
|
|
|
|
8002
|
|
|
|
|
|
|
|
8003
|
|
|
|
|
|
|
|
8004
|
72
|
|
33
|
|
|
673
|
while (!$_matched && !$commit) |
8005
|
|
|
|
|
|
|
{ |
8006
|
|
|
|
|
|
|
|
8007
|
72
|
50
|
|
|
|
184
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
8008
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8009
|
|
|
|
|
|
|
q{bodyenc}, |
8010
|
|
|
|
|
|
|
$tracelevel) |
8011
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8012
|
72
|
|
|
|
|
220
|
my $thisprod = $thisrule->{"prods"}[0]; |
8013
|
72
|
|
|
|
|
168
|
$text = $_[1]; |
8014
|
72
|
|
|
|
|
148
|
my $_savetext; |
8015
|
72
|
|
|
|
|
204
|
@item = (q{bodyenc}); |
8016
|
72
|
|
|
|
|
188
|
%item = (__RULE__ => q{bodyenc}); |
8017
|
72
|
|
|
|
|
129
|
my $repcount = 0; |
8018
|
|
|
|
|
|
|
|
8019
|
|
|
|
|
|
|
|
8020
|
72
|
50
|
|
|
|
189
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
8021
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8022
|
|
|
|
|
|
|
q{bodyenc}, |
8023
|
|
|
|
|
|
|
$tracelevel) |
8024
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8025
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
327
|
|
|
72
|
|
|
|
|
120
|
|
8026
|
72
|
|
|
|
|
211
|
$expectation->is(q{})->at($text); |
8027
|
72
|
50
|
|
72
|
|
819
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
197
|
|
8028
|
|
|
|
|
|
|
{ |
8029
|
|
|
|
|
|
|
|
8030
|
72
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{<>}, |
8031
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8032
|
|
|
|
|
|
|
q{bodyenc}, |
8033
|
|
|
|
|
|
|
$tracelevel) |
8034
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8035
|
72
|
|
|
|
|
226
|
$expectation->failed(); |
8036
|
72
|
|
|
|
|
311
|
last; |
8037
|
|
|
|
|
|
|
} |
8038
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
8039
|
|
|
|
|
|
|
. $_tok . q{]}, |
8040
|
|
|
|
|
|
|
|
8041
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8042
|
|
|
|
|
|
|
q{bodyenc}, |
8043
|
|
|
|
|
|
|
$tracelevel) |
8044
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8045
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
8046
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
8047
|
|
|
|
|
|
|
|
8048
|
|
|
|
|
|
|
} |
8049
|
|
|
|
|
|
|
|
8050
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
8051
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8052
|
|
|
|
|
|
|
q{bodyenc}, |
8053
|
|
|
|
|
|
|
$tracelevel) |
8054
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8055
|
|
|
|
|
|
|
|
8056
|
|
|
|
|
|
|
|
8057
|
|
|
|
|
|
|
|
8058
|
0
|
|
|
|
|
0
|
$_matched = 1; |
8059
|
0
|
|
|
|
|
0
|
last; |
8060
|
|
|
|
|
|
|
} |
8061
|
|
|
|
|
|
|
|
8062
|
|
|
|
|
|
|
splice |
8063
|
72
|
50
|
|
|
|
294
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
72
|
|
|
|
|
220
|
|
8064
|
|
|
|
|
|
|
|
8065
|
72
|
|
33
|
|
|
342
|
while (!$_matched && !$commit) |
8066
|
|
|
|
|
|
|
{ |
8067
|
|
|
|
|
|
|
|
8068
|
72
|
50
|
|
|
|
236
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
8069
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8070
|
|
|
|
|
|
|
q{bodyenc}, |
8071
|
|
|
|
|
|
|
$tracelevel) |
8072
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8073
|
72
|
|
|
|
|
194
|
my $thisprod = $thisrule->{"prods"}[1]; |
8074
|
72
|
|
|
|
|
161
|
$text = $_[1]; |
8075
|
72
|
|
|
|
|
105
|
my $_savetext; |
8076
|
72
|
|
|
|
|
204
|
@item = (q{bodyenc}); |
8077
|
72
|
|
|
|
|
198
|
%item = (__RULE__ => q{bodyenc}); |
8078
|
72
|
|
|
|
|
140
|
my $repcount = 0; |
8079
|
|
|
|
|
|
|
|
8080
|
|
|
|
|
|
|
|
8081
|
72
|
50
|
|
|
|
295
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
8082
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8083
|
|
|
|
|
|
|
q{bodyenc}, |
8084
|
|
|
|
|
|
|
$tracelevel) |
8085
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8086
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
281
|
|
|
72
|
|
|
|
|
126
|
|
8087
|
72
|
|
|
|
|
234
|
$expectation->is(q{})->at($text); |
8088
|
72
|
50
|
|
72
|
|
853
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
72
|
|
|
|
|
157
|
|
8089
|
|
|
|
|
|
|
{ |
8090
|
|
|
|
|
|
|
|
8091
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8092
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8093
|
|
|
|
|
|
|
q{bodyenc}, |
8094
|
|
|
|
|
|
|
$tracelevel) |
8095
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8096
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8097
|
0
|
|
|
|
|
0
|
last; |
8098
|
|
|
|
|
|
|
} |
8099
|
72
|
50
|
|
|
|
278
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
8100
|
|
|
|
|
|
|
. $_tok . q{]}, |
8101
|
|
|
|
|
|
|
|
8102
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8103
|
|
|
|
|
|
|
q{bodyenc}, |
8104
|
|
|
|
|
|
|
$tracelevel) |
8105
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8106
|
72
|
|
|
|
|
200
|
$item{q{STRING}} = $_tok; |
8107
|
72
|
|
|
|
|
177
|
push @item, $_tok; |
8108
|
|
|
|
|
|
|
|
8109
|
|
|
|
|
|
|
} |
8110
|
|
|
|
|
|
|
|
8111
|
72
|
50
|
|
|
|
228
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
8112
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8113
|
|
|
|
|
|
|
q{bodyenc}, |
8114
|
|
|
|
|
|
|
$tracelevel) |
8115
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8116
|
|
|
|
|
|
|
|
8117
|
|
|
|
|
|
|
|
8118
|
|
|
|
|
|
|
|
8119
|
72
|
|
|
|
|
183
|
$_matched = 1; |
8120
|
72
|
|
|
|
|
165
|
last; |
8121
|
|
|
|
|
|
|
} |
8122
|
|
|
|
|
|
|
|
8123
|
|
|
|
|
|
|
splice |
8124
|
72
|
50
|
|
|
|
189
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
8125
|
|
|
|
|
|
|
|
8126
|
72
|
|
33
|
|
|
238
|
while (!$_matched && !$commit) |
8127
|
|
|
|
|
|
|
{ |
8128
|
|
|
|
|
|
|
|
8129
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying production: [KVPAIRS]}, |
8130
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8131
|
|
|
|
|
|
|
q{bodyenc}, |
8132
|
|
|
|
|
|
|
$tracelevel) |
8133
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8134
|
0
|
|
|
|
|
0
|
my $thisprod = $thisrule->{"prods"}[2]; |
8135
|
0
|
|
|
|
|
0
|
$text = $_[1]; |
8136
|
0
|
|
|
|
|
0
|
my $_savetext; |
8137
|
0
|
|
|
|
|
0
|
@item = (q{bodyenc}); |
8138
|
0
|
|
|
|
|
0
|
%item = (__RULE__ => q{bodyenc}); |
8139
|
0
|
|
|
|
|
0
|
my $repcount = 0; |
8140
|
|
|
|
|
|
|
|
8141
|
|
|
|
|
|
|
|
8142
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying subrule: [KVPAIRS]}, |
8143
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8144
|
|
|
|
|
|
|
q{bodyenc}, |
8145
|
|
|
|
|
|
|
$tracelevel) |
8146
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8147
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
494
|
|
|
0
|
|
|
|
|
0
|
|
8148
|
0
|
|
|
|
|
0
|
$expectation->is(q{})->at($text); |
8149
|
0
|
0
|
|
0
|
|
0
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::KVPAIRS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
0
|
|
|
|
|
0
|
|
8150
|
|
|
|
|
|
|
{ |
8151
|
|
|
|
|
|
|
|
8152
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8153
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8154
|
|
|
|
|
|
|
q{bodyenc}, |
8155
|
|
|
|
|
|
|
$tracelevel) |
8156
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8157
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8158
|
0
|
|
|
|
|
0
|
last; |
8159
|
|
|
|
|
|
|
} |
8160
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [KVPAIRS]<< (return value: [} |
8161
|
|
|
|
|
|
|
. $_tok . q{]}, |
8162
|
|
|
|
|
|
|
|
8163
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8164
|
|
|
|
|
|
|
q{bodyenc}, |
8165
|
|
|
|
|
|
|
$tracelevel) |
8166
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8167
|
0
|
|
|
|
|
0
|
$item{q{KVPAIRS}} = $_tok; |
8168
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
8169
|
|
|
|
|
|
|
|
8170
|
|
|
|
|
|
|
} |
8171
|
|
|
|
|
|
|
|
8172
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [KVPAIRS]<<}, |
8173
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8174
|
|
|
|
|
|
|
q{bodyenc}, |
8175
|
|
|
|
|
|
|
$tracelevel) |
8176
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8177
|
|
|
|
|
|
|
|
8178
|
|
|
|
|
|
|
|
8179
|
|
|
|
|
|
|
|
8180
|
0
|
|
|
|
|
0
|
$_matched = 1; |
8181
|
0
|
|
|
|
|
0
|
last; |
8182
|
|
|
|
|
|
|
} |
8183
|
|
|
|
|
|
|
|
8184
|
|
|
|
|
|
|
splice |
8185
|
72
|
50
|
|
|
|
222
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
8186
|
|
|
|
|
|
|
|
8187
|
72
|
50
|
33
|
|
|
216
|
unless ( $_matched || defined($score) ) |
8188
|
|
|
|
|
|
|
{ |
8189
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
8190
|
|
|
|
|
|
|
|
8191
|
|
|
|
|
|
|
|
8192
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
8193
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8194
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8195
|
|
|
|
|
|
|
q{bodyenc}, |
8196
|
|
|
|
|
|
|
$tracelevel) |
8197
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8198
|
0
|
|
|
|
|
0
|
return undef; |
8199
|
|
|
|
|
|
|
} |
8200
|
72
|
50
|
33
|
|
|
357
|
if (!defined($return) && defined($score)) |
8201
|
|
|
|
|
|
|
{ |
8202
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
8203
|
|
|
|
|
|
|
q{bodyenc}, |
8204
|
|
|
|
|
|
|
$tracelevel) |
8205
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8206
|
0
|
|
|
|
|
0
|
$return = $score_return; |
8207
|
|
|
|
|
|
|
} |
8208
|
72
|
|
|
|
|
149
|
splice @{$thisparser->{errors}}, $err_at; |
|
72
|
|
|
|
|
198
|
|
8209
|
72
|
50
|
|
|
|
366
|
$return = $item[$#item] unless defined $return; |
8210
|
72
|
50
|
|
|
|
199
|
if (defined $::RD_TRACE) |
8211
|
|
|
|
|
|
|
{ |
8212
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
8213
|
|
|
|
|
|
|
$return . q{])}, "", |
8214
|
|
|
|
|
|
|
q{bodyenc}, |
8215
|
|
|
|
|
|
|
$tracelevel); |
8216
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
8217
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
8218
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8219
|
|
|
|
|
|
|
, q{bodyenc}, |
8220
|
|
|
|
|
|
|
$tracelevel) |
8221
|
|
|
|
|
|
|
} |
8222
|
72
|
|
|
|
|
172
|
$_[1] = $text; |
8223
|
72
|
|
|
|
|
451
|
return $return; |
8224
|
|
|
|
|
|
|
} |
8225
|
|
|
|
|
|
|
|
8226
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
8227
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING |
8228
|
|
|
|
|
|
|
{ |
8229
|
824
|
|
|
824
|
|
1467
|
my $thisparser = $_[0]; |
8230
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
344
|
|
8231
|
824
|
|
50
|
|
|
1917
|
local $tracelevel = ($tracelevel||0)+1; |
8232
|
824
|
|
|
|
|
1260
|
$ERRORS = 0; |
8233
|
824
|
|
|
|
|
2120
|
my $thisrule = $thisparser->{"rules"}{"STRING"}; |
8234
|
|
|
|
|
|
|
|
8235
|
824
|
50
|
|
|
|
2033
|
Parse::RecDescent::_trace(q{Trying rule: [STRING]}, |
8236
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8237
|
|
|
|
|
|
|
q{STRING}, |
8238
|
|
|
|
|
|
|
$tracelevel) |
8239
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8240
|
|
|
|
|
|
|
|
8241
|
824
|
|
|
|
|
1395
|
my $def_at = @{$thisparser->{deferred}}; |
|
824
|
|
|
|
|
1604
|
|
8242
|
824
|
|
|
|
|
1376
|
my $err_at = @{$thisparser->{errors}}; |
|
824
|
|
|
|
|
1511
|
|
8243
|
|
|
|
|
|
|
|
8244
|
824
|
|
|
|
|
2003
|
my $score; |
8245
|
|
|
|
|
|
|
my $score_return; |
8246
|
824
|
|
|
|
|
0
|
my $_tok; |
8247
|
824
|
|
|
|
|
1183
|
my $return = undef; |
8248
|
824
|
|
|
|
|
1177
|
my $_matched=0; |
8249
|
824
|
|
|
|
|
1156
|
my $commit=0; |
8250
|
824
|
|
|
|
|
1424
|
my @item = (); |
8251
|
824
|
|
|
|
|
1325
|
my %item = (); |
8252
|
824
|
|
|
|
|
1160
|
my $repeating = $_[2]; |
8253
|
824
|
|
|
|
|
1514
|
my $_noactions = $_[3]; |
8254
|
824
|
50
|
|
|
|
1677
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
824
|
|
|
|
|
1119
|
|
|
824
|
|
|
|
|
1674
|
|
8255
|
824
|
|
|
|
|
1388
|
my $_itempos = $_[5]; |
8256
|
824
|
50
|
|
|
|
1806
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
8257
|
824
|
|
|
|
|
1997
|
my $text; |
8258
|
|
|
|
|
|
|
my $lastsep; |
8259
|
824
|
|
|
|
|
0
|
my $current_match; |
8260
|
824
|
|
|
|
|
2087
|
my $expectation = new Parse::RecDescent::Expectation(q{DOUBLE_QUOTED_STRING, or SINGLE_QUOTED_STRING, or BARESTRING}); |
8261
|
824
|
|
|
|
|
5489
|
$expectation->at($_[1]); |
8262
|
|
|
|
|
|
|
|
8263
|
824
|
|
|
|
|
3326
|
my $thisline; |
8264
|
824
|
|
|
|
|
2518
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
8265
|
|
|
|
|
|
|
|
8266
|
|
|
|
|
|
|
|
8267
|
|
|
|
|
|
|
|
8268
|
824
|
|
33
|
|
|
6349
|
while (!$_matched && !$commit) |
8269
|
|
|
|
|
|
|
{ |
8270
|
|
|
|
|
|
|
|
8271
|
824
|
50
|
|
|
|
1636
|
Parse::RecDescent::_trace(q{Trying production: [DOUBLE_QUOTED_STRING]}, |
8272
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8273
|
|
|
|
|
|
|
q{STRING}, |
8274
|
|
|
|
|
|
|
$tracelevel) |
8275
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8276
|
824
|
|
|
|
|
1712
|
my $thisprod = $thisrule->{"prods"}[0]; |
8277
|
824
|
|
|
|
|
1365
|
$text = $_[1]; |
8278
|
824
|
|
|
|
|
1124
|
my $_savetext; |
8279
|
824
|
|
|
|
|
1564
|
@item = (q{STRING}); |
8280
|
824
|
|
|
|
|
1536
|
%item = (__RULE__ => q{STRING}); |
8281
|
824
|
|
|
|
|
1196
|
my $repcount = 0; |
8282
|
|
|
|
|
|
|
|
8283
|
|
|
|
|
|
|
|
8284
|
824
|
50
|
|
|
|
1482
|
Parse::RecDescent::_trace(q{Trying subrule: [DOUBLE_QUOTED_STRING]}, |
8285
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8286
|
|
|
|
|
|
|
q{STRING}, |
8287
|
|
|
|
|
|
|
$tracelevel) |
8288
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8289
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
283
|
|
|
824
|
|
|
|
|
1188
|
|
8290
|
824
|
|
|
|
|
1728
|
$expectation->is(q{})->at($text); |
8291
|
824
|
100
|
|
824
|
|
7430
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::DOUBLE_QUOTED_STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
824
|
|
|
|
|
1631
|
|
8292
|
|
|
|
|
|
|
{ |
8293
|
|
|
|
|
|
|
|
8294
|
112
|
50
|
|
|
|
312
|
Parse::RecDescent::_trace(q{<>}, |
8295
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8296
|
|
|
|
|
|
|
q{STRING}, |
8297
|
|
|
|
|
|
|
$tracelevel) |
8298
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8299
|
112
|
|
|
|
|
323
|
$expectation->failed(); |
8300
|
112
|
|
|
|
|
386
|
last; |
8301
|
|
|
|
|
|
|
} |
8302
|
712
|
50
|
|
|
|
2640
|
Parse::RecDescent::_trace(q{>>Matched subrule: [DOUBLE_QUOTED_STRING]<< (return value: [} |
8303
|
|
|
|
|
|
|
. $_tok . q{]}, |
8304
|
|
|
|
|
|
|
|
8305
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8306
|
|
|
|
|
|
|
q{STRING}, |
8307
|
|
|
|
|
|
|
$tracelevel) |
8308
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8309
|
712
|
|
|
|
|
1573
|
$item{q{DOUBLE_QUOTED_STRING}} = $_tok; |
8310
|
712
|
|
|
|
|
1425
|
push @item, $_tok; |
8311
|
|
|
|
|
|
|
|
8312
|
|
|
|
|
|
|
} |
8313
|
|
|
|
|
|
|
|
8314
|
712
|
50
|
|
|
|
1428
|
Parse::RecDescent::_trace(q{>>Matched production: [DOUBLE_QUOTED_STRING]<<}, |
8315
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8316
|
|
|
|
|
|
|
q{STRING}, |
8317
|
|
|
|
|
|
|
$tracelevel) |
8318
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8319
|
|
|
|
|
|
|
|
8320
|
|
|
|
|
|
|
|
8321
|
|
|
|
|
|
|
|
8322
|
712
|
|
|
|
|
1024
|
$_matched = 1; |
8323
|
712
|
|
|
|
|
1233
|
last; |
8324
|
|
|
|
|
|
|
} |
8325
|
|
|
|
|
|
|
|
8326
|
|
|
|
|
|
|
splice |
8327
|
824
|
100
|
|
|
|
1880
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
112
|
|
|
|
|
268
|
|
8328
|
|
|
|
|
|
|
|
8329
|
824
|
|
66
|
|
|
1958
|
while (!$_matched && !$commit) |
8330
|
|
|
|
|
|
|
{ |
8331
|
|
|
|
|
|
|
|
8332
|
112
|
50
|
|
|
|
252
|
Parse::RecDescent::_trace(q{Trying production: [SINGLE_QUOTED_STRING]}, |
8333
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8334
|
|
|
|
|
|
|
q{STRING}, |
8335
|
|
|
|
|
|
|
$tracelevel) |
8336
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8337
|
112
|
|
|
|
|
318
|
my $thisprod = $thisrule->{"prods"}[1]; |
8338
|
112
|
|
|
|
|
210
|
$text = $_[1]; |
8339
|
112
|
|
|
|
|
172
|
my $_savetext; |
8340
|
112
|
|
|
|
|
272
|
@item = (q{STRING}); |
8341
|
112
|
|
|
|
|
278
|
%item = (__RULE__ => q{STRING}); |
8342
|
112
|
|
|
|
|
237
|
my $repcount = 0; |
8343
|
|
|
|
|
|
|
|
8344
|
|
|
|
|
|
|
|
8345
|
112
|
50
|
|
|
|
286
|
Parse::RecDescent::_trace(q{Trying subrule: [SINGLE_QUOTED_STRING]}, |
8346
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8347
|
|
|
|
|
|
|
q{STRING}, |
8348
|
|
|
|
|
|
|
$tracelevel) |
8349
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8350
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
315
|
|
|
112
|
|
|
|
|
178
|
|
8351
|
112
|
|
|
|
|
329
|
$expectation->is(q{})->at($text); |
8352
|
112
|
100
|
|
112
|
|
1316
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::SINGLE_QUOTED_STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
112
|
|
|
|
|
252
|
|
8353
|
|
|
|
|
|
|
{ |
8354
|
|
|
|
|
|
|
|
8355
|
111
|
50
|
|
|
|
291
|
Parse::RecDescent::_trace(q{<>}, |
8356
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8357
|
|
|
|
|
|
|
q{STRING}, |
8358
|
|
|
|
|
|
|
$tracelevel) |
8359
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8360
|
111
|
|
|
|
|
346
|
$expectation->failed(); |
8361
|
111
|
|
|
|
|
389
|
last; |
8362
|
|
|
|
|
|
|
} |
8363
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched subrule: [SINGLE_QUOTED_STRING]<< (return value: [} |
8364
|
|
|
|
|
|
|
. $_tok . q{]}, |
8365
|
|
|
|
|
|
|
|
8366
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8367
|
|
|
|
|
|
|
q{STRING}, |
8368
|
|
|
|
|
|
|
$tracelevel) |
8369
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8370
|
1
|
|
|
|
|
2
|
$item{q{SINGLE_QUOTED_STRING}} = $_tok; |
8371
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
8372
|
|
|
|
|
|
|
|
8373
|
|
|
|
|
|
|
} |
8374
|
|
|
|
|
|
|
|
8375
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{>>Matched production: [SINGLE_QUOTED_STRING]<<}, |
8376
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8377
|
|
|
|
|
|
|
q{STRING}, |
8378
|
|
|
|
|
|
|
$tracelevel) |
8379
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8380
|
|
|
|
|
|
|
|
8381
|
|
|
|
|
|
|
|
8382
|
|
|
|
|
|
|
|
8383
|
1
|
|
|
|
|
2
|
$_matched = 1; |
8384
|
1
|
|
|
|
|
1
|
last; |
8385
|
|
|
|
|
|
|
} |
8386
|
|
|
|
|
|
|
|
8387
|
|
|
|
|
|
|
splice |
8388
|
824
|
100
|
|
|
|
1780
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
111
|
|
|
|
|
261
|
|
8389
|
|
|
|
|
|
|
|
8390
|
824
|
|
66
|
|
|
1943
|
while (!$_matched && !$commit) |
8391
|
|
|
|
|
|
|
{ |
8392
|
|
|
|
|
|
|
|
8393
|
111
|
50
|
|
|
|
295
|
Parse::RecDescent::_trace(q{Trying production: [BARESTRING]}, |
8394
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8395
|
|
|
|
|
|
|
q{STRING}, |
8396
|
|
|
|
|
|
|
$tracelevel) |
8397
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8398
|
111
|
|
|
|
|
247
|
my $thisprod = $thisrule->{"prods"}[2]; |
8399
|
111
|
|
|
|
|
239
|
$text = $_[1]; |
8400
|
111
|
|
|
|
|
201
|
my $_savetext; |
8401
|
111
|
|
|
|
|
282
|
@item = (q{STRING}); |
8402
|
111
|
|
|
|
|
302
|
%item = (__RULE__ => q{STRING}); |
8403
|
111
|
|
|
|
|
185
|
my $repcount = 0; |
8404
|
|
|
|
|
|
|
|
8405
|
|
|
|
|
|
|
|
8406
|
111
|
50
|
|
|
|
296
|
Parse::RecDescent::_trace(q{Trying subrule: [BARESTRING]}, |
8407
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8408
|
|
|
|
|
|
|
q{STRING}, |
8409
|
|
|
|
|
|
|
$tracelevel) |
8410
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8411
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
472
|
|
|
111
|
|
|
|
|
180
|
|
8412
|
111
|
|
|
|
|
274
|
$expectation->is(q{})->at($text); |
8413
|
111
|
50
|
|
111
|
|
1108
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::BARESTRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
111
|
|
|
|
|
239
|
|
8414
|
|
|
|
|
|
|
{ |
8415
|
|
|
|
|
|
|
|
8416
|
111
|
50
|
|
|
|
237
|
Parse::RecDescent::_trace(q{<>}, |
8417
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8418
|
|
|
|
|
|
|
q{STRING}, |
8419
|
|
|
|
|
|
|
$tracelevel) |
8420
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8421
|
111
|
|
|
|
|
327
|
$expectation->failed(); |
8422
|
111
|
|
|
|
|
370
|
last; |
8423
|
|
|
|
|
|
|
} |
8424
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [BARESTRING]<< (return value: [} |
8425
|
|
|
|
|
|
|
. $_tok . q{]}, |
8426
|
|
|
|
|
|
|
|
8427
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8428
|
|
|
|
|
|
|
q{STRING}, |
8429
|
|
|
|
|
|
|
$tracelevel) |
8430
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8431
|
0
|
|
|
|
|
0
|
$item{q{BARESTRING}} = $_tok; |
8432
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
8433
|
|
|
|
|
|
|
|
8434
|
|
|
|
|
|
|
} |
8435
|
|
|
|
|
|
|
|
8436
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [BARESTRING]<<}, |
8437
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8438
|
|
|
|
|
|
|
q{STRING}, |
8439
|
|
|
|
|
|
|
$tracelevel) |
8440
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8441
|
|
|
|
|
|
|
|
8442
|
|
|
|
|
|
|
|
8443
|
|
|
|
|
|
|
|
8444
|
0
|
|
|
|
|
0
|
$_matched = 1; |
8445
|
0
|
|
|
|
|
0
|
last; |
8446
|
|
|
|
|
|
|
} |
8447
|
|
|
|
|
|
|
|
8448
|
|
|
|
|
|
|
splice |
8449
|
824
|
100
|
|
|
|
1743
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
111
|
|
|
|
|
247
|
|
8450
|
|
|
|
|
|
|
|
8451
|
824
|
100
|
66
|
|
|
2438
|
unless ( $_matched || defined($score) ) |
8452
|
|
|
|
|
|
|
{ |
8453
|
111
|
|
|
|
|
195
|
splice @{$thisparser->{deferred}}, $def_at; |
|
111
|
|
|
|
|
229
|
|
8454
|
|
|
|
|
|
|
|
8455
|
|
|
|
|
|
|
|
8456
|
111
|
|
|
|
|
229
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
8457
|
111
|
50
|
|
|
|
270
|
Parse::RecDescent::_trace(q{<>}, |
8458
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8459
|
|
|
|
|
|
|
q{STRING}, |
8460
|
|
|
|
|
|
|
$tracelevel) |
8461
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8462
|
111
|
|
|
|
|
596
|
return undef; |
8463
|
|
|
|
|
|
|
} |
8464
|
713
|
50
|
33
|
|
|
2579
|
if (!defined($return) && defined($score)) |
8465
|
|
|
|
|
|
|
{ |
8466
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
8467
|
|
|
|
|
|
|
q{STRING}, |
8468
|
|
|
|
|
|
|
$tracelevel) |
8469
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8470
|
0
|
|
|
|
|
0
|
$return = $score_return; |
8471
|
|
|
|
|
|
|
} |
8472
|
713
|
|
|
|
|
1068
|
splice @{$thisparser->{errors}}, $err_at; |
|
713
|
|
|
|
|
1353
|
|
8473
|
713
|
50
|
|
|
|
1944
|
$return = $item[$#item] unless defined $return; |
8474
|
713
|
50
|
|
|
|
1620
|
if (defined $::RD_TRACE) |
8475
|
|
|
|
|
|
|
{ |
8476
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
8477
|
|
|
|
|
|
|
$return . q{])}, "", |
8478
|
|
|
|
|
|
|
q{STRING}, |
8479
|
|
|
|
|
|
|
$tracelevel); |
8480
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
8481
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
8482
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8483
|
|
|
|
|
|
|
, q{STRING}, |
8484
|
|
|
|
|
|
|
$tracelevel) |
8485
|
|
|
|
|
|
|
} |
8486
|
713
|
|
|
|
|
1337
|
$_[1] = $text; |
8487
|
713
|
|
|
|
|
4098
|
return $return; |
8488
|
|
|
|
|
|
|
} |
8489
|
|
|
|
|
|
|
|
8490
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
8491
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::envelope |
8492
|
|
|
|
|
|
|
{ |
8493
|
1
|
|
|
1
|
|
124
|
my $thisparser = $_[0]; |
8494
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
532
|
|
8495
|
1
|
|
50
|
|
|
8
|
local $tracelevel = ($tracelevel||0)+1; |
8496
|
1
|
|
|
|
|
2
|
$ERRORS = 0; |
8497
|
1
|
|
|
|
|
4
|
my $thisrule = $thisparser->{"rules"}{"envelope"}; |
8498
|
|
|
|
|
|
|
|
8499
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying rule: [envelope]}, |
8500
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8501
|
|
|
|
|
|
|
q{envelope}, |
8502
|
|
|
|
|
|
|
$tracelevel) |
8503
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8504
|
|
|
|
|
|
|
|
8505
|
1
|
|
|
|
|
2
|
my $def_at = @{$thisparser->{deferred}}; |
|
1
|
|
|
|
|
3
|
|
8506
|
1
|
|
|
|
|
2
|
my $err_at = @{$thisparser->{errors}}; |
|
1
|
|
|
|
|
4
|
|
8507
|
|
|
|
|
|
|
|
8508
|
1
|
|
|
|
|
5
|
my $score; |
8509
|
|
|
|
|
|
|
my $score_return; |
8510
|
1
|
|
|
|
|
0
|
my $_tok; |
8511
|
1
|
|
|
|
|
2
|
my $return = undef; |
8512
|
1
|
|
|
|
|
2
|
my $_matched=0; |
8513
|
1
|
|
|
|
|
2
|
my $commit=0; |
8514
|
1
|
|
|
|
|
3
|
my @item = (); |
8515
|
1
|
|
|
|
|
3
|
my %item = (); |
8516
|
1
|
|
|
|
|
2
|
my $repeating = $_[2]; |
8517
|
1
|
|
|
|
|
3
|
my $_noactions = $_[3]; |
8518
|
1
|
50
|
|
|
|
5
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
5
|
|
8519
|
1
|
|
|
|
|
6
|
my $_itempos = $_[5]; |
8520
|
1
|
50
|
|
|
|
5
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
8521
|
1
|
|
|
|
|
5
|
my $text; |
8522
|
|
|
|
|
|
|
my $lastsep; |
8523
|
1
|
|
|
|
|
0
|
my $current_match; |
8524
|
1
|
|
|
|
|
4
|
my $expectation = new Parse::RecDescent::Expectation(q{/.*?\\(.*?ENVELOPE/}); |
8525
|
1
|
|
|
|
|
11
|
$expectation->at($_[1]); |
8526
|
|
|
|
|
|
|
|
8527
|
1
|
|
|
|
|
4
|
my $thisline; |
8528
|
1
|
|
|
|
|
6
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
8529
|
|
|
|
|
|
|
|
8530
|
|
|
|
|
|
|
|
8531
|
|
|
|
|
|
|
|
8532
|
1
|
|
33
|
|
|
13
|
while (!$_matched && !$commit) |
8533
|
|
|
|
|
|
|
{ |
8534
|
|
|
|
|
|
|
|
8535
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying production: [/.*?\\(.*?ENVELOPE/ envelopestruct /.*\\)/]}, |
8536
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8537
|
|
|
|
|
|
|
q{envelope}, |
8538
|
|
|
|
|
|
|
$tracelevel) |
8539
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8540
|
1
|
|
|
|
|
4
|
my $thisprod = $thisrule->{"prods"}[0]; |
8541
|
1
|
|
|
|
|
3
|
$text = $_[1]; |
8542
|
1
|
|
|
|
|
3
|
my $_savetext; |
8543
|
1
|
|
|
|
|
4
|
@item = (q{envelope}); |
8544
|
1
|
|
|
|
|
3
|
%item = (__RULE__ => q{envelope}); |
8545
|
1
|
|
|
|
|
3
|
my $repcount = 0; |
8546
|
|
|
|
|
|
|
|
8547
|
|
|
|
|
|
|
|
8548
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{Trying terminal: [/.*?\\(.*?ENVELOPE/]}, Parse::RecDescent::_tracefirst($text), |
8549
|
|
|
|
|
|
|
q{envelope}, |
8550
|
|
|
|
|
|
|
$tracelevel) |
8551
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8552
|
1
|
|
|
|
|
2
|
undef $lastsep; |
8553
|
1
|
|
|
|
|
3
|
$expectation->is(q{})->at($text); |
8554
|
|
|
|
|
|
|
|
8555
|
|
|
|
|
|
|
|
8556
|
1
|
50
|
33
|
|
|
42
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:.*?\(.*?ENVELOPE)/) |
|
1
|
50
|
|
|
|
17
|
|
8557
|
|
|
|
|
|
|
{ |
8558
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
8559
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8560
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8561
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
8562
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8563
|
|
|
|
|
|
|
|
8564
|
0
|
|
|
|
|
0
|
last; |
8565
|
|
|
|
|
|
|
} |
8566
|
1
|
|
|
|
|
8
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
8567
|
1
|
|
|
|
|
5
|
substr($text,0,length($current_match),q{}); |
8568
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
8569
|
|
|
|
|
|
|
. $current_match . q{])}, |
8570
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
8571
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8572
|
1
|
|
|
|
|
4
|
push @item, $item{__PATTERN1__}=$current_match; |
8573
|
|
|
|
|
|
|
|
8574
|
|
|
|
|
|
|
|
8575
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{Trying subrule: [envelopestruct]}, |
8576
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8577
|
|
|
|
|
|
|
q{envelope}, |
8578
|
|
|
|
|
|
|
$tracelevel) |
8579
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8580
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
734
|
|
|
1
|
|
|
|
|
1
|
|
8581
|
1
|
|
|
|
|
5
|
$expectation->is(q{envelopestruct})->at($text); |
8582
|
1
|
50
|
|
1
|
|
16
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::envelopestruct($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
1
|
|
|
|
|
5
|
|
8583
|
|
|
|
|
|
|
{ |
8584
|
|
|
|
|
|
|
|
8585
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8586
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8587
|
|
|
|
|
|
|
q{envelope}, |
8588
|
|
|
|
|
|
|
$tracelevel) |
8589
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8590
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8591
|
0
|
|
|
|
|
0
|
last; |
8592
|
|
|
|
|
|
|
} |
8593
|
1
|
50
|
|
|
|
9
|
Parse::RecDescent::_trace(q{>>Matched subrule: [envelopestruct]<< (return value: [} |
8594
|
|
|
|
|
|
|
. $_tok . q{]}, |
8595
|
|
|
|
|
|
|
|
8596
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8597
|
|
|
|
|
|
|
q{envelope}, |
8598
|
|
|
|
|
|
|
$tracelevel) |
8599
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8600
|
1
|
|
|
|
|
3
|
$item{q{envelopestruct}} = $_tok; |
8601
|
1
|
|
|
|
|
5
|
push @item, $_tok; |
8602
|
|
|
|
|
|
|
|
8603
|
|
|
|
|
|
|
} |
8604
|
|
|
|
|
|
|
|
8605
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying terminal: [/.*\\)/]}, Parse::RecDescent::_tracefirst($text), |
8606
|
|
|
|
|
|
|
q{envelope}, |
8607
|
|
|
|
|
|
|
$tracelevel) |
8608
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8609
|
1
|
|
|
|
|
3
|
undef $lastsep; |
8610
|
1
|
|
|
|
|
4
|
$expectation->is(q{/.*\\)/})->at($text); |
8611
|
|
|
|
|
|
|
|
8612
|
|
|
|
|
|
|
|
8613
|
1
|
50
|
33
|
|
|
42
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:.*\))/) |
|
1
|
50
|
|
|
|
57
|
|
8614
|
|
|
|
|
|
|
{ |
8615
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
8616
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8617
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8618
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
8619
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8620
|
|
|
|
|
|
|
|
8621
|
0
|
|
|
|
|
0
|
last; |
8622
|
|
|
|
|
|
|
} |
8623
|
1
|
|
|
|
|
9
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
8624
|
1
|
|
|
|
|
5
|
substr($text,0,length($current_match),q{}); |
8625
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
8626
|
|
|
|
|
|
|
. $current_match . q{])}, |
8627
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
8628
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8629
|
1
|
|
|
|
|
5
|
push @item, $item{__PATTERN2__}=$current_match; |
8630
|
|
|
|
|
|
|
|
8631
|
|
|
|
|
|
|
|
8632
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{Trying action}, |
8633
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8634
|
|
|
|
|
|
|
q{envelope}, |
8635
|
|
|
|
|
|
|
$tracelevel) |
8636
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8637
|
|
|
|
|
|
|
|
8638
|
|
|
|
|
|
|
|
8639
|
1
|
50
|
|
|
|
5
|
$_tok = ($_noactions) ? 0 : do { $return = $item{envelopestruct} }; |
|
1
|
|
|
|
|
3
|
|
8640
|
1
|
50
|
|
|
|
5
|
unless (defined $_tok) |
8641
|
|
|
|
|
|
|
{ |
8642
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
8643
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8644
|
0
|
|
|
|
|
0
|
last; |
8645
|
|
|
|
|
|
|
} |
8646
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
8647
|
|
|
|
|
|
|
. $_tok . q{])}, |
8648
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
8649
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8650
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
8651
|
1
|
|
|
|
|
4
|
$item{__ACTION1__}=$_tok; |
8652
|
|
|
|
|
|
|
|
8653
|
|
|
|
|
|
|
|
8654
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched production: [/.*?\\(.*?ENVELOPE/ envelopestruct /.*\\)/]<<}, |
8655
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8656
|
|
|
|
|
|
|
q{envelope}, |
8657
|
|
|
|
|
|
|
$tracelevel) |
8658
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8659
|
|
|
|
|
|
|
|
8660
|
|
|
|
|
|
|
|
8661
|
|
|
|
|
|
|
|
8662
|
1
|
|
|
|
|
3
|
$_matched = 1; |
8663
|
1
|
|
|
|
|
4
|
last; |
8664
|
|
|
|
|
|
|
} |
8665
|
|
|
|
|
|
|
|
8666
|
|
|
|
|
|
|
splice |
8667
|
1
|
50
|
|
|
|
6
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
8668
|
|
|
|
|
|
|
|
8669
|
1
|
50
|
33
|
|
|
5
|
unless ( $_matched || defined($score) ) |
8670
|
|
|
|
|
|
|
{ |
8671
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
8672
|
|
|
|
|
|
|
|
8673
|
|
|
|
|
|
|
|
8674
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
8675
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8676
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8677
|
|
|
|
|
|
|
q{envelope}, |
8678
|
|
|
|
|
|
|
$tracelevel) |
8679
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8680
|
0
|
|
|
|
|
0
|
return undef; |
8681
|
|
|
|
|
|
|
} |
8682
|
1
|
50
|
33
|
|
|
6
|
if (!defined($return) && defined($score)) |
8683
|
|
|
|
|
|
|
{ |
8684
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
8685
|
|
|
|
|
|
|
q{envelope}, |
8686
|
|
|
|
|
|
|
$tracelevel) |
8687
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8688
|
0
|
|
|
|
|
0
|
$return = $score_return; |
8689
|
|
|
|
|
|
|
} |
8690
|
1
|
|
|
|
|
3
|
splice @{$thisparser->{errors}}, $err_at; |
|
1
|
|
|
|
|
3
|
|
8691
|
1
|
50
|
|
|
|
4
|
$return = $item[$#item] unless defined $return; |
8692
|
1
|
50
|
|
|
|
5
|
if (defined $::RD_TRACE) |
8693
|
|
|
|
|
|
|
{ |
8694
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
8695
|
|
|
|
|
|
|
$return . q{])}, "", |
8696
|
|
|
|
|
|
|
q{envelope}, |
8697
|
|
|
|
|
|
|
$tracelevel); |
8698
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
8699
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
8700
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8701
|
|
|
|
|
|
|
, q{envelope}, |
8702
|
|
|
|
|
|
|
$tracelevel) |
8703
|
|
|
|
|
|
|
} |
8704
|
1
|
|
|
|
|
4
|
$_[1] = $text; |
8705
|
1
|
|
|
|
|
13
|
return $return; |
8706
|
|
|
|
|
|
|
} |
8707
|
|
|
|
|
|
|
|
8708
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
8709
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::to |
8710
|
|
|
|
|
|
|
{ |
8711
|
24
|
|
|
24
|
|
63
|
my $thisparser = $_[0]; |
8712
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
419
|
|
8713
|
24
|
|
50
|
|
|
88
|
local $tracelevel = ($tracelevel||0)+1; |
8714
|
24
|
|
|
|
|
53
|
$ERRORS = 0; |
8715
|
24
|
|
|
|
|
82
|
my $thisrule = $thisparser->{"rules"}{"to"}; |
8716
|
|
|
|
|
|
|
|
8717
|
24
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{Trying rule: [to]}, |
8718
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8719
|
|
|
|
|
|
|
q{to}, |
8720
|
|
|
|
|
|
|
$tracelevel) |
8721
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8722
|
|
|
|
|
|
|
|
8723
|
24
|
|
|
|
|
60
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
64
|
|
8724
|
24
|
|
|
|
|
60
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
58
|
|
8725
|
|
|
|
|
|
|
|
8726
|
24
|
|
|
|
|
103
|
my $score; |
8727
|
|
|
|
|
|
|
my $score_return; |
8728
|
24
|
|
|
|
|
0
|
my $_tok; |
8729
|
24
|
|
|
|
|
47
|
my $return = undef; |
8730
|
24
|
|
|
|
|
41
|
my $_matched=0; |
8731
|
24
|
|
|
|
|
57
|
my $commit=0; |
8732
|
24
|
|
|
|
|
57
|
my @item = (); |
8733
|
24
|
|
|
|
|
58
|
my %item = (); |
8734
|
24
|
|
|
|
|
43
|
my $repeating = $_[2]; |
8735
|
24
|
|
|
|
|
60
|
my $_noactions = $_[3]; |
8736
|
24
|
50
|
|
|
|
76
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
42
|
|
|
24
|
|
|
|
|
76
|
|
8737
|
24
|
|
|
|
|
53
|
my $_itempos = $_[5]; |
8738
|
24
|
50
|
|
|
|
91
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
8739
|
24
|
|
|
|
|
77
|
my $text; |
8740
|
|
|
|
|
|
|
my $lastsep; |
8741
|
24
|
|
|
|
|
0
|
my $current_match; |
8742
|
24
|
|
|
|
|
87
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
8743
|
24
|
|
|
|
|
175
|
$expectation->at($_[1]); |
8744
|
|
|
|
|
|
|
|
8745
|
24
|
|
|
|
|
109
|
my $thisline; |
8746
|
24
|
|
|
|
|
97
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
8747
|
|
|
|
|
|
|
|
8748
|
|
|
|
|
|
|
|
8749
|
|
|
|
|
|
|
|
8750
|
24
|
|
33
|
|
|
240
|
while (!$_matched && !$commit) |
8751
|
|
|
|
|
|
|
{ |
8752
|
|
|
|
|
|
|
|
8753
|
24
|
50
|
|
|
|
97
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
8754
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8755
|
|
|
|
|
|
|
q{to}, |
8756
|
|
|
|
|
|
|
$tracelevel) |
8757
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8758
|
24
|
|
|
|
|
89
|
my $thisprod = $thisrule->{"prods"}[0]; |
8759
|
24
|
|
|
|
|
55
|
$text = $_[1]; |
8760
|
24
|
|
|
|
|
39
|
my $_savetext; |
8761
|
24
|
|
|
|
|
75
|
@item = (q{to}); |
8762
|
24
|
|
|
|
|
65
|
%item = (__RULE__ => q{to}); |
8763
|
24
|
|
|
|
|
46
|
my $repcount = 0; |
8764
|
|
|
|
|
|
|
|
8765
|
|
|
|
|
|
|
|
8766
|
24
|
50
|
|
|
|
78
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
8767
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8768
|
|
|
|
|
|
|
q{to}, |
8769
|
|
|
|
|
|
|
$tracelevel) |
8770
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8771
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
10
|
|
|
1
|
|
|
|
|
446
|
|
|
24
|
|
|
|
|
41
|
|
8772
|
24
|
|
|
|
|
100
|
$expectation->is(q{})->at($text); |
8773
|
24
|
50
|
|
24
|
|
275
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
58
|
|
8774
|
|
|
|
|
|
|
{ |
8775
|
|
|
|
|
|
|
|
8776
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8777
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8778
|
|
|
|
|
|
|
q{to}, |
8779
|
|
|
|
|
|
|
$tracelevel) |
8780
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8781
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
8782
|
0
|
|
|
|
|
0
|
last; |
8783
|
|
|
|
|
|
|
} |
8784
|
24
|
50
|
|
|
|
105
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
8785
|
|
|
|
|
|
|
. $_tok . q{]}, |
8786
|
|
|
|
|
|
|
|
8787
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8788
|
|
|
|
|
|
|
q{to}, |
8789
|
|
|
|
|
|
|
$tracelevel) |
8790
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8791
|
24
|
|
|
|
|
71
|
$item{q{ADDRESSES}} = $_tok; |
8792
|
24
|
|
|
|
|
70
|
push @item, $_tok; |
8793
|
|
|
|
|
|
|
|
8794
|
|
|
|
|
|
|
} |
8795
|
|
|
|
|
|
|
|
8796
|
24
|
50
|
|
|
|
85
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
8797
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8798
|
|
|
|
|
|
|
q{to}, |
8799
|
|
|
|
|
|
|
$tracelevel) |
8800
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8801
|
|
|
|
|
|
|
|
8802
|
|
|
|
|
|
|
|
8803
|
|
|
|
|
|
|
|
8804
|
24
|
|
|
|
|
55
|
$_matched = 1; |
8805
|
24
|
|
|
|
|
47
|
last; |
8806
|
|
|
|
|
|
|
} |
8807
|
|
|
|
|
|
|
|
8808
|
|
|
|
|
|
|
splice |
8809
|
24
|
50
|
|
|
|
87
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
8810
|
|
|
|
|
|
|
|
8811
|
24
|
50
|
33
|
|
|
132
|
unless ( $_matched || defined($score) ) |
8812
|
|
|
|
|
|
|
{ |
8813
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
8814
|
|
|
|
|
|
|
|
8815
|
|
|
|
|
|
|
|
8816
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
8817
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
8818
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8819
|
|
|
|
|
|
|
q{to}, |
8820
|
|
|
|
|
|
|
$tracelevel) |
8821
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8822
|
0
|
|
|
|
|
0
|
return undef; |
8823
|
|
|
|
|
|
|
} |
8824
|
24
|
50
|
33
|
|
|
142
|
if (!defined($return) && defined($score)) |
8825
|
|
|
|
|
|
|
{ |
8826
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
8827
|
|
|
|
|
|
|
q{to}, |
8828
|
|
|
|
|
|
|
$tracelevel) |
8829
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8830
|
0
|
|
|
|
|
0
|
$return = $score_return; |
8831
|
|
|
|
|
|
|
} |
8832
|
24
|
|
|
|
|
55
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
70
|
|
8833
|
24
|
50
|
|
|
|
91
|
$return = $item[$#item] unless defined $return; |
8834
|
24
|
50
|
|
|
|
74
|
if (defined $::RD_TRACE) |
8835
|
|
|
|
|
|
|
{ |
8836
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
8837
|
|
|
|
|
|
|
$return . q{])}, "", |
8838
|
|
|
|
|
|
|
q{to}, |
8839
|
|
|
|
|
|
|
$tracelevel); |
8840
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
8841
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
8842
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8843
|
|
|
|
|
|
|
, q{to}, |
8844
|
|
|
|
|
|
|
$tracelevel) |
8845
|
|
|
|
|
|
|
} |
8846
|
24
|
|
|
|
|
66
|
$_[1] = $text; |
8847
|
24
|
|
|
|
|
173
|
return $return; |
8848
|
|
|
|
|
|
|
} |
8849
|
|
|
|
|
|
|
|
8850
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
8851
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::textlines |
8852
|
|
|
|
|
|
|
{ |
8853
|
60
|
|
|
60
|
|
1090
|
my $thisparser = $_[0]; |
8854
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
327
|
|
8855
|
60
|
|
50
|
|
|
207
|
local $tracelevel = ($tracelevel||0)+1; |
8856
|
60
|
|
|
|
|
113
|
$ERRORS = 0; |
8857
|
60
|
|
|
|
|
182
|
my $thisrule = $thisparser->{"rules"}{"textlines"}; |
8858
|
|
|
|
|
|
|
|
8859
|
60
|
50
|
|
|
|
207
|
Parse::RecDescent::_trace(q{Trying rule: [textlines]}, |
8860
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8861
|
|
|
|
|
|
|
q{textlines}, |
8862
|
|
|
|
|
|
|
$tracelevel) |
8863
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8864
|
|
|
|
|
|
|
|
8865
|
60
|
|
|
|
|
111
|
my $def_at = @{$thisparser->{deferred}}; |
|
60
|
|
|
|
|
144
|
|
8866
|
60
|
|
|
|
|
106
|
my $err_at = @{$thisparser->{errors}}; |
|
60
|
|
|
|
|
167
|
|
8867
|
|
|
|
|
|
|
|
8868
|
60
|
|
|
|
|
183
|
my $score; |
8869
|
|
|
|
|
|
|
my $score_return; |
8870
|
60
|
|
|
|
|
0
|
my $_tok; |
8871
|
60
|
|
|
|
|
172
|
my $return = undef; |
8872
|
60
|
|
|
|
|
130
|
my $_matched=0; |
8873
|
60
|
|
|
|
|
110
|
my $commit=0; |
8874
|
60
|
|
|
|
|
153
|
my @item = (); |
8875
|
60
|
|
|
|
|
124
|
my %item = (); |
8876
|
60
|
|
|
|
|
127
|
my $repeating = $_[2]; |
8877
|
60
|
|
|
|
|
106
|
my $_noactions = $_[3]; |
8878
|
60
|
50
|
|
|
|
166
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
60
|
|
|
|
|
95
|
|
|
60
|
|
|
|
|
144
|
|
8879
|
60
|
|
|
|
|
134
|
my $_itempos = $_[5]; |
8880
|
60
|
50
|
|
|
|
213
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
8881
|
60
|
|
|
|
|
156
|
my $text; |
8882
|
|
|
|
|
|
|
my $lastsep; |
8883
|
60
|
|
|
|
|
0
|
my $current_match; |
8884
|
60
|
|
|
|
|
191
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or NUMBER}); |
8885
|
60
|
|
|
|
|
431
|
$expectation->at($_[1]); |
8886
|
|
|
|
|
|
|
|
8887
|
60
|
|
|
|
|
276
|
my $thisline; |
8888
|
60
|
|
|
|
|
239
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
8889
|
|
|
|
|
|
|
|
8890
|
|
|
|
|
|
|
|
8891
|
|
|
|
|
|
|
|
8892
|
60
|
|
33
|
|
|
580
|
while (!$_matched && !$commit) |
8893
|
|
|
|
|
|
|
{ |
8894
|
|
|
|
|
|
|
|
8895
|
60
|
50
|
|
|
|
174
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
8896
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8897
|
|
|
|
|
|
|
q{textlines}, |
8898
|
|
|
|
|
|
|
$tracelevel) |
8899
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8900
|
60
|
|
|
|
|
212
|
my $thisprod = $thisrule->{"prods"}[0]; |
8901
|
60
|
|
|
|
|
156
|
$text = $_[1]; |
8902
|
60
|
|
|
|
|
115
|
my $_savetext; |
8903
|
60
|
|
|
|
|
143
|
@item = (q{textlines}); |
8904
|
60
|
|
|
|
|
162
|
%item = (__RULE__ => q{textlines}); |
8905
|
60
|
|
|
|
|
123
|
my $repcount = 0; |
8906
|
|
|
|
|
|
|
|
8907
|
|
|
|
|
|
|
|
8908
|
60
|
50
|
|
|
|
191
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
8909
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8910
|
|
|
|
|
|
|
q{textlines}, |
8911
|
|
|
|
|
|
|
$tracelevel) |
8912
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8913
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
320
|
|
|
60
|
|
|
|
|
113
|
|
8914
|
60
|
|
|
|
|
193
|
$expectation->is(q{})->at($text); |
8915
|
60
|
50
|
|
60
|
|
681
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
60
|
|
|
|
|
164
|
|
8916
|
|
|
|
|
|
|
{ |
8917
|
|
|
|
|
|
|
|
8918
|
60
|
50
|
|
|
|
207
|
Parse::RecDescent::_trace(q{<>}, |
8919
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8920
|
|
|
|
|
|
|
q{textlines}, |
8921
|
|
|
|
|
|
|
$tracelevel) |
8922
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8923
|
60
|
|
|
|
|
224
|
$expectation->failed(); |
8924
|
60
|
|
|
|
|
233
|
last; |
8925
|
|
|
|
|
|
|
} |
8926
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
8927
|
|
|
|
|
|
|
. $_tok . q{]}, |
8928
|
|
|
|
|
|
|
|
8929
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8930
|
|
|
|
|
|
|
q{textlines}, |
8931
|
|
|
|
|
|
|
$tracelevel) |
8932
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8933
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
8934
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
8935
|
|
|
|
|
|
|
|
8936
|
|
|
|
|
|
|
} |
8937
|
|
|
|
|
|
|
|
8938
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
8939
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8940
|
|
|
|
|
|
|
q{textlines}, |
8941
|
|
|
|
|
|
|
$tracelevel) |
8942
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8943
|
|
|
|
|
|
|
|
8944
|
|
|
|
|
|
|
|
8945
|
|
|
|
|
|
|
|
8946
|
0
|
|
|
|
|
0
|
$_matched = 1; |
8947
|
0
|
|
|
|
|
0
|
last; |
8948
|
|
|
|
|
|
|
} |
8949
|
|
|
|
|
|
|
|
8950
|
|
|
|
|
|
|
splice |
8951
|
60
|
50
|
|
|
|
245
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
60
|
|
|
|
|
199
|
|
8952
|
|
|
|
|
|
|
|
8953
|
60
|
|
33
|
|
|
316
|
while (!$_matched && !$commit) |
8954
|
|
|
|
|
|
|
{ |
8955
|
|
|
|
|
|
|
|
8956
|
60
|
50
|
|
|
|
164
|
Parse::RecDescent::_trace(q{Trying production: [NUMBER]}, |
8957
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
8958
|
|
|
|
|
|
|
q{textlines}, |
8959
|
|
|
|
|
|
|
$tracelevel) |
8960
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8961
|
60
|
|
|
|
|
159
|
my $thisprod = $thisrule->{"prods"}[1]; |
8962
|
60
|
|
|
|
|
138
|
$text = $_[1]; |
8963
|
60
|
|
|
|
|
126
|
my $_savetext; |
8964
|
60
|
|
|
|
|
182
|
@item = (q{textlines}); |
8965
|
60
|
|
|
|
|
197
|
%item = (__RULE__ => q{textlines}); |
8966
|
60
|
|
|
|
|
121
|
my $repcount = 0; |
8967
|
|
|
|
|
|
|
|
8968
|
|
|
|
|
|
|
|
8969
|
60
|
50
|
|
|
|
158
|
Parse::RecDescent::_trace(q{Trying subrule: [NUMBER]}, |
8970
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8971
|
|
|
|
|
|
|
q{textlines}, |
8972
|
|
|
|
|
|
|
$tracelevel) |
8973
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8974
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
435
|
|
|
60
|
|
|
|
|
113
|
|
8975
|
60
|
|
|
|
|
211
|
$expectation->is(q{})->at($text); |
8976
|
60
|
100
|
|
60
|
|
737
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NUMBER($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
60
|
|
|
|
|
150
|
|
8977
|
|
|
|
|
|
|
{ |
8978
|
|
|
|
|
|
|
|
8979
|
2
|
50
|
|
|
|
8
|
Parse::RecDescent::_trace(q{<>}, |
8980
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8981
|
|
|
|
|
|
|
q{textlines}, |
8982
|
|
|
|
|
|
|
$tracelevel) |
8983
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8984
|
2
|
|
|
|
|
8
|
$expectation->failed(); |
8985
|
2
|
|
|
|
|
7
|
last; |
8986
|
|
|
|
|
|
|
} |
8987
|
58
|
50
|
|
|
|
262
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NUMBER]<< (return value: [} |
8988
|
|
|
|
|
|
|
. $_tok . q{]}, |
8989
|
|
|
|
|
|
|
|
8990
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
8991
|
|
|
|
|
|
|
q{textlines}, |
8992
|
|
|
|
|
|
|
$tracelevel) |
8993
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
8994
|
58
|
|
|
|
|
158
|
$item{q{NUMBER}} = $_tok; |
8995
|
58
|
|
|
|
|
144
|
push @item, $_tok; |
8996
|
|
|
|
|
|
|
|
8997
|
|
|
|
|
|
|
} |
8998
|
|
|
|
|
|
|
|
8999
|
58
|
50
|
|
|
|
190
|
Parse::RecDescent::_trace(q{>>Matched production: [NUMBER]<<}, |
9000
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9001
|
|
|
|
|
|
|
q{textlines}, |
9002
|
|
|
|
|
|
|
$tracelevel) |
9003
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9004
|
|
|
|
|
|
|
|
9005
|
|
|
|
|
|
|
|
9006
|
|
|
|
|
|
|
|
9007
|
58
|
|
|
|
|
122
|
$_matched = 1; |
9008
|
58
|
|
|
|
|
119
|
last; |
9009
|
|
|
|
|
|
|
} |
9010
|
|
|
|
|
|
|
|
9011
|
|
|
|
|
|
|
splice |
9012
|
60
|
100
|
|
|
|
166
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
2
|
|
|
|
|
5
|
|
9013
|
|
|
|
|
|
|
|
9014
|
60
|
100
|
66
|
|
|
240
|
unless ( $_matched || defined($score) ) |
9015
|
|
|
|
|
|
|
{ |
9016
|
2
|
|
|
|
|
4
|
splice @{$thisparser->{deferred}}, $def_at; |
|
2
|
|
|
|
|
6
|
|
9017
|
|
|
|
|
|
|
|
9018
|
|
|
|
|
|
|
|
9019
|
2
|
|
|
|
|
3
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
9020
|
2
|
50
|
|
|
|
7
|
Parse::RecDescent::_trace(q{<>}, |
9021
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9022
|
|
|
|
|
|
|
q{textlines}, |
9023
|
|
|
|
|
|
|
$tracelevel) |
9024
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9025
|
2
|
|
|
|
|
10
|
return undef; |
9026
|
|
|
|
|
|
|
} |
9027
|
58
|
50
|
33
|
|
|
380
|
if (!defined($return) && defined($score)) |
9028
|
|
|
|
|
|
|
{ |
9029
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
9030
|
|
|
|
|
|
|
q{textlines}, |
9031
|
|
|
|
|
|
|
$tracelevel) |
9032
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9033
|
0
|
|
|
|
|
0
|
$return = $score_return; |
9034
|
|
|
|
|
|
|
} |
9035
|
58
|
|
|
|
|
149
|
splice @{$thisparser->{errors}}, $err_at; |
|
58
|
|
|
|
|
159
|
|
9036
|
58
|
50
|
|
|
|
213
|
$return = $item[$#item] unless defined $return; |
9037
|
58
|
50
|
|
|
|
192
|
if (defined $::RD_TRACE) |
9038
|
|
|
|
|
|
|
{ |
9039
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
9040
|
|
|
|
|
|
|
$return . q{])}, "", |
9041
|
|
|
|
|
|
|
q{textlines}, |
9042
|
|
|
|
|
|
|
$tracelevel); |
9043
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
9044
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
9045
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9046
|
|
|
|
|
|
|
, q{textlines}, |
9047
|
|
|
|
|
|
|
$tracelevel) |
9048
|
|
|
|
|
|
|
} |
9049
|
58
|
|
|
|
|
140
|
$_[1] = $text; |
9050
|
58
|
|
|
|
|
348
|
return $return; |
9051
|
|
|
|
|
|
|
} |
9052
|
|
|
|
|
|
|
|
9053
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
9054
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::nestedmessage |
9055
|
|
|
|
|
|
|
{ |
9056
|
53
|
|
|
53
|
|
119
|
my $thisparser = $_[0]; |
9057
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
345
|
|
9058
|
53
|
|
50
|
|
|
197
|
local $tracelevel = ($tracelevel||0)+1; |
9059
|
53
|
|
|
|
|
107
|
$ERRORS = 0; |
9060
|
53
|
|
|
|
|
200
|
my $thisrule = $thisparser->{"rules"}{"nestedmessage"}; |
9061
|
|
|
|
|
|
|
|
9062
|
53
|
50
|
|
|
|
164
|
Parse::RecDescent::_trace(q{Trying rule: [nestedmessage]}, |
9063
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9064
|
|
|
|
|
|
|
q{nestedmessage}, |
9065
|
|
|
|
|
|
|
$tracelevel) |
9066
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9067
|
|
|
|
|
|
|
|
9068
|
53
|
|
|
|
|
88
|
my $def_at = @{$thisparser->{deferred}}; |
|
53
|
|
|
|
|
137
|
|
9069
|
53
|
|
|
|
|
115
|
my $err_at = @{$thisparser->{errors}}; |
|
53
|
|
|
|
|
194
|
|
9070
|
|
|
|
|
|
|
|
9071
|
53
|
|
|
|
|
195
|
my $score; |
9072
|
|
|
|
|
|
|
my $score_return; |
9073
|
53
|
|
|
|
|
0
|
my $_tok; |
9074
|
53
|
|
|
|
|
94
|
my $return = undef; |
9075
|
53
|
|
|
|
|
97
|
my $_matched=0; |
9076
|
53
|
|
|
|
|
87
|
my $commit=0; |
9077
|
53
|
|
|
|
|
114
|
my @item = (); |
9078
|
53
|
|
|
|
|
116
|
my %item = (); |
9079
|
53
|
|
|
|
|
107
|
my $repeating = $_[2]; |
9080
|
53
|
|
|
|
|
94
|
my $_noactions = $_[3]; |
9081
|
53
|
50
|
|
|
|
146
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
53
|
|
|
|
|
101
|
|
|
53
|
|
|
|
|
144
|
|
9082
|
53
|
|
|
|
|
120
|
my $_itempos = $_[5]; |
9083
|
53
|
50
|
|
|
|
161
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
9084
|
53
|
|
|
|
|
159
|
my $text; |
9085
|
|
|
|
|
|
|
my $lastsep; |
9086
|
53
|
|
|
|
|
0
|
my $current_match; |
9087
|
53
|
|
|
|
|
194
|
my $expectation = new Parse::RecDescent::Expectation(q{rfc822message}); |
9088
|
53
|
|
|
|
|
400
|
$expectation->at($_[1]); |
9089
|
|
|
|
|
|
|
|
9090
|
53
|
|
|
|
|
218
|
my $thisline; |
9091
|
53
|
|
|
|
|
226
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
9092
|
|
|
|
|
|
|
|
9093
|
|
|
|
|
|
|
|
9094
|
|
|
|
|
|
|
|
9095
|
53
|
|
33
|
|
|
545
|
while (!$_matched && !$commit) |
9096
|
|
|
|
|
|
|
{ |
9097
|
|
|
|
|
|
|
|
9098
|
53
|
50
|
|
|
|
151
|
Parse::RecDescent::_trace(q{Trying production: [rfc822message bodyparms bodyid bodydesc bodyenc bodysize envelopestruct bodystructure textlines bodyMD5 bodydisp bodylang bodyextra]}, |
9099
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9100
|
|
|
|
|
|
|
q{nestedmessage}, |
9101
|
|
|
|
|
|
|
$tracelevel) |
9102
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9103
|
53
|
|
|
|
|
218
|
my $thisprod = $thisrule->{"prods"}[0]; |
9104
|
53
|
|
|
|
|
120
|
$text = $_[1]; |
9105
|
53
|
|
|
|
|
100
|
my $_savetext; |
9106
|
53
|
|
|
|
|
135
|
@item = (q{nestedmessage}); |
9107
|
53
|
|
|
|
|
159
|
%item = (__RULE__ => q{nestedmessage}); |
9108
|
53
|
|
|
|
|
113
|
my $repcount = 0; |
9109
|
|
|
|
|
|
|
|
9110
|
|
|
|
|
|
|
|
9111
|
53
|
50
|
|
|
|
173
|
Parse::RecDescent::_trace(q{Trying subrule: [rfc822message]}, |
9112
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9113
|
|
|
|
|
|
|
q{nestedmessage}, |
9114
|
|
|
|
|
|
|
$tracelevel) |
9115
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9116
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
5
|
|
|
1
|
|
|
|
|
261
|
|
|
53
|
|
|
|
|
101
|
|
9117
|
53
|
|
|
|
|
144
|
$expectation->is(q{})->at($text); |
9118
|
53
|
100
|
|
53
|
|
660
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::rfc822message($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
53
|
|
|
|
|
142
|
|
9119
|
|
|
|
|
|
|
{ |
9120
|
|
|
|
|
|
|
|
9121
|
32
|
50
|
|
|
|
104
|
Parse::RecDescent::_trace(q{<>}, |
9122
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9123
|
|
|
|
|
|
|
q{nestedmessage}, |
9124
|
|
|
|
|
|
|
$tracelevel) |
9125
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9126
|
32
|
|
|
|
|
130
|
$expectation->failed(); |
9127
|
32
|
|
|
|
|
117
|
last; |
9128
|
|
|
|
|
|
|
} |
9129
|
21
|
50
|
|
|
|
85
|
Parse::RecDescent::_trace(q{>>Matched subrule: [rfc822message]<< (return value: [} |
9130
|
|
|
|
|
|
|
. $_tok . q{]}, |
9131
|
|
|
|
|
|
|
|
9132
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9133
|
|
|
|
|
|
|
q{nestedmessage}, |
9134
|
|
|
|
|
|
|
$tracelevel) |
9135
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9136
|
21
|
|
|
|
|
61
|
$item{q{rfc822message}} = $_tok; |
9137
|
21
|
|
|
|
|
47
|
push @item, $_tok; |
9138
|
|
|
|
|
|
|
|
9139
|
|
|
|
|
|
|
} |
9140
|
|
|
|
|
|
|
|
9141
|
|
|
|
|
|
|
|
9142
|
|
|
|
|
|
|
|
9143
|
21
|
50
|
|
|
|
65
|
Parse::RecDescent::_trace(q{Trying directive: []}, |
9144
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9145
|
|
|
|
|
|
|
q{nestedmessage}, |
9146
|
|
|
|
|
|
|
$tracelevel) |
9147
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9148
|
21
|
|
|
|
|
41
|
$_tok = do { $commit = 1 }; |
|
21
|
|
|
|
|
52
|
|
9149
|
21
|
50
|
|
|
|
77
|
if (defined($_tok)) |
9150
|
|
|
|
|
|
|
{ |
9151
|
21
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} |
9152
|
|
|
|
|
|
|
. $_tok . q{])}, |
9153
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9154
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9155
|
|
|
|
|
|
|
} |
9156
|
|
|
|
|
|
|
else |
9157
|
|
|
|
|
|
|
{ |
9158
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9159
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9160
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9161
|
|
|
|
|
|
|
} |
9162
|
|
|
|
|
|
|
|
9163
|
21
|
50
|
|
|
|
60
|
last unless defined $_tok; |
9164
|
21
|
|
|
|
|
72
|
push @item, $item{__DIRECTIVE1__}=$_tok; |
9165
|
|
|
|
|
|
|
|
9166
|
|
|
|
|
|
|
|
9167
|
21
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{Trying subrule: [bodyparms]}, |
9168
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9169
|
|
|
|
|
|
|
q{nestedmessage}, |
9170
|
|
|
|
|
|
|
$tracelevel) |
9171
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9172
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
152
|
|
|
21
|
|
|
|
|
35
|
|
9173
|
21
|
|
|
|
|
87
|
$expectation->is(q{bodyparms})->at($text); |
9174
|
21
|
50
|
|
21
|
|
285
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyparms($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
64
|
|
9175
|
|
|
|
|
|
|
{ |
9176
|
|
|
|
|
|
|
|
9177
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9178
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9179
|
|
|
|
|
|
|
q{nestedmessage}, |
9180
|
|
|
|
|
|
|
$tracelevel) |
9181
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9182
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9183
|
0
|
|
|
|
|
0
|
last; |
9184
|
|
|
|
|
|
|
} |
9185
|
21
|
50
|
|
|
|
82
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodyparms]<< (return value: [} |
9186
|
|
|
|
|
|
|
. $_tok . q{]}, |
9187
|
|
|
|
|
|
|
|
9188
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9189
|
|
|
|
|
|
|
q{nestedmessage}, |
9190
|
|
|
|
|
|
|
$tracelevel) |
9191
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9192
|
21
|
|
|
|
|
65
|
$item{q{bodyparms}} = $_tok; |
9193
|
21
|
|
|
|
|
47
|
push @item, $_tok; |
9194
|
|
|
|
|
|
|
|
9195
|
|
|
|
|
|
|
} |
9196
|
|
|
|
|
|
|
|
9197
|
21
|
50
|
|
|
|
69
|
Parse::RecDescent::_trace(q{Trying subrule: [bodyid]}, |
9198
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9199
|
|
|
|
|
|
|
q{nestedmessage}, |
9200
|
|
|
|
|
|
|
$tracelevel) |
9201
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9202
|
1
|
|
|
1
|
|
16
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
189
|
|
|
21
|
|
|
|
|
42
|
|
9203
|
21
|
|
|
|
|
81
|
$expectation->is(q{bodyid})->at($text); |
9204
|
21
|
50
|
|
21
|
|
317
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyid($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
54
|
|
9205
|
|
|
|
|
|
|
{ |
9206
|
|
|
|
|
|
|
|
9207
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9208
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9209
|
|
|
|
|
|
|
q{nestedmessage}, |
9210
|
|
|
|
|
|
|
$tracelevel) |
9211
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9212
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9213
|
0
|
|
|
|
|
0
|
last; |
9214
|
|
|
|
|
|
|
} |
9215
|
21
|
50
|
|
|
|
88
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodyid]<< (return value: [} |
9216
|
|
|
|
|
|
|
. $_tok . q{]}, |
9217
|
|
|
|
|
|
|
|
9218
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9219
|
|
|
|
|
|
|
q{nestedmessage}, |
9220
|
|
|
|
|
|
|
$tracelevel) |
9221
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9222
|
21
|
|
|
|
|
62
|
$item{q{bodyid}} = $_tok; |
9223
|
21
|
|
|
|
|
64
|
push @item, $_tok; |
9224
|
|
|
|
|
|
|
|
9225
|
|
|
|
|
|
|
} |
9226
|
|
|
|
|
|
|
|
9227
|
21
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{Trying subrule: [bodydesc]}, |
9228
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9229
|
|
|
|
|
|
|
q{nestedmessage}, |
9230
|
|
|
|
|
|
|
$tracelevel) |
9231
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9232
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
146
|
|
|
21
|
|
|
|
|
40
|
|
9233
|
21
|
|
|
|
|
84
|
$expectation->is(q{bodydesc})->at($text); |
9234
|
21
|
50
|
|
21
|
|
284
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydesc($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
86
|
|
9235
|
|
|
|
|
|
|
{ |
9236
|
|
|
|
|
|
|
|
9237
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9238
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9239
|
|
|
|
|
|
|
q{nestedmessage}, |
9240
|
|
|
|
|
|
|
$tracelevel) |
9241
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9242
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9243
|
0
|
|
|
|
|
0
|
last; |
9244
|
|
|
|
|
|
|
} |
9245
|
21
|
50
|
|
|
|
92
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodydesc]<< (return value: [} |
9246
|
|
|
|
|
|
|
. $_tok . q{]}, |
9247
|
|
|
|
|
|
|
|
9248
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9249
|
|
|
|
|
|
|
q{nestedmessage}, |
9250
|
|
|
|
|
|
|
$tracelevel) |
9251
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9252
|
21
|
|
|
|
|
65
|
$item{q{bodydesc}} = $_tok; |
9253
|
21
|
|
|
|
|
53
|
push @item, $_tok; |
9254
|
|
|
|
|
|
|
|
9255
|
|
|
|
|
|
|
} |
9256
|
|
|
|
|
|
|
|
9257
|
21
|
50
|
|
|
|
66
|
Parse::RecDescent::_trace(q{Trying subrule: [bodyenc]}, |
9258
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9259
|
|
|
|
|
|
|
q{nestedmessage}, |
9260
|
|
|
|
|
|
|
$tracelevel) |
9261
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9262
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
187
|
|
|
21
|
|
|
|
|
49
|
|
9263
|
21
|
|
|
|
|
86
|
$expectation->is(q{bodyenc})->at($text); |
9264
|
21
|
50
|
|
21
|
|
276
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyenc($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
57
|
|
9265
|
|
|
|
|
|
|
{ |
9266
|
|
|
|
|
|
|
|
9267
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9268
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9269
|
|
|
|
|
|
|
q{nestedmessage}, |
9270
|
|
|
|
|
|
|
$tracelevel) |
9271
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9272
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9273
|
0
|
|
|
|
|
0
|
last; |
9274
|
|
|
|
|
|
|
} |
9275
|
21
|
50
|
|
|
|
90
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodyenc]<< (return value: [} |
9276
|
|
|
|
|
|
|
. $_tok . q{]}, |
9277
|
|
|
|
|
|
|
|
9278
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9279
|
|
|
|
|
|
|
q{nestedmessage}, |
9280
|
|
|
|
|
|
|
$tracelevel) |
9281
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9282
|
21
|
|
|
|
|
66
|
$item{q{bodyenc}} = $_tok; |
9283
|
21
|
|
|
|
|
67
|
push @item, $_tok; |
9284
|
|
|
|
|
|
|
|
9285
|
|
|
|
|
|
|
} |
9286
|
|
|
|
|
|
|
|
9287
|
21
|
50
|
|
|
|
87
|
Parse::RecDescent::_trace(q{Trying subrule: [bodysize]}, |
9288
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9289
|
|
|
|
|
|
|
q{nestedmessage}, |
9290
|
|
|
|
|
|
|
$tracelevel) |
9291
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9292
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1576
|
|
|
21
|
|
|
|
|
41
|
|
9293
|
21
|
|
|
|
|
133
|
$expectation->is(q{bodysize})->at($text); |
9294
|
21
|
50
|
|
21
|
|
301
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodysize($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
21
|
|
|
|
|
56
|
|
9295
|
|
|
|
|
|
|
{ |
9296
|
|
|
|
|
|
|
|
9297
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9298
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9299
|
|
|
|
|
|
|
q{nestedmessage}, |
9300
|
|
|
|
|
|
|
$tracelevel) |
9301
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9302
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9303
|
0
|
|
|
|
|
0
|
last; |
9304
|
|
|
|
|
|
|
} |
9305
|
21
|
50
|
|
|
|
93
|
Parse::RecDescent::_trace(q{>>Matched subrule: [bodysize]<< (return value: [} |
9306
|
|
|
|
|
|
|
. $_tok . q{]}, |
9307
|
|
|
|
|
|
|
|
9308
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9309
|
|
|
|
|
|
|
q{nestedmessage}, |
9310
|
|
|
|
|
|
|
$tracelevel) |
9311
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9312
|
21
|
|
|
|
|
66
|
$item{q{bodysize}} = $_tok; |
9313
|
21
|
|
|
|
|
59
|
push @item, $_tok; |
9314
|
|
|
|
|
|
|
|
9315
|
|
|
|
|
|
|
} |
9316
|
|
|
|
|
|
|
|
9317
|
21
|
50
|
|
|
|
75
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [envelopestruct]}, |
9318
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9319
|
|
|
|
|
|
|
q{nestedmessage}, |
9320
|
|
|
|
|
|
|
$tracelevel) |
9321
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9322
|
21
|
|
|
|
|
86
|
$expectation->is(q{envelopestruct})->at($text); |
9323
|
|
|
|
|
|
|
|
9324
|
21
|
50
|
|
21
|
|
298
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::envelopestruct, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
60
|
|
9325
|
|
|
|
|
|
|
{ |
9326
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9327
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9328
|
|
|
|
|
|
|
q{nestedmessage}, |
9329
|
|
|
|
|
|
|
$tracelevel) |
9330
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9331
|
0
|
|
|
|
|
0
|
last; |
9332
|
|
|
|
|
|
|
} |
9333
|
21
|
50
|
|
|
|
499
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [envelopestruct]<< (} |
9334
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9335
|
|
|
|
|
|
|
|
9336
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9337
|
|
|
|
|
|
|
q{nestedmessage}, |
9338
|
|
|
|
|
|
|
$tracelevel) |
9339
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9340
|
21
|
|
|
|
|
72
|
$item{q{envelopestruct(?)}} = $_tok; |
9341
|
21
|
|
|
|
|
61
|
push @item, $_tok; |
9342
|
|
|
|
|
|
|
|
9343
|
|
|
|
|
|
|
|
9344
|
|
|
|
|
|
|
|
9345
|
21
|
50
|
|
|
|
87
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodystructure]}, |
9346
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9347
|
|
|
|
|
|
|
q{nestedmessage}, |
9348
|
|
|
|
|
|
|
$tracelevel) |
9349
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9350
|
21
|
|
|
|
|
102
|
$expectation->is(q{bodystructure})->at($text); |
9351
|
|
|
|
|
|
|
|
9352
|
21
|
50
|
|
21
|
|
321
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodystructure, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
44
|
|
9353
|
|
|
|
|
|
|
{ |
9354
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9355
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9356
|
|
|
|
|
|
|
q{nestedmessage}, |
9357
|
|
|
|
|
|
|
$tracelevel) |
9358
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9359
|
0
|
|
|
|
|
0
|
last; |
9360
|
|
|
|
|
|
|
} |
9361
|
21
|
50
|
|
|
|
465
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodystructure]<< (} |
9362
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9363
|
|
|
|
|
|
|
|
9364
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9365
|
|
|
|
|
|
|
q{nestedmessage}, |
9366
|
|
|
|
|
|
|
$tracelevel) |
9367
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9368
|
21
|
|
|
|
|
74
|
$item{q{bodystructure(?)}} = $_tok; |
9369
|
21
|
|
|
|
|
56
|
push @item, $_tok; |
9370
|
|
|
|
|
|
|
|
9371
|
|
|
|
|
|
|
|
9372
|
|
|
|
|
|
|
|
9373
|
21
|
50
|
|
|
|
59
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [textlines]}, |
9374
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9375
|
|
|
|
|
|
|
q{nestedmessage}, |
9376
|
|
|
|
|
|
|
$tracelevel) |
9377
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9378
|
21
|
|
|
|
|
83
|
$expectation->is(q{textlines})->at($text); |
9379
|
|
|
|
|
|
|
|
9380
|
21
|
50
|
|
21
|
|
309
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::textlines, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
54
|
|
9381
|
|
|
|
|
|
|
{ |
9382
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9383
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9384
|
|
|
|
|
|
|
q{nestedmessage}, |
9385
|
|
|
|
|
|
|
$tracelevel) |
9386
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9387
|
0
|
|
|
|
|
0
|
last; |
9388
|
|
|
|
|
|
|
} |
9389
|
21
|
50
|
|
|
|
439
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [textlines]<< (} |
9390
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9391
|
|
|
|
|
|
|
|
9392
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9393
|
|
|
|
|
|
|
q{nestedmessage}, |
9394
|
|
|
|
|
|
|
$tracelevel) |
9395
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9396
|
21
|
|
|
|
|
55
|
$item{q{textlines(?)}} = $_tok; |
9397
|
21
|
|
|
|
|
56
|
push @item, $_tok; |
9398
|
|
|
|
|
|
|
|
9399
|
|
|
|
|
|
|
|
9400
|
|
|
|
|
|
|
|
9401
|
21
|
50
|
|
|
|
62
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyMD5]}, |
9402
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9403
|
|
|
|
|
|
|
q{nestedmessage}, |
9404
|
|
|
|
|
|
|
$tracelevel) |
9405
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9406
|
21
|
|
|
|
|
78
|
$expectation->is(q{bodyMD5})->at($text); |
9407
|
|
|
|
|
|
|
|
9408
|
21
|
50
|
|
21
|
|
300
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyMD5, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
71
|
|
9409
|
|
|
|
|
|
|
{ |
9410
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9411
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9412
|
|
|
|
|
|
|
q{nestedmessage}, |
9413
|
|
|
|
|
|
|
$tracelevel) |
9414
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9415
|
0
|
|
|
|
|
0
|
last; |
9416
|
|
|
|
|
|
|
} |
9417
|
21
|
50
|
|
|
|
383
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyMD5]<< (} |
9418
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9419
|
|
|
|
|
|
|
|
9420
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9421
|
|
|
|
|
|
|
q{nestedmessage}, |
9422
|
|
|
|
|
|
|
$tracelevel) |
9423
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9424
|
21
|
|
|
|
|
59
|
$item{q{bodyMD5(?)}} = $_tok; |
9425
|
21
|
|
|
|
|
52
|
push @item, $_tok; |
9426
|
|
|
|
|
|
|
|
9427
|
|
|
|
|
|
|
|
9428
|
|
|
|
|
|
|
|
9429
|
21
|
50
|
|
|
|
74
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodydisp]}, |
9430
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9431
|
|
|
|
|
|
|
q{nestedmessage}, |
9432
|
|
|
|
|
|
|
$tracelevel) |
9433
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9434
|
21
|
|
|
|
|
72
|
$expectation->is(q{bodydisp})->at($text); |
9435
|
|
|
|
|
|
|
|
9436
|
21
|
50
|
|
21
|
|
269
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydisp, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
60
|
|
9437
|
|
|
|
|
|
|
{ |
9438
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9439
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9440
|
|
|
|
|
|
|
q{nestedmessage}, |
9441
|
|
|
|
|
|
|
$tracelevel) |
9442
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9443
|
0
|
|
|
|
|
0
|
last; |
9444
|
|
|
|
|
|
|
} |
9445
|
21
|
50
|
|
|
|
393
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodydisp]<< (} |
9446
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9447
|
|
|
|
|
|
|
|
9448
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9449
|
|
|
|
|
|
|
q{nestedmessage}, |
9450
|
|
|
|
|
|
|
$tracelevel) |
9451
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9452
|
21
|
|
|
|
|
63
|
$item{q{bodydisp(?)}} = $_tok; |
9453
|
21
|
|
|
|
|
53
|
push @item, $_tok; |
9454
|
|
|
|
|
|
|
|
9455
|
|
|
|
|
|
|
|
9456
|
|
|
|
|
|
|
|
9457
|
21
|
50
|
|
|
|
64
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodylang]}, |
9458
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9459
|
|
|
|
|
|
|
q{nestedmessage}, |
9460
|
|
|
|
|
|
|
$tracelevel) |
9461
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9462
|
21
|
|
|
|
|
70
|
$expectation->is(q{bodylang})->at($text); |
9463
|
|
|
|
|
|
|
|
9464
|
21
|
50
|
|
21
|
|
285
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodylang, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
65
|
|
9465
|
|
|
|
|
|
|
{ |
9466
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9467
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9468
|
|
|
|
|
|
|
q{nestedmessage}, |
9469
|
|
|
|
|
|
|
$tracelevel) |
9470
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9471
|
0
|
|
|
|
|
0
|
last; |
9472
|
|
|
|
|
|
|
} |
9473
|
21
|
50
|
|
|
|
397
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodylang]<< (} |
9474
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9475
|
|
|
|
|
|
|
|
9476
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9477
|
|
|
|
|
|
|
q{nestedmessage}, |
9478
|
|
|
|
|
|
|
$tracelevel) |
9479
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9480
|
21
|
|
|
|
|
71
|
$item{q{bodylang(?)}} = $_tok; |
9481
|
21
|
|
|
|
|
57
|
push @item, $_tok; |
9482
|
|
|
|
|
|
|
|
9483
|
|
|
|
|
|
|
|
9484
|
|
|
|
|
|
|
|
9485
|
21
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyextra]}, |
9486
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9487
|
|
|
|
|
|
|
q{nestedmessage}, |
9488
|
|
|
|
|
|
|
$tracelevel) |
9489
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9490
|
21
|
|
|
|
|
67
|
$expectation->is(q{bodyextra})->at($text); |
9491
|
|
|
|
|
|
|
|
9492
|
21
|
50
|
|
21
|
|
283
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyextra, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
21
|
|
|
|
|
53
|
|
9493
|
|
|
|
|
|
|
{ |
9494
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9495
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9496
|
|
|
|
|
|
|
q{nestedmessage}, |
9497
|
|
|
|
|
|
|
$tracelevel) |
9498
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9499
|
0
|
|
|
|
|
0
|
last; |
9500
|
|
|
|
|
|
|
} |
9501
|
21
|
50
|
|
|
|
378
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyextra]<< (} |
9502
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
9503
|
|
|
|
|
|
|
|
9504
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9505
|
|
|
|
|
|
|
q{nestedmessage}, |
9506
|
|
|
|
|
|
|
$tracelevel) |
9507
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9508
|
21
|
|
|
|
|
64
|
$item{q{bodyextra(?)}} = $_tok; |
9509
|
21
|
|
|
|
|
52
|
push @item, $_tok; |
9510
|
|
|
|
|
|
|
|
9511
|
|
|
|
|
|
|
|
9512
|
|
|
|
|
|
|
|
9513
|
21
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{Trying action}, |
9514
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9515
|
|
|
|
|
|
|
q{nestedmessage}, |
9516
|
|
|
|
|
|
|
$tracelevel) |
9517
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9518
|
|
|
|
|
|
|
|
9519
|
|
|
|
|
|
|
|
9520
|
21
|
50
|
|
|
|
61
|
$_tok = ($_noactions) ? 0 : do { |
9521
|
21
|
|
|
|
|
45
|
$return = {}; |
9522
|
|
|
|
|
|
|
$return->{$_} = $item{$_} |
9523
|
21
|
|
|
|
|
262
|
for qw/bodyparms bodyid bodydesc bodyenc bodysize/; |
9524
|
|
|
|
|
|
|
# envelopestruct bodystructure textlines/; |
9525
|
|
|
|
|
|
|
|
9526
|
21
|
|
|
|
|
113
|
take_optional_items($return, \%item |
9527
|
|
|
|
|
|
|
, qw/envelopestruct bodystructure textlines/ |
9528
|
|
|
|
|
|
|
, qw/bodyMD5 bodydisp bodylang bodyextra/); |
9529
|
|
|
|
|
|
|
|
9530
|
21
|
|
|
|
|
147
|
merge_hash($return, $item{bodystructure}[0]); |
9531
|
21
|
|
|
|
|
102
|
merge_hash($return, $item{basicfields}); |
9532
|
21
|
|
|
|
|
80
|
$return->{bodytype} = "MESSAGE" ; |
9533
|
21
|
|
|
|
|
56
|
$return->{bodysubtype} = "RFC822" ; |
9534
|
21
|
|
|
|
|
57
|
1; |
9535
|
|
|
|
|
|
|
}; |
9536
|
21
|
50
|
|
|
|
75
|
unless (defined $_tok) |
9537
|
|
|
|
|
|
|
{ |
9538
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
9539
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9540
|
0
|
|
|
|
|
0
|
last; |
9541
|
|
|
|
|
|
|
} |
9542
|
21
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
9543
|
|
|
|
|
|
|
. $_tok . q{])}, |
9544
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9545
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9546
|
21
|
|
|
|
|
50
|
push @item, $_tok; |
9547
|
21
|
|
|
|
|
48
|
$item{__ACTION1__}=$_tok; |
9548
|
|
|
|
|
|
|
|
9549
|
|
|
|
|
|
|
|
9550
|
21
|
50
|
|
|
|
57
|
Parse::RecDescent::_trace(q{>>Matched production: [rfc822message bodyparms bodyid bodydesc bodyenc bodysize envelopestruct bodystructure textlines bodyMD5 bodydisp bodylang bodyextra]<<}, |
9551
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9552
|
|
|
|
|
|
|
q{nestedmessage}, |
9553
|
|
|
|
|
|
|
$tracelevel) |
9554
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9555
|
|
|
|
|
|
|
|
9556
|
|
|
|
|
|
|
|
9557
|
|
|
|
|
|
|
|
9558
|
21
|
|
|
|
|
41
|
$_matched = 1; |
9559
|
21
|
|
|
|
|
44
|
last; |
9560
|
|
|
|
|
|
|
} |
9561
|
|
|
|
|
|
|
|
9562
|
|
|
|
|
|
|
splice |
9563
|
53
|
100
|
|
|
|
202
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
32
|
|
|
|
|
125
|
|
9564
|
|
|
|
|
|
|
|
9565
|
53
|
100
|
66
|
|
|
254
|
unless ( $_matched || defined($score) ) |
9566
|
|
|
|
|
|
|
{ |
9567
|
32
|
|
|
|
|
65
|
splice @{$thisparser->{deferred}}, $def_at; |
|
32
|
|
|
|
|
81
|
|
9568
|
|
|
|
|
|
|
|
9569
|
|
|
|
|
|
|
|
9570
|
32
|
|
|
|
|
59
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
9571
|
32
|
50
|
|
|
|
99
|
Parse::RecDescent::_trace(q{<>}, |
9572
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9573
|
|
|
|
|
|
|
q{nestedmessage}, |
9574
|
|
|
|
|
|
|
$tracelevel) |
9575
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9576
|
32
|
|
|
|
|
209
|
return undef; |
9577
|
|
|
|
|
|
|
} |
9578
|
21
|
50
|
33
|
|
|
81
|
if (!defined($return) && defined($score)) |
9579
|
|
|
|
|
|
|
{ |
9580
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
9581
|
|
|
|
|
|
|
q{nestedmessage}, |
9582
|
|
|
|
|
|
|
$tracelevel) |
9583
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9584
|
0
|
|
|
|
|
0
|
$return = $score_return; |
9585
|
|
|
|
|
|
|
} |
9586
|
21
|
|
|
|
|
44
|
splice @{$thisparser->{errors}}, $err_at; |
|
21
|
|
|
|
|
67
|
|
9587
|
21
|
50
|
|
|
|
79
|
$return = $item[$#item] unless defined $return; |
9588
|
21
|
50
|
|
|
|
81
|
if (defined $::RD_TRACE) |
9589
|
|
|
|
|
|
|
{ |
9590
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
9591
|
|
|
|
|
|
|
$return . q{])}, "", |
9592
|
|
|
|
|
|
|
q{nestedmessage}, |
9593
|
|
|
|
|
|
|
$tracelevel); |
9594
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
9595
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
9596
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9597
|
|
|
|
|
|
|
, q{nestedmessage}, |
9598
|
|
|
|
|
|
|
$tracelevel) |
9599
|
|
|
|
|
|
|
} |
9600
|
21
|
|
|
|
|
61
|
$_[1] = $text; |
9601
|
21
|
|
|
|
|
310
|
return $return; |
9602
|
|
|
|
|
|
|
} |
9603
|
|
|
|
|
|
|
|
9604
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
9605
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::sender |
9606
|
|
|
|
|
|
|
{ |
9607
|
24
|
|
|
24
|
|
57
|
my $thisparser = $_[0]; |
9608
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
9
|
|
|
1
|
|
|
|
|
350
|
|
9609
|
24
|
|
50
|
|
|
353
|
local $tracelevel = ($tracelevel||0)+1; |
9610
|
24
|
|
|
|
|
57
|
$ERRORS = 0; |
9611
|
24
|
|
|
|
|
99
|
my $thisrule = $thisparser->{"rules"}{"sender"}; |
9612
|
|
|
|
|
|
|
|
9613
|
24
|
50
|
|
|
|
66
|
Parse::RecDescent::_trace(q{Trying rule: [sender]}, |
9614
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9615
|
|
|
|
|
|
|
q{sender}, |
9616
|
|
|
|
|
|
|
$tracelevel) |
9617
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9618
|
|
|
|
|
|
|
|
9619
|
24
|
|
|
|
|
49
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
66
|
|
9620
|
24
|
|
|
|
|
48
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
59
|
|
9621
|
|
|
|
|
|
|
|
9622
|
24
|
|
|
|
|
81
|
my $score; |
9623
|
|
|
|
|
|
|
my $score_return; |
9624
|
24
|
|
|
|
|
0
|
my $_tok; |
9625
|
24
|
|
|
|
|
46
|
my $return = undef; |
9626
|
24
|
|
|
|
|
49
|
my $_matched=0; |
9627
|
24
|
|
|
|
|
48
|
my $commit=0; |
9628
|
24
|
|
|
|
|
68
|
my @item = (); |
9629
|
24
|
|
|
|
|
50
|
my %item = (); |
9630
|
24
|
|
|
|
|
61
|
my $repeating = $_[2]; |
9631
|
24
|
|
|
|
|
45
|
my $_noactions = $_[3]; |
9632
|
24
|
50
|
|
|
|
89
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
47
|
|
|
24
|
|
|
|
|
53
|
|
9633
|
24
|
|
|
|
|
54
|
my $_itempos = $_[5]; |
9634
|
24
|
50
|
|
|
|
87
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
9635
|
24
|
|
|
|
|
79
|
my $text; |
9636
|
|
|
|
|
|
|
my $lastsep; |
9637
|
24
|
|
|
|
|
0
|
my $current_match; |
9638
|
24
|
|
|
|
|
81
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
9639
|
24
|
|
|
|
|
193
|
$expectation->at($_[1]); |
9640
|
|
|
|
|
|
|
|
9641
|
24
|
|
|
|
|
113
|
my $thisline; |
9642
|
24
|
|
|
|
|
103
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
9643
|
|
|
|
|
|
|
|
9644
|
|
|
|
|
|
|
|
9645
|
|
|
|
|
|
|
|
9646
|
24
|
|
33
|
|
|
241
|
while (!$_matched && !$commit) |
9647
|
|
|
|
|
|
|
{ |
9648
|
|
|
|
|
|
|
|
9649
|
24
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
9650
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9651
|
|
|
|
|
|
|
q{sender}, |
9652
|
|
|
|
|
|
|
$tracelevel) |
9653
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9654
|
24
|
|
|
|
|
83
|
my $thisprod = $thisrule->{"prods"}[0]; |
9655
|
24
|
|
|
|
|
48
|
$text = $_[1]; |
9656
|
24
|
|
|
|
|
45
|
my $_savetext; |
9657
|
24
|
|
|
|
|
60
|
@item = (q{sender}); |
9658
|
24
|
|
|
|
|
74
|
%item = (__RULE__ => q{sender}); |
9659
|
24
|
|
|
|
|
48
|
my $repcount = 0; |
9660
|
|
|
|
|
|
|
|
9661
|
|
|
|
|
|
|
|
9662
|
24
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
9663
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9664
|
|
|
|
|
|
|
q{sender}, |
9665
|
|
|
|
|
|
|
$tracelevel) |
9666
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9667
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
431
|
|
|
24
|
|
|
|
|
47
|
|
9668
|
24
|
|
|
|
|
70
|
$expectation->is(q{})->at($text); |
9669
|
24
|
50
|
|
24
|
|
272
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
60
|
|
9670
|
|
|
|
|
|
|
{ |
9671
|
|
|
|
|
|
|
|
9672
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9673
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9674
|
|
|
|
|
|
|
q{sender}, |
9675
|
|
|
|
|
|
|
$tracelevel) |
9676
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9677
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9678
|
0
|
|
|
|
|
0
|
last; |
9679
|
|
|
|
|
|
|
} |
9680
|
24
|
50
|
|
|
|
137
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
9681
|
|
|
|
|
|
|
. $_tok . q{]}, |
9682
|
|
|
|
|
|
|
|
9683
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9684
|
|
|
|
|
|
|
q{sender}, |
9685
|
|
|
|
|
|
|
$tracelevel) |
9686
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9687
|
24
|
|
|
|
|
77
|
$item{q{ADDRESSES}} = $_tok; |
9688
|
24
|
|
|
|
|
67
|
push @item, $_tok; |
9689
|
|
|
|
|
|
|
|
9690
|
|
|
|
|
|
|
} |
9691
|
|
|
|
|
|
|
|
9692
|
24
|
50
|
|
|
|
74
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
9693
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9694
|
|
|
|
|
|
|
q{sender}, |
9695
|
|
|
|
|
|
|
$tracelevel) |
9696
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9697
|
|
|
|
|
|
|
|
9698
|
|
|
|
|
|
|
|
9699
|
|
|
|
|
|
|
|
9700
|
24
|
|
|
|
|
45
|
$_matched = 1; |
9701
|
24
|
|
|
|
|
59
|
last; |
9702
|
|
|
|
|
|
|
} |
9703
|
|
|
|
|
|
|
|
9704
|
|
|
|
|
|
|
splice |
9705
|
24
|
50
|
|
|
|
106
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
9706
|
|
|
|
|
|
|
|
9707
|
24
|
50
|
33
|
|
|
84
|
unless ( $_matched || defined($score) ) |
9708
|
|
|
|
|
|
|
{ |
9709
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
9710
|
|
|
|
|
|
|
|
9711
|
|
|
|
|
|
|
|
9712
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
9713
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9714
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9715
|
|
|
|
|
|
|
q{sender}, |
9716
|
|
|
|
|
|
|
$tracelevel) |
9717
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9718
|
0
|
|
|
|
|
0
|
return undef; |
9719
|
|
|
|
|
|
|
} |
9720
|
24
|
50
|
33
|
|
|
190
|
if (!defined($return) && defined($score)) |
9721
|
|
|
|
|
|
|
{ |
9722
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
9723
|
|
|
|
|
|
|
q{sender}, |
9724
|
|
|
|
|
|
|
$tracelevel) |
9725
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9726
|
0
|
|
|
|
|
0
|
$return = $score_return; |
9727
|
|
|
|
|
|
|
} |
9728
|
24
|
|
|
|
|
55
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
63
|
|
9729
|
24
|
50
|
|
|
|
92
|
$return = $item[$#item] unless defined $return; |
9730
|
24
|
50
|
|
|
|
80
|
if (defined $::RD_TRACE) |
9731
|
|
|
|
|
|
|
{ |
9732
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
9733
|
|
|
|
|
|
|
$return . q{])}, "", |
9734
|
|
|
|
|
|
|
q{sender}, |
9735
|
|
|
|
|
|
|
$tracelevel); |
9736
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
9737
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
9738
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9739
|
|
|
|
|
|
|
, q{sender}, |
9740
|
|
|
|
|
|
|
$tracelevel) |
9741
|
|
|
|
|
|
|
} |
9742
|
24
|
|
|
|
|
62
|
$_[1] = $text; |
9743
|
24
|
|
|
|
|
173
|
return $return; |
9744
|
|
|
|
|
|
|
} |
9745
|
|
|
|
|
|
|
|
9746
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
9747
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::SINGLE_QUOTED_STRING |
9748
|
|
|
|
|
|
|
{ |
9749
|
112
|
|
|
112
|
|
231
|
my $thisparser = $_[0]; |
9750
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1178
|
|
9751
|
112
|
|
50
|
|
|
322
|
local $tracelevel = ($tracelevel||0)+1; |
9752
|
112
|
|
|
|
|
207
|
$ERRORS = 0; |
9753
|
112
|
|
|
|
|
275
|
my $thisrule = $thisparser->{"rules"}{"SINGLE_QUOTED_STRING"}; |
9754
|
|
|
|
|
|
|
|
9755
|
112
|
50
|
|
|
|
391
|
Parse::RecDescent::_trace(q{Trying rule: [SINGLE_QUOTED_STRING]}, |
9756
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9757
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9758
|
|
|
|
|
|
|
$tracelevel) |
9759
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9760
|
|
|
|
|
|
|
|
9761
|
112
|
|
|
|
|
184
|
my $def_at = @{$thisparser->{deferred}}; |
|
112
|
|
|
|
|
239
|
|
9762
|
112
|
|
|
|
|
202
|
my $err_at = @{$thisparser->{errors}}; |
|
112
|
|
|
|
|
257
|
|
9763
|
|
|
|
|
|
|
|
9764
|
112
|
|
|
|
|
339
|
my $score; |
9765
|
|
|
|
|
|
|
my $score_return; |
9766
|
112
|
|
|
|
|
0
|
my $_tok; |
9767
|
112
|
|
|
|
|
185
|
my $return = undef; |
9768
|
112
|
|
|
|
|
246
|
my $_matched=0; |
9769
|
112
|
|
|
|
|
199
|
my $commit=0; |
9770
|
112
|
|
|
|
|
198
|
my @item = (); |
9771
|
112
|
|
|
|
|
225
|
my %item = (); |
9772
|
112
|
|
|
|
|
176
|
my $repeating = $_[2]; |
9773
|
112
|
|
|
|
|
185
|
my $_noactions = $_[3]; |
9774
|
112
|
50
|
|
|
|
270
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
112
|
|
|
|
|
184
|
|
|
112
|
|
|
|
|
224
|
|
9775
|
112
|
|
|
|
|
195
|
my $_itempos = $_[5]; |
9776
|
112
|
50
|
|
|
|
302
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
9777
|
112
|
|
|
|
|
321
|
my $text; |
9778
|
|
|
|
|
|
|
my $lastsep; |
9779
|
112
|
|
|
|
|
0
|
my $current_match; |
9780
|
112
|
|
|
|
|
294
|
my $expectation = new Parse::RecDescent::Expectation(q{'''}); |
9781
|
112
|
|
|
|
|
765
|
$expectation->at($_[1]); |
9782
|
|
|
|
|
|
|
|
9783
|
112
|
|
|
|
|
505
|
my $thisline; |
9784
|
112
|
|
|
|
|
393
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
9785
|
|
|
|
|
|
|
|
9786
|
|
|
|
|
|
|
|
9787
|
|
|
|
|
|
|
|
9788
|
112
|
|
33
|
|
|
904
|
while (!$_matched && !$commit) |
9789
|
|
|
|
|
|
|
{ |
9790
|
|
|
|
|
|
|
|
9791
|
112
|
50
|
|
|
|
272
|
Parse::RecDescent::_trace(q{Trying production: [''' /(?:\\\\['\\\\]|[^'])*/ ''']}, |
9792
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9793
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9794
|
|
|
|
|
|
|
$tracelevel) |
9795
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9796
|
112
|
|
|
|
|
266
|
my $thisprod = $thisrule->{"prods"}[0]; |
9797
|
112
|
|
|
|
|
233
|
$text = $_[1]; |
9798
|
112
|
|
|
|
|
188
|
my $_savetext; |
9799
|
112
|
|
|
|
|
231
|
@item = (q{SINGLE_QUOTED_STRING}); |
9800
|
112
|
|
|
|
|
272
|
%item = (__RULE__ => q{SINGLE_QUOTED_STRING}); |
9801
|
112
|
|
|
|
|
181
|
my $repcount = 0; |
9802
|
|
|
|
|
|
|
|
9803
|
|
|
|
|
|
|
|
9804
|
112
|
50
|
|
|
|
245
|
Parse::RecDescent::_trace(q{Trying terminal: [''']}, |
9805
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9806
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9807
|
|
|
|
|
|
|
$tracelevel) |
9808
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9809
|
112
|
|
|
|
|
242
|
undef $lastsep; |
9810
|
112
|
|
|
|
|
276
|
$expectation->is(q{})->at($text); |
9811
|
|
|
|
|
|
|
|
9812
|
|
|
|
|
|
|
|
9813
|
112
|
100
|
33
|
|
|
1267
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "'"; 1 } and |
|
112
|
100
|
66
|
|
|
744
|
|
|
112
|
|
66
|
|
|
226
|
|
|
112
|
|
|
|
|
634
|
|
9814
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
9815
|
1
|
|
|
|
|
4
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
1
|
|
|
|
|
4
|
|
9816
|
|
|
|
|
|
|
) |
9817
|
|
|
|
|
|
|
{ |
9818
|
111
|
50
|
|
|
|
386
|
$text = $lastsep . $text if defined $lastsep; |
9819
|
|
|
|
|
|
|
|
9820
|
111
|
|
|
|
|
412
|
$expectation->failed(); |
9821
|
111
|
50
|
|
|
|
469
|
Parse::RecDescent::_trace(q{<>}, |
9822
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9823
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9824
|
111
|
|
|
|
|
256
|
last; |
9825
|
|
|
|
|
|
|
} |
9826
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
9827
|
|
|
|
|
|
|
. $_tok . q{])}, |
9828
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9829
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9830
|
1
|
|
|
|
|
5
|
push @item, $item{__STRING1__}=$_tok; |
9831
|
|
|
|
|
|
|
|
9832
|
|
|
|
|
|
|
|
9833
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{Trying terminal: [/(?:\\\\['\\\\]|[^'])*/]}, Parse::RecDescent::_tracefirst($text), |
9834
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9835
|
|
|
|
|
|
|
$tracelevel) |
9836
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9837
|
1
|
|
|
|
|
2
|
undef $lastsep; |
9838
|
1
|
|
|
|
|
4
|
$expectation->is(q{/(?:\\\\['\\\\]|[^'])*/})->at($text); |
9839
|
|
|
|
|
|
|
|
9840
|
|
|
|
|
|
|
|
9841
|
1
|
50
|
33
|
|
|
40
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:(?:\\['\\]|[^'])*)/) |
|
1
|
50
|
|
|
|
25
|
|
9842
|
|
|
|
|
|
|
{ |
9843
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
9844
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9845
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9846
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9847
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9848
|
|
|
|
|
|
|
|
9849
|
0
|
|
|
|
|
0
|
last; |
9850
|
|
|
|
|
|
|
} |
9851
|
1
|
|
|
|
|
7
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
9852
|
1
|
|
|
|
|
5
|
substr($text,0,length($current_match),q{}); |
9853
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
9854
|
|
|
|
|
|
|
. $current_match . q{])}, |
9855
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9856
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9857
|
1
|
|
|
|
|
4
|
push @item, $item{__PATTERN1__}=$current_match; |
9858
|
|
|
|
|
|
|
|
9859
|
|
|
|
|
|
|
|
9860
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{Trying terminal: [''']}, |
9861
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9862
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9863
|
|
|
|
|
|
|
$tracelevel) |
9864
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9865
|
1
|
|
|
|
|
3
|
undef $lastsep; |
9866
|
1
|
|
|
|
|
4
|
$expectation->is(q{'''})->at($text); |
9867
|
|
|
|
|
|
|
|
9868
|
|
|
|
|
|
|
|
9869
|
1
|
50
|
33
|
|
|
22
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "'"; 1 } and |
|
1
|
50
|
33
|
|
|
18
|
|
|
1
|
|
33
|
|
|
10
|
|
|
1
|
|
|
|
|
11
|
|
9870
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
9871
|
1
|
|
|
|
|
3
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
1
|
|
|
|
|
4
|
|
9872
|
|
|
|
|
|
|
) |
9873
|
|
|
|
|
|
|
{ |
9874
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
9875
|
|
|
|
|
|
|
|
9876
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
9877
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
9878
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9879
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9880
|
0
|
|
|
|
|
0
|
last; |
9881
|
|
|
|
|
|
|
} |
9882
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
9883
|
|
|
|
|
|
|
. $_tok . q{])}, |
9884
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9885
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9886
|
1
|
|
|
|
|
4
|
push @item, $item{__STRING2__}=$_tok; |
9887
|
|
|
|
|
|
|
|
9888
|
|
|
|
|
|
|
|
9889
|
1
|
50
|
|
|
|
10
|
Parse::RecDescent::_trace(q{Trying action}, |
9890
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9891
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9892
|
|
|
|
|
|
|
$tracelevel) |
9893
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9894
|
|
|
|
|
|
|
|
9895
|
|
|
|
|
|
|
|
9896
|
1
|
50
|
|
|
|
5
|
$_tok = ($_noactions) ? 0 : do { $return = $item{__PATTERN1__} }; |
|
1
|
|
|
|
|
4
|
|
9897
|
1
|
50
|
|
|
|
4
|
unless (defined $_tok) |
9898
|
|
|
|
|
|
|
{ |
9899
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
9900
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9901
|
0
|
|
|
|
|
0
|
last; |
9902
|
|
|
|
|
|
|
} |
9903
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
9904
|
|
|
|
|
|
|
. $_tok . q{])}, |
9905
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
9906
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9907
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
9908
|
1
|
|
|
|
|
3
|
$item{__ACTION1__}=$_tok; |
9909
|
|
|
|
|
|
|
|
9910
|
|
|
|
|
|
|
|
9911
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{>>Matched production: [''' /(?:\\\\['\\\\]|[^'])*/ ''']<<}, |
9912
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9913
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9914
|
|
|
|
|
|
|
$tracelevel) |
9915
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9916
|
|
|
|
|
|
|
|
9917
|
|
|
|
|
|
|
|
9918
|
|
|
|
|
|
|
|
9919
|
1
|
|
|
|
|
2
|
$_matched = 1; |
9920
|
1
|
|
|
|
|
3
|
last; |
9921
|
|
|
|
|
|
|
} |
9922
|
|
|
|
|
|
|
|
9923
|
|
|
|
|
|
|
splice |
9924
|
112
|
100
|
|
|
|
316
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
111
|
|
|
|
|
277
|
|
9925
|
|
|
|
|
|
|
|
9926
|
112
|
100
|
66
|
|
|
468
|
unless ( $_matched || defined($score) ) |
9927
|
|
|
|
|
|
|
{ |
9928
|
111
|
|
|
|
|
175
|
splice @{$thisparser->{deferred}}, $def_at; |
|
111
|
|
|
|
|
229
|
|
9929
|
|
|
|
|
|
|
|
9930
|
|
|
|
|
|
|
|
9931
|
111
|
|
|
|
|
216
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
9932
|
111
|
50
|
|
|
|
257
|
Parse::RecDescent::_trace(q{<>}, |
9933
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9934
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9935
|
|
|
|
|
|
|
$tracelevel) |
9936
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9937
|
111
|
|
|
|
|
654
|
return undef; |
9938
|
|
|
|
|
|
|
} |
9939
|
1
|
50
|
33
|
|
|
5
|
if (!defined($return) && defined($score)) |
9940
|
|
|
|
|
|
|
{ |
9941
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
9942
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9943
|
|
|
|
|
|
|
$tracelevel) |
9944
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9945
|
0
|
|
|
|
|
0
|
$return = $score_return; |
9946
|
|
|
|
|
|
|
} |
9947
|
1
|
|
|
|
|
2
|
splice @{$thisparser->{errors}}, $err_at; |
|
1
|
|
|
|
|
12
|
|
9948
|
1
|
50
|
|
|
|
4
|
$return = $item[$#item] unless defined $return; |
9949
|
1
|
50
|
|
|
|
4
|
if (defined $::RD_TRACE) |
9950
|
|
|
|
|
|
|
{ |
9951
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
9952
|
|
|
|
|
|
|
$return . q{])}, "", |
9953
|
|
|
|
|
|
|
q{SINGLE_QUOTED_STRING}, |
9954
|
|
|
|
|
|
|
$tracelevel); |
9955
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
9956
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
9957
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
9958
|
|
|
|
|
|
|
, q{SINGLE_QUOTED_STRING}, |
9959
|
|
|
|
|
|
|
$tracelevel) |
9960
|
|
|
|
|
|
|
} |
9961
|
1
|
|
|
|
|
4
|
$_[1] = $text; |
9962
|
1
|
|
|
|
|
8
|
return $return; |
9963
|
|
|
|
|
|
|
} |
9964
|
|
|
|
|
|
|
|
9965
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
9966
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodystructure |
9967
|
|
|
|
|
|
|
{ |
9968
|
21
|
|
|
21
|
|
407
|
my $thisparser = $_[0]; |
9969
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
1100
|
|
9970
|
21
|
|
50
|
|
|
84
|
local $tracelevel = ($tracelevel||0)+1; |
9971
|
21
|
|
|
|
|
48
|
$ERRORS = 0; |
9972
|
21
|
|
|
|
|
79
|
my $thisrule = $thisparser->{"rules"}{"bodystructure"}; |
9973
|
|
|
|
|
|
|
|
9974
|
21
|
50
|
|
|
|
86
|
Parse::RecDescent::_trace(q{Trying rule: [bodystructure]}, |
9975
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
9976
|
|
|
|
|
|
|
q{bodystructure}, |
9977
|
|
|
|
|
|
|
$tracelevel) |
9978
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
9979
|
|
|
|
|
|
|
|
9980
|
21
|
|
|
|
|
40
|
my $def_at = @{$thisparser->{deferred}}; |
|
21
|
|
|
|
|
164
|
|
9981
|
21
|
|
|
|
|
39
|
my $err_at = @{$thisparser->{errors}}; |
|
21
|
|
|
|
|
54
|
|
9982
|
|
|
|
|
|
|
|
9983
|
21
|
|
|
|
|
81
|
my $score; |
9984
|
|
|
|
|
|
|
my $score_return; |
9985
|
21
|
|
|
|
|
0
|
my $_tok; |
9986
|
21
|
|
|
|
|
58
|
my $return = undef; |
9987
|
21
|
|
|
|
|
49
|
my $_matched=0; |
9988
|
21
|
|
|
|
|
43
|
my $commit=0; |
9989
|
21
|
|
|
|
|
46
|
my @item = (); |
9990
|
21
|
|
|
|
|
45
|
my %item = (); |
9991
|
21
|
|
|
|
|
41
|
my $repeating = $_[2]; |
9992
|
21
|
|
|
|
|
41
|
my $_noactions = $_[3]; |
9993
|
21
|
50
|
|
|
|
66
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
21
|
|
|
|
|
49
|
|
|
21
|
|
|
|
|
42
|
|
9994
|
21
|
|
|
|
|
57
|
my $_itempos = $_[5]; |
9995
|
21
|
50
|
|
|
|
97
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
9996
|
21
|
|
|
|
|
71
|
my $text; |
9997
|
|
|
|
|
|
|
my $lastsep; |
9998
|
21
|
|
|
|
|
0
|
my $current_match; |
9999
|
21
|
|
|
|
|
87
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
10000
|
21
|
|
|
|
|
171
|
$expectation->at($_[1]); |
10001
|
|
|
|
|
|
|
|
10002
|
21
|
|
|
|
|
124
|
my $thisline; |
10003
|
21
|
|
|
|
|
97
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
10004
|
|
|
|
|
|
|
|
10005
|
|
|
|
|
|
|
|
10006
|
|
|
|
|
|
|
|
10007
|
21
|
|
33
|
|
|
226
|
while (!$_matched && !$commit) |
10008
|
|
|
|
|
|
|
{ |
10009
|
|
|
|
|
|
|
|
10010
|
21
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{Trying production: ['(' part ')']}, |
10011
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10012
|
|
|
|
|
|
|
q{bodystructure}, |
10013
|
|
|
|
|
|
|
$tracelevel) |
10014
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10015
|
21
|
|
|
|
|
78
|
my $thisprod = $thisrule->{"prods"}[0]; |
10016
|
21
|
|
|
|
|
56
|
$text = $_[1]; |
10017
|
21
|
|
|
|
|
38
|
my $_savetext; |
10018
|
21
|
|
|
|
|
60
|
@item = (q{bodystructure}); |
10019
|
21
|
|
|
|
|
82
|
%item = (__RULE__ => q{bodystructure}); |
10020
|
21
|
|
|
|
|
52
|
my $repcount = 0; |
10021
|
|
|
|
|
|
|
|
10022
|
|
|
|
|
|
|
|
10023
|
21
|
50
|
|
|
|
79
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
10024
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10025
|
|
|
|
|
|
|
q{bodystructure}, |
10026
|
|
|
|
|
|
|
$tracelevel) |
10027
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10028
|
21
|
|
|
|
|
51
|
undef $lastsep; |
10029
|
21
|
|
|
|
|
82
|
$expectation->is(q{})->at($text); |
10030
|
|
|
|
|
|
|
|
10031
|
|
|
|
|
|
|
|
10032
|
21
|
100
|
33
|
|
|
343
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
21
|
100
|
66
|
|
|
249
|
|
|
21
|
|
66
|
|
|
52
|
|
|
21
|
|
|
|
|
150
|
|
10033
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
10034
|
20
|
|
|
|
|
60
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
20
|
|
|
|
|
79
|
|
10035
|
|
|
|
|
|
|
) |
10036
|
|
|
|
|
|
|
{ |
10037
|
1
|
50
|
|
|
|
5
|
$text = $lastsep . $text if defined $lastsep; |
10038
|
|
|
|
|
|
|
|
10039
|
1
|
|
|
|
|
6
|
$expectation->failed(); |
10040
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{<>}, |
10041
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10042
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10043
|
1
|
|
|
|
|
3
|
last; |
10044
|
|
|
|
|
|
|
} |
10045
|
20
|
50
|
|
|
|
61
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10046
|
|
|
|
|
|
|
. $_tok . q{])}, |
10047
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10048
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10049
|
20
|
|
|
|
|
105
|
push @item, $item{__STRING1__}=$_tok; |
10050
|
|
|
|
|
|
|
|
10051
|
|
|
|
|
|
|
|
10052
|
20
|
50
|
|
|
|
68
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [part]}, |
10053
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10054
|
|
|
|
|
|
|
q{bodystructure}, |
10055
|
|
|
|
|
|
|
$tracelevel) |
10056
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10057
|
20
|
|
|
|
|
76
|
$expectation->is(q{part})->at($text); |
10058
|
|
|
|
|
|
|
|
10059
|
20
|
50
|
|
40
|
|
294
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::part, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef))) |
|
40
|
|
|
|
|
130
|
|
10060
|
|
|
|
|
|
|
{ |
10061
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10062
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10063
|
|
|
|
|
|
|
q{bodystructure}, |
10064
|
|
|
|
|
|
|
$tracelevel) |
10065
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10066
|
0
|
|
|
|
|
0
|
last; |
10067
|
|
|
|
|
|
|
} |
10068
|
20
|
50
|
|
|
|
383
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [part]<< (} |
10069
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
10070
|
|
|
|
|
|
|
|
10071
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10072
|
|
|
|
|
|
|
q{bodystructure}, |
10073
|
|
|
|
|
|
|
$tracelevel) |
10074
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10075
|
20
|
|
|
|
|
65
|
$item{q{part(s)}} = $_tok; |
10076
|
20
|
|
|
|
|
62
|
push @item, $_tok; |
10077
|
|
|
|
|
|
|
|
10078
|
|
|
|
|
|
|
|
10079
|
|
|
|
|
|
|
|
10080
|
20
|
50
|
|
|
|
54
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
10081
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10082
|
|
|
|
|
|
|
q{bodystructure}, |
10083
|
|
|
|
|
|
|
$tracelevel) |
10084
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10085
|
20
|
|
|
|
|
51
|
undef $lastsep; |
10086
|
20
|
|
|
|
|
56
|
$expectation->is(q{')'})->at($text); |
10087
|
|
|
|
|
|
|
|
10088
|
|
|
|
|
|
|
|
10089
|
20
|
50
|
33
|
|
|
297
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
20
|
50
|
33
|
|
|
188
|
|
|
20
|
|
33
|
|
|
55
|
|
|
20
|
|
|
|
|
148
|
|
10090
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
10091
|
20
|
|
|
|
|
61
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
20
|
|
|
|
|
82
|
|
10092
|
|
|
|
|
|
|
) |
10093
|
|
|
|
|
|
|
{ |
10094
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
10095
|
|
|
|
|
|
|
|
10096
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
10097
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10098
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10099
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10100
|
0
|
|
|
|
|
0
|
last; |
10101
|
|
|
|
|
|
|
} |
10102
|
20
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10103
|
|
|
|
|
|
|
. $_tok . q{])}, |
10104
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10105
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10106
|
20
|
|
|
|
|
85
|
push @item, $item{__STRING2__}=$_tok; |
10107
|
|
|
|
|
|
|
|
10108
|
|
|
|
|
|
|
|
10109
|
20
|
50
|
|
|
|
70
|
Parse::RecDescent::_trace(q{Trying action}, |
10110
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10111
|
|
|
|
|
|
|
q{bodystructure}, |
10112
|
|
|
|
|
|
|
$tracelevel) |
10113
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10114
|
|
|
|
|
|
|
|
10115
|
|
|
|
|
|
|
|
10116
|
20
|
50
|
|
|
|
60
|
$_tok = ($_noactions) ? 0 : do { $return = $item{'part(s)'} }; |
|
20
|
|
|
|
|
59
|
|
10117
|
20
|
50
|
|
|
|
67
|
unless (defined $_tok) |
10118
|
|
|
|
|
|
|
{ |
10119
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
10120
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10121
|
0
|
|
|
|
|
0
|
last; |
10122
|
|
|
|
|
|
|
} |
10123
|
20
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
10124
|
|
|
|
|
|
|
. $_tok . q{])}, |
10125
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10126
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10127
|
20
|
|
|
|
|
50
|
push @item, $_tok; |
10128
|
20
|
|
|
|
|
57
|
$item{__ACTION1__}=$_tok; |
10129
|
|
|
|
|
|
|
|
10130
|
|
|
|
|
|
|
|
10131
|
20
|
50
|
|
|
|
61
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' part ')']<<}, |
10132
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10133
|
|
|
|
|
|
|
q{bodystructure}, |
10134
|
|
|
|
|
|
|
$tracelevel) |
10135
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10136
|
|
|
|
|
|
|
|
10137
|
|
|
|
|
|
|
|
10138
|
|
|
|
|
|
|
|
10139
|
20
|
|
|
|
|
42
|
$_matched = 1; |
10140
|
20
|
|
|
|
|
60
|
last; |
10141
|
|
|
|
|
|
|
} |
10142
|
|
|
|
|
|
|
|
10143
|
|
|
|
|
|
|
splice |
10144
|
21
|
100
|
|
|
|
52
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
1
|
|
|
|
|
4
|
|
10145
|
|
|
|
|
|
|
|
10146
|
21
|
100
|
66
|
|
|
80
|
unless ( $_matched || defined($score) ) |
10147
|
|
|
|
|
|
|
{ |
10148
|
1
|
|
|
|
|
3
|
splice @{$thisparser->{deferred}}, $def_at; |
|
1
|
|
|
|
|
3
|
|
10149
|
|
|
|
|
|
|
|
10150
|
|
|
|
|
|
|
|
10151
|
1
|
|
|
|
|
2
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
10152
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{<>}, |
10153
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10154
|
|
|
|
|
|
|
q{bodystructure}, |
10155
|
|
|
|
|
|
|
$tracelevel) |
10156
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10157
|
1
|
|
|
|
|
7
|
return undef; |
10158
|
|
|
|
|
|
|
} |
10159
|
20
|
50
|
33
|
|
|
87
|
if (!defined($return) && defined($score)) |
10160
|
|
|
|
|
|
|
{ |
10161
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
10162
|
|
|
|
|
|
|
q{bodystructure}, |
10163
|
|
|
|
|
|
|
$tracelevel) |
10164
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10165
|
0
|
|
|
|
|
0
|
$return = $score_return; |
10166
|
|
|
|
|
|
|
} |
10167
|
20
|
|
|
|
|
35
|
splice @{$thisparser->{errors}}, $err_at; |
|
20
|
|
|
|
|
68
|
|
10168
|
20
|
50
|
|
|
|
68
|
$return = $item[$#item] unless defined $return; |
10169
|
20
|
50
|
|
|
|
82
|
if (defined $::RD_TRACE) |
10170
|
|
|
|
|
|
|
{ |
10171
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
10172
|
|
|
|
|
|
|
$return . q{])}, "", |
10173
|
|
|
|
|
|
|
q{bodystructure}, |
10174
|
|
|
|
|
|
|
$tracelevel); |
10175
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
10176
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
10177
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10178
|
|
|
|
|
|
|
, q{bodystructure}, |
10179
|
|
|
|
|
|
|
$tracelevel) |
10180
|
|
|
|
|
|
|
} |
10181
|
20
|
|
|
|
|
86
|
$_[1] = $text; |
10182
|
20
|
|
|
|
|
203
|
return $return; |
10183
|
|
|
|
|
|
|
} |
10184
|
|
|
|
|
|
|
|
10185
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
10186
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRINGS |
10187
|
|
|
|
|
|
|
{ |
10188
|
58
|
|
|
58
|
|
117
|
my $thisparser = $_[0]; |
10189
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1181
|
|
10190
|
58
|
|
50
|
|
|
191
|
local $tracelevel = ($tracelevel||0)+1; |
10191
|
58
|
|
|
|
|
114
|
$ERRORS = 0; |
10192
|
58
|
|
|
|
|
149
|
my $thisrule = $thisparser->{"rules"}{"STRINGS"}; |
10193
|
|
|
|
|
|
|
|
10194
|
58
|
50
|
|
|
|
139
|
Parse::RecDescent::_trace(q{Trying rule: [STRINGS]}, |
10195
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10196
|
|
|
|
|
|
|
q{STRINGS}, |
10197
|
|
|
|
|
|
|
$tracelevel) |
10198
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10199
|
|
|
|
|
|
|
|
10200
|
58
|
|
|
|
|
100
|
my $def_at = @{$thisparser->{deferred}}; |
|
58
|
|
|
|
|
161
|
|
10201
|
58
|
|
|
|
|
110
|
my $err_at = @{$thisparser->{errors}}; |
|
58
|
|
|
|
|
150
|
|
10202
|
|
|
|
|
|
|
|
10203
|
58
|
|
|
|
|
181
|
my $score; |
10204
|
|
|
|
|
|
|
my $score_return; |
10205
|
58
|
|
|
|
|
0
|
my $_tok; |
10206
|
58
|
|
|
|
|
100
|
my $return = undef; |
10207
|
58
|
|
|
|
|
107
|
my $_matched=0; |
10208
|
58
|
|
|
|
|
102
|
my $commit=0; |
10209
|
58
|
|
|
|
|
99
|
my @item = (); |
10210
|
58
|
|
|
|
|
108
|
my %item = (); |
10211
|
58
|
|
|
|
|
94
|
my $repeating = $_[2]; |
10212
|
58
|
|
|
|
|
136
|
my $_noactions = $_[3]; |
10213
|
58
|
50
|
|
|
|
210
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
58
|
|
|
|
|
109
|
|
|
58
|
|
|
|
|
125
|
|
10214
|
58
|
|
|
|
|
101
|
my $_itempos = $_[5]; |
10215
|
58
|
50
|
|
|
|
161
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
10216
|
58
|
|
|
|
|
184
|
my $text; |
10217
|
|
|
|
|
|
|
my $lastsep; |
10218
|
58
|
|
|
|
|
0
|
my $current_match; |
10219
|
58
|
|
|
|
|
150
|
my $expectation = new Parse::RecDescent::Expectation(q{'('}); |
10220
|
58
|
|
|
|
|
422
|
$expectation->at($_[1]); |
10221
|
|
|
|
|
|
|
|
10222
|
58
|
|
|
|
|
236
|
my $thisline; |
10223
|
58
|
|
|
|
|
206
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
10224
|
|
|
|
|
|
|
|
10225
|
|
|
|
|
|
|
|
10226
|
|
|
|
|
|
|
|
10227
|
58
|
|
33
|
|
|
489
|
while (!$_matched && !$commit) |
10228
|
|
|
|
|
|
|
{ |
10229
|
|
|
|
|
|
|
|
10230
|
58
|
50
|
|
|
|
138
|
Parse::RecDescent::_trace(q{Trying production: ['(' STRING ')']}, |
10231
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10232
|
|
|
|
|
|
|
q{STRINGS}, |
10233
|
|
|
|
|
|
|
$tracelevel) |
10234
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10235
|
58
|
|
|
|
|
151
|
my $thisprod = $thisrule->{"prods"}[0]; |
10236
|
58
|
|
|
|
|
129
|
$text = $_[1]; |
10237
|
58
|
|
|
|
|
91
|
my $_savetext; |
10238
|
58
|
|
|
|
|
161
|
@item = (q{STRINGS}); |
10239
|
58
|
|
|
|
|
142
|
%item = (__RULE__ => q{STRINGS}); |
10240
|
58
|
|
|
|
|
118
|
my $repcount = 0; |
10241
|
|
|
|
|
|
|
|
10242
|
|
|
|
|
|
|
|
10243
|
58
|
50
|
|
|
|
147
|
Parse::RecDescent::_trace(q{Trying terminal: ['(']}, |
10244
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10245
|
|
|
|
|
|
|
q{STRINGS}, |
10246
|
|
|
|
|
|
|
$tracelevel) |
10247
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10248
|
58
|
|
|
|
|
156
|
undef $lastsep; |
10249
|
58
|
|
|
|
|
195
|
$expectation->is(q{})->at($text); |
10250
|
|
|
|
|
|
|
|
10251
|
|
|
|
|
|
|
|
10252
|
58
|
100
|
33
|
|
|
689
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "("; 1 } and |
|
58
|
100
|
66
|
|
|
389
|
|
|
58
|
|
66
|
|
|
110
|
|
|
58
|
|
|
|
|
452
|
|
10253
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
10254
|
1
|
|
|
|
|
4
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
1
|
|
|
|
|
5
|
|
10255
|
|
|
|
|
|
|
) |
10256
|
|
|
|
|
|
|
{ |
10257
|
57
|
50
|
|
|
|
310
|
$text = $lastsep . $text if defined $lastsep; |
10258
|
|
|
|
|
|
|
|
10259
|
57
|
|
|
|
|
212
|
$expectation->failed(); |
10260
|
57
|
50
|
|
|
|
262
|
Parse::RecDescent::_trace(q{<>}, |
10261
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10262
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10263
|
57
|
|
|
|
|
146
|
last; |
10264
|
|
|
|
|
|
|
} |
10265
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10266
|
|
|
|
|
|
|
. $_tok . q{])}, |
10267
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10268
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10269
|
1
|
|
|
|
|
4
|
push @item, $item{__STRING1__}=$_tok; |
10270
|
|
|
|
|
|
|
|
10271
|
|
|
|
|
|
|
|
10272
|
1
|
50
|
|
|
|
3
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [STRING]}, |
10273
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10274
|
|
|
|
|
|
|
q{STRINGS}, |
10275
|
|
|
|
|
|
|
$tracelevel) |
10276
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10277
|
1
|
|
|
|
|
5
|
$expectation->is(q{STRING})->at($text); |
10278
|
|
|
|
|
|
|
|
10279
|
1
|
50
|
|
2
|
|
16
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef))) |
|
2
|
|
|
|
|
4
|
|
10280
|
|
|
|
|
|
|
{ |
10281
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10282
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10283
|
|
|
|
|
|
|
q{STRINGS}, |
10284
|
|
|
|
|
|
|
$tracelevel) |
10285
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10286
|
0
|
|
|
|
|
0
|
last; |
10287
|
|
|
|
|
|
|
} |
10288
|
1
|
50
|
|
|
|
18
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [STRING]<< (} |
10289
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
10290
|
|
|
|
|
|
|
|
10291
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10292
|
|
|
|
|
|
|
q{STRINGS}, |
10293
|
|
|
|
|
|
|
$tracelevel) |
10294
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10295
|
1
|
|
|
|
|
3
|
$item{q{STRING(s)}} = $_tok; |
10296
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
10297
|
|
|
|
|
|
|
|
10298
|
|
|
|
|
|
|
|
10299
|
|
|
|
|
|
|
|
10300
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{Trying terminal: [')']}, |
10301
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10302
|
|
|
|
|
|
|
q{STRINGS}, |
10303
|
|
|
|
|
|
|
$tracelevel) |
10304
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10305
|
1
|
|
|
|
|
3
|
undef $lastsep; |
10306
|
1
|
|
|
|
|
3
|
$expectation->is(q{')'})->at($text); |
10307
|
|
|
|
|
|
|
|
10308
|
|
|
|
|
|
|
|
10309
|
1
|
50
|
33
|
|
|
39
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = ")"; 1 } and |
|
1
|
50
|
33
|
|
|
11
|
|
|
1
|
|
33
|
|
|
3
|
|
|
1
|
|
|
|
|
9
|
|
10310
|
|
|
|
|
|
|
substr($text,0,length($_tok)) eq $_tok and |
10311
|
1
|
|
|
|
|
4
|
do { substr($text,0,length($_tok)) = ""; 1; } |
|
1
|
|
|
|
|
4
|
|
10312
|
|
|
|
|
|
|
) |
10313
|
|
|
|
|
|
|
{ |
10314
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
10315
|
|
|
|
|
|
|
|
10316
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
10317
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10318
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10319
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10320
|
0
|
|
|
|
|
0
|
last; |
10321
|
|
|
|
|
|
|
} |
10322
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10323
|
|
|
|
|
|
|
. $_tok . q{])}, |
10324
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10325
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10326
|
1
|
|
|
|
|
12
|
push @item, $item{__STRING2__}=$_tok; |
10327
|
|
|
|
|
|
|
|
10328
|
|
|
|
|
|
|
|
10329
|
1
|
50
|
|
|
|
12
|
Parse::RecDescent::_trace(q{Trying action}, |
10330
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10331
|
|
|
|
|
|
|
q{STRINGS}, |
10332
|
|
|
|
|
|
|
$tracelevel) |
10333
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10334
|
|
|
|
|
|
|
|
10335
|
|
|
|
|
|
|
|
10336
|
1
|
50
|
|
|
|
4
|
$_tok = ($_noactions) ? 0 : do { $return = $item{'STRING(s)'} }; |
|
1
|
|
|
|
|
4
|
|
10337
|
1
|
50
|
|
|
|
4
|
unless (defined $_tok) |
10338
|
|
|
|
|
|
|
{ |
10339
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
10340
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10341
|
0
|
|
|
|
|
0
|
last; |
10342
|
|
|
|
|
|
|
} |
10343
|
1
|
50
|
|
|
|
5
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
10344
|
|
|
|
|
|
|
. $_tok . q{])}, |
10345
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10346
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10347
|
1
|
|
|
|
|
3
|
push @item, $_tok; |
10348
|
1
|
|
|
|
|
2
|
$item{__ACTION1__}=$_tok; |
10349
|
|
|
|
|
|
|
|
10350
|
|
|
|
|
|
|
|
10351
|
1
|
50
|
|
|
|
4
|
Parse::RecDescent::_trace(q{>>Matched production: ['(' STRING ')']<<}, |
10352
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10353
|
|
|
|
|
|
|
q{STRINGS}, |
10354
|
|
|
|
|
|
|
$tracelevel) |
10355
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10356
|
|
|
|
|
|
|
|
10357
|
|
|
|
|
|
|
|
10358
|
|
|
|
|
|
|
|
10359
|
1
|
|
|
|
|
2
|
$_matched = 1; |
10360
|
1
|
|
|
|
|
3
|
last; |
10361
|
|
|
|
|
|
|
} |
10362
|
|
|
|
|
|
|
|
10363
|
|
|
|
|
|
|
splice |
10364
|
58
|
100
|
|
|
|
199
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
57
|
|
|
|
|
145
|
|
10365
|
|
|
|
|
|
|
|
10366
|
58
|
100
|
66
|
|
|
244
|
unless ( $_matched || defined($score) ) |
10367
|
|
|
|
|
|
|
{ |
10368
|
57
|
|
|
|
|
117
|
splice @{$thisparser->{deferred}}, $def_at; |
|
57
|
|
|
|
|
116
|
|
10369
|
|
|
|
|
|
|
|
10370
|
|
|
|
|
|
|
|
10371
|
57
|
|
|
|
|
113
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
10372
|
57
|
50
|
|
|
|
162
|
Parse::RecDescent::_trace(q{<>}, |
10373
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10374
|
|
|
|
|
|
|
q{STRINGS}, |
10375
|
|
|
|
|
|
|
$tracelevel) |
10376
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10377
|
57
|
|
|
|
|
337
|
return undef; |
10378
|
|
|
|
|
|
|
} |
10379
|
1
|
50
|
33
|
|
|
5
|
if (!defined($return) && defined($score)) |
10380
|
|
|
|
|
|
|
{ |
10381
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
10382
|
|
|
|
|
|
|
q{STRINGS}, |
10383
|
|
|
|
|
|
|
$tracelevel) |
10384
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10385
|
0
|
|
|
|
|
0
|
$return = $score_return; |
10386
|
|
|
|
|
|
|
} |
10387
|
1
|
|
|
|
|
2
|
splice @{$thisparser->{errors}}, $err_at; |
|
1
|
|
|
|
|
4
|
|
10388
|
1
|
50
|
|
|
|
4
|
$return = $item[$#item] unless defined $return; |
10389
|
1
|
50
|
|
|
|
11
|
if (defined $::RD_TRACE) |
10390
|
|
|
|
|
|
|
{ |
10391
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
10392
|
|
|
|
|
|
|
$return . q{])}, "", |
10393
|
|
|
|
|
|
|
q{STRINGS}, |
10394
|
|
|
|
|
|
|
$tracelevel); |
10395
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
10396
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
10397
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10398
|
|
|
|
|
|
|
, q{STRINGS}, |
10399
|
|
|
|
|
|
|
$tracelevel) |
10400
|
|
|
|
|
|
|
} |
10401
|
1
|
|
|
|
|
4
|
$_[1] = $text; |
10402
|
1
|
|
|
|
|
10
|
return $return; |
10403
|
|
|
|
|
|
|
} |
10404
|
|
|
|
|
|
|
|
10405
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
10406
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::BARESTRING |
10407
|
|
|
|
|
|
|
{ |
10408
|
111
|
|
|
111
|
|
250
|
my $thisparser = $_[0]; |
10409
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
1031
|
|
10410
|
111
|
|
50
|
|
|
308
|
local $tracelevel = ($tracelevel||0)+1; |
10411
|
111
|
|
|
|
|
192
|
$ERRORS = 0; |
10412
|
111
|
|
|
|
|
256
|
my $thisrule = $thisparser->{"rules"}{"BARESTRING"}; |
10413
|
|
|
|
|
|
|
|
10414
|
111
|
50
|
|
|
|
245
|
Parse::RecDescent::_trace(q{Trying rule: [BARESTRING]}, |
10415
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10416
|
|
|
|
|
|
|
q{BARESTRING}, |
10417
|
|
|
|
|
|
|
$tracelevel) |
10418
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10419
|
|
|
|
|
|
|
|
10420
|
111
|
|
|
|
|
170
|
my $def_at = @{$thisparser->{deferred}}; |
|
111
|
|
|
|
|
222
|
|
10421
|
111
|
|
|
|
|
176
|
my $err_at = @{$thisparser->{errors}}; |
|
111
|
|
|
|
|
231
|
|
10422
|
|
|
|
|
|
|
|
10423
|
111
|
|
|
|
|
297
|
my $score; |
10424
|
|
|
|
|
|
|
my $score_return; |
10425
|
111
|
|
|
|
|
0
|
my $_tok; |
10426
|
111
|
|
|
|
|
186
|
my $return = undef; |
10427
|
111
|
|
|
|
|
182
|
my $_matched=0; |
10428
|
111
|
|
|
|
|
188
|
my $commit=0; |
10429
|
111
|
|
|
|
|
219
|
my @item = (); |
10430
|
111
|
|
|
|
|
183
|
my %item = (); |
10431
|
111
|
|
|
|
|
189
|
my $repeating = $_[2]; |
10432
|
111
|
|
|
|
|
162
|
my $_noactions = $_[3]; |
10433
|
111
|
50
|
|
|
|
277
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
111
|
|
|
|
|
176
|
|
|
111
|
|
|
|
|
207
|
|
10434
|
111
|
|
|
|
|
198
|
my $_itempos = $_[5]; |
10435
|
111
|
50
|
|
|
|
313
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
10436
|
111
|
|
|
|
|
306
|
my $text; |
10437
|
|
|
|
|
|
|
my $lastsep; |
10438
|
111
|
|
|
|
|
0
|
my $current_match; |
10439
|
111
|
|
|
|
|
260
|
my $expectation = new Parse::RecDescent::Expectation(q{/^[)('"]/}); |
10440
|
111
|
|
|
|
|
747
|
$expectation->at($_[1]); |
10441
|
|
|
|
|
|
|
|
10442
|
111
|
|
|
|
|
540
|
my $thisline; |
10443
|
111
|
|
|
|
|
357
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
10444
|
|
|
|
|
|
|
|
10445
|
|
|
|
|
|
|
|
10446
|
|
|
|
|
|
|
|
10447
|
111
|
|
33
|
|
|
924
|
while (!$_matched && !$commit) |
10448
|
|
|
|
|
|
|
{ |
10449
|
|
|
|
|
|
|
|
10450
|
111
|
50
|
|
|
|
272
|
Parse::RecDescent::_trace(q{Trying production: [/^[)('"]/ /^(?!\\(|\\))(?:\\\\ |\\S)+/]}, |
10451
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10452
|
|
|
|
|
|
|
q{BARESTRING}, |
10453
|
|
|
|
|
|
|
$tracelevel) |
10454
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10455
|
111
|
|
|
|
|
312
|
my $thisprod = $thisrule->{"prods"}[0]; |
10456
|
111
|
|
|
|
|
223
|
$text = $_[1]; |
10457
|
111
|
|
|
|
|
183
|
my $_savetext; |
10458
|
111
|
|
|
|
|
226
|
@item = (q{BARESTRING}); |
10459
|
111
|
|
|
|
|
251
|
%item = (__RULE__ => q{BARESTRING}); |
10460
|
111
|
|
|
|
|
183
|
my $repcount = 0; |
10461
|
|
|
|
|
|
|
|
10462
|
|
|
|
|
|
|
|
10463
|
111
|
50
|
|
|
|
291
|
Parse::RecDescent::_trace(q{Trying terminal: [/^[)('"]/]}, Parse::RecDescent::_tracefirst($text), |
10464
|
|
|
|
|
|
|
q{BARESTRING}, |
10465
|
|
|
|
|
|
|
$tracelevel) |
10466
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10467
|
111
|
|
|
|
|
214
|
undef $lastsep; |
10468
|
111
|
|
|
|
|
261
|
$expectation->is(q{})->at($text); |
10469
|
111
|
|
|
|
|
779
|
$_savetext = $text; |
10470
|
|
|
|
|
|
|
|
10471
|
111
|
100
|
33
|
|
|
728
|
if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^[)('"])/) |
|
111
|
50
|
|
|
|
986
|
|
10472
|
|
|
|
|
|
|
{ |
10473
|
111
|
|
|
|
|
267
|
$text = $_savetext; |
10474
|
111
|
|
|
|
|
353
|
$expectation->failed(); |
10475
|
111
|
50
|
|
|
|
469
|
Parse::RecDescent::_trace(q{<>}, |
10476
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10477
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10478
|
|
|
|
|
|
|
|
10479
|
111
|
|
|
|
|
287
|
last; |
10480
|
|
|
|
|
|
|
} |
10481
|
0
|
|
|
|
|
0
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
10482
|
0
|
|
|
|
|
0
|
substr($text,0,length($current_match),q{}); |
10483
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10484
|
|
|
|
|
|
|
. $current_match . q{])}, |
10485
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10486
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10487
|
0
|
|
|
|
|
0
|
push @item, $item{__PATTERN1__}=$current_match; |
10488
|
0
|
|
|
|
|
0
|
$text = $_savetext; |
10489
|
|
|
|
|
|
|
|
10490
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying terminal: [/^(?!\\(|\\))(?:\\\\ |\\S)+/]}, Parse::RecDescent::_tracefirst($text), |
10491
|
|
|
|
|
|
|
q{BARESTRING}, |
10492
|
|
|
|
|
|
|
$tracelevel) |
10493
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10494
|
0
|
|
|
|
|
0
|
undef $lastsep; |
10495
|
0
|
|
|
|
|
0
|
$expectation->is(q{/^(?!\\(|\\))(?:\\\\ |\\S)+/})->at($text); |
10496
|
|
|
|
|
|
|
|
10497
|
|
|
|
|
|
|
|
10498
|
0
|
0
|
0
|
|
|
0
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^(?!\(|\))(?:\\ |\S)+)/) |
|
0
|
0
|
|
|
|
0
|
|
10499
|
|
|
|
|
|
|
{ |
10500
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
10501
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
10502
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10503
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10504
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10505
|
|
|
|
|
|
|
|
10506
|
0
|
|
|
|
|
0
|
last; |
10507
|
|
|
|
|
|
|
} |
10508
|
0
|
|
|
|
|
0
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
10509
|
0
|
|
|
|
|
0
|
substr($text,0,length($current_match),q{}); |
10510
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10511
|
|
|
|
|
|
|
. $current_match . q{])}, |
10512
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10513
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10514
|
0
|
|
|
|
|
0
|
push @item, $item{__PATTERN2__}=$current_match; |
10515
|
|
|
|
|
|
|
|
10516
|
|
|
|
|
|
|
|
10517
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying action}, |
10518
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10519
|
|
|
|
|
|
|
q{BARESTRING}, |
10520
|
|
|
|
|
|
|
$tracelevel) |
10521
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10522
|
|
|
|
|
|
|
|
10523
|
|
|
|
|
|
|
|
10524
|
0
|
0
|
|
|
|
0
|
$_tok = ($_noactions) ? 0 : do { $return = $item{__PATTERN1__} }; |
|
0
|
|
|
|
|
0
|
|
10525
|
0
|
0
|
|
|
|
0
|
unless (defined $_tok) |
10526
|
|
|
|
|
|
|
{ |
10527
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
10528
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10529
|
0
|
|
|
|
|
0
|
last; |
10530
|
|
|
|
|
|
|
} |
10531
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
10532
|
|
|
|
|
|
|
. $_tok . q{])}, |
10533
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10534
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10535
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
10536
|
0
|
|
|
|
|
0
|
$item{__ACTION1__}=$_tok; |
10537
|
|
|
|
|
|
|
|
10538
|
|
|
|
|
|
|
|
10539
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [/^[)('"]/ /^(?!\\(|\\))(?:\\\\ |\\S)+/]<<}, |
10540
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10541
|
|
|
|
|
|
|
q{BARESTRING}, |
10542
|
|
|
|
|
|
|
$tracelevel) |
10543
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10544
|
|
|
|
|
|
|
|
10545
|
|
|
|
|
|
|
|
10546
|
|
|
|
|
|
|
|
10547
|
0
|
|
|
|
|
0
|
$_matched = 1; |
10548
|
0
|
|
|
|
|
0
|
last; |
10549
|
|
|
|
|
|
|
} |
10550
|
|
|
|
|
|
|
|
10551
|
|
|
|
|
|
|
splice |
10552
|
111
|
50
|
|
|
|
288
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
111
|
|
|
|
|
264
|
|
10553
|
|
|
|
|
|
|
|
10554
|
111
|
50
|
33
|
|
|
409
|
unless ( $_matched || defined($score) ) |
10555
|
|
|
|
|
|
|
{ |
10556
|
111
|
|
|
|
|
182
|
splice @{$thisparser->{deferred}}, $def_at; |
|
111
|
|
|
|
|
239
|
|
10557
|
|
|
|
|
|
|
|
10558
|
|
|
|
|
|
|
|
10559
|
111
|
|
|
|
|
221
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
10560
|
111
|
50
|
|
|
|
238
|
Parse::RecDescent::_trace(q{<>}, |
10561
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10562
|
|
|
|
|
|
|
q{BARESTRING}, |
10563
|
|
|
|
|
|
|
$tracelevel) |
10564
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10565
|
111
|
|
|
|
|
603
|
return undef; |
10566
|
|
|
|
|
|
|
} |
10567
|
0
|
0
|
0
|
|
|
0
|
if (!defined($return) && defined($score)) |
10568
|
|
|
|
|
|
|
{ |
10569
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
10570
|
|
|
|
|
|
|
q{BARESTRING}, |
10571
|
|
|
|
|
|
|
$tracelevel) |
10572
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10573
|
0
|
|
|
|
|
0
|
$return = $score_return; |
10574
|
|
|
|
|
|
|
} |
10575
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{errors}}, $err_at; |
|
0
|
|
|
|
|
0
|
|
10576
|
0
|
0
|
|
|
|
0
|
$return = $item[$#item] unless defined $return; |
10577
|
0
|
0
|
|
|
|
0
|
if (defined $::RD_TRACE) |
10578
|
|
|
|
|
|
|
{ |
10579
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
10580
|
|
|
|
|
|
|
$return . q{])}, "", |
10581
|
|
|
|
|
|
|
q{BARESTRING}, |
10582
|
|
|
|
|
|
|
$tracelevel); |
10583
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
10584
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
10585
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10586
|
|
|
|
|
|
|
, q{BARESTRING}, |
10587
|
|
|
|
|
|
|
$tracelevel) |
10588
|
|
|
|
|
|
|
} |
10589
|
0
|
|
|
|
|
0
|
$_[1] = $text; |
10590
|
0
|
|
|
|
|
0
|
return $return; |
10591
|
|
|
|
|
|
|
} |
10592
|
|
|
|
|
|
|
|
10593
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
10594
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyparms |
10595
|
|
|
|
|
|
|
{ |
10596
|
102
|
|
|
102
|
|
1530
|
my $thisparser = $_[0]; |
10597
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
325
|
|
10598
|
102
|
|
50
|
|
|
340
|
local $tracelevel = ($tracelevel||0)+1; |
10599
|
102
|
|
|
|
|
205
|
$ERRORS = 0; |
10600
|
102
|
|
|
|
|
295
|
my $thisrule = $thisparser->{"rules"}{"bodyparms"}; |
10601
|
|
|
|
|
|
|
|
10602
|
102
|
50
|
|
|
|
309
|
Parse::RecDescent::_trace(q{Trying rule: [bodyparms]}, |
10603
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10604
|
|
|
|
|
|
|
q{bodyparms}, |
10605
|
|
|
|
|
|
|
$tracelevel) |
10606
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10607
|
|
|
|
|
|
|
|
10608
|
102
|
|
|
|
|
176
|
my $def_at = @{$thisparser->{deferred}}; |
|
102
|
|
|
|
|
295
|
|
10609
|
102
|
|
|
|
|
174
|
my $err_at = @{$thisparser->{errors}}; |
|
102
|
|
|
|
|
252
|
|
10610
|
|
|
|
|
|
|
|
10611
|
102
|
|
|
|
|
340
|
my $score; |
10612
|
|
|
|
|
|
|
my $score_return; |
10613
|
102
|
|
|
|
|
0
|
my $_tok; |
10614
|
102
|
|
|
|
|
198
|
my $return = undef; |
10615
|
102
|
|
|
|
|
203
|
my $_matched=0; |
10616
|
102
|
|
|
|
|
156
|
my $commit=0; |
10617
|
102
|
|
|
|
|
220
|
my @item = (); |
10618
|
102
|
|
|
|
|
191
|
my %item = (); |
10619
|
102
|
|
|
|
|
243
|
my $repeating = $_[2]; |
10620
|
102
|
|
|
|
|
203
|
my $_noactions = $_[3]; |
10621
|
102
|
50
|
|
|
|
306
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
102
|
|
|
|
|
241
|
|
|
102
|
|
|
|
|
230
|
|
10622
|
102
|
|
|
|
|
198
|
my $_itempos = $_[5]; |
10623
|
102
|
50
|
|
|
|
315
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
10624
|
102
|
|
|
|
|
323
|
my $text; |
10625
|
|
|
|
|
|
|
my $lastsep; |
10626
|
102
|
|
|
|
|
0
|
my $current_match; |
10627
|
102
|
|
|
|
|
365
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or KVPAIRS}); |
10628
|
102
|
|
|
|
|
815
|
$expectation->at($_[1]); |
10629
|
|
|
|
|
|
|
|
10630
|
102
|
|
|
|
|
415
|
my $thisline; |
10631
|
102
|
|
|
|
|
411
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
10632
|
|
|
|
|
|
|
|
10633
|
|
|
|
|
|
|
|
10634
|
|
|
|
|
|
|
|
10635
|
102
|
|
33
|
|
|
996
|
while (!$_matched && !$commit) |
10636
|
|
|
|
|
|
|
{ |
10637
|
|
|
|
|
|
|
|
10638
|
102
|
50
|
|
|
|
346
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
10639
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10640
|
|
|
|
|
|
|
q{bodyparms}, |
10641
|
|
|
|
|
|
|
$tracelevel) |
10642
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10643
|
102
|
|
|
|
|
317
|
my $thisprod = $thisrule->{"prods"}[0]; |
10644
|
102
|
|
|
|
|
257
|
$text = $_[1]; |
10645
|
102
|
|
|
|
|
157
|
my $_savetext; |
10646
|
102
|
|
|
|
|
230
|
@item = (q{bodyparms}); |
10647
|
102
|
|
|
|
|
287
|
%item = (__RULE__ => q{bodyparms}); |
10648
|
102
|
|
|
|
|
184
|
my $repcount = 0; |
10649
|
|
|
|
|
|
|
|
10650
|
|
|
|
|
|
|
|
10651
|
102
|
50
|
|
|
|
374
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
10652
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10653
|
|
|
|
|
|
|
q{bodyparms}, |
10654
|
|
|
|
|
|
|
$tracelevel) |
10655
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10656
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
291
|
|
|
102
|
|
|
|
|
177
|
|
10657
|
102
|
|
|
|
|
299
|
$expectation->is(q{})->at($text); |
10658
|
102
|
100
|
|
102
|
|
1106
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
102
|
|
|
|
|
275
|
|
10659
|
|
|
|
|
|
|
{ |
10660
|
|
|
|
|
|
|
|
10661
|
79
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{<>}, |
10662
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10663
|
|
|
|
|
|
|
q{bodyparms}, |
10664
|
|
|
|
|
|
|
$tracelevel) |
10665
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10666
|
79
|
|
|
|
|
237
|
$expectation->failed(); |
10667
|
79
|
|
|
|
|
304
|
last; |
10668
|
|
|
|
|
|
|
} |
10669
|
23
|
50
|
|
|
|
115
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
10670
|
|
|
|
|
|
|
. $_tok . q{]}, |
10671
|
|
|
|
|
|
|
|
10672
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10673
|
|
|
|
|
|
|
q{bodyparms}, |
10674
|
|
|
|
|
|
|
$tracelevel) |
10675
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10676
|
23
|
|
|
|
|
67
|
$item{q{NIL}} = $_tok; |
10677
|
23
|
|
|
|
|
66
|
push @item, $_tok; |
10678
|
|
|
|
|
|
|
|
10679
|
|
|
|
|
|
|
} |
10680
|
|
|
|
|
|
|
|
10681
|
23
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
10682
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10683
|
|
|
|
|
|
|
q{bodyparms}, |
10684
|
|
|
|
|
|
|
$tracelevel) |
10685
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10686
|
|
|
|
|
|
|
|
10687
|
|
|
|
|
|
|
|
10688
|
|
|
|
|
|
|
|
10689
|
23
|
|
|
|
|
48
|
$_matched = 1; |
10690
|
23
|
|
|
|
|
52
|
last; |
10691
|
|
|
|
|
|
|
} |
10692
|
|
|
|
|
|
|
|
10693
|
|
|
|
|
|
|
splice |
10694
|
102
|
100
|
|
|
|
399
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
79
|
|
|
|
|
246
|
|
10695
|
|
|
|
|
|
|
|
10696
|
102
|
|
66
|
|
|
578
|
while (!$_matched && !$commit) |
10697
|
|
|
|
|
|
|
{ |
10698
|
|
|
|
|
|
|
|
10699
|
79
|
50
|
|
|
|
311
|
Parse::RecDescent::_trace(q{Trying production: [KVPAIRS]}, |
10700
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10701
|
|
|
|
|
|
|
q{bodyparms}, |
10702
|
|
|
|
|
|
|
$tracelevel) |
10703
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10704
|
79
|
|
|
|
|
198
|
my $thisprod = $thisrule->{"prods"}[1]; |
10705
|
79
|
|
|
|
|
178
|
$text = $_[1]; |
10706
|
79
|
|
|
|
|
135
|
my $_savetext; |
10707
|
79
|
|
|
|
|
228
|
@item = (q{bodyparms}); |
10708
|
79
|
|
|
|
|
201
|
%item = (__RULE__ => q{bodyparms}); |
10709
|
79
|
|
|
|
|
187
|
my $repcount = 0; |
10710
|
|
|
|
|
|
|
|
10711
|
|
|
|
|
|
|
|
10712
|
79
|
50
|
|
|
|
219
|
Parse::RecDescent::_trace(q{Trying subrule: [KVPAIRS]}, |
10713
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10714
|
|
|
|
|
|
|
q{bodyparms}, |
10715
|
|
|
|
|
|
|
$tracelevel) |
10716
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10717
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
497
|
|
|
79
|
|
|
|
|
162
|
|
10718
|
79
|
|
|
|
|
238
|
$expectation->is(q{})->at($text); |
10719
|
79
|
100
|
|
79
|
|
950
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::KVPAIRS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
79
|
|
|
|
|
194
|
|
10720
|
|
|
|
|
|
|
{ |
10721
|
|
|
|
|
|
|
|
10722
|
3
|
50
|
|
|
|
11
|
Parse::RecDescent::_trace(q{<>}, |
10723
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10724
|
|
|
|
|
|
|
q{bodyparms}, |
10725
|
|
|
|
|
|
|
$tracelevel) |
10726
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10727
|
3
|
|
|
|
|
11
|
$expectation->failed(); |
10728
|
3
|
|
|
|
|
11
|
last; |
10729
|
|
|
|
|
|
|
} |
10730
|
76
|
50
|
|
|
|
328
|
Parse::RecDescent::_trace(q{>>Matched subrule: [KVPAIRS]<< (return value: [} |
10731
|
|
|
|
|
|
|
. $_tok . q{]}, |
10732
|
|
|
|
|
|
|
|
10733
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10734
|
|
|
|
|
|
|
q{bodyparms}, |
10735
|
|
|
|
|
|
|
$tracelevel) |
10736
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10737
|
76
|
|
|
|
|
228
|
$item{q{KVPAIRS}} = $_tok; |
10738
|
76
|
|
|
|
|
189
|
push @item, $_tok; |
10739
|
|
|
|
|
|
|
|
10740
|
|
|
|
|
|
|
} |
10741
|
|
|
|
|
|
|
|
10742
|
76
|
50
|
|
|
|
224
|
Parse::RecDescent::_trace(q{>>Matched production: [KVPAIRS]<<}, |
10743
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10744
|
|
|
|
|
|
|
q{bodyparms}, |
10745
|
|
|
|
|
|
|
$tracelevel) |
10746
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10747
|
|
|
|
|
|
|
|
10748
|
|
|
|
|
|
|
|
10749
|
|
|
|
|
|
|
|
10750
|
76
|
|
|
|
|
166
|
$_matched = 1; |
10751
|
76
|
|
|
|
|
151
|
last; |
10752
|
|
|
|
|
|
|
} |
10753
|
|
|
|
|
|
|
|
10754
|
|
|
|
|
|
|
splice |
10755
|
102
|
100
|
|
|
|
255
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
3
|
|
|
|
|
9
|
|
10756
|
|
|
|
|
|
|
|
10757
|
102
|
100
|
66
|
|
|
361
|
unless ( $_matched || defined($score) ) |
10758
|
|
|
|
|
|
|
{ |
10759
|
3
|
|
|
|
|
7
|
splice @{$thisparser->{deferred}}, $def_at; |
|
3
|
|
|
|
|
7
|
|
10760
|
|
|
|
|
|
|
|
10761
|
|
|
|
|
|
|
|
10762
|
3
|
|
|
|
|
7
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
10763
|
3
|
50
|
|
|
|
10
|
Parse::RecDescent::_trace(q{<>}, |
10764
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10765
|
|
|
|
|
|
|
q{bodyparms}, |
10766
|
|
|
|
|
|
|
$tracelevel) |
10767
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10768
|
3
|
|
|
|
|
13
|
return undef; |
10769
|
|
|
|
|
|
|
} |
10770
|
99
|
50
|
33
|
|
|
632
|
if (!defined($return) && defined($score)) |
10771
|
|
|
|
|
|
|
{ |
10772
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
10773
|
|
|
|
|
|
|
q{bodyparms}, |
10774
|
|
|
|
|
|
|
$tracelevel) |
10775
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10776
|
0
|
|
|
|
|
0
|
$return = $score_return; |
10777
|
|
|
|
|
|
|
} |
10778
|
99
|
|
|
|
|
200
|
splice @{$thisparser->{errors}}, $err_at; |
|
99
|
|
|
|
|
236
|
|
10779
|
99
|
50
|
|
|
|
322
|
$return = $item[$#item] unless defined $return; |
10780
|
99
|
50
|
|
|
|
270
|
if (defined $::RD_TRACE) |
10781
|
|
|
|
|
|
|
{ |
10782
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
10783
|
|
|
|
|
|
|
$return . q{])}, "", |
10784
|
|
|
|
|
|
|
q{bodyparms}, |
10785
|
|
|
|
|
|
|
$tracelevel); |
10786
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
10787
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
10788
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10789
|
|
|
|
|
|
|
, q{bodyparms}, |
10790
|
|
|
|
|
|
|
$tracelevel) |
10791
|
|
|
|
|
|
|
} |
10792
|
99
|
|
|
|
|
245
|
$_[1] = $text; |
10793
|
99
|
|
|
|
|
563
|
return $return; |
10794
|
|
|
|
|
|
|
} |
10795
|
|
|
|
|
|
|
|
10796
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
10797
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::DOUBLE_QUOTED_STRING |
10798
|
|
|
|
|
|
|
{ |
10799
|
824
|
|
|
824
|
|
1401
|
my $thisparser = $_[0]; |
10800
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
1227
|
|
10801
|
824
|
|
50
|
|
|
2114
|
local $tracelevel = ($tracelevel||0)+1; |
10802
|
824
|
|
|
|
|
1292
|
$ERRORS = 0; |
10803
|
824
|
|
|
|
|
1637
|
my $thisrule = $thisparser->{"rules"}{"DOUBLE_QUOTED_STRING"}; |
10804
|
|
|
|
|
|
|
|
10805
|
824
|
50
|
|
|
|
1615
|
Parse::RecDescent::_trace(q{Trying rule: [DOUBLE_QUOTED_STRING]}, |
10806
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10807
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10808
|
|
|
|
|
|
|
$tracelevel) |
10809
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10810
|
|
|
|
|
|
|
|
10811
|
824
|
|
|
|
|
1155
|
my $def_at = @{$thisparser->{deferred}}; |
|
824
|
|
|
|
|
1520
|
|
10812
|
824
|
|
|
|
|
1209
|
my $err_at = @{$thisparser->{errors}}; |
|
824
|
|
|
|
|
1462
|
|
10813
|
|
|
|
|
|
|
|
10814
|
824
|
|
|
|
|
2123
|
my $score; |
10815
|
|
|
|
|
|
|
my $score_return; |
10816
|
824
|
|
|
|
|
0
|
my $_tok; |
10817
|
824
|
|
|
|
|
1142
|
my $return = undef; |
10818
|
824
|
|
|
|
|
1301
|
my $_matched=0; |
10819
|
824
|
|
|
|
|
1229
|
my $commit=0; |
10820
|
824
|
|
|
|
|
1425
|
my @item = (); |
10821
|
824
|
|
|
|
|
1279
|
my %item = (); |
10822
|
824
|
|
|
|
|
1248
|
my $repeating = $_[2]; |
10823
|
824
|
|
|
|
|
1160
|
my $_noactions = $_[3]; |
10824
|
824
|
50
|
|
|
|
1589
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
824
|
|
|
|
|
1148
|
|
|
824
|
|
|
|
|
1384
|
|
10825
|
824
|
|
|
|
|
1296
|
my $_itempos = $_[5]; |
10826
|
824
|
50
|
|
|
|
1717
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
10827
|
824
|
|
|
|
|
1977
|
my $text; |
10828
|
|
|
|
|
|
|
my $lastsep; |
10829
|
824
|
|
|
|
|
0
|
my $current_match; |
10830
|
824
|
|
|
|
|
2316
|
my $expectation = new Parse::RecDescent::Expectation(q{'"'}); |
10831
|
824
|
|
|
|
|
5462
|
$expectation->at($_[1]); |
10832
|
|
|
|
|
|
|
|
10833
|
824
|
|
|
|
|
3443
|
my $thisline; |
10834
|
824
|
|
|
|
|
2156
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
10835
|
|
|
|
|
|
|
|
10836
|
|
|
|
|
|
|
|
10837
|
|
|
|
|
|
|
|
10838
|
824
|
|
33
|
|
|
6160
|
while (!$_matched && !$commit) |
10839
|
|
|
|
|
|
|
{ |
10840
|
|
|
|
|
|
|
|
10841
|
824
|
50
|
|
|
|
1774
|
Parse::RecDescent::_trace(q{Trying production: ['"' /(?:\\\\["\\\\]|[^"])*/ '"']}, |
10842
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10843
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10844
|
|
|
|
|
|
|
$tracelevel) |
10845
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10846
|
824
|
|
|
|
|
1578
|
my $thisprod = $thisrule->{"prods"}[0]; |
10847
|
824
|
|
|
|
|
1631
|
$text = $_[1]; |
10848
|
824
|
|
|
|
|
1255
|
my $_savetext; |
10849
|
824
|
|
|
|
|
1612
|
@item = (q{DOUBLE_QUOTED_STRING}); |
10850
|
824
|
|
|
|
|
1679
|
%item = (__RULE__ => q{DOUBLE_QUOTED_STRING}); |
10851
|
824
|
|
|
|
|
1411
|
my $repcount = 0; |
10852
|
|
|
|
|
|
|
|
10853
|
|
|
|
|
|
|
|
10854
|
824
|
50
|
|
|
|
2029
|
Parse::RecDescent::_trace(q{Trying terminal: ['"']}, |
10855
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10856
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10857
|
|
|
|
|
|
|
$tracelevel) |
10858
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10859
|
824
|
|
|
|
|
1504
|
undef $lastsep; |
10860
|
824
|
|
|
|
|
2021
|
$expectation->is(q{})->at($text); |
10861
|
|
|
|
|
|
|
|
10862
|
|
|
|
|
|
|
|
10863
|
824
|
100
|
66
|
|
|
9768
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\"/) |
|
824
|
100
|
|
|
|
7602
|
|
10864
|
|
|
|
|
|
|
{ |
10865
|
112
|
50
|
|
|
|
519
|
$text = $lastsep . $text if defined $lastsep; |
10866
|
|
|
|
|
|
|
|
10867
|
112
|
|
|
|
|
383
|
$expectation->failed(); |
10868
|
112
|
50
|
|
|
|
455
|
Parse::RecDescent::_trace(qq{<>}, |
10869
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10870
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10871
|
112
|
|
|
|
|
305
|
last; |
10872
|
|
|
|
|
|
|
} |
10873
|
712
|
|
|
|
|
3570
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
10874
|
712
|
|
|
|
|
2492
|
substr($text,0,length($current_match),q{}); |
10875
|
712
|
50
|
|
|
|
1499
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10876
|
|
|
|
|
|
|
. $current_match . q{])}, |
10877
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10878
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10879
|
712
|
|
|
|
|
1934
|
push @item, $item{__STRING1__}=$current_match; |
10880
|
|
|
|
|
|
|
|
10881
|
|
|
|
|
|
|
|
10882
|
712
|
50
|
|
|
|
1581
|
Parse::RecDescent::_trace(q{Trying terminal: [/(?:\\\\["\\\\]|[^"])*/]}, Parse::RecDescent::_tracefirst($text), |
10883
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10884
|
|
|
|
|
|
|
$tracelevel) |
10885
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10886
|
712
|
|
|
|
|
1178
|
undef $lastsep; |
10887
|
712
|
|
|
|
|
1720
|
$expectation->is(q{/(?:\\\\["\\\\]|[^"])*/})->at($text); |
10888
|
|
|
|
|
|
|
|
10889
|
|
|
|
|
|
|
|
10890
|
712
|
50
|
33
|
|
|
7754
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:(?:\\["\\]|[^"])*)/) |
|
712
|
50
|
|
|
|
8456
|
|
10891
|
|
|
|
|
|
|
{ |
10892
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
10893
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
10894
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
10895
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10896
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10897
|
|
|
|
|
|
|
|
10898
|
0
|
|
|
|
|
0
|
last; |
10899
|
|
|
|
|
|
|
} |
10900
|
712
|
|
|
|
|
3240
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
10901
|
712
|
|
|
|
|
2511
|
substr($text,0,length($current_match),q{}); |
10902
|
712
|
50
|
|
|
|
1844
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10903
|
|
|
|
|
|
|
. $current_match . q{])}, |
10904
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10905
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10906
|
712
|
|
|
|
|
1761
|
push @item, $item{__PATTERN1__}=$current_match; |
10907
|
|
|
|
|
|
|
|
10908
|
|
|
|
|
|
|
|
10909
|
712
|
50
|
|
|
|
1364
|
Parse::RecDescent::_trace(q{Trying terminal: ['"']}, |
10910
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10911
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10912
|
|
|
|
|
|
|
$tracelevel) |
10913
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10914
|
712
|
|
|
|
|
1245
|
undef $lastsep; |
10915
|
712
|
|
|
|
|
1658
|
$expectation->is(q{'"'})->at($text); |
10916
|
|
|
|
|
|
|
|
10917
|
|
|
|
|
|
|
|
10918
|
712
|
50
|
33
|
|
|
7093
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\"/) |
|
712
|
50
|
|
|
|
5502
|
|
10919
|
|
|
|
|
|
|
{ |
10920
|
0
|
0
|
|
|
|
0
|
$text = $lastsep . $text if defined $lastsep; |
10921
|
|
|
|
|
|
|
|
10922
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
10923
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(qq{<>}, |
10924
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10925
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10926
|
0
|
|
|
|
|
0
|
last; |
10927
|
|
|
|
|
|
|
} |
10928
|
712
|
|
|
|
|
3110
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
10929
|
712
|
|
|
|
|
2245
|
substr($text,0,length($current_match),q{}); |
10930
|
712
|
50
|
|
|
|
1532
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
10931
|
|
|
|
|
|
|
. $current_match . q{])}, |
10932
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10933
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10934
|
712
|
|
|
|
|
1846
|
push @item, $item{__STRING2__}=$current_match; |
10935
|
|
|
|
|
|
|
|
10936
|
|
|
|
|
|
|
|
10937
|
712
|
50
|
|
|
|
1414
|
Parse::RecDescent::_trace(q{Trying action}, |
10938
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10939
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10940
|
|
|
|
|
|
|
$tracelevel) |
10941
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10942
|
|
|
|
|
|
|
|
10943
|
|
|
|
|
|
|
|
10944
|
712
|
50
|
|
|
|
1627
|
$_tok = ($_noactions) ? 0 : do { $return = $item{__PATTERN1__} }; |
|
712
|
|
|
|
|
1826
|
|
10945
|
712
|
50
|
|
|
|
1579
|
unless (defined $_tok) |
10946
|
|
|
|
|
|
|
{ |
10947
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
10948
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10949
|
0
|
|
|
|
|
0
|
last; |
10950
|
|
|
|
|
|
|
} |
10951
|
712
|
50
|
|
|
|
1331
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
10952
|
|
|
|
|
|
|
. $_tok . q{])}, |
10953
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
10954
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10955
|
712
|
|
|
|
|
1252
|
push @item, $_tok; |
10956
|
712
|
|
|
|
|
1423
|
$item{__ACTION1__}=$_tok; |
10957
|
|
|
|
|
|
|
|
10958
|
|
|
|
|
|
|
|
10959
|
712
|
50
|
|
|
|
1548
|
Parse::RecDescent::_trace(q{>>Matched production: ['"' /(?:\\\\["\\\\]|[^"])*/ '"']<<}, |
10960
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
10961
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10962
|
|
|
|
|
|
|
$tracelevel) |
10963
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10964
|
|
|
|
|
|
|
|
10965
|
|
|
|
|
|
|
|
10966
|
|
|
|
|
|
|
|
10967
|
712
|
|
|
|
|
1090
|
$_matched = 1; |
10968
|
712
|
|
|
|
|
1797
|
last; |
10969
|
|
|
|
|
|
|
} |
10970
|
|
|
|
|
|
|
|
10971
|
|
|
|
|
|
|
splice |
10972
|
824
|
100
|
|
|
|
1672
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
112
|
|
|
|
|
259
|
|
10973
|
|
|
|
|
|
|
|
10974
|
824
|
100
|
66
|
|
|
1903
|
unless ( $_matched || defined($score) ) |
10975
|
|
|
|
|
|
|
{ |
10976
|
112
|
|
|
|
|
197
|
splice @{$thisparser->{deferred}}, $def_at; |
|
112
|
|
|
|
|
202
|
|
10977
|
|
|
|
|
|
|
|
10978
|
|
|
|
|
|
|
|
10979
|
112
|
|
|
|
|
280
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
10980
|
112
|
50
|
|
|
|
265
|
Parse::RecDescent::_trace(q{<>}, |
10981
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
10982
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10983
|
|
|
|
|
|
|
$tracelevel) |
10984
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10985
|
112
|
|
|
|
|
598
|
return undef; |
10986
|
|
|
|
|
|
|
} |
10987
|
712
|
50
|
33
|
|
|
1563
|
if (!defined($return) && defined($score)) |
10988
|
|
|
|
|
|
|
{ |
10989
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
10990
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
10991
|
|
|
|
|
|
|
$tracelevel) |
10992
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
10993
|
0
|
|
|
|
|
0
|
$return = $score_return; |
10994
|
|
|
|
|
|
|
} |
10995
|
712
|
|
|
|
|
1172
|
splice @{$thisparser->{errors}}, $err_at; |
|
712
|
|
|
|
|
1560
|
|
10996
|
712
|
50
|
|
|
|
1603
|
$return = $item[$#item] unless defined $return; |
10997
|
712
|
50
|
|
|
|
1365
|
if (defined $::RD_TRACE) |
10998
|
|
|
|
|
|
|
{ |
10999
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
11000
|
|
|
|
|
|
|
$return . q{])}, "", |
11001
|
|
|
|
|
|
|
q{DOUBLE_QUOTED_STRING}, |
11002
|
|
|
|
|
|
|
$tracelevel); |
11003
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
11004
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
11005
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11006
|
|
|
|
|
|
|
, q{DOUBLE_QUOTED_STRING}, |
11007
|
|
|
|
|
|
|
$tracelevel) |
11008
|
|
|
|
|
|
|
} |
11009
|
712
|
|
|
|
|
1846
|
$_[1] = $text; |
11010
|
712
|
|
|
|
|
5080
|
return $return; |
11011
|
|
|
|
|
|
|
} |
11012
|
|
|
|
|
|
|
|
11013
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
11014
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::sourceroute |
11015
|
|
|
|
|
|
|
{ |
11016
|
94
|
|
|
94
|
|
192
|
my $thisparser = $_[0]; |
11017
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
364
|
|
11018
|
94
|
|
50
|
|
|
262
|
local $tracelevel = ($tracelevel||0)+1; |
11019
|
94
|
|
|
|
|
161
|
$ERRORS = 0; |
11020
|
94
|
|
|
|
|
226
|
my $thisrule = $thisparser->{"rules"}{"sourceroute"}; |
11021
|
|
|
|
|
|
|
|
11022
|
94
|
50
|
|
|
|
228
|
Parse::RecDescent::_trace(q{Trying rule: [sourceroute]}, |
11023
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11024
|
|
|
|
|
|
|
q{sourceroute}, |
11025
|
|
|
|
|
|
|
$tracelevel) |
11026
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11027
|
|
|
|
|
|
|
|
11028
|
94
|
|
|
|
|
189
|
my $def_at = @{$thisparser->{deferred}}; |
|
94
|
|
|
|
|
199
|
|
11029
|
94
|
|
|
|
|
162
|
my $err_at = @{$thisparser->{errors}}; |
|
94
|
|
|
|
|
174
|
|
11030
|
|
|
|
|
|
|
|
11031
|
94
|
|
|
|
|
250
|
my $score; |
11032
|
|
|
|
|
|
|
my $score_return; |
11033
|
94
|
|
|
|
|
0
|
my $_tok; |
11034
|
94
|
|
|
|
|
201
|
my $return = undef; |
11035
|
94
|
|
|
|
|
167
|
my $_matched=0; |
11036
|
94
|
|
|
|
|
137
|
my $commit=0; |
11037
|
94
|
|
|
|
|
176
|
my @item = (); |
11038
|
94
|
|
|
|
|
164
|
my %item = (); |
11039
|
94
|
|
|
|
|
163
|
my $repeating = $_[2]; |
11040
|
94
|
|
|
|
|
162
|
my $_noactions = $_[3]; |
11041
|
94
|
50
|
|
|
|
264
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
94
|
|
|
|
|
157
|
|
|
94
|
|
|
|
|
194
|
|
11042
|
94
|
|
|
|
|
158
|
my $_itempos = $_[5]; |
11043
|
94
|
50
|
|
|
|
240
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
11044
|
94
|
|
|
|
|
267
|
my $text; |
11045
|
|
|
|
|
|
|
my $lastsep; |
11046
|
94
|
|
|
|
|
0
|
my $current_match; |
11047
|
94
|
|
|
|
|
277
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
11048
|
94
|
|
|
|
|
642
|
$expectation->at($_[1]); |
11049
|
|
|
|
|
|
|
|
11050
|
94
|
|
|
|
|
404
|
my $thisline; |
11051
|
94
|
|
|
|
|
367
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
11052
|
|
|
|
|
|
|
|
11053
|
|
|
|
|
|
|
|
11054
|
|
|
|
|
|
|
|
11055
|
94
|
|
33
|
|
|
864
|
while (!$_matched && !$commit) |
11056
|
|
|
|
|
|
|
{ |
11057
|
|
|
|
|
|
|
|
11058
|
94
|
50
|
|
|
|
229
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
11059
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11060
|
|
|
|
|
|
|
q{sourceroute}, |
11061
|
|
|
|
|
|
|
$tracelevel) |
11062
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11063
|
94
|
|
|
|
|
236
|
my $thisprod = $thisrule->{"prods"}[0]; |
11064
|
94
|
|
|
|
|
194
|
$text = $_[1]; |
11065
|
94
|
|
|
|
|
149
|
my $_savetext; |
11066
|
94
|
|
|
|
|
220
|
@item = (q{sourceroute}); |
11067
|
94
|
|
|
|
|
201
|
%item = (__RULE__ => q{sourceroute}); |
11068
|
94
|
|
|
|
|
146
|
my $repcount = 0; |
11069
|
|
|
|
|
|
|
|
11070
|
|
|
|
|
|
|
|
11071
|
94
|
50
|
|
|
|
231
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
11072
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11073
|
|
|
|
|
|
|
q{sourceroute}, |
11074
|
|
|
|
|
|
|
$tracelevel) |
11075
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11076
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
297
|
|
|
94
|
|
|
|
|
156
|
|
11077
|
94
|
|
|
|
|
241
|
$expectation->is(q{})->at($text); |
11078
|
94
|
50
|
|
94
|
|
896
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
194
|
|
11079
|
|
|
|
|
|
|
{ |
11080
|
|
|
|
|
|
|
|
11081
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11082
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11083
|
|
|
|
|
|
|
q{sourceroute}, |
11084
|
|
|
|
|
|
|
$tracelevel) |
11085
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11086
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
11087
|
0
|
|
|
|
|
0
|
last; |
11088
|
|
|
|
|
|
|
} |
11089
|
94
|
50
|
|
|
|
337
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
11090
|
|
|
|
|
|
|
. $_tok . q{]}, |
11091
|
|
|
|
|
|
|
|
11092
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11093
|
|
|
|
|
|
|
q{sourceroute}, |
11094
|
|
|
|
|
|
|
$tracelevel) |
11095
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11096
|
94
|
|
|
|
|
239
|
$item{q{NIL}} = $_tok; |
11097
|
94
|
|
|
|
|
220
|
push @item, $_tok; |
11098
|
|
|
|
|
|
|
|
11099
|
|
|
|
|
|
|
} |
11100
|
|
|
|
|
|
|
|
11101
|
94
|
50
|
|
|
|
200
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
11102
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11103
|
|
|
|
|
|
|
q{sourceroute}, |
11104
|
|
|
|
|
|
|
$tracelevel) |
11105
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11106
|
|
|
|
|
|
|
|
11107
|
|
|
|
|
|
|
|
11108
|
|
|
|
|
|
|
|
11109
|
94
|
|
|
|
|
156
|
$_matched = 1; |
11110
|
94
|
|
|
|
|
181
|
last; |
11111
|
|
|
|
|
|
|
} |
11112
|
|
|
|
|
|
|
|
11113
|
|
|
|
|
|
|
splice |
11114
|
94
|
50
|
|
|
|
228
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
11115
|
|
|
|
|
|
|
|
11116
|
94
|
|
33
|
|
|
239
|
while (!$_matched && !$commit) |
11117
|
|
|
|
|
|
|
{ |
11118
|
|
|
|
|
|
|
|
11119
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
11120
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11121
|
|
|
|
|
|
|
q{sourceroute}, |
11122
|
|
|
|
|
|
|
$tracelevel) |
11123
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11124
|
0
|
|
|
|
|
0
|
my $thisprod = $thisrule->{"prods"}[1]; |
11125
|
0
|
|
|
|
|
0
|
$text = $_[1]; |
11126
|
0
|
|
|
|
|
0
|
my $_savetext; |
11127
|
0
|
|
|
|
|
0
|
@item = (q{sourceroute}); |
11128
|
0
|
|
|
|
|
0
|
%item = (__RULE__ => q{sourceroute}); |
11129
|
0
|
|
|
|
|
0
|
my $repcount = 0; |
11130
|
|
|
|
|
|
|
|
11131
|
|
|
|
|
|
|
|
11132
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
11133
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11134
|
|
|
|
|
|
|
q{sourceroute}, |
11135
|
|
|
|
|
|
|
$tracelevel) |
11136
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11137
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
461
|
|
|
0
|
|
|
|
|
0
|
|
11138
|
0
|
|
|
|
|
0
|
$expectation->is(q{})->at($text); |
11139
|
0
|
0
|
|
0
|
|
0
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
0
|
|
|
|
|
0
|
|
11140
|
|
|
|
|
|
|
{ |
11141
|
|
|
|
|
|
|
|
11142
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11143
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11144
|
|
|
|
|
|
|
q{sourceroute}, |
11145
|
|
|
|
|
|
|
$tracelevel) |
11146
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11147
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
11148
|
0
|
|
|
|
|
0
|
last; |
11149
|
|
|
|
|
|
|
} |
11150
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
11151
|
|
|
|
|
|
|
. $_tok . q{]}, |
11152
|
|
|
|
|
|
|
|
11153
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11154
|
|
|
|
|
|
|
q{sourceroute}, |
11155
|
|
|
|
|
|
|
$tracelevel) |
11156
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11157
|
0
|
|
|
|
|
0
|
$item{q{STRING}} = $_tok; |
11158
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
11159
|
|
|
|
|
|
|
|
11160
|
|
|
|
|
|
|
} |
11161
|
|
|
|
|
|
|
|
11162
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
11163
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11164
|
|
|
|
|
|
|
q{sourceroute}, |
11165
|
|
|
|
|
|
|
$tracelevel) |
11166
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11167
|
|
|
|
|
|
|
|
11168
|
|
|
|
|
|
|
|
11169
|
|
|
|
|
|
|
|
11170
|
0
|
|
|
|
|
0
|
$_matched = 1; |
11171
|
0
|
|
|
|
|
0
|
last; |
11172
|
|
|
|
|
|
|
} |
11173
|
|
|
|
|
|
|
|
11174
|
|
|
|
|
|
|
splice |
11175
|
94
|
50
|
|
|
|
201
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
11176
|
|
|
|
|
|
|
|
11177
|
94
|
50
|
33
|
|
|
272
|
unless ( $_matched || defined($score) ) |
11178
|
|
|
|
|
|
|
{ |
11179
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
11180
|
|
|
|
|
|
|
|
11181
|
|
|
|
|
|
|
|
11182
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
11183
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11184
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11185
|
|
|
|
|
|
|
q{sourceroute}, |
11186
|
|
|
|
|
|
|
$tracelevel) |
11187
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11188
|
0
|
|
|
|
|
0
|
return undef; |
11189
|
|
|
|
|
|
|
} |
11190
|
94
|
50
|
33
|
|
|
412
|
if (!defined($return) && defined($score)) |
11191
|
|
|
|
|
|
|
{ |
11192
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
11193
|
|
|
|
|
|
|
q{sourceroute}, |
11194
|
|
|
|
|
|
|
$tracelevel) |
11195
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11196
|
0
|
|
|
|
|
0
|
$return = $score_return; |
11197
|
|
|
|
|
|
|
} |
11198
|
94
|
|
|
|
|
175
|
splice @{$thisparser->{errors}}, $err_at; |
|
94
|
|
|
|
|
192
|
|
11199
|
94
|
50
|
|
|
|
289
|
$return = $item[$#item] unless defined $return; |
11200
|
94
|
50
|
|
|
|
239
|
if (defined $::RD_TRACE) |
11201
|
|
|
|
|
|
|
{ |
11202
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
11203
|
|
|
|
|
|
|
$return . q{])}, "", |
11204
|
|
|
|
|
|
|
q{sourceroute}, |
11205
|
|
|
|
|
|
|
$tracelevel); |
11206
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
11207
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
11208
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11209
|
|
|
|
|
|
|
, q{sourceroute}, |
11210
|
|
|
|
|
|
|
$tracelevel) |
11211
|
|
|
|
|
|
|
} |
11212
|
94
|
|
|
|
|
209
|
$_[1] = $text; |
11213
|
94
|
|
|
|
|
460
|
return $return; |
11214
|
|
|
|
|
|
|
} |
11215
|
|
|
|
|
|
|
|
11216
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
11217
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodytype |
11218
|
|
|
|
|
|
|
{ |
11219
|
32
|
|
|
32
|
|
78
|
my $thisparser = $_[0]; |
11220
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
10
|
|
|
1
|
|
|
|
|
345
|
|
11221
|
32
|
|
50
|
|
|
130
|
local $tracelevel = ($tracelevel||0)+1; |
11222
|
32
|
|
|
|
|
60
|
$ERRORS = 0; |
11223
|
32
|
|
|
|
|
105
|
my $thisrule = $thisparser->{"rules"}{"bodytype"}; |
11224
|
|
|
|
|
|
|
|
11225
|
32
|
50
|
|
|
|
89
|
Parse::RecDescent::_trace(q{Trying rule: [bodytype]}, |
11226
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11227
|
|
|
|
|
|
|
q{bodytype}, |
11228
|
|
|
|
|
|
|
$tracelevel) |
11229
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11230
|
|
|
|
|
|
|
|
11231
|
32
|
|
|
|
|
54
|
my $def_at = @{$thisparser->{deferred}}; |
|
32
|
|
|
|
|
78
|
|
11232
|
32
|
|
|
|
|
63
|
my $err_at = @{$thisparser->{errors}}; |
|
32
|
|
|
|
|
88
|
|
11233
|
|
|
|
|
|
|
|
11234
|
32
|
|
|
|
|
116
|
my $score; |
11235
|
|
|
|
|
|
|
my $score_return; |
11236
|
32
|
|
|
|
|
0
|
my $_tok; |
11237
|
32
|
|
|
|
|
62
|
my $return = undef; |
11238
|
32
|
|
|
|
|
76
|
my $_matched=0; |
11239
|
32
|
|
|
|
|
65
|
my $commit=0; |
11240
|
32
|
|
|
|
|
86
|
my @item = (); |
11241
|
32
|
|
|
|
|
62
|
my %item = (); |
11242
|
32
|
|
|
|
|
60
|
my $repeating = $_[2]; |
11243
|
32
|
|
|
|
|
52
|
my $_noactions = $_[3]; |
11244
|
32
|
50
|
|
|
|
106
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
32
|
|
|
|
|
45
|
|
|
32
|
|
|
|
|
69
|
|
11245
|
32
|
|
|
|
|
83
|
my $_itempos = $_[5]; |
11246
|
32
|
50
|
|
|
|
105
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
11247
|
32
|
|
|
|
|
116
|
my $text; |
11248
|
|
|
|
|
|
|
my $lastsep; |
11249
|
32
|
|
|
|
|
0
|
my $current_match; |
11250
|
32
|
|
|
|
|
98
|
my $expectation = new Parse::RecDescent::Expectation(q{STRING}); |
11251
|
32
|
|
|
|
|
236
|
$expectation->at($_[1]); |
11252
|
|
|
|
|
|
|
|
11253
|
32
|
|
|
|
|
145
|
my $thisline; |
11254
|
32
|
|
|
|
|
103
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
11255
|
|
|
|
|
|
|
|
11256
|
|
|
|
|
|
|
|
11257
|
|
|
|
|
|
|
|
11258
|
32
|
|
33
|
|
|
288
|
while (!$_matched && !$commit) |
11259
|
|
|
|
|
|
|
{ |
11260
|
|
|
|
|
|
|
|
11261
|
32
|
50
|
|
|
|
115
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
11262
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11263
|
|
|
|
|
|
|
q{bodytype}, |
11264
|
|
|
|
|
|
|
$tracelevel) |
11265
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11266
|
32
|
|
|
|
|
106
|
my $thisprod = $thisrule->{"prods"}[0]; |
11267
|
32
|
|
|
|
|
77
|
$text = $_[1]; |
11268
|
32
|
|
|
|
|
55
|
my $_savetext; |
11269
|
32
|
|
|
|
|
82
|
@item = (q{bodytype}); |
11270
|
32
|
|
|
|
|
96
|
%item = (__RULE__ => q{bodytype}); |
11271
|
32
|
|
|
|
|
58
|
my $repcount = 0; |
11272
|
|
|
|
|
|
|
|
11273
|
|
|
|
|
|
|
|
11274
|
32
|
50
|
|
|
|
114
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
11275
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11276
|
|
|
|
|
|
|
q{bodytype}, |
11277
|
|
|
|
|
|
|
$tracelevel) |
11278
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11279
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
408
|
|
|
32
|
|
|
|
|
55
|
|
11280
|
32
|
|
|
|
|
80
|
$expectation->is(q{})->at($text); |
11281
|
32
|
100
|
|
32
|
|
338
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
32
|
|
|
|
|
87
|
|
11282
|
|
|
|
|
|
|
{ |
11283
|
|
|
|
|
|
|
|
11284
|
20
|
50
|
|
|
|
62
|
Parse::RecDescent::_trace(q{<>}, |
11285
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11286
|
|
|
|
|
|
|
q{bodytype}, |
11287
|
|
|
|
|
|
|
$tracelevel) |
11288
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11289
|
20
|
|
|
|
|
80
|
$expectation->failed(); |
11290
|
20
|
|
|
|
|
77
|
last; |
11291
|
|
|
|
|
|
|
} |
11292
|
12
|
50
|
|
|
|
61
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
11293
|
|
|
|
|
|
|
. $_tok . q{]}, |
11294
|
|
|
|
|
|
|
|
11295
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11296
|
|
|
|
|
|
|
q{bodytype}, |
11297
|
|
|
|
|
|
|
$tracelevel) |
11298
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11299
|
12
|
|
|
|
|
35
|
$item{q{STRING}} = $_tok; |
11300
|
12
|
|
|
|
|
35
|
push @item, $_tok; |
11301
|
|
|
|
|
|
|
|
11302
|
|
|
|
|
|
|
} |
11303
|
|
|
|
|
|
|
|
11304
|
12
|
50
|
|
|
|
35
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
11305
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11306
|
|
|
|
|
|
|
q{bodytype}, |
11307
|
|
|
|
|
|
|
$tracelevel) |
11308
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11309
|
|
|
|
|
|
|
|
11310
|
|
|
|
|
|
|
|
11311
|
|
|
|
|
|
|
|
11312
|
12
|
|
|
|
|
24
|
$_matched = 1; |
11313
|
12
|
|
|
|
|
26
|
last; |
11314
|
|
|
|
|
|
|
} |
11315
|
|
|
|
|
|
|
|
11316
|
|
|
|
|
|
|
splice |
11317
|
32
|
100
|
|
|
|
121
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
20
|
|
|
|
|
70
|
|
11318
|
|
|
|
|
|
|
|
11319
|
32
|
100
|
66
|
|
|
166
|
unless ( $_matched || defined($score) ) |
11320
|
|
|
|
|
|
|
{ |
11321
|
20
|
|
|
|
|
40
|
splice @{$thisparser->{deferred}}, $def_at; |
|
20
|
|
|
|
|
53
|
|
11322
|
|
|
|
|
|
|
|
11323
|
|
|
|
|
|
|
|
11324
|
20
|
|
|
|
|
43
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
11325
|
20
|
50
|
|
|
|
64
|
Parse::RecDescent::_trace(q{<>}, |
11326
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11327
|
|
|
|
|
|
|
q{bodytype}, |
11328
|
|
|
|
|
|
|
$tracelevel) |
11329
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11330
|
20
|
|
|
|
|
115
|
return undef; |
11331
|
|
|
|
|
|
|
} |
11332
|
12
|
50
|
33
|
|
|
73
|
if (!defined($return) && defined($score)) |
11333
|
|
|
|
|
|
|
{ |
11334
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
11335
|
|
|
|
|
|
|
q{bodytype}, |
11336
|
|
|
|
|
|
|
$tracelevel) |
11337
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11338
|
0
|
|
|
|
|
0
|
$return = $score_return; |
11339
|
|
|
|
|
|
|
} |
11340
|
12
|
|
|
|
|
24
|
splice @{$thisparser->{errors}}, $err_at; |
|
12
|
|
|
|
|
35
|
|
11341
|
12
|
50
|
|
|
|
62
|
$return = $item[$#item] unless defined $return; |
11342
|
12
|
50
|
|
|
|
41
|
if (defined $::RD_TRACE) |
11343
|
|
|
|
|
|
|
{ |
11344
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
11345
|
|
|
|
|
|
|
$return . q{])}, "", |
11346
|
|
|
|
|
|
|
q{bodytype}, |
11347
|
|
|
|
|
|
|
$tracelevel); |
11348
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
11349
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
11350
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11351
|
|
|
|
|
|
|
, q{bodytype}, |
11352
|
|
|
|
|
|
|
$tracelevel) |
11353
|
|
|
|
|
|
|
} |
11354
|
12
|
|
|
|
|
34
|
$_[1] = $text; |
11355
|
12
|
|
|
|
|
76
|
return $return; |
11356
|
|
|
|
|
|
|
} |
11357
|
|
|
|
|
|
|
|
11358
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
11359
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::messageid |
11360
|
|
|
|
|
|
|
{ |
11361
|
24
|
|
|
24
|
|
65
|
my $thisparser = $_[0]; |
11362
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
340
|
|
11363
|
24
|
|
50
|
|
|
80
|
local $tracelevel = ($tracelevel||0)+1; |
11364
|
24
|
|
|
|
|
58
|
$ERRORS = 0; |
11365
|
24
|
|
|
|
|
76
|
my $thisrule = $thisparser->{"rules"}{"messageid"}; |
11366
|
|
|
|
|
|
|
|
11367
|
24
|
50
|
|
|
|
93
|
Parse::RecDescent::_trace(q{Trying rule: [messageid]}, |
11368
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11369
|
|
|
|
|
|
|
q{messageid}, |
11370
|
|
|
|
|
|
|
$tracelevel) |
11371
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11372
|
|
|
|
|
|
|
|
11373
|
24
|
|
|
|
|
40
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
65
|
|
11374
|
24
|
|
|
|
|
45
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
63
|
|
11375
|
|
|
|
|
|
|
|
11376
|
24
|
|
|
|
|
97
|
my $score; |
11377
|
|
|
|
|
|
|
my $score_return; |
11378
|
24
|
|
|
|
|
0
|
my $_tok; |
11379
|
24
|
|
|
|
|
49
|
my $return = undef; |
11380
|
24
|
|
|
|
|
49
|
my $_matched=0; |
11381
|
24
|
|
|
|
|
45
|
my $commit=0; |
11382
|
24
|
|
|
|
|
53
|
my @item = (); |
11383
|
24
|
|
|
|
|
55
|
my %item = (); |
11384
|
24
|
|
|
|
|
42
|
my $repeating = $_[2]; |
11385
|
24
|
|
|
|
|
41
|
my $_noactions = $_[3]; |
11386
|
24
|
50
|
|
|
|
79
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
48
|
|
|
24
|
|
|
|
|
54
|
|
11387
|
24
|
|
|
|
|
62
|
my $_itempos = $_[5]; |
11388
|
24
|
50
|
|
|
|
86
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
11389
|
24
|
|
|
|
|
75
|
my $text; |
11390
|
|
|
|
|
|
|
my $lastsep; |
11391
|
24
|
|
|
|
|
0
|
my $current_match; |
11392
|
24
|
|
|
|
|
84
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
11393
|
24
|
|
|
|
|
189
|
$expectation->at($_[1]); |
11394
|
|
|
|
|
|
|
|
11395
|
24
|
|
|
|
|
116
|
my $thisline; |
11396
|
24
|
|
|
|
|
125
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
11397
|
|
|
|
|
|
|
|
11398
|
|
|
|
|
|
|
|
11399
|
|
|
|
|
|
|
|
11400
|
24
|
|
33
|
|
|
241
|
while (!$_matched && !$commit) |
11401
|
|
|
|
|
|
|
{ |
11402
|
|
|
|
|
|
|
|
11403
|
24
|
50
|
|
|
|
70
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
11404
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11405
|
|
|
|
|
|
|
q{messageid}, |
11406
|
|
|
|
|
|
|
$tracelevel) |
11407
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11408
|
24
|
|
|
|
|
88
|
my $thisprod = $thisrule->{"prods"}[0]; |
11409
|
24
|
|
|
|
|
62
|
$text = $_[1]; |
11410
|
24
|
|
|
|
|
45
|
my $_savetext; |
11411
|
24
|
|
|
|
|
58
|
@item = (q{messageid}); |
11412
|
24
|
|
|
|
|
60
|
%item = (__RULE__ => q{messageid}); |
11413
|
24
|
|
|
|
|
48
|
my $repcount = 0; |
11414
|
|
|
|
|
|
|
|
11415
|
|
|
|
|
|
|
|
11416
|
24
|
50
|
|
|
|
92
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
11417
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11418
|
|
|
|
|
|
|
q{messageid}, |
11419
|
|
|
|
|
|
|
$tracelevel) |
11420
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11421
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
290
|
|
|
24
|
|
|
|
|
36
|
|
11422
|
24
|
|
|
|
|
76
|
$expectation->is(q{})->at($text); |
11423
|
24
|
50
|
|
24
|
|
266
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
81
|
|
11424
|
|
|
|
|
|
|
{ |
11425
|
|
|
|
|
|
|
|
11426
|
24
|
50
|
|
|
|
76
|
Parse::RecDescent::_trace(q{<>}, |
11427
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11428
|
|
|
|
|
|
|
q{messageid}, |
11429
|
|
|
|
|
|
|
$tracelevel) |
11430
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11431
|
24
|
|
|
|
|
87
|
$expectation->failed(); |
11432
|
24
|
|
|
|
|
101
|
last; |
11433
|
|
|
|
|
|
|
} |
11434
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
11435
|
|
|
|
|
|
|
. $_tok . q{]}, |
11436
|
|
|
|
|
|
|
|
11437
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11438
|
|
|
|
|
|
|
q{messageid}, |
11439
|
|
|
|
|
|
|
$tracelevel) |
11440
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11441
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
11442
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
11443
|
|
|
|
|
|
|
|
11444
|
|
|
|
|
|
|
} |
11445
|
|
|
|
|
|
|
|
11446
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
11447
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11448
|
|
|
|
|
|
|
q{messageid}, |
11449
|
|
|
|
|
|
|
$tracelevel) |
11450
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11451
|
|
|
|
|
|
|
|
11452
|
|
|
|
|
|
|
|
11453
|
|
|
|
|
|
|
|
11454
|
0
|
|
|
|
|
0
|
$_matched = 1; |
11455
|
0
|
|
|
|
|
0
|
last; |
11456
|
|
|
|
|
|
|
} |
11457
|
|
|
|
|
|
|
|
11458
|
|
|
|
|
|
|
splice |
11459
|
24
|
50
|
|
|
|
120
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
24
|
|
|
|
|
69
|
|
11460
|
|
|
|
|
|
|
|
11461
|
24
|
|
33
|
|
|
138
|
while (!$_matched && !$commit) |
11462
|
|
|
|
|
|
|
{ |
11463
|
|
|
|
|
|
|
|
11464
|
24
|
50
|
|
|
|
66
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
11465
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11466
|
|
|
|
|
|
|
q{messageid}, |
11467
|
|
|
|
|
|
|
$tracelevel) |
11468
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11469
|
24
|
|
|
|
|
63
|
my $thisprod = $thisrule->{"prods"}[1]; |
11470
|
24
|
|
|
|
|
52
|
$text = $_[1]; |
11471
|
24
|
|
|
|
|
40
|
my $_savetext; |
11472
|
24
|
|
|
|
|
66
|
@item = (q{messageid}); |
11473
|
24
|
|
|
|
|
76
|
%item = (__RULE__ => q{messageid}); |
11474
|
24
|
|
|
|
|
48
|
my $repcount = 0; |
11475
|
|
|
|
|
|
|
|
11476
|
|
|
|
|
|
|
|
11477
|
24
|
50
|
|
|
|
75
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
11478
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11479
|
|
|
|
|
|
|
q{messageid}, |
11480
|
|
|
|
|
|
|
$tracelevel) |
11481
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11482
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
470
|
|
|
24
|
|
|
|
|
50
|
|
11483
|
24
|
|
|
|
|
84
|
$expectation->is(q{})->at($text); |
11484
|
24
|
50
|
|
24
|
|
275
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
54
|
|
11485
|
|
|
|
|
|
|
{ |
11486
|
|
|
|
|
|
|
|
11487
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11488
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11489
|
|
|
|
|
|
|
q{messageid}, |
11490
|
|
|
|
|
|
|
$tracelevel) |
11491
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11492
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
11493
|
0
|
|
|
|
|
0
|
last; |
11494
|
|
|
|
|
|
|
} |
11495
|
24
|
50
|
|
|
|
115
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
11496
|
|
|
|
|
|
|
. $_tok . q{]}, |
11497
|
|
|
|
|
|
|
|
11498
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11499
|
|
|
|
|
|
|
q{messageid}, |
11500
|
|
|
|
|
|
|
$tracelevel) |
11501
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11502
|
24
|
|
|
|
|
69
|
$item{q{STRING}} = $_tok; |
11503
|
24
|
|
|
|
|
68
|
push @item, $_tok; |
11504
|
|
|
|
|
|
|
|
11505
|
|
|
|
|
|
|
} |
11506
|
|
|
|
|
|
|
|
11507
|
24
|
50
|
|
|
|
65
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
11508
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11509
|
|
|
|
|
|
|
q{messageid}, |
11510
|
|
|
|
|
|
|
$tracelevel) |
11511
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11512
|
|
|
|
|
|
|
|
11513
|
|
|
|
|
|
|
|
11514
|
|
|
|
|
|
|
|
11515
|
24
|
|
|
|
|
47
|
$_matched = 1; |
11516
|
24
|
|
|
|
|
58
|
last; |
11517
|
|
|
|
|
|
|
} |
11518
|
|
|
|
|
|
|
|
11519
|
|
|
|
|
|
|
splice |
11520
|
24
|
50
|
|
|
|
73
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
11521
|
|
|
|
|
|
|
|
11522
|
24
|
50
|
33
|
|
|
90
|
unless ( $_matched || defined($score) ) |
11523
|
|
|
|
|
|
|
{ |
11524
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
11525
|
|
|
|
|
|
|
|
11526
|
|
|
|
|
|
|
|
11527
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
11528
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11529
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11530
|
|
|
|
|
|
|
q{messageid}, |
11531
|
|
|
|
|
|
|
$tracelevel) |
11532
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11533
|
0
|
|
|
|
|
0
|
return undef; |
11534
|
|
|
|
|
|
|
} |
11535
|
24
|
50
|
33
|
|
|
131
|
if (!defined($return) && defined($score)) |
11536
|
|
|
|
|
|
|
{ |
11537
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
11538
|
|
|
|
|
|
|
q{messageid}, |
11539
|
|
|
|
|
|
|
$tracelevel) |
11540
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11541
|
0
|
|
|
|
|
0
|
$return = $score_return; |
11542
|
|
|
|
|
|
|
} |
11543
|
24
|
|
|
|
|
46
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
65
|
|
11544
|
24
|
50
|
|
|
|
78
|
$return = $item[$#item] unless defined $return; |
11545
|
24
|
50
|
|
|
|
87
|
if (defined $::RD_TRACE) |
11546
|
|
|
|
|
|
|
{ |
11547
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
11548
|
|
|
|
|
|
|
$return . q{])}, "", |
11549
|
|
|
|
|
|
|
q{messageid}, |
11550
|
|
|
|
|
|
|
$tracelevel); |
11551
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
11552
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
11553
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11554
|
|
|
|
|
|
|
, q{messageid}, |
11555
|
|
|
|
|
|
|
$tracelevel) |
11556
|
|
|
|
|
|
|
} |
11557
|
24
|
|
|
|
|
53
|
$_[1] = $text; |
11558
|
24
|
|
|
|
|
154
|
return $return; |
11559
|
|
|
|
|
|
|
} |
11560
|
|
|
|
|
|
|
|
11561
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
11562
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::value |
11563
|
|
|
|
|
|
|
{ |
11564
|
129
|
|
|
129
|
|
281
|
my $thisparser = $_[0]; |
11565
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
323
|
|
11566
|
129
|
|
50
|
|
|
370
|
local $tracelevel = ($tracelevel||0)+1; |
11567
|
129
|
|
|
|
|
248
|
$ERRORS = 0; |
11568
|
129
|
|
|
|
|
360
|
my $thisrule = $thisparser->{"rules"}{"value"}; |
11569
|
|
|
|
|
|
|
|
11570
|
129
|
50
|
|
|
|
378
|
Parse::RecDescent::_trace(q{Trying rule: [value]}, |
11571
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11572
|
|
|
|
|
|
|
q{value}, |
11573
|
|
|
|
|
|
|
$tracelevel) |
11574
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11575
|
|
|
|
|
|
|
|
11576
|
129
|
|
|
|
|
223
|
my $def_at = @{$thisparser->{deferred}}; |
|
129
|
|
|
|
|
315
|
|
11577
|
129
|
|
|
|
|
249
|
my $err_at = @{$thisparser->{errors}}; |
|
129
|
|
|
|
|
328
|
|
11578
|
|
|
|
|
|
|
|
11579
|
129
|
|
|
|
|
363
|
my $score; |
11580
|
|
|
|
|
|
|
my $score_return; |
11581
|
129
|
|
|
|
|
0
|
my $_tok; |
11582
|
129
|
|
|
|
|
231
|
my $return = undef; |
11583
|
129
|
|
|
|
|
200
|
my $_matched=0; |
11584
|
129
|
|
|
|
|
210
|
my $commit=0; |
11585
|
129
|
|
|
|
|
273
|
my @item = (); |
11586
|
129
|
|
|
|
|
228
|
my %item = (); |
11587
|
129
|
|
|
|
|
219
|
my $repeating = $_[2]; |
11588
|
129
|
|
|
|
|
214
|
my $_noactions = $_[3]; |
11589
|
129
|
50
|
|
|
|
326
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
129
|
|
|
|
|
235
|
|
|
129
|
|
|
|
|
252
|
|
11590
|
129
|
|
|
|
|
278
|
my $_itempos = $_[5]; |
11591
|
129
|
50
|
|
|
|
376
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
11592
|
129
|
|
|
|
|
396
|
my $text; |
11593
|
|
|
|
|
|
|
my $lastsep; |
11594
|
129
|
|
|
|
|
0
|
my $current_match; |
11595
|
129
|
|
|
|
|
395
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or NUMBER, or STRING, or KVPAIRS}); |
11596
|
129
|
|
|
|
|
921
|
$expectation->at($_[1]); |
11597
|
|
|
|
|
|
|
|
11598
|
129
|
|
|
|
|
499
|
my $thisline; |
11599
|
129
|
|
|
|
|
510
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
11600
|
|
|
|
|
|
|
|
11601
|
|
|
|
|
|
|
|
11602
|
|
|
|
|
|
|
|
11603
|
129
|
|
33
|
|
|
1138
|
while (!$_matched && !$commit) |
11604
|
|
|
|
|
|
|
{ |
11605
|
|
|
|
|
|
|
|
11606
|
129
|
50
|
|
|
|
342
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
11607
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11608
|
|
|
|
|
|
|
q{value}, |
11609
|
|
|
|
|
|
|
$tracelevel) |
11610
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11611
|
129
|
|
|
|
|
401
|
my $thisprod = $thisrule->{"prods"}[0]; |
11612
|
129
|
|
|
|
|
244
|
$text = $_[1]; |
11613
|
129
|
|
|
|
|
201
|
my $_savetext; |
11614
|
129
|
|
|
|
|
266
|
@item = (q{value}); |
11615
|
129
|
|
|
|
|
281
|
%item = (__RULE__ => q{value}); |
11616
|
129
|
|
|
|
|
246
|
my $repcount = 0; |
11617
|
|
|
|
|
|
|
|
11618
|
|
|
|
|
|
|
|
11619
|
129
|
50
|
|
|
|
314
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
11620
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11621
|
|
|
|
|
|
|
q{value}, |
11622
|
|
|
|
|
|
|
$tracelevel) |
11623
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11624
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
330
|
|
|
129
|
|
|
|
|
243
|
|
11625
|
129
|
|
|
|
|
306
|
$expectation->is(q{})->at($text); |
11626
|
129
|
100
|
|
129
|
|
1243
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
129
|
|
|
|
|
270
|
|
11627
|
|
|
|
|
|
|
{ |
11628
|
|
|
|
|
|
|
|
11629
|
117
|
50
|
|
|
|
286
|
Parse::RecDescent::_trace(q{<>}, |
11630
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11631
|
|
|
|
|
|
|
q{value}, |
11632
|
|
|
|
|
|
|
$tracelevel) |
11633
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11634
|
117
|
|
|
|
|
363
|
$expectation->failed(); |
11635
|
117
|
|
|
|
|
445
|
last; |
11636
|
|
|
|
|
|
|
} |
11637
|
12
|
50
|
|
|
|
63
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
11638
|
|
|
|
|
|
|
. $_tok . q{]}, |
11639
|
|
|
|
|
|
|
|
11640
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11641
|
|
|
|
|
|
|
q{value}, |
11642
|
|
|
|
|
|
|
$tracelevel) |
11643
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11644
|
12
|
|
|
|
|
37
|
$item{q{NIL}} = $_tok; |
11645
|
12
|
|
|
|
|
31
|
push @item, $_tok; |
11646
|
|
|
|
|
|
|
|
11647
|
|
|
|
|
|
|
} |
11648
|
|
|
|
|
|
|
|
11649
|
12
|
50
|
|
|
|
41
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
11650
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11651
|
|
|
|
|
|
|
q{value}, |
11652
|
|
|
|
|
|
|
$tracelevel) |
11653
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11654
|
|
|
|
|
|
|
|
11655
|
|
|
|
|
|
|
|
11656
|
|
|
|
|
|
|
|
11657
|
12
|
|
|
|
|
27
|
$_matched = 1; |
11658
|
12
|
|
|
|
|
27
|
last; |
11659
|
|
|
|
|
|
|
} |
11660
|
|
|
|
|
|
|
|
11661
|
|
|
|
|
|
|
splice |
11662
|
129
|
100
|
|
|
|
548
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
117
|
|
|
|
|
294
|
|
11663
|
|
|
|
|
|
|
|
11664
|
129
|
|
66
|
|
|
579
|
while (!$_matched && !$commit) |
11665
|
|
|
|
|
|
|
{ |
11666
|
|
|
|
|
|
|
|
11667
|
117
|
50
|
|
|
|
327
|
Parse::RecDescent::_trace(q{Trying production: [NUMBER]}, |
11668
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11669
|
|
|
|
|
|
|
q{value}, |
11670
|
|
|
|
|
|
|
$tracelevel) |
11671
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11672
|
117
|
|
|
|
|
325
|
my $thisprod = $thisrule->{"prods"}[1]; |
11673
|
117
|
|
|
|
|
247
|
$text = $_[1]; |
11674
|
117
|
|
|
|
|
185
|
my $_savetext; |
11675
|
117
|
|
|
|
|
326
|
@item = (q{value}); |
11676
|
117
|
|
|
|
|
382
|
%item = (__RULE__ => q{value}); |
11677
|
117
|
|
|
|
|
240
|
my $repcount = 0; |
11678
|
|
|
|
|
|
|
|
11679
|
|
|
|
|
|
|
|
11680
|
117
|
50
|
|
|
|
298
|
Parse::RecDescent::_trace(q{Trying subrule: [NUMBER]}, |
11681
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11682
|
|
|
|
|
|
|
q{value}, |
11683
|
|
|
|
|
|
|
$tracelevel) |
11684
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11685
|
1
|
|
|
1
|
|
9
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
296
|
|
|
117
|
|
|
|
|
253
|
|
11686
|
117
|
|
|
|
|
358
|
$expectation->is(q{})->at($text); |
11687
|
117
|
50
|
|
117
|
|
1336
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NUMBER($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
117
|
|
|
|
|
290
|
|
11688
|
|
|
|
|
|
|
{ |
11689
|
|
|
|
|
|
|
|
11690
|
117
|
50
|
|
|
|
290
|
Parse::RecDescent::_trace(q{<>}, |
11691
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11692
|
|
|
|
|
|
|
q{value}, |
11693
|
|
|
|
|
|
|
$tracelevel) |
11694
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11695
|
117
|
|
|
|
|
408
|
$expectation->failed(); |
11696
|
117
|
|
|
|
|
424
|
last; |
11697
|
|
|
|
|
|
|
} |
11698
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NUMBER]<< (return value: [} |
11699
|
|
|
|
|
|
|
. $_tok . q{]}, |
11700
|
|
|
|
|
|
|
|
11701
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11702
|
|
|
|
|
|
|
q{value}, |
11703
|
|
|
|
|
|
|
$tracelevel) |
11704
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11705
|
0
|
|
|
|
|
0
|
$item{q{NUMBER}} = $_tok; |
11706
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
11707
|
|
|
|
|
|
|
|
11708
|
|
|
|
|
|
|
} |
11709
|
|
|
|
|
|
|
|
11710
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NUMBER]<<}, |
11711
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11712
|
|
|
|
|
|
|
q{value}, |
11713
|
|
|
|
|
|
|
$tracelevel) |
11714
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11715
|
|
|
|
|
|
|
|
11716
|
|
|
|
|
|
|
|
11717
|
|
|
|
|
|
|
|
11718
|
0
|
|
|
|
|
0
|
$_matched = 1; |
11719
|
0
|
|
|
|
|
0
|
last; |
11720
|
|
|
|
|
|
|
} |
11721
|
|
|
|
|
|
|
|
11722
|
|
|
|
|
|
|
splice |
11723
|
129
|
100
|
|
|
|
467
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
117
|
|
|
|
|
302
|
|
11724
|
|
|
|
|
|
|
|
11725
|
129
|
|
66
|
|
|
564
|
while (!$_matched && !$commit) |
11726
|
|
|
|
|
|
|
{ |
11727
|
|
|
|
|
|
|
|
11728
|
117
|
50
|
|
|
|
311
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
11729
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11730
|
|
|
|
|
|
|
q{value}, |
11731
|
|
|
|
|
|
|
$tracelevel) |
11732
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11733
|
117
|
|
|
|
|
263
|
my $thisprod = $thisrule->{"prods"}[2]; |
11734
|
117
|
|
|
|
|
217
|
$text = $_[1]; |
11735
|
117
|
|
|
|
|
191
|
my $_savetext; |
11736
|
117
|
|
|
|
|
280
|
@item = (q{value}); |
11737
|
117
|
|
|
|
|
322
|
%item = (__RULE__ => q{value}); |
11738
|
117
|
|
|
|
|
579
|
my $repcount = 0; |
11739
|
|
|
|
|
|
|
|
11740
|
|
|
|
|
|
|
|
11741
|
117
|
50
|
|
|
|
361
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
11742
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11743
|
|
|
|
|
|
|
q{value}, |
11744
|
|
|
|
|
|
|
$tracelevel) |
11745
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11746
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
299
|
|
|
117
|
|
|
|
|
242
|
|
11747
|
117
|
|
|
|
|
347
|
$expectation->is(q{})->at($text); |
11748
|
117
|
100
|
|
117
|
|
1297
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
117
|
|
|
|
|
281
|
|
11749
|
|
|
|
|
|
|
{ |
11750
|
|
|
|
|
|
|
|
11751
|
16
|
50
|
|
|
|
67
|
Parse::RecDescent::_trace(q{<>}, |
11752
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11753
|
|
|
|
|
|
|
q{value}, |
11754
|
|
|
|
|
|
|
$tracelevel) |
11755
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11756
|
16
|
|
|
|
|
76
|
$expectation->failed(); |
11757
|
16
|
|
|
|
|
60
|
last; |
11758
|
|
|
|
|
|
|
} |
11759
|
101
|
50
|
|
|
|
370
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
11760
|
|
|
|
|
|
|
. $_tok . q{]}, |
11761
|
|
|
|
|
|
|
|
11762
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11763
|
|
|
|
|
|
|
q{value}, |
11764
|
|
|
|
|
|
|
$tracelevel) |
11765
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11766
|
101
|
|
|
|
|
296
|
$item{q{STRING}} = $_tok; |
11767
|
101
|
|
|
|
|
254
|
push @item, $_tok; |
11768
|
|
|
|
|
|
|
|
11769
|
|
|
|
|
|
|
} |
11770
|
|
|
|
|
|
|
|
11771
|
101
|
50
|
|
|
|
272
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
11772
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11773
|
|
|
|
|
|
|
q{value}, |
11774
|
|
|
|
|
|
|
$tracelevel) |
11775
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11776
|
|
|
|
|
|
|
|
11777
|
|
|
|
|
|
|
|
11778
|
|
|
|
|
|
|
|
11779
|
101
|
|
|
|
|
197
|
$_matched = 1; |
11780
|
101
|
|
|
|
|
213
|
last; |
11781
|
|
|
|
|
|
|
} |
11782
|
|
|
|
|
|
|
|
11783
|
|
|
|
|
|
|
splice |
11784
|
129
|
100
|
|
|
|
359
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
16
|
|
|
|
|
49
|
|
11785
|
|
|
|
|
|
|
|
11786
|
129
|
|
66
|
|
|
398
|
while (!$_matched && !$commit) |
11787
|
|
|
|
|
|
|
{ |
11788
|
|
|
|
|
|
|
|
11789
|
16
|
50
|
|
|
|
54
|
Parse::RecDescent::_trace(q{Trying production: [KVPAIRS]}, |
11790
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11791
|
|
|
|
|
|
|
q{value}, |
11792
|
|
|
|
|
|
|
$tracelevel) |
11793
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11794
|
16
|
|
|
|
|
53
|
my $thisprod = $thisrule->{"prods"}[3]; |
11795
|
16
|
|
|
|
|
44
|
$text = $_[1]; |
11796
|
16
|
|
|
|
|
47
|
my $_savetext; |
11797
|
16
|
|
|
|
|
51
|
@item = (q{value}); |
11798
|
16
|
|
|
|
|
48
|
%item = (__RULE__ => q{value}); |
11799
|
16
|
|
|
|
|
38
|
my $repcount = 0; |
11800
|
|
|
|
|
|
|
|
11801
|
|
|
|
|
|
|
|
11802
|
16
|
50
|
|
|
|
69
|
Parse::RecDescent::_trace(q{Trying subrule: [KVPAIRS]}, |
11803
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11804
|
|
|
|
|
|
|
q{value}, |
11805
|
|
|
|
|
|
|
$tracelevel) |
11806
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11807
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
551
|
|
|
16
|
|
|
|
|
34
|
|
11808
|
16
|
|
|
|
|
56
|
$expectation->is(q{})->at($text); |
11809
|
16
|
50
|
|
16
|
|
208
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::KVPAIRS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
16
|
|
|
|
|
43
|
|
11810
|
|
|
|
|
|
|
{ |
11811
|
|
|
|
|
|
|
|
11812
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11813
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11814
|
|
|
|
|
|
|
q{value}, |
11815
|
|
|
|
|
|
|
$tracelevel) |
11816
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11817
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
11818
|
0
|
|
|
|
|
0
|
last; |
11819
|
|
|
|
|
|
|
} |
11820
|
16
|
50
|
|
|
|
81
|
Parse::RecDescent::_trace(q{>>Matched subrule: [KVPAIRS]<< (return value: [} |
11821
|
|
|
|
|
|
|
. $_tok . q{]}, |
11822
|
|
|
|
|
|
|
|
11823
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11824
|
|
|
|
|
|
|
q{value}, |
11825
|
|
|
|
|
|
|
$tracelevel) |
11826
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11827
|
16
|
|
|
|
|
48
|
$item{q{KVPAIRS}} = $_tok; |
11828
|
16
|
|
|
|
|
43
|
push @item, $_tok; |
11829
|
|
|
|
|
|
|
|
11830
|
|
|
|
|
|
|
} |
11831
|
|
|
|
|
|
|
|
11832
|
16
|
50
|
|
|
|
50
|
Parse::RecDescent::_trace(q{>>Matched production: [KVPAIRS]<<}, |
11833
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11834
|
|
|
|
|
|
|
q{value}, |
11835
|
|
|
|
|
|
|
$tracelevel) |
11836
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11837
|
|
|
|
|
|
|
|
11838
|
|
|
|
|
|
|
|
11839
|
|
|
|
|
|
|
|
11840
|
16
|
|
|
|
|
31
|
$_matched = 1; |
11841
|
16
|
|
|
|
|
31
|
last; |
11842
|
|
|
|
|
|
|
} |
11843
|
|
|
|
|
|
|
|
11844
|
|
|
|
|
|
|
splice |
11845
|
129
|
50
|
|
|
|
317
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
11846
|
|
|
|
|
|
|
|
11847
|
129
|
50
|
33
|
|
|
426
|
unless ( $_matched || defined($score) ) |
11848
|
|
|
|
|
|
|
{ |
11849
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
11850
|
|
|
|
|
|
|
|
11851
|
|
|
|
|
|
|
|
11852
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
11853
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
11854
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11855
|
|
|
|
|
|
|
q{value}, |
11856
|
|
|
|
|
|
|
$tracelevel) |
11857
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11858
|
0
|
|
|
|
|
0
|
return undef; |
11859
|
|
|
|
|
|
|
} |
11860
|
129
|
50
|
33
|
|
|
649
|
if (!defined($return) && defined($score)) |
11861
|
|
|
|
|
|
|
{ |
11862
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
11863
|
|
|
|
|
|
|
q{value}, |
11864
|
|
|
|
|
|
|
$tracelevel) |
11865
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11866
|
0
|
|
|
|
|
0
|
$return = $score_return; |
11867
|
|
|
|
|
|
|
} |
11868
|
129
|
|
|
|
|
254
|
splice @{$thisparser->{errors}}, $err_at; |
|
129
|
|
|
|
|
327
|
|
11869
|
129
|
50
|
|
|
|
369
|
$return = $item[$#item] unless defined $return; |
11870
|
129
|
50
|
|
|
|
366
|
if (defined $::RD_TRACE) |
11871
|
|
|
|
|
|
|
{ |
11872
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
11873
|
|
|
|
|
|
|
$return . q{])}, "", |
11874
|
|
|
|
|
|
|
q{value}, |
11875
|
|
|
|
|
|
|
$tracelevel); |
11876
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
11877
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
11878
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11879
|
|
|
|
|
|
|
, q{value}, |
11880
|
|
|
|
|
|
|
$tracelevel) |
11881
|
|
|
|
|
|
|
} |
11882
|
129
|
|
|
|
|
300
|
$_[1] = $text; |
11883
|
129
|
|
|
|
|
741
|
return $return; |
11884
|
|
|
|
|
|
|
} |
11885
|
|
|
|
|
|
|
|
11886
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
11887
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::personalname |
11888
|
|
|
|
|
|
|
{ |
11889
|
94
|
|
|
94
|
|
191
|
my $thisparser = $_[0]; |
11890
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
352
|
|
11891
|
94
|
|
50
|
|
|
244
|
local $tracelevel = ($tracelevel||0)+1; |
11892
|
94
|
|
|
|
|
172
|
$ERRORS = 0; |
11893
|
94
|
|
|
|
|
231
|
my $thisrule = $thisparser->{"rules"}{"personalname"}; |
11894
|
|
|
|
|
|
|
|
11895
|
94
|
50
|
|
|
|
238
|
Parse::RecDescent::_trace(q{Trying rule: [personalname]}, |
11896
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11897
|
|
|
|
|
|
|
q{personalname}, |
11898
|
|
|
|
|
|
|
$tracelevel) |
11899
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11900
|
|
|
|
|
|
|
|
11901
|
94
|
|
|
|
|
178
|
my $def_at = @{$thisparser->{deferred}}; |
|
94
|
|
|
|
|
216
|
|
11902
|
94
|
|
|
|
|
157
|
my $err_at = @{$thisparser->{errors}}; |
|
94
|
|
|
|
|
183
|
|
11903
|
|
|
|
|
|
|
|
11904
|
94
|
|
|
|
|
305
|
my $score; |
11905
|
|
|
|
|
|
|
my $score_return; |
11906
|
94
|
|
|
|
|
0
|
my $_tok; |
11907
|
94
|
|
|
|
|
145
|
my $return = undef; |
11908
|
94
|
|
|
|
|
168
|
my $_matched=0; |
11909
|
94
|
|
|
|
|
168
|
my $commit=0; |
11910
|
94
|
|
|
|
|
187
|
my @item = (); |
11911
|
94
|
|
|
|
|
187
|
my %item = (); |
11912
|
94
|
|
|
|
|
196
|
my $repeating = $_[2]; |
11913
|
94
|
|
|
|
|
141
|
my $_noactions = $_[3]; |
11914
|
94
|
50
|
|
|
|
253
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
94
|
|
|
|
|
182
|
|
|
94
|
|
|
|
|
191
|
|
11915
|
94
|
|
|
|
|
163
|
my $_itempos = $_[5]; |
11916
|
94
|
50
|
|
|
|
243
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
11917
|
94
|
|
|
|
|
261
|
my $text; |
11918
|
|
|
|
|
|
|
my $lastsep; |
11919
|
94
|
|
|
|
|
0
|
my $current_match; |
11920
|
94
|
|
|
|
|
273
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
11921
|
94
|
|
|
|
|
640
|
$expectation->at($_[1]); |
11922
|
|
|
|
|
|
|
|
11923
|
94
|
|
|
|
|
525
|
my $thisline; |
11924
|
94
|
|
|
|
|
300
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
11925
|
|
|
|
|
|
|
|
11926
|
|
|
|
|
|
|
|
11927
|
|
|
|
|
|
|
|
11928
|
94
|
|
33
|
|
|
790
|
while (!$_matched && !$commit) |
11929
|
|
|
|
|
|
|
{ |
11930
|
|
|
|
|
|
|
|
11931
|
94
|
50
|
|
|
|
303
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
11932
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11933
|
|
|
|
|
|
|
q{personalname}, |
11934
|
|
|
|
|
|
|
$tracelevel) |
11935
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11936
|
94
|
|
|
|
|
264
|
my $thisprod = $thisrule->{"prods"}[0]; |
11937
|
94
|
|
|
|
|
350
|
$text = $_[1]; |
11938
|
94
|
|
|
|
|
161
|
my $_savetext; |
11939
|
94
|
|
|
|
|
198
|
@item = (q{personalname}); |
11940
|
94
|
|
|
|
|
228
|
%item = (__RULE__ => q{personalname}); |
11941
|
94
|
|
|
|
|
150
|
my $repcount = 0; |
11942
|
|
|
|
|
|
|
|
11943
|
|
|
|
|
|
|
|
11944
|
94
|
50
|
|
|
|
257
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
11945
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11946
|
|
|
|
|
|
|
q{personalname}, |
11947
|
|
|
|
|
|
|
$tracelevel) |
11948
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11949
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
298
|
|
|
94
|
|
|
|
|
133
|
|
11950
|
94
|
|
|
|
|
249
|
$expectation->is(q{})->at($text); |
11951
|
94
|
100
|
|
94
|
|
937
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
94
|
|
|
|
|
194
|
|
11952
|
|
|
|
|
|
|
{ |
11953
|
|
|
|
|
|
|
|
11954
|
70
|
50
|
|
|
|
195
|
Parse::RecDescent::_trace(q{<>}, |
11955
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11956
|
|
|
|
|
|
|
q{personalname}, |
11957
|
|
|
|
|
|
|
$tracelevel) |
11958
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11959
|
70
|
|
|
|
|
209
|
$expectation->failed(); |
11960
|
70
|
|
|
|
|
257
|
last; |
11961
|
|
|
|
|
|
|
} |
11962
|
24
|
50
|
|
|
|
137
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
11963
|
|
|
|
|
|
|
. $_tok . q{]}, |
11964
|
|
|
|
|
|
|
|
11965
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11966
|
|
|
|
|
|
|
q{personalname}, |
11967
|
|
|
|
|
|
|
$tracelevel) |
11968
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11969
|
24
|
|
|
|
|
69
|
$item{q{NIL}} = $_tok; |
11970
|
24
|
|
|
|
|
70
|
push @item, $_tok; |
11971
|
|
|
|
|
|
|
|
11972
|
|
|
|
|
|
|
} |
11973
|
|
|
|
|
|
|
|
11974
|
24
|
50
|
|
|
|
80
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
11975
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
11976
|
|
|
|
|
|
|
q{personalname}, |
11977
|
|
|
|
|
|
|
$tracelevel) |
11978
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11979
|
|
|
|
|
|
|
|
11980
|
|
|
|
|
|
|
|
11981
|
|
|
|
|
|
|
|
11982
|
24
|
|
|
|
|
46
|
$_matched = 1; |
11983
|
24
|
|
|
|
|
42
|
last; |
11984
|
|
|
|
|
|
|
} |
11985
|
|
|
|
|
|
|
|
11986
|
|
|
|
|
|
|
splice |
11987
|
94
|
100
|
|
|
|
353
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
70
|
|
|
|
|
175
|
|
11988
|
|
|
|
|
|
|
|
11989
|
94
|
|
66
|
|
|
367
|
while (!$_matched && !$commit) |
11990
|
|
|
|
|
|
|
{ |
11991
|
|
|
|
|
|
|
|
11992
|
70
|
50
|
|
|
|
157
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
11993
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
11994
|
|
|
|
|
|
|
q{personalname}, |
11995
|
|
|
|
|
|
|
$tracelevel) |
11996
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
11997
|
70
|
|
|
|
|
147
|
my $thisprod = $thisrule->{"prods"}[1]; |
11998
|
70
|
|
|
|
|
182
|
$text = $_[1]; |
11999
|
70
|
|
|
|
|
115
|
my $_savetext; |
12000
|
70
|
|
|
|
|
163
|
@item = (q{personalname}); |
12001
|
70
|
|
|
|
|
177
|
%item = (__RULE__ => q{personalname}); |
12002
|
70
|
|
|
|
|
122
|
my $repcount = 0; |
12003
|
|
|
|
|
|
|
|
12004
|
|
|
|
|
|
|
|
12005
|
70
|
50
|
|
|
|
165
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
12006
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12007
|
|
|
|
|
|
|
q{personalname}, |
12008
|
|
|
|
|
|
|
$tracelevel) |
12009
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12010
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
432
|
|
|
70
|
|
|
|
|
107
|
|
12011
|
70
|
|
|
|
|
164
|
$expectation->is(q{})->at($text); |
12012
|
70
|
50
|
|
70
|
|
727
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
70
|
|
|
|
|
176
|
|
12013
|
|
|
|
|
|
|
{ |
12014
|
|
|
|
|
|
|
|
12015
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12016
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12017
|
|
|
|
|
|
|
q{personalname}, |
12018
|
|
|
|
|
|
|
$tracelevel) |
12019
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12020
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
12021
|
0
|
|
|
|
|
0
|
last; |
12022
|
|
|
|
|
|
|
} |
12023
|
70
|
50
|
|
|
|
250
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
12024
|
|
|
|
|
|
|
. $_tok . q{]}, |
12025
|
|
|
|
|
|
|
|
12026
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12027
|
|
|
|
|
|
|
q{personalname}, |
12028
|
|
|
|
|
|
|
$tracelevel) |
12029
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12030
|
70
|
|
|
|
|
169
|
$item{q{STRING}} = $_tok; |
12031
|
70
|
|
|
|
|
146
|
push @item, $_tok; |
12032
|
|
|
|
|
|
|
|
12033
|
|
|
|
|
|
|
} |
12034
|
|
|
|
|
|
|
|
12035
|
70
|
50
|
|
|
|
203
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
12036
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12037
|
|
|
|
|
|
|
q{personalname}, |
12038
|
|
|
|
|
|
|
$tracelevel) |
12039
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12040
|
|
|
|
|
|
|
|
12041
|
|
|
|
|
|
|
|
12042
|
|
|
|
|
|
|
|
12043
|
70
|
|
|
|
|
130
|
$_matched = 1; |
12044
|
70
|
|
|
|
|
131
|
last; |
12045
|
|
|
|
|
|
|
} |
12046
|
|
|
|
|
|
|
|
12047
|
|
|
|
|
|
|
splice |
12048
|
94
|
50
|
|
|
|
225
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
12049
|
|
|
|
|
|
|
|
12050
|
94
|
50
|
33
|
|
|
236
|
unless ( $_matched || defined($score) ) |
12051
|
|
|
|
|
|
|
{ |
12052
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
12053
|
|
|
|
|
|
|
|
12054
|
|
|
|
|
|
|
|
12055
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
12056
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12057
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12058
|
|
|
|
|
|
|
q{personalname}, |
12059
|
|
|
|
|
|
|
$tracelevel) |
12060
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12061
|
0
|
|
|
|
|
0
|
return undef; |
12062
|
|
|
|
|
|
|
} |
12063
|
94
|
50
|
33
|
|
|
380
|
if (!defined($return) && defined($score)) |
12064
|
|
|
|
|
|
|
{ |
12065
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
12066
|
|
|
|
|
|
|
q{personalname}, |
12067
|
|
|
|
|
|
|
$tracelevel) |
12068
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12069
|
0
|
|
|
|
|
0
|
$return = $score_return; |
12070
|
|
|
|
|
|
|
} |
12071
|
94
|
|
|
|
|
164
|
splice @{$thisparser->{errors}}, $err_at; |
|
94
|
|
|
|
|
268
|
|
12072
|
94
|
50
|
|
|
|
261
|
$return = $item[$#item] unless defined $return; |
12073
|
94
|
50
|
|
|
|
228
|
if (defined $::RD_TRACE) |
12074
|
|
|
|
|
|
|
{ |
12075
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
12076
|
|
|
|
|
|
|
$return . q{])}, "", |
12077
|
|
|
|
|
|
|
q{personalname}, |
12078
|
|
|
|
|
|
|
$tracelevel); |
12079
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
12080
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
12081
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12082
|
|
|
|
|
|
|
, q{personalname}, |
12083
|
|
|
|
|
|
|
$tracelevel) |
12084
|
|
|
|
|
|
|
} |
12085
|
94
|
|
|
|
|
220
|
$_[1] = $text; |
12086
|
94
|
|
|
|
|
498
|
return $return; |
12087
|
|
|
|
|
|
|
} |
12088
|
|
|
|
|
|
|
|
12089
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
12090
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::cc |
12091
|
|
|
|
|
|
|
{ |
12092
|
24
|
|
|
24
|
|
54
|
my $thisparser = $_[0]; |
12093
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
340
|
|
12094
|
24
|
|
50
|
|
|
83
|
local $tracelevel = ($tracelevel||0)+1; |
12095
|
24
|
|
|
|
|
50
|
$ERRORS = 0; |
12096
|
24
|
|
|
|
|
79
|
my $thisrule = $thisparser->{"rules"}{"cc"}; |
12097
|
|
|
|
|
|
|
|
12098
|
24
|
50
|
|
|
|
109
|
Parse::RecDescent::_trace(q{Trying rule: [cc]}, |
12099
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12100
|
|
|
|
|
|
|
q{cc}, |
12101
|
|
|
|
|
|
|
$tracelevel) |
12102
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12103
|
|
|
|
|
|
|
|
12104
|
24
|
|
|
|
|
60
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
71
|
|
12105
|
24
|
|
|
|
|
45
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
68
|
|
12106
|
|
|
|
|
|
|
|
12107
|
24
|
|
|
|
|
83
|
my $score; |
12108
|
|
|
|
|
|
|
my $score_return; |
12109
|
24
|
|
|
|
|
0
|
my $_tok; |
12110
|
24
|
|
|
|
|
46
|
my $return = undef; |
12111
|
24
|
|
|
|
|
45
|
my $_matched=0; |
12112
|
24
|
|
|
|
|
40
|
my $commit=0; |
12113
|
24
|
|
|
|
|
69
|
my @item = (); |
12114
|
24
|
|
|
|
|
52
|
my %item = (); |
12115
|
24
|
|
|
|
|
46
|
my $repeating = $_[2]; |
12116
|
24
|
|
|
|
|
46
|
my $_noactions = $_[3]; |
12117
|
24
|
50
|
|
|
|
77
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
34
|
|
|
24
|
|
|
|
|
64
|
|
12118
|
24
|
|
|
|
|
60
|
my $_itempos = $_[5]; |
12119
|
24
|
50
|
|
|
|
80
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
12120
|
24
|
|
|
|
|
102
|
my $text; |
12121
|
|
|
|
|
|
|
my $lastsep; |
12122
|
24
|
|
|
|
|
0
|
my $current_match; |
12123
|
24
|
|
|
|
|
99
|
my $expectation = new Parse::RecDescent::Expectation(q{ADDRESSES}); |
12124
|
24
|
|
|
|
|
186
|
$expectation->at($_[1]); |
12125
|
|
|
|
|
|
|
|
12126
|
24
|
|
|
|
|
107
|
my $thisline; |
12127
|
24
|
|
|
|
|
94
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
12128
|
|
|
|
|
|
|
|
12129
|
|
|
|
|
|
|
|
12130
|
|
|
|
|
|
|
|
12131
|
24
|
|
33
|
|
|
257
|
while (!$_matched && !$commit) |
12132
|
|
|
|
|
|
|
{ |
12133
|
|
|
|
|
|
|
|
12134
|
24
|
50
|
|
|
|
155
|
Parse::RecDescent::_trace(q{Trying production: [ADDRESSES]}, |
12135
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12136
|
|
|
|
|
|
|
q{cc}, |
12137
|
|
|
|
|
|
|
$tracelevel) |
12138
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12139
|
24
|
|
|
|
|
82
|
my $thisprod = $thisrule->{"prods"}[0]; |
12140
|
24
|
|
|
|
|
69
|
$text = $_[1]; |
12141
|
24
|
|
|
|
|
38
|
my $_savetext; |
12142
|
24
|
|
|
|
|
64
|
@item = (q{cc}); |
12143
|
24
|
|
|
|
|
68
|
%item = (__RULE__ => q{cc}); |
12144
|
24
|
|
|
|
|
54
|
my $repcount = 0; |
12145
|
|
|
|
|
|
|
|
12146
|
|
|
|
|
|
|
|
12147
|
24
|
50
|
|
|
|
71
|
Parse::RecDescent::_trace(q{Trying subrule: [ADDRESSES]}, |
12148
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12149
|
|
|
|
|
|
|
q{cc}, |
12150
|
|
|
|
|
|
|
$tracelevel) |
12151
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12152
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
91
|
|
|
1
|
|
|
|
|
418
|
|
|
24
|
|
|
|
|
39
|
|
12153
|
24
|
|
|
|
|
78
|
$expectation->is(q{})->at($text); |
12154
|
24
|
50
|
|
24
|
|
296
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::ADDRESSES($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
61
|
|
12155
|
|
|
|
|
|
|
{ |
12156
|
|
|
|
|
|
|
|
12157
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12158
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12159
|
|
|
|
|
|
|
q{cc}, |
12160
|
|
|
|
|
|
|
$tracelevel) |
12161
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12162
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
12163
|
0
|
|
|
|
|
0
|
last; |
12164
|
|
|
|
|
|
|
} |
12165
|
24
|
50
|
|
|
|
115
|
Parse::RecDescent::_trace(q{>>Matched subrule: [ADDRESSES]<< (return value: [} |
12166
|
|
|
|
|
|
|
. $_tok . q{]}, |
12167
|
|
|
|
|
|
|
|
12168
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12169
|
|
|
|
|
|
|
q{cc}, |
12170
|
|
|
|
|
|
|
$tracelevel) |
12171
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12172
|
24
|
|
|
|
|
70
|
$item{q{ADDRESSES}} = $_tok; |
12173
|
24
|
|
|
|
|
56
|
push @item, $_tok; |
12174
|
|
|
|
|
|
|
|
12175
|
|
|
|
|
|
|
} |
12176
|
|
|
|
|
|
|
|
12177
|
24
|
50
|
|
|
|
81
|
Parse::RecDescent::_trace(q{>>Matched production: [ADDRESSES]<<}, |
12178
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12179
|
|
|
|
|
|
|
q{cc}, |
12180
|
|
|
|
|
|
|
$tracelevel) |
12181
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12182
|
|
|
|
|
|
|
|
12183
|
|
|
|
|
|
|
|
12184
|
|
|
|
|
|
|
|
12185
|
24
|
|
|
|
|
54
|
$_matched = 1; |
12186
|
24
|
|
|
|
|
50
|
last; |
12187
|
|
|
|
|
|
|
} |
12188
|
|
|
|
|
|
|
|
12189
|
|
|
|
|
|
|
splice |
12190
|
24
|
50
|
|
|
|
80
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
12191
|
|
|
|
|
|
|
|
12192
|
24
|
50
|
33
|
|
|
116
|
unless ( $_matched || defined($score) ) |
12193
|
|
|
|
|
|
|
{ |
12194
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
12195
|
|
|
|
|
|
|
|
12196
|
|
|
|
|
|
|
|
12197
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
12198
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12199
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12200
|
|
|
|
|
|
|
q{cc}, |
12201
|
|
|
|
|
|
|
$tracelevel) |
12202
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12203
|
0
|
|
|
|
|
0
|
return undef; |
12204
|
|
|
|
|
|
|
} |
12205
|
24
|
50
|
33
|
|
|
135
|
if (!defined($return) && defined($score)) |
12206
|
|
|
|
|
|
|
{ |
12207
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
12208
|
|
|
|
|
|
|
q{cc}, |
12209
|
|
|
|
|
|
|
$tracelevel) |
12210
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12211
|
0
|
|
|
|
|
0
|
$return = $score_return; |
12212
|
|
|
|
|
|
|
} |
12213
|
24
|
|
|
|
|
44
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
55
|
|
12214
|
24
|
50
|
|
|
|
104
|
$return = $item[$#item] unless defined $return; |
12215
|
24
|
50
|
|
|
|
77
|
if (defined $::RD_TRACE) |
12216
|
|
|
|
|
|
|
{ |
12217
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
12218
|
|
|
|
|
|
|
$return . q{])}, "", |
12219
|
|
|
|
|
|
|
q{cc}, |
12220
|
|
|
|
|
|
|
$tracelevel); |
12221
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
12222
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
12223
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12224
|
|
|
|
|
|
|
, q{cc}, |
12225
|
|
|
|
|
|
|
$tracelevel) |
12226
|
|
|
|
|
|
|
} |
12227
|
24
|
|
|
|
|
72
|
$_[1] = $text; |
12228
|
24
|
|
|
|
|
163
|
return $return; |
12229
|
|
|
|
|
|
|
} |
12230
|
|
|
|
|
|
|
|
12231
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
12232
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NUMBER |
12233
|
|
|
|
|
|
|
{ |
12234
|
249
|
|
|
249
|
|
460
|
my $thisparser = $_[0]; |
12235
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
920
|
|
12236
|
249
|
|
50
|
|
|
686
|
local $tracelevel = ($tracelevel||0)+1; |
12237
|
249
|
|
|
|
|
421
|
$ERRORS = 0; |
12238
|
249
|
|
|
|
|
575
|
my $thisrule = $thisparser->{"rules"}{"NUMBER"}; |
12239
|
|
|
|
|
|
|
|
12240
|
249
|
50
|
|
|
|
576
|
Parse::RecDescent::_trace(q{Trying rule: [NUMBER]}, |
12241
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12242
|
|
|
|
|
|
|
q{NUMBER}, |
12243
|
|
|
|
|
|
|
$tracelevel) |
12244
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12245
|
|
|
|
|
|
|
|
12246
|
249
|
|
|
|
|
363
|
my $def_at = @{$thisparser->{deferred}}; |
|
249
|
|
|
|
|
504
|
|
12247
|
249
|
|
|
|
|
392
|
my $err_at = @{$thisparser->{errors}}; |
|
249
|
|
|
|
|
478
|
|
12248
|
|
|
|
|
|
|
|
12249
|
249
|
|
|
|
|
687
|
my $score; |
12250
|
|
|
|
|
|
|
my $score_return; |
12251
|
249
|
|
|
|
|
0
|
my $_tok; |
12252
|
249
|
|
|
|
|
415
|
my $return = undef; |
12253
|
249
|
|
|
|
|
484
|
my $_matched=0; |
12254
|
249
|
|
|
|
|
482
|
my $commit=0; |
12255
|
249
|
|
|
|
|
456
|
my @item = (); |
12256
|
249
|
|
|
|
|
456
|
my %item = (); |
12257
|
249
|
|
|
|
|
378
|
my $repeating = $_[2]; |
12258
|
249
|
|
|
|
|
386
|
my $_noactions = $_[3]; |
12259
|
249
|
50
|
|
|
|
585
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
249
|
|
|
|
|
370
|
|
|
249
|
|
|
|
|
528
|
|
12260
|
249
|
|
|
|
|
438
|
my $_itempos = $_[5]; |
12261
|
249
|
50
|
|
|
|
623
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
12262
|
249
|
|
|
|
|
653
|
my $text; |
12263
|
|
|
|
|
|
|
my $lastsep; |
12264
|
249
|
|
|
|
|
0
|
my $current_match; |
12265
|
249
|
|
|
|
|
803
|
my $expectation = new Parse::RecDescent::Expectation(q{/^(\\d+)/}); |
12266
|
249
|
|
|
|
|
1787
|
$expectation->at($_[1]); |
12267
|
|
|
|
|
|
|
|
12268
|
249
|
|
|
|
|
1035
|
my $thisline; |
12269
|
249
|
|
|
|
|
806
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
12270
|
|
|
|
|
|
|
|
12271
|
|
|
|
|
|
|
|
12272
|
|
|
|
|
|
|
|
12273
|
249
|
|
33
|
|
|
2038
|
while (!$_matched && !$commit) |
12274
|
|
|
|
|
|
|
{ |
12275
|
|
|
|
|
|
|
|
12276
|
249
|
50
|
|
|
|
618
|
Parse::RecDescent::_trace(q{Trying production: [/^(\\d+)/]}, |
12277
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12278
|
|
|
|
|
|
|
q{NUMBER}, |
12279
|
|
|
|
|
|
|
$tracelevel) |
12280
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12281
|
249
|
|
|
|
|
558
|
my $thisprod = $thisrule->{"prods"}[0]; |
12282
|
249
|
|
|
|
|
469
|
$text = $_[1]; |
12283
|
249
|
|
|
|
|
408
|
my $_savetext; |
12284
|
249
|
|
|
|
|
488
|
@item = (q{NUMBER}); |
12285
|
249
|
|
|
|
|
498
|
%item = (__RULE__ => q{NUMBER}); |
12286
|
249
|
|
|
|
|
417
|
my $repcount = 0; |
12287
|
|
|
|
|
|
|
|
12288
|
|
|
|
|
|
|
|
12289
|
249
|
50
|
|
|
|
487
|
Parse::RecDescent::_trace(q{Trying terminal: [/^(\\d+)/]}, Parse::RecDescent::_tracefirst($text), |
12290
|
|
|
|
|
|
|
q{NUMBER}, |
12291
|
|
|
|
|
|
|
$tracelevel) |
12292
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12293
|
249
|
|
|
|
|
540
|
undef $lastsep; |
12294
|
249
|
|
|
|
|
614
|
$expectation->is(q{})->at($text); |
12295
|
|
|
|
|
|
|
|
12296
|
|
|
|
|
|
|
|
12297
|
249
|
100
|
66
|
|
|
2787
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^(\d+))/) |
|
249
|
100
|
|
|
|
2568
|
|
12298
|
|
|
|
|
|
|
{ |
12299
|
119
|
50
|
|
|
|
607
|
$text = $lastsep . $text if defined $lastsep; |
12300
|
119
|
|
|
|
|
455
|
$expectation->failed(); |
12301
|
119
|
50
|
|
|
|
543
|
Parse::RecDescent::_trace(q{<>}, |
12302
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12303
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12304
|
|
|
|
|
|
|
|
12305
|
119
|
|
|
|
|
302
|
last; |
12306
|
|
|
|
|
|
|
} |
12307
|
130
|
|
|
|
|
754
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
12308
|
130
|
|
|
|
|
569
|
substr($text,0,length($current_match),q{}); |
12309
|
130
|
50
|
|
|
|
349
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
12310
|
|
|
|
|
|
|
. $current_match . q{])}, |
12311
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12312
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12313
|
130
|
|
|
|
|
385
|
push @item, $item{__PATTERN1__}=$current_match; |
12314
|
|
|
|
|
|
|
|
12315
|
|
|
|
|
|
|
|
12316
|
130
|
50
|
|
|
|
335
|
Parse::RecDescent::_trace(q{Trying action}, |
12317
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12318
|
|
|
|
|
|
|
q{NUMBER}, |
12319
|
|
|
|
|
|
|
$tracelevel) |
12320
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12321
|
|
|
|
|
|
|
|
12322
|
|
|
|
|
|
|
|
12323
|
130
|
50
|
|
|
|
271
|
$_tok = ($_noactions) ? 0 : do { $return = $item[1] }; |
|
130
|
|
|
|
|
336
|
|
12324
|
130
|
50
|
|
|
|
362
|
unless (defined $_tok) |
12325
|
|
|
|
|
|
|
{ |
12326
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
12327
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12328
|
0
|
|
|
|
|
0
|
last; |
12329
|
|
|
|
|
|
|
} |
12330
|
130
|
50
|
|
|
|
338
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
12331
|
|
|
|
|
|
|
. $_tok . q{])}, |
12332
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12333
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12334
|
130
|
|
|
|
|
282
|
push @item, $_tok; |
12335
|
130
|
|
|
|
|
286
|
$item{__ACTION1__}=$_tok; |
12336
|
|
|
|
|
|
|
|
12337
|
|
|
|
|
|
|
|
12338
|
130
|
50
|
|
|
|
344
|
Parse::RecDescent::_trace(q{>>Matched production: [/^(\\d+)/]<<}, |
12339
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12340
|
|
|
|
|
|
|
q{NUMBER}, |
12341
|
|
|
|
|
|
|
$tracelevel) |
12342
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12343
|
|
|
|
|
|
|
|
12344
|
|
|
|
|
|
|
|
12345
|
|
|
|
|
|
|
|
12346
|
130
|
|
|
|
|
214
|
$_matched = 1; |
12347
|
130
|
|
|
|
|
266
|
last; |
12348
|
|
|
|
|
|
|
} |
12349
|
|
|
|
|
|
|
|
12350
|
|
|
|
|
|
|
splice |
12351
|
249
|
100
|
|
|
|
599
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
119
|
|
|
|
|
354
|
|
12352
|
|
|
|
|
|
|
|
12353
|
249
|
100
|
66
|
|
|
819
|
unless ( $_matched || defined($score) ) |
12354
|
|
|
|
|
|
|
{ |
12355
|
119
|
|
|
|
|
213
|
splice @{$thisparser->{deferred}}, $def_at; |
|
119
|
|
|
|
|
232
|
|
12356
|
|
|
|
|
|
|
|
12357
|
|
|
|
|
|
|
|
12358
|
119
|
|
|
|
|
274
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
12359
|
119
|
50
|
|
|
|
321
|
Parse::RecDescent::_trace(q{<>}, |
12360
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12361
|
|
|
|
|
|
|
q{NUMBER}, |
12362
|
|
|
|
|
|
|
$tracelevel) |
12363
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12364
|
119
|
|
|
|
|
605
|
return undef; |
12365
|
|
|
|
|
|
|
} |
12366
|
130
|
50
|
33
|
|
|
387
|
if (!defined($return) && defined($score)) |
12367
|
|
|
|
|
|
|
{ |
12368
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
12369
|
|
|
|
|
|
|
q{NUMBER}, |
12370
|
|
|
|
|
|
|
$tracelevel) |
12371
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12372
|
0
|
|
|
|
|
0
|
$return = $score_return; |
12373
|
|
|
|
|
|
|
} |
12374
|
130
|
|
|
|
|
260
|
splice @{$thisparser->{errors}}, $err_at; |
|
130
|
|
|
|
|
299
|
|
12375
|
130
|
50
|
|
|
|
427
|
$return = $item[$#item] unless defined $return; |
12376
|
130
|
50
|
|
|
|
338
|
if (defined $::RD_TRACE) |
12377
|
|
|
|
|
|
|
{ |
12378
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
12379
|
|
|
|
|
|
|
$return . q{])}, "", |
12380
|
|
|
|
|
|
|
q{NUMBER}, |
12381
|
|
|
|
|
|
|
$tracelevel); |
12382
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
12383
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
12384
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12385
|
|
|
|
|
|
|
, q{NUMBER}, |
12386
|
|
|
|
|
|
|
$tracelevel) |
12387
|
|
|
|
|
|
|
} |
12388
|
130
|
|
|
|
|
405
|
$_[1] = $text; |
12389
|
130
|
|
|
|
|
1033
|
return $return; |
12390
|
|
|
|
|
|
|
} |
12391
|
|
|
|
|
|
|
|
12392
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
12393
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::textmessage |
12394
|
|
|
|
|
|
|
{ |
12395
|
92
|
|
|
92
|
|
203
|
my $thisparser = $_[0]; |
12396
|
1
|
|
|
1
|
|
9
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
374
|
|
12397
|
92
|
|
50
|
|
|
374
|
local $tracelevel = ($tracelevel||0)+1; |
12398
|
92
|
|
|
|
|
187
|
$ERRORS = 0; |
12399
|
92
|
|
|
|
|
289
|
my $thisrule = $thisparser->{"rules"}{"textmessage"}; |
12400
|
|
|
|
|
|
|
|
12401
|
92
|
50
|
|
|
|
245
|
Parse::RecDescent::_trace(q{Trying rule: [textmessage]}, |
12402
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12403
|
|
|
|
|
|
|
q{textmessage}, |
12404
|
|
|
|
|
|
|
$tracelevel) |
12405
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12406
|
|
|
|
|
|
|
|
12407
|
92
|
|
|
|
|
154
|
my $def_at = @{$thisparser->{deferred}}; |
|
92
|
|
|
|
|
214
|
|
12408
|
92
|
|
|
|
|
159
|
my $err_at = @{$thisparser->{errors}}; |
|
92
|
|
|
|
|
191
|
|
12409
|
|
|
|
|
|
|
|
12410
|
92
|
|
|
|
|
328
|
my $score; |
12411
|
|
|
|
|
|
|
my $score_return; |
12412
|
92
|
|
|
|
|
0
|
my $_tok; |
12413
|
92
|
|
|
|
|
246
|
my $return = undef; |
12414
|
92
|
|
|
|
|
162
|
my $_matched=0; |
12415
|
92
|
|
|
|
|
178
|
my $commit=0; |
12416
|
92
|
|
|
|
|
225
|
my @item = (); |
12417
|
92
|
|
|
|
|
209
|
my %item = (); |
12418
|
92
|
|
|
|
|
200
|
my $repeating = $_[2]; |
12419
|
92
|
|
|
|
|
205
|
my $_noactions = $_[3]; |
12420
|
92
|
50
|
|
|
|
268
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
92
|
|
|
|
|
158
|
|
|
92
|
|
|
|
|
229
|
|
12421
|
92
|
|
|
|
|
199
|
my $_itempos = $_[5]; |
12422
|
92
|
50
|
|
|
|
362
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
12423
|
92
|
|
|
|
|
310
|
my $text; |
12424
|
|
|
|
|
|
|
my $lastsep; |
12425
|
92
|
|
|
|
|
0
|
my $current_match; |
12426
|
92
|
|
|
|
|
337
|
my $expectation = new Parse::RecDescent::Expectation(q{TEXT}); |
12427
|
92
|
|
|
|
|
715
|
$expectation->at($_[1]); |
12428
|
|
|
|
|
|
|
|
12429
|
92
|
|
|
|
|
369
|
my $thisline; |
12430
|
92
|
|
|
|
|
381
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
12431
|
|
|
|
|
|
|
|
12432
|
|
|
|
|
|
|
|
12433
|
|
|
|
|
|
|
|
12434
|
92
|
|
33
|
|
|
927
|
while (!$_matched && !$commit) |
12435
|
|
|
|
|
|
|
{ |
12436
|
|
|
|
|
|
|
|
12437
|
92
|
50
|
|
|
|
296
|
Parse::RecDescent::_trace(q{Trying production: [TEXT basicfields textlines bodyMD5 bodydisp bodylang bodyextra]}, |
12438
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12439
|
|
|
|
|
|
|
q{textmessage}, |
12440
|
|
|
|
|
|
|
$tracelevel) |
12441
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12442
|
92
|
|
|
|
|
275
|
my $thisprod = $thisrule->{"prods"}[0]; |
12443
|
92
|
|
|
|
|
210
|
$text = $_[1]; |
12444
|
92
|
|
|
|
|
165
|
my $_savetext; |
12445
|
92
|
|
|
|
|
208
|
@item = (q{textmessage}); |
12446
|
92
|
|
|
|
|
209
|
%item = (__RULE__ => q{textmessage}); |
12447
|
92
|
|
|
|
|
170
|
my $repcount = 0; |
12448
|
|
|
|
|
|
|
|
12449
|
|
|
|
|
|
|
|
12450
|
92
|
50
|
|
|
|
266
|
Parse::RecDescent::_trace(q{Trying subrule: [TEXT]}, |
12451
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12452
|
|
|
|
|
|
|
q{textmessage}, |
12453
|
|
|
|
|
|
|
$tracelevel) |
12454
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12455
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
249
|
|
|
92
|
|
|
|
|
164
|
|
12456
|
92
|
|
|
|
|
256
|
$expectation->is(q{})->at($text); |
12457
|
92
|
100
|
|
92
|
|
1058
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::TEXT($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
92
|
|
|
|
|
205
|
|
12458
|
|
|
|
|
|
|
{ |
12459
|
|
|
|
|
|
|
|
12460
|
53
|
50
|
|
|
|
185
|
Parse::RecDescent::_trace(q{<>}, |
12461
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12462
|
|
|
|
|
|
|
q{textmessage}, |
12463
|
|
|
|
|
|
|
$tracelevel) |
12464
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12465
|
53
|
|
|
|
|
189
|
$expectation->failed(); |
12466
|
53
|
|
|
|
|
186
|
last; |
12467
|
|
|
|
|
|
|
} |
12468
|
39
|
50
|
|
|
|
194
|
Parse::RecDescent::_trace(q{>>Matched subrule: [TEXT]<< (return value: [} |
12469
|
|
|
|
|
|
|
. $_tok . q{]}, |
12470
|
|
|
|
|
|
|
|
12471
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12472
|
|
|
|
|
|
|
q{textmessage}, |
12473
|
|
|
|
|
|
|
$tracelevel) |
12474
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12475
|
39
|
|
|
|
|
111
|
$item{q{TEXT}} = $_tok; |
12476
|
39
|
|
|
|
|
101
|
push @item, $_tok; |
12477
|
|
|
|
|
|
|
|
12478
|
|
|
|
|
|
|
} |
12479
|
|
|
|
|
|
|
|
12480
|
|
|
|
|
|
|
|
12481
|
|
|
|
|
|
|
|
12482
|
39
|
50
|
|
|
|
137
|
Parse::RecDescent::_trace(q{Trying directive: []}, |
12483
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12484
|
|
|
|
|
|
|
q{textmessage}, |
12485
|
|
|
|
|
|
|
$tracelevel) |
12486
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12487
|
39
|
|
|
|
|
83
|
$_tok = do { $commit = 1 }; |
|
39
|
|
|
|
|
128
|
|
12488
|
39
|
50
|
|
|
|
120
|
if (defined($_tok)) |
12489
|
|
|
|
|
|
|
{ |
12490
|
39
|
50
|
|
|
|
137
|
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} |
12491
|
|
|
|
|
|
|
. $_tok . q{])}, |
12492
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12493
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12494
|
|
|
|
|
|
|
} |
12495
|
|
|
|
|
|
|
else |
12496
|
|
|
|
|
|
|
{ |
12497
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12498
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12499
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12500
|
|
|
|
|
|
|
} |
12501
|
|
|
|
|
|
|
|
12502
|
39
|
50
|
|
|
|
140
|
last unless defined $_tok; |
12503
|
39
|
|
|
|
|
118
|
push @item, $item{__DIRECTIVE1__}=$_tok; |
12504
|
|
|
|
|
|
|
|
12505
|
|
|
|
|
|
|
|
12506
|
39
|
50
|
|
|
|
109
|
Parse::RecDescent::_trace(q{Trying subrule: [basicfields]}, |
12507
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12508
|
|
|
|
|
|
|
q{textmessage}, |
12509
|
|
|
|
|
|
|
$tracelevel) |
12510
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12511
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1309
|
|
|
39
|
|
|
|
|
65
|
|
12512
|
39
|
|
|
|
|
163
|
$expectation->is(q{basicfields})->at($text); |
12513
|
39
|
50
|
|
39
|
|
538
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::basicfields($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
39
|
|
|
|
|
100
|
|
12514
|
|
|
|
|
|
|
{ |
12515
|
|
|
|
|
|
|
|
12516
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12517
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12518
|
|
|
|
|
|
|
q{textmessage}, |
12519
|
|
|
|
|
|
|
$tracelevel) |
12520
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12521
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
12522
|
0
|
|
|
|
|
0
|
last; |
12523
|
|
|
|
|
|
|
} |
12524
|
39
|
50
|
|
|
|
163
|
Parse::RecDescent::_trace(q{>>Matched subrule: [basicfields]<< (return value: [} |
12525
|
|
|
|
|
|
|
. $_tok . q{]}, |
12526
|
|
|
|
|
|
|
|
12527
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12528
|
|
|
|
|
|
|
q{textmessage}, |
12529
|
|
|
|
|
|
|
$tracelevel) |
12530
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12531
|
39
|
|
|
|
|
116
|
$item{q{basicfields}} = $_tok; |
12532
|
39
|
|
|
|
|
110
|
push @item, $_tok; |
12533
|
|
|
|
|
|
|
|
12534
|
|
|
|
|
|
|
} |
12535
|
|
|
|
|
|
|
|
12536
|
39
|
50
|
|
|
|
128
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [textlines]}, |
12537
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12538
|
|
|
|
|
|
|
q{textmessage}, |
12539
|
|
|
|
|
|
|
$tracelevel) |
12540
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12541
|
39
|
|
|
|
|
145
|
$expectation->is(q{textlines})->at($text); |
12542
|
|
|
|
|
|
|
|
12543
|
39
|
50
|
|
39
|
|
564
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::textlines, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
39
|
|
|
|
|
94
|
|
12544
|
|
|
|
|
|
|
{ |
12545
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12546
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12547
|
|
|
|
|
|
|
q{textmessage}, |
12548
|
|
|
|
|
|
|
$tracelevel) |
12549
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12550
|
0
|
|
|
|
|
0
|
last; |
12551
|
|
|
|
|
|
|
} |
12552
|
39
|
50
|
|
|
|
710
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [textlines]<< (} |
12553
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
12554
|
|
|
|
|
|
|
|
12555
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12556
|
|
|
|
|
|
|
q{textmessage}, |
12557
|
|
|
|
|
|
|
$tracelevel) |
12558
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12559
|
39
|
|
|
|
|
140
|
$item{q{textlines(?)}} = $_tok; |
12560
|
39
|
|
|
|
|
100
|
push @item, $_tok; |
12561
|
|
|
|
|
|
|
|
12562
|
|
|
|
|
|
|
|
12563
|
|
|
|
|
|
|
|
12564
|
39
|
50
|
|
|
|
122
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyMD5]}, |
12565
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12566
|
|
|
|
|
|
|
q{textmessage}, |
12567
|
|
|
|
|
|
|
$tracelevel) |
12568
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12569
|
39
|
|
|
|
|
138
|
$expectation->is(q{bodyMD5})->at($text); |
12570
|
|
|
|
|
|
|
|
12571
|
39
|
50
|
|
39
|
|
509
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyMD5, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
39
|
|
|
|
|
105
|
|
12572
|
|
|
|
|
|
|
{ |
12573
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12574
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12575
|
|
|
|
|
|
|
q{textmessage}, |
12576
|
|
|
|
|
|
|
$tracelevel) |
12577
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12578
|
0
|
|
|
|
|
0
|
last; |
12579
|
|
|
|
|
|
|
} |
12580
|
39
|
50
|
|
|
|
714
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyMD5]<< (} |
12581
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
12582
|
|
|
|
|
|
|
|
12583
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12584
|
|
|
|
|
|
|
q{textmessage}, |
12585
|
|
|
|
|
|
|
$tracelevel) |
12586
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12587
|
39
|
|
|
|
|
115
|
$item{q{bodyMD5(?)}} = $_tok; |
12588
|
39
|
|
|
|
|
98
|
push @item, $_tok; |
12589
|
|
|
|
|
|
|
|
12590
|
|
|
|
|
|
|
|
12591
|
|
|
|
|
|
|
|
12592
|
39
|
50
|
|
|
|
120
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodydisp]}, |
12593
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12594
|
|
|
|
|
|
|
q{textmessage}, |
12595
|
|
|
|
|
|
|
$tracelevel) |
12596
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12597
|
39
|
|
|
|
|
132
|
$expectation->is(q{bodydisp})->at($text); |
12598
|
|
|
|
|
|
|
|
12599
|
39
|
50
|
|
39
|
|
786
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodydisp, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
39
|
|
|
|
|
94
|
|
12600
|
|
|
|
|
|
|
{ |
12601
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12602
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12603
|
|
|
|
|
|
|
q{textmessage}, |
12604
|
|
|
|
|
|
|
$tracelevel) |
12605
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12606
|
0
|
|
|
|
|
0
|
last; |
12607
|
|
|
|
|
|
|
} |
12608
|
39
|
50
|
|
|
|
686
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodydisp]<< (} |
12609
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
12610
|
|
|
|
|
|
|
|
12611
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12612
|
|
|
|
|
|
|
q{textmessage}, |
12613
|
|
|
|
|
|
|
$tracelevel) |
12614
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12615
|
39
|
|
|
|
|
129
|
$item{q{bodydisp(?)}} = $_tok; |
12616
|
39
|
|
|
|
|
93
|
push @item, $_tok; |
12617
|
|
|
|
|
|
|
|
12618
|
|
|
|
|
|
|
|
12619
|
|
|
|
|
|
|
|
12620
|
39
|
50
|
|
|
|
101
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodylang]}, |
12621
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12622
|
|
|
|
|
|
|
q{textmessage}, |
12623
|
|
|
|
|
|
|
$tracelevel) |
12624
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12625
|
39
|
|
|
|
|
119
|
$expectation->is(q{bodylang})->at($text); |
12626
|
|
|
|
|
|
|
|
12627
|
39
|
50
|
|
39
|
|
503
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodylang, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
39
|
|
|
|
|
92
|
|
12628
|
|
|
|
|
|
|
{ |
12629
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12630
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12631
|
|
|
|
|
|
|
q{textmessage}, |
12632
|
|
|
|
|
|
|
$tracelevel) |
12633
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12634
|
0
|
|
|
|
|
0
|
last; |
12635
|
|
|
|
|
|
|
} |
12636
|
39
|
50
|
|
|
|
714
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodylang]<< (} |
12637
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
12638
|
|
|
|
|
|
|
|
12639
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12640
|
|
|
|
|
|
|
q{textmessage}, |
12641
|
|
|
|
|
|
|
$tracelevel) |
12642
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12643
|
39
|
|
|
|
|
112
|
$item{q{bodylang(?)}} = $_tok; |
12644
|
39
|
|
|
|
|
99
|
push @item, $_tok; |
12645
|
|
|
|
|
|
|
|
12646
|
|
|
|
|
|
|
|
12647
|
|
|
|
|
|
|
|
12648
|
39
|
50
|
|
|
|
130
|
Parse::RecDescent::_trace(q{Trying repeated subrule: [bodyextra]}, |
12649
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12650
|
|
|
|
|
|
|
q{textmessage}, |
12651
|
|
|
|
|
|
|
$tracelevel) |
12652
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12653
|
39
|
|
|
|
|
124
|
$expectation->is(q{bodyextra})->at($text); |
12654
|
|
|
|
|
|
|
|
12655
|
39
|
50
|
|
39
|
|
540
|
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyextra, 0, 1, $_noactions,$expectation,sub { \@arg },undef))) |
|
39
|
|
|
|
|
101
|
|
12656
|
|
|
|
|
|
|
{ |
12657
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
12658
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12659
|
|
|
|
|
|
|
q{textmessage}, |
12660
|
|
|
|
|
|
|
$tracelevel) |
12661
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12662
|
0
|
|
|
|
|
0
|
last; |
12663
|
|
|
|
|
|
|
} |
12664
|
39
|
50
|
|
|
|
668
|
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bodyextra]<< (} |
12665
|
|
|
|
|
|
|
. @$_tok . q{ times)}, |
12666
|
|
|
|
|
|
|
|
12667
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12668
|
|
|
|
|
|
|
q{textmessage}, |
12669
|
|
|
|
|
|
|
$tracelevel) |
12670
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12671
|
39
|
|
|
|
|
126
|
$item{q{bodyextra(?)}} = $_tok; |
12672
|
39
|
|
|
|
|
132
|
push @item, $_tok; |
12673
|
|
|
|
|
|
|
|
12674
|
|
|
|
|
|
|
|
12675
|
|
|
|
|
|
|
|
12676
|
39
|
50
|
|
|
|
122
|
Parse::RecDescent::_trace(q{Trying action}, |
12677
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12678
|
|
|
|
|
|
|
q{textmessage}, |
12679
|
|
|
|
|
|
|
$tracelevel) |
12680
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12681
|
|
|
|
|
|
|
|
12682
|
|
|
|
|
|
|
|
12683
|
39
|
50
|
|
|
|
125
|
$_tok = ($_noactions) ? 0 : do { |
12684
|
39
|
|
50
|
|
|
135
|
$return = $item{basicfields} || {}; |
12685
|
39
|
|
|
|
|
129
|
$return->{bodytype} = 'TEXT'; |
12686
|
39
|
|
|
|
|
180
|
take_optional_items($return, \%item |
12687
|
|
|
|
|
|
|
, qw/textlines bodyMD5 bodydisp bodylang bodyextra/); |
12688
|
39
|
|
|
|
|
103
|
1; |
12689
|
|
|
|
|
|
|
}; |
12690
|
39
|
50
|
|
|
|
112
|
unless (defined $_tok) |
12691
|
|
|
|
|
|
|
{ |
12692
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
12693
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12694
|
0
|
|
|
|
|
0
|
last; |
12695
|
|
|
|
|
|
|
} |
12696
|
39
|
50
|
|
|
|
100
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
12697
|
|
|
|
|
|
|
. $_tok . q{])}, |
12698
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12699
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12700
|
39
|
|
|
|
|
78
|
push @item, $_tok; |
12701
|
39
|
|
|
|
|
88
|
$item{__ACTION1__}=$_tok; |
12702
|
|
|
|
|
|
|
|
12703
|
|
|
|
|
|
|
|
12704
|
39
|
50
|
|
|
|
99
|
Parse::RecDescent::_trace(q{>>Matched production: [TEXT basicfields textlines bodyMD5 bodydisp bodylang bodyextra]<<}, |
12705
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12706
|
|
|
|
|
|
|
q{textmessage}, |
12707
|
|
|
|
|
|
|
$tracelevel) |
12708
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12709
|
|
|
|
|
|
|
|
12710
|
|
|
|
|
|
|
|
12711
|
|
|
|
|
|
|
|
12712
|
39
|
|
|
|
|
68
|
$_matched = 1; |
12713
|
39
|
|
|
|
|
67
|
last; |
12714
|
|
|
|
|
|
|
} |
12715
|
|
|
|
|
|
|
|
12716
|
|
|
|
|
|
|
splice |
12717
|
92
|
100
|
|
|
|
352
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
53
|
|
|
|
|
138
|
|
12718
|
|
|
|
|
|
|
|
12719
|
92
|
100
|
66
|
|
|
388
|
unless ( $_matched || defined($score) ) |
12720
|
|
|
|
|
|
|
{ |
12721
|
53
|
|
|
|
|
144
|
splice @{$thisparser->{deferred}}, $def_at; |
|
53
|
|
|
|
|
133
|
|
12722
|
|
|
|
|
|
|
|
12723
|
|
|
|
|
|
|
|
12724
|
53
|
|
|
|
|
128
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
12725
|
53
|
50
|
|
|
|
148
|
Parse::RecDescent::_trace(q{<>}, |
12726
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12727
|
|
|
|
|
|
|
q{textmessage}, |
12728
|
|
|
|
|
|
|
$tracelevel) |
12729
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12730
|
53
|
|
|
|
|
315
|
return undef; |
12731
|
|
|
|
|
|
|
} |
12732
|
39
|
50
|
33
|
|
|
192
|
if (!defined($return) && defined($score)) |
12733
|
|
|
|
|
|
|
{ |
12734
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
12735
|
|
|
|
|
|
|
q{textmessage}, |
12736
|
|
|
|
|
|
|
$tracelevel) |
12737
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12738
|
0
|
|
|
|
|
0
|
$return = $score_return; |
12739
|
|
|
|
|
|
|
} |
12740
|
39
|
|
|
|
|
96
|
splice @{$thisparser->{errors}}, $err_at; |
|
39
|
|
|
|
|
119
|
|
12741
|
39
|
50
|
|
|
|
109
|
$return = $item[$#item] unless defined $return; |
12742
|
39
|
50
|
|
|
|
111
|
if (defined $::RD_TRACE) |
12743
|
|
|
|
|
|
|
{ |
12744
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
12745
|
|
|
|
|
|
|
$return . q{])}, "", |
12746
|
|
|
|
|
|
|
q{textmessage}, |
12747
|
|
|
|
|
|
|
$tracelevel); |
12748
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
12749
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
12750
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12751
|
|
|
|
|
|
|
, q{textmessage}, |
12752
|
|
|
|
|
|
|
$tracelevel) |
12753
|
|
|
|
|
|
|
} |
12754
|
39
|
|
|
|
|
101
|
$_[1] = $text; |
12755
|
39
|
|
|
|
|
443
|
return $return; |
12756
|
|
|
|
|
|
|
} |
12757
|
|
|
|
|
|
|
|
12758
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
12759
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::RFCNONCOMPLY |
12760
|
|
|
|
|
|
|
{ |
12761
|
98
|
|
|
98
|
|
187
|
my $thisparser = $_[0]; |
12762
|
1
|
|
|
1
|
|
42
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
12
|
|
|
1
|
|
|
|
|
919
|
|
12763
|
98
|
|
50
|
|
|
286
|
local $tracelevel = ($tracelevel||0)+1; |
12764
|
98
|
|
|
|
|
160
|
$ERRORS = 0; |
12765
|
98
|
|
|
|
|
234
|
my $thisrule = $thisparser->{"rules"}{"RFCNONCOMPLY"}; |
12766
|
|
|
|
|
|
|
|
12767
|
98
|
50
|
|
|
|
214
|
Parse::RecDescent::_trace(q{Trying rule: [RFCNONCOMPLY]}, |
12768
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12769
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12770
|
|
|
|
|
|
|
$tracelevel) |
12771
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12772
|
|
|
|
|
|
|
|
12773
|
98
|
|
|
|
|
153
|
my $def_at = @{$thisparser->{deferred}}; |
|
98
|
|
|
|
|
212
|
|
12774
|
98
|
|
|
|
|
164
|
my $err_at = @{$thisparser->{errors}}; |
|
98
|
|
|
|
|
195
|
|
12775
|
|
|
|
|
|
|
|
12776
|
98
|
|
|
|
|
262
|
my $score; |
12777
|
|
|
|
|
|
|
my $score_return; |
12778
|
98
|
|
|
|
|
0
|
my $_tok; |
12779
|
98
|
|
|
|
|
183
|
my $return = undef; |
12780
|
98
|
|
|
|
|
156
|
my $_matched=0; |
12781
|
98
|
|
|
|
|
164
|
my $commit=0; |
12782
|
98
|
|
|
|
|
188
|
my @item = (); |
12783
|
98
|
|
|
|
|
163
|
my %item = (); |
12784
|
98
|
|
|
|
|
155
|
my $repeating = $_[2]; |
12785
|
98
|
|
|
|
|
140
|
my $_noactions = $_[3]; |
12786
|
98
|
50
|
|
|
|
231
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
98
|
|
|
|
|
155
|
|
|
98
|
|
|
|
|
174
|
|
12787
|
98
|
|
|
|
|
216
|
my $_itempos = $_[5]; |
12788
|
98
|
50
|
|
|
|
264
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
12789
|
98
|
|
|
|
|
245
|
my $text; |
12790
|
|
|
|
|
|
|
my $lastsep; |
12791
|
98
|
|
|
|
|
0
|
my $current_match; |
12792
|
98
|
|
|
|
|
246
|
my $expectation = new Parse::RecDescent::Expectation(q{/^\\(\\)/i}); |
12793
|
98
|
|
|
|
|
687
|
$expectation->at($_[1]); |
12794
|
|
|
|
|
|
|
|
12795
|
98
|
|
|
|
|
445
|
my $thisline; |
12796
|
98
|
|
|
|
|
349
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
12797
|
|
|
|
|
|
|
|
12798
|
|
|
|
|
|
|
|
12799
|
|
|
|
|
|
|
|
12800
|
98
|
|
33
|
|
|
774
|
while (!$_matched && !$commit) |
12801
|
|
|
|
|
|
|
{ |
12802
|
|
|
|
|
|
|
|
12803
|
98
|
50
|
|
|
|
222
|
Parse::RecDescent::_trace(q{Trying production: [/^\\(\\)/i]}, |
12804
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12805
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12806
|
|
|
|
|
|
|
$tracelevel) |
12807
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12808
|
98
|
|
|
|
|
235
|
my $thisprod = $thisrule->{"prods"}[0]; |
12809
|
98
|
|
|
|
|
192
|
$text = $_[1]; |
12810
|
98
|
|
|
|
|
186
|
my $_savetext; |
12811
|
98
|
|
|
|
|
180
|
@item = (q{RFCNONCOMPLY}); |
12812
|
98
|
|
|
|
|
200
|
%item = (__RULE__ => q{RFCNONCOMPLY}); |
12813
|
98
|
|
|
|
|
197
|
my $repcount = 0; |
12814
|
|
|
|
|
|
|
|
12815
|
|
|
|
|
|
|
|
12816
|
98
|
50
|
|
|
|
261
|
Parse::RecDescent::_trace(q{Trying terminal: [/^\\(\\)/i]}, Parse::RecDescent::_tracefirst($text), |
12817
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12818
|
|
|
|
|
|
|
$tracelevel) |
12819
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12820
|
98
|
|
|
|
|
194
|
undef $lastsep; |
12821
|
98
|
|
|
|
|
230
|
$expectation->is(q{})->at($text); |
12822
|
|
|
|
|
|
|
|
12823
|
|
|
|
|
|
|
|
12824
|
98
|
50
|
66
|
|
|
1155
|
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^\(\))/i) |
|
98
|
100
|
|
|
|
927
|
|
12825
|
|
|
|
|
|
|
{ |
12826
|
94
|
50
|
|
|
|
420
|
$text = $lastsep . $text if defined $lastsep; |
12827
|
94
|
|
|
|
|
311
|
$expectation->failed(); |
12828
|
94
|
50
|
|
|
|
420
|
Parse::RecDescent::_trace(q{<>}, |
12829
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12830
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12831
|
|
|
|
|
|
|
|
12832
|
94
|
|
|
|
|
229
|
last; |
12833
|
|
|
|
|
|
|
} |
12834
|
4
|
|
|
|
|
24
|
$current_match = substr($text, $-[0], $+[0] - $-[0]); |
12835
|
4
|
|
|
|
|
16
|
substr($text,0,length($current_match),q{}); |
12836
|
4
|
50
|
|
|
|
11
|
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} |
12837
|
|
|
|
|
|
|
. $current_match . q{])}, |
12838
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12839
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12840
|
4
|
|
|
|
|
15
|
push @item, $item{__PATTERN1__}=$current_match; |
12841
|
|
|
|
|
|
|
|
12842
|
|
|
|
|
|
|
|
12843
|
4
|
50
|
|
|
|
12
|
Parse::RecDescent::_trace(q{Trying action}, |
12844
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12845
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12846
|
|
|
|
|
|
|
$tracelevel) |
12847
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12848
|
|
|
|
|
|
|
|
12849
|
|
|
|
|
|
|
|
12850
|
4
|
50
|
|
|
|
11
|
$_tok = ($_noactions) ? 0 : do { $return = "NIL" }; |
|
4
|
|
|
|
|
10
|
|
12851
|
4
|
50
|
|
|
|
11
|
unless (defined $_tok) |
12852
|
|
|
|
|
|
|
{ |
12853
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<> (return value: [undef])}) |
12854
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12855
|
0
|
|
|
|
|
0
|
last; |
12856
|
|
|
|
|
|
|
} |
12857
|
4
|
50
|
|
|
|
10
|
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} |
12858
|
|
|
|
|
|
|
. $_tok . q{])}, |
12859
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text)) |
12860
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12861
|
4
|
|
|
|
|
9
|
push @item, $_tok; |
12862
|
4
|
|
|
|
|
9
|
$item{__ACTION1__}=$_tok; |
12863
|
|
|
|
|
|
|
|
12864
|
|
|
|
|
|
|
|
12865
|
4
|
50
|
|
|
|
12
|
Parse::RecDescent::_trace(q{>>Matched production: [/^\\(\\)/i]<<}, |
12866
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12867
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12868
|
|
|
|
|
|
|
$tracelevel) |
12869
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12870
|
|
|
|
|
|
|
|
12871
|
|
|
|
|
|
|
|
12872
|
|
|
|
|
|
|
|
12873
|
4
|
|
|
|
|
6
|
$_matched = 1; |
12874
|
4
|
|
|
|
|
8
|
last; |
12875
|
|
|
|
|
|
|
} |
12876
|
|
|
|
|
|
|
|
12877
|
|
|
|
|
|
|
splice |
12878
|
98
|
100
|
|
|
|
237
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
94
|
|
|
|
|
226
|
|
12879
|
|
|
|
|
|
|
|
12880
|
98
|
100
|
66
|
|
|
371
|
unless ( $_matched || defined($score) ) |
12881
|
|
|
|
|
|
|
{ |
12882
|
94
|
|
|
|
|
140
|
splice @{$thisparser->{deferred}}, $def_at; |
|
94
|
|
|
|
|
201
|
|
12883
|
|
|
|
|
|
|
|
12884
|
|
|
|
|
|
|
|
12885
|
94
|
|
|
|
|
205
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
12886
|
94
|
50
|
|
|
|
221
|
Parse::RecDescent::_trace(q{<>}, |
12887
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12888
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12889
|
|
|
|
|
|
|
$tracelevel) |
12890
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12891
|
94
|
|
|
|
|
502
|
return undef; |
12892
|
|
|
|
|
|
|
} |
12893
|
4
|
50
|
33
|
|
|
16
|
if (!defined($return) && defined($score)) |
12894
|
|
|
|
|
|
|
{ |
12895
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
12896
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12897
|
|
|
|
|
|
|
$tracelevel) |
12898
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12899
|
0
|
|
|
|
|
0
|
$return = $score_return; |
12900
|
|
|
|
|
|
|
} |
12901
|
4
|
|
|
|
|
6
|
splice @{$thisparser->{errors}}, $err_at; |
|
4
|
|
|
|
|
12
|
|
12902
|
4
|
50
|
|
|
|
11
|
$return = $item[$#item] unless defined $return; |
12903
|
4
|
50
|
|
|
|
11
|
if (defined $::RD_TRACE) |
12904
|
|
|
|
|
|
|
{ |
12905
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
12906
|
|
|
|
|
|
|
$return . q{])}, "", |
12907
|
|
|
|
|
|
|
q{RFCNONCOMPLY}, |
12908
|
|
|
|
|
|
|
$tracelevel); |
12909
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
12910
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
12911
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12912
|
|
|
|
|
|
|
, q{RFCNONCOMPLY}, |
12913
|
|
|
|
|
|
|
$tracelevel) |
12914
|
|
|
|
|
|
|
} |
12915
|
4
|
|
|
|
|
9
|
$_[1] = $text; |
12916
|
4
|
|
|
|
|
23
|
return $return; |
12917
|
|
|
|
|
|
|
} |
12918
|
|
|
|
|
|
|
|
12919
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
12920
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::subject |
12921
|
|
|
|
|
|
|
{ |
12922
|
24
|
|
|
24
|
|
61
|
my $thisparser = $_[0]; |
12923
|
1
|
|
|
1
|
|
8
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
326
|
|
12924
|
24
|
|
50
|
|
|
86
|
local $tracelevel = ($tracelevel||0)+1; |
12925
|
24
|
|
|
|
|
54
|
$ERRORS = 0; |
12926
|
24
|
|
|
|
|
73
|
my $thisrule = $thisparser->{"rules"}{"subject"}; |
12927
|
|
|
|
|
|
|
|
12928
|
24
|
50
|
|
|
|
73
|
Parse::RecDescent::_trace(q{Trying rule: [subject]}, |
12929
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12930
|
|
|
|
|
|
|
q{subject}, |
12931
|
|
|
|
|
|
|
$tracelevel) |
12932
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12933
|
|
|
|
|
|
|
|
12934
|
24
|
|
|
|
|
46
|
my $def_at = @{$thisparser->{deferred}}; |
|
24
|
|
|
|
|
64
|
|
12935
|
24
|
|
|
|
|
43
|
my $err_at = @{$thisparser->{errors}}; |
|
24
|
|
|
|
|
57
|
|
12936
|
|
|
|
|
|
|
|
12937
|
24
|
|
|
|
|
82
|
my $score; |
12938
|
|
|
|
|
|
|
my $score_return; |
12939
|
24
|
|
|
|
|
0
|
my $_tok; |
12940
|
24
|
|
|
|
|
39
|
my $return = undef; |
12941
|
24
|
|
|
|
|
54
|
my $_matched=0; |
12942
|
24
|
|
|
|
|
48
|
my $commit=0; |
12943
|
24
|
|
|
|
|
56
|
my @item = (); |
12944
|
24
|
|
|
|
|
55
|
my %item = (); |
12945
|
24
|
|
|
|
|
53
|
my $repeating = $_[2]; |
12946
|
24
|
|
|
|
|
47
|
my $_noactions = $_[3]; |
12947
|
24
|
50
|
|
|
|
73
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
24
|
|
|
|
|
52
|
|
|
24
|
|
|
|
|
55
|
|
12948
|
24
|
|
|
|
|
57
|
my $_itempos = $_[5]; |
12949
|
24
|
50
|
|
|
|
80
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
12950
|
24
|
|
|
|
|
111
|
my $text; |
12951
|
|
|
|
|
|
|
my $lastsep; |
12952
|
24
|
|
|
|
|
0
|
my $current_match; |
12953
|
24
|
|
|
|
|
89
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING}); |
12954
|
24
|
|
|
|
|
194
|
$expectation->at($_[1]); |
12955
|
|
|
|
|
|
|
|
12956
|
24
|
|
|
|
|
116
|
my $thisline; |
12957
|
24
|
|
|
|
|
101
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
12958
|
|
|
|
|
|
|
|
12959
|
|
|
|
|
|
|
|
12960
|
|
|
|
|
|
|
|
12961
|
24
|
|
33
|
|
|
248
|
while (!$_matched && !$commit) |
12962
|
|
|
|
|
|
|
{ |
12963
|
|
|
|
|
|
|
|
12964
|
24
|
50
|
|
|
|
85
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
12965
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
12966
|
|
|
|
|
|
|
q{subject}, |
12967
|
|
|
|
|
|
|
$tracelevel) |
12968
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12969
|
24
|
|
|
|
|
89
|
my $thisprod = $thisrule->{"prods"}[0]; |
12970
|
24
|
|
|
|
|
63
|
$text = $_[1]; |
12971
|
24
|
|
|
|
|
56
|
my $_savetext; |
12972
|
24
|
|
|
|
|
63
|
@item = (q{subject}); |
12973
|
24
|
|
|
|
|
66
|
%item = (__RULE__ => q{subject}); |
12974
|
24
|
|
|
|
|
50
|
my $repcount = 0; |
12975
|
|
|
|
|
|
|
|
12976
|
|
|
|
|
|
|
|
12977
|
24
|
50
|
|
|
|
98
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
12978
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12979
|
|
|
|
|
|
|
q{subject}, |
12980
|
|
|
|
|
|
|
$tracelevel) |
12981
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12982
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
286
|
|
|
24
|
|
|
|
|
44
|
|
12983
|
24
|
|
|
|
|
78
|
$expectation->is(q{})->at($text); |
12984
|
24
|
50
|
|
24
|
|
267
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
54
|
|
12985
|
|
|
|
|
|
|
{ |
12986
|
|
|
|
|
|
|
|
12987
|
24
|
50
|
|
|
|
75
|
Parse::RecDescent::_trace(q{<>}, |
12988
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12989
|
|
|
|
|
|
|
q{subject}, |
12990
|
|
|
|
|
|
|
$tracelevel) |
12991
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
12992
|
24
|
|
|
|
|
99
|
$expectation->failed(); |
12993
|
24
|
|
|
|
|
90
|
last; |
12994
|
|
|
|
|
|
|
} |
12995
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
12996
|
|
|
|
|
|
|
. $_tok . q{]}, |
12997
|
|
|
|
|
|
|
|
12998
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
12999
|
|
|
|
|
|
|
q{subject}, |
13000
|
|
|
|
|
|
|
$tracelevel) |
13001
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13002
|
0
|
|
|
|
|
0
|
$item{q{NIL}} = $_tok; |
13003
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
13004
|
|
|
|
|
|
|
|
13005
|
|
|
|
|
|
|
} |
13006
|
|
|
|
|
|
|
|
13007
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
13008
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13009
|
|
|
|
|
|
|
q{subject}, |
13010
|
|
|
|
|
|
|
$tracelevel) |
13011
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13012
|
|
|
|
|
|
|
|
13013
|
|
|
|
|
|
|
|
13014
|
|
|
|
|
|
|
|
13015
|
0
|
|
|
|
|
0
|
$_matched = 1; |
13016
|
0
|
|
|
|
|
0
|
last; |
13017
|
|
|
|
|
|
|
} |
13018
|
|
|
|
|
|
|
|
13019
|
|
|
|
|
|
|
splice |
13020
|
24
|
50
|
|
|
|
103
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
24
|
|
|
|
|
74
|
|
13021
|
|
|
|
|
|
|
|
13022
|
24
|
|
33
|
|
|
162
|
while (!$_matched && !$commit) |
13023
|
|
|
|
|
|
|
{ |
13024
|
|
|
|
|
|
|
|
13025
|
24
|
50
|
|
|
|
68
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
13026
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13027
|
|
|
|
|
|
|
q{subject}, |
13028
|
|
|
|
|
|
|
$tracelevel) |
13029
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13030
|
24
|
|
|
|
|
62
|
my $thisprod = $thisrule->{"prods"}[1]; |
13031
|
24
|
|
|
|
|
66
|
$text = $_[1]; |
13032
|
24
|
|
|
|
|
55
|
my $_savetext; |
13033
|
24
|
|
|
|
|
91
|
@item = (q{subject}); |
13034
|
24
|
|
|
|
|
77
|
%item = (__RULE__ => q{subject}); |
13035
|
24
|
|
|
|
|
54
|
my $repcount = 0; |
13036
|
|
|
|
|
|
|
|
13037
|
|
|
|
|
|
|
|
13038
|
24
|
50
|
|
|
|
68
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
13039
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13040
|
|
|
|
|
|
|
q{subject}, |
13041
|
|
|
|
|
|
|
$tracelevel) |
13042
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13043
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
493
|
|
|
24
|
|
|
|
|
40
|
|
13044
|
24
|
|
|
|
|
71
|
$expectation->is(q{})->at($text); |
13045
|
24
|
50
|
|
24
|
|
296
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
24
|
|
|
|
|
49
|
|
13046
|
|
|
|
|
|
|
{ |
13047
|
|
|
|
|
|
|
|
13048
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
13049
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13050
|
|
|
|
|
|
|
q{subject}, |
13051
|
|
|
|
|
|
|
$tracelevel) |
13052
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13053
|
0
|
|
|
|
|
0
|
$expectation->failed(); |
13054
|
0
|
|
|
|
|
0
|
last; |
13055
|
|
|
|
|
|
|
} |
13056
|
24
|
50
|
|
|
|
109
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
13057
|
|
|
|
|
|
|
. $_tok . q{]}, |
13058
|
|
|
|
|
|
|
|
13059
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13060
|
|
|
|
|
|
|
q{subject}, |
13061
|
|
|
|
|
|
|
$tracelevel) |
13062
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13063
|
24
|
|
|
|
|
69
|
$item{q{STRING}} = $_tok; |
13064
|
24
|
|
|
|
|
57
|
push @item, $_tok; |
13065
|
|
|
|
|
|
|
|
13066
|
|
|
|
|
|
|
} |
13067
|
|
|
|
|
|
|
|
13068
|
24
|
50
|
|
|
|
72
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
13069
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13070
|
|
|
|
|
|
|
q{subject}, |
13071
|
|
|
|
|
|
|
$tracelevel) |
13072
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13073
|
|
|
|
|
|
|
|
13074
|
|
|
|
|
|
|
|
13075
|
|
|
|
|
|
|
|
13076
|
24
|
|
|
|
|
48
|
$_matched = 1; |
13077
|
24
|
|
|
|
|
49
|
last; |
13078
|
|
|
|
|
|
|
} |
13079
|
|
|
|
|
|
|
|
13080
|
|
|
|
|
|
|
splice |
13081
|
24
|
50
|
|
|
|
74
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
0
|
|
|
|
|
0
|
|
13082
|
|
|
|
|
|
|
|
13083
|
24
|
50
|
33
|
|
|
80
|
unless ( $_matched || defined($score) ) |
13084
|
|
|
|
|
|
|
{ |
13085
|
0
|
|
|
|
|
0
|
splice @{$thisparser->{deferred}}, $def_at; |
|
0
|
|
|
|
|
0
|
|
13086
|
|
|
|
|
|
|
|
13087
|
|
|
|
|
|
|
|
13088
|
0
|
|
|
|
|
0
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
13089
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{<>}, |
13090
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13091
|
|
|
|
|
|
|
q{subject}, |
13092
|
|
|
|
|
|
|
$tracelevel) |
13093
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13094
|
0
|
|
|
|
|
0
|
return undef; |
13095
|
|
|
|
|
|
|
} |
13096
|
24
|
50
|
33
|
|
|
137
|
if (!defined($return) && defined($score)) |
13097
|
|
|
|
|
|
|
{ |
13098
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
13099
|
|
|
|
|
|
|
q{subject}, |
13100
|
|
|
|
|
|
|
$tracelevel) |
13101
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13102
|
0
|
|
|
|
|
0
|
$return = $score_return; |
13103
|
|
|
|
|
|
|
} |
13104
|
24
|
|
|
|
|
43
|
splice @{$thisparser->{errors}}, $err_at; |
|
24
|
|
|
|
|
53
|
|
13105
|
24
|
50
|
|
|
|
83
|
$return = $item[$#item] unless defined $return; |
13106
|
24
|
50
|
|
|
|
78
|
if (defined $::RD_TRACE) |
13107
|
|
|
|
|
|
|
{ |
13108
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
13109
|
|
|
|
|
|
|
$return . q{])}, "", |
13110
|
|
|
|
|
|
|
q{subject}, |
13111
|
|
|
|
|
|
|
$tracelevel); |
13112
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
13113
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
13114
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13115
|
|
|
|
|
|
|
, q{subject}, |
13116
|
|
|
|
|
|
|
$tracelevel) |
13117
|
|
|
|
|
|
|
} |
13118
|
24
|
|
|
|
|
75
|
$_[1] = $text; |
13119
|
24
|
|
|
|
|
159
|
return $return; |
13120
|
|
|
|
|
|
|
} |
13121
|
|
|
|
|
|
|
|
13122
|
|
|
|
|
|
|
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos) |
13123
|
|
|
|
|
|
|
sub Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::bodyextra |
13124
|
|
|
|
|
|
|
{ |
13125
|
102
|
|
|
102
|
|
1860
|
my $thisparser = $_[0]; |
13126
|
1
|
|
|
1
|
|
7
|
use vars q{$tracelevel}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
363
|
|
13127
|
102
|
|
50
|
|
|
343
|
local $tracelevel = ($tracelevel||0)+1; |
13128
|
102
|
|
|
|
|
221
|
$ERRORS = 0; |
13129
|
102
|
|
|
|
|
273
|
my $thisrule = $thisparser->{"rules"}{"bodyextra"}; |
13130
|
|
|
|
|
|
|
|
13131
|
102
|
50
|
|
|
|
256
|
Parse::RecDescent::_trace(q{Trying rule: [bodyextra]}, |
13132
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13133
|
|
|
|
|
|
|
q{bodyextra}, |
13134
|
|
|
|
|
|
|
$tracelevel) |
13135
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13136
|
|
|
|
|
|
|
|
13137
|
102
|
|
|
|
|
177
|
my $def_at = @{$thisparser->{deferred}}; |
|
102
|
|
|
|
|
279
|
|
13138
|
102
|
|
|
|
|
173
|
my $err_at = @{$thisparser->{errors}}; |
|
102
|
|
|
|
|
282
|
|
13139
|
|
|
|
|
|
|
|
13140
|
102
|
|
|
|
|
366
|
my $score; |
13141
|
|
|
|
|
|
|
my $score_return; |
13142
|
102
|
|
|
|
|
0
|
my $_tok; |
13143
|
102
|
|
|
|
|
176
|
my $return = undef; |
13144
|
102
|
|
|
|
|
170
|
my $_matched=0; |
13145
|
102
|
|
|
|
|
186
|
my $commit=0; |
13146
|
102
|
|
|
|
|
190
|
my @item = (); |
13147
|
102
|
|
|
|
|
188
|
my %item = (); |
13148
|
102
|
|
|
|
|
184
|
my $repeating = $_[2]; |
13149
|
102
|
|
|
|
|
160
|
my $_noactions = $_[3]; |
13150
|
102
|
50
|
|
|
|
293
|
my @arg = defined $_[4] ? @{ &{$_[4]} } : (); |
|
102
|
|
|
|
|
152
|
|
|
102
|
|
|
|
|
221
|
|
13151
|
102
|
|
|
|
|
212
|
my $_itempos = $_[5]; |
13152
|
102
|
50
|
|
|
|
350
|
my %arg = ($#arg & 01) ? @arg : (@arg, undef); |
13153
|
102
|
|
|
|
|
327
|
my $text; |
13154
|
|
|
|
|
|
|
my $lastsep; |
13155
|
102
|
|
|
|
|
0
|
my $current_match; |
13156
|
102
|
|
|
|
|
299
|
my $expectation = new Parse::RecDescent::Expectation(q{NIL, or STRING, or STRINGS}); |
13157
|
102
|
|
|
|
|
752
|
$expectation->at($_[1]); |
13158
|
|
|
|
|
|
|
|
13159
|
102
|
|
|
|
|
408
|
my $thisline; |
13160
|
102
|
|
|
|
|
404
|
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; |
13161
|
|
|
|
|
|
|
|
13162
|
|
|
|
|
|
|
|
13163
|
|
|
|
|
|
|
|
13164
|
102
|
|
33
|
|
|
963
|
while (!$_matched && !$commit) |
13165
|
|
|
|
|
|
|
{ |
13166
|
|
|
|
|
|
|
|
13167
|
102
|
50
|
|
|
|
333
|
Parse::RecDescent::_trace(q{Trying production: [NIL]}, |
13168
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13169
|
|
|
|
|
|
|
q{bodyextra}, |
13170
|
|
|
|
|
|
|
$tracelevel) |
13171
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13172
|
102
|
|
|
|
|
312
|
my $thisprod = $thisrule->{"prods"}[0]; |
13173
|
102
|
|
|
|
|
248
|
$text = $_[1]; |
13174
|
102
|
|
|
|
|
177
|
my $_savetext; |
13175
|
102
|
|
|
|
|
244
|
@item = (q{bodyextra}); |
13176
|
102
|
|
|
|
|
312
|
%item = (__RULE__ => q{bodyextra}); |
13177
|
102
|
|
|
|
|
220
|
my $repcount = 0; |
13178
|
|
|
|
|
|
|
|
13179
|
|
|
|
|
|
|
|
13180
|
102
|
50
|
|
|
|
271
|
Parse::RecDescent::_trace(q{Trying subrule: [NIL]}, |
13181
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13182
|
|
|
|
|
|
|
q{bodyextra}, |
13183
|
|
|
|
|
|
|
$tracelevel) |
13184
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13185
|
1
|
|
|
1
|
|
8
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
283
|
|
|
102
|
|
|
|
|
172
|
|
13186
|
102
|
|
|
|
|
353
|
$expectation->is(q{})->at($text); |
13187
|
102
|
100
|
|
102
|
|
1083
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::NIL($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
102
|
|
|
|
|
236
|
|
13188
|
|
|
|
|
|
|
{ |
13189
|
|
|
|
|
|
|
|
13190
|
47
|
50
|
|
|
|
123
|
Parse::RecDescent::_trace(q{<>}, |
13191
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13192
|
|
|
|
|
|
|
q{bodyextra}, |
13193
|
|
|
|
|
|
|
$tracelevel) |
13194
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13195
|
47
|
|
|
|
|
157
|
$expectation->failed(); |
13196
|
47
|
|
|
|
|
178
|
last; |
13197
|
|
|
|
|
|
|
} |
13198
|
55
|
50
|
|
|
|
338
|
Parse::RecDescent::_trace(q{>>Matched subrule: [NIL]<< (return value: [} |
13199
|
|
|
|
|
|
|
. $_tok . q{]}, |
13200
|
|
|
|
|
|
|
|
13201
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13202
|
|
|
|
|
|
|
q{bodyextra}, |
13203
|
|
|
|
|
|
|
$tracelevel) |
13204
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13205
|
55
|
|
|
|
|
184
|
$item{q{NIL}} = $_tok; |
13206
|
55
|
|
|
|
|
173
|
push @item, $_tok; |
13207
|
|
|
|
|
|
|
|
13208
|
|
|
|
|
|
|
} |
13209
|
|
|
|
|
|
|
|
13210
|
55
|
50
|
|
|
|
214
|
Parse::RecDescent::_trace(q{>>Matched production: [NIL]<<}, |
13211
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13212
|
|
|
|
|
|
|
q{bodyextra}, |
13213
|
|
|
|
|
|
|
$tracelevel) |
13214
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13215
|
|
|
|
|
|
|
|
13216
|
|
|
|
|
|
|
|
13217
|
|
|
|
|
|
|
|
13218
|
55
|
|
|
|
|
127
|
$_matched = 1; |
13219
|
55
|
|
|
|
|
110
|
last; |
13220
|
|
|
|
|
|
|
} |
13221
|
|
|
|
|
|
|
|
13222
|
|
|
|
|
|
|
splice |
13223
|
102
|
100
|
|
|
|
313
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
47
|
|
|
|
|
122
|
|
13224
|
|
|
|
|
|
|
|
13225
|
102
|
|
66
|
|
|
446
|
while (!$_matched && !$commit) |
13226
|
|
|
|
|
|
|
{ |
13227
|
|
|
|
|
|
|
|
13228
|
47
|
50
|
|
|
|
122
|
Parse::RecDescent::_trace(q{Trying production: [STRING]}, |
13229
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13230
|
|
|
|
|
|
|
q{bodyextra}, |
13231
|
|
|
|
|
|
|
$tracelevel) |
13232
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13233
|
47
|
|
|
|
|
100
|
my $thisprod = $thisrule->{"prods"}[1]; |
13234
|
47
|
|
|
|
|
105
|
$text = $_[1]; |
13235
|
47
|
|
|
|
|
74
|
my $_savetext; |
13236
|
47
|
|
|
|
|
140
|
@item = (q{bodyextra}); |
13237
|
47
|
|
|
|
|
130
|
%item = (__RULE__ => q{bodyextra}); |
13238
|
47
|
|
|
|
|
104
|
my $repcount = 0; |
13239
|
|
|
|
|
|
|
|
13240
|
|
|
|
|
|
|
|
13241
|
47
|
50
|
|
|
|
125
|
Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, |
13242
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13243
|
|
|
|
|
|
|
q{bodyextra}, |
13244
|
|
|
|
|
|
|
$tracelevel) |
13245
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13246
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
277
|
|
|
47
|
|
|
|
|
147
|
|
13247
|
47
|
|
|
|
|
137
|
$expectation->is(q{})->at($text); |
13248
|
47
|
50
|
|
47
|
|
530
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
47
|
|
|
|
|
112
|
|
13249
|
|
|
|
|
|
|
{ |
13250
|
|
|
|
|
|
|
|
13251
|
47
|
50
|
|
|
|
132
|
Parse::RecDescent::_trace(q{<>}, |
13252
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13253
|
|
|
|
|
|
|
q{bodyextra}, |
13254
|
|
|
|
|
|
|
$tracelevel) |
13255
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13256
|
47
|
|
|
|
|
174
|
$expectation->failed(); |
13257
|
47
|
|
|
|
|
256
|
last; |
13258
|
|
|
|
|
|
|
} |
13259
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} |
13260
|
|
|
|
|
|
|
. $_tok . q{]}, |
13261
|
|
|
|
|
|
|
|
13262
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13263
|
|
|
|
|
|
|
q{bodyextra}, |
13264
|
|
|
|
|
|
|
$tracelevel) |
13265
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13266
|
0
|
|
|
|
|
0
|
$item{q{STRING}} = $_tok; |
13267
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
13268
|
|
|
|
|
|
|
|
13269
|
|
|
|
|
|
|
} |
13270
|
|
|
|
|
|
|
|
13271
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, |
13272
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13273
|
|
|
|
|
|
|
q{bodyextra}, |
13274
|
|
|
|
|
|
|
$tracelevel) |
13275
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13276
|
|
|
|
|
|
|
|
13277
|
|
|
|
|
|
|
|
13278
|
|
|
|
|
|
|
|
13279
|
0
|
|
|
|
|
0
|
$_matched = 1; |
13280
|
0
|
|
|
|
|
0
|
last; |
13281
|
|
|
|
|
|
|
} |
13282
|
|
|
|
|
|
|
|
13283
|
|
|
|
|
|
|
splice |
13284
|
102
|
100
|
|
|
|
350
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
47
|
|
|
|
|
118
|
|
13285
|
|
|
|
|
|
|
|
13286
|
102
|
|
66
|
|
|
446
|
while (!$_matched && !$commit) |
13287
|
|
|
|
|
|
|
{ |
13288
|
|
|
|
|
|
|
|
13289
|
47
|
50
|
|
|
|
179
|
Parse::RecDescent::_trace(q{Trying production: [STRINGS]}, |
13290
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13291
|
|
|
|
|
|
|
q{bodyextra}, |
13292
|
|
|
|
|
|
|
$tracelevel) |
13293
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13294
|
47
|
|
|
|
|
149
|
my $thisprod = $thisrule->{"prods"}[2]; |
13295
|
47
|
|
|
|
|
106
|
$text = $_[1]; |
13296
|
47
|
|
|
|
|
105
|
my $_savetext; |
13297
|
47
|
|
|
|
|
147
|
@item = (q{bodyextra}); |
13298
|
47
|
|
|
|
|
145
|
%item = (__RULE__ => q{bodyextra}); |
13299
|
47
|
|
|
|
|
95
|
my $repcount = 0; |
13300
|
|
|
|
|
|
|
|
13301
|
|
|
|
|
|
|
|
13302
|
47
|
50
|
|
|
|
107
|
Parse::RecDescent::_trace(q{Trying subrule: [STRINGS]}, |
13303
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13304
|
|
|
|
|
|
|
q{bodyextra}, |
13305
|
|
|
|
|
|
|
$tracelevel) |
13306
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13307
|
1
|
|
|
1
|
|
7
|
if (1) { no strict qw{refs}; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
8134
|
|
|
47
|
|
|
|
|
112
|
|
13308
|
47
|
|
|
|
|
162
|
$expectation->is(q{})->at($text); |
13309
|
47
|
50
|
|
47
|
|
593
|
unless (defined ($_tok = Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse::STRINGS($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef))) |
|
47
|
|
|
|
|
110
|
|
13310
|
|
|
|
|
|
|
{ |
13311
|
|
|
|
|
|
|
|
13312
|
47
|
50
|
|
|
|
132
|
Parse::RecDescent::_trace(q{<>}, |
13313
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13314
|
|
|
|
|
|
|
q{bodyextra}, |
13315
|
|
|
|
|
|
|
$tracelevel) |
13316
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13317
|
47
|
|
|
|
|
161
|
$expectation->failed(); |
13318
|
47
|
|
|
|
|
197
|
last; |
13319
|
|
|
|
|
|
|
} |
13320
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched subrule: [STRINGS]<< (return value: [} |
13321
|
|
|
|
|
|
|
. $_tok . q{]}, |
13322
|
|
|
|
|
|
|
|
13323
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13324
|
|
|
|
|
|
|
q{bodyextra}, |
13325
|
|
|
|
|
|
|
$tracelevel) |
13326
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13327
|
0
|
|
|
|
|
0
|
$item{q{STRINGS}} = $_tok; |
13328
|
0
|
|
|
|
|
0
|
push @item, $_tok; |
13329
|
|
|
|
|
|
|
|
13330
|
|
|
|
|
|
|
} |
13331
|
|
|
|
|
|
|
|
13332
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched production: [STRINGS]<<}, |
13333
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13334
|
|
|
|
|
|
|
q{bodyextra}, |
13335
|
|
|
|
|
|
|
$tracelevel) |
13336
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13337
|
|
|
|
|
|
|
|
13338
|
|
|
|
|
|
|
|
13339
|
|
|
|
|
|
|
|
13340
|
0
|
|
|
|
|
0
|
$_matched = 1; |
13341
|
0
|
|
|
|
|
0
|
last; |
13342
|
|
|
|
|
|
|
} |
13343
|
|
|
|
|
|
|
|
13344
|
|
|
|
|
|
|
splice |
13345
|
102
|
100
|
|
|
|
446
|
@{$thisparser->{deferred}}, $def_at unless $_matched; |
|
47
|
|
|
|
|
113
|
|
13346
|
|
|
|
|
|
|
|
13347
|
102
|
100
|
66
|
|
|
403
|
unless ( $_matched || defined($score) ) |
13348
|
|
|
|
|
|
|
{ |
13349
|
47
|
|
|
|
|
111
|
splice @{$thisparser->{deferred}}, $def_at; |
|
47
|
|
|
|
|
97
|
|
13350
|
|
|
|
|
|
|
|
13351
|
|
|
|
|
|
|
|
13352
|
47
|
|
|
|
|
128
|
$_[1] = $text; # NOT SURE THIS IS NEEDED |
13353
|
47
|
50
|
|
|
|
117
|
Parse::RecDescent::_trace(q{<>}, |
13354
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($_[1]), |
13355
|
|
|
|
|
|
|
q{bodyextra}, |
13356
|
|
|
|
|
|
|
$tracelevel) |
13357
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13358
|
47
|
|
|
|
|
229
|
return undef; |
13359
|
|
|
|
|
|
|
} |
13360
|
55
|
50
|
33
|
|
|
358
|
if (!defined($return) && defined($score)) |
13361
|
|
|
|
|
|
|
{ |
13362
|
0
|
0
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", |
13363
|
|
|
|
|
|
|
q{bodyextra}, |
13364
|
|
|
|
|
|
|
$tracelevel) |
13365
|
|
|
|
|
|
|
if defined $::RD_TRACE; |
13366
|
0
|
|
|
|
|
0
|
$return = $score_return; |
13367
|
|
|
|
|
|
|
} |
13368
|
55
|
|
|
|
|
124
|
splice @{$thisparser->{errors}}, $err_at; |
|
55
|
|
|
|
|
165
|
|
13369
|
55
|
50
|
|
|
|
256
|
$return = $item[$#item] unless defined $return; |
13370
|
55
|
50
|
|
|
|
209
|
if (defined $::RD_TRACE) |
13371
|
|
|
|
|
|
|
{ |
13372
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . |
13373
|
|
|
|
|
|
|
$return . q{])}, "", |
13374
|
|
|
|
|
|
|
q{bodyextra}, |
13375
|
|
|
|
|
|
|
$tracelevel); |
13376
|
0
|
|
|
|
|
0
|
Parse::RecDescent::_trace(q{(consumed: [} . |
13377
|
|
|
|
|
|
|
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, |
13378
|
|
|
|
|
|
|
Parse::RecDescent::_tracefirst($text), |
13379
|
|
|
|
|
|
|
, q{bodyextra}, |
13380
|
|
|
|
|
|
|
$tracelevel) |
13381
|
|
|
|
|
|
|
} |
13382
|
55
|
|
|
|
|
152
|
$_[1] = $text; |
13383
|
55
|
|
|
|
|
293
|
return $return; |
13384
|
|
|
|
|
|
|
} |
13385
|
|
|
|
|
|
|
} |
13386
|
1
|
|
|
1
|
0
|
1092
|
package Mail::IMAPClient::BodyStructure::Parse; sub new { my $self = bless( { |
13387
|
|
|
|
|
|
|
'localvars' => '', |
13388
|
|
|
|
|
|
|
'startcode' => '', |
13389
|
|
|
|
|
|
|
'rules' => { |
13390
|
|
|
|
|
|
|
'envelopestruct' => bless( { |
13391
|
|
|
|
|
|
|
'calls' => [ |
13392
|
|
|
|
|
|
|
'date', |
13393
|
|
|
|
|
|
|
'subject', |
13394
|
|
|
|
|
|
|
'from', |
13395
|
|
|
|
|
|
|
'sender', |
13396
|
|
|
|
|
|
|
'replyto', |
13397
|
|
|
|
|
|
|
'to', |
13398
|
|
|
|
|
|
|
'cc', |
13399
|
|
|
|
|
|
|
'bcc', |
13400
|
|
|
|
|
|
|
'inreplyto', |
13401
|
|
|
|
|
|
|
'messageid' |
13402
|
|
|
|
|
|
|
], |
13403
|
|
|
|
|
|
|
'prods' => [ |
13404
|
|
|
|
|
|
|
bless( { |
13405
|
|
|
|
|
|
|
'error' => undef, |
13406
|
|
|
|
|
|
|
'number' => 0, |
13407
|
|
|
|
|
|
|
'patcount' => 0, |
13408
|
|
|
|
|
|
|
'line' => undef, |
13409
|
|
|
|
|
|
|
'items' => [ |
13410
|
|
|
|
|
|
|
bless( { |
13411
|
|
|
|
|
|
|
'lookahead' => 0, |
13412
|
|
|
|
|
|
|
'pattern' => '(', |
13413
|
|
|
|
|
|
|
'line' => 105, |
13414
|
|
|
|
|
|
|
'description' => '\'(\'', |
13415
|
|
|
|
|
|
|
'hashname' => '__STRING1__' |
13416
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
13417
|
|
|
|
|
|
|
bless( { |
13418
|
|
|
|
|
|
|
'line' => 105, |
13419
|
|
|
|
|
|
|
'implicit' => undef, |
13420
|
|
|
|
|
|
|
'subrule' => 'date', |
13421
|
|
|
|
|
|
|
'lookahead' => 0, |
13422
|
|
|
|
|
|
|
'argcode' => undef, |
13423
|
|
|
|
|
|
|
'matchrule' => 0 |
13424
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13425
|
|
|
|
|
|
|
bless( { |
13426
|
|
|
|
|
|
|
'matchrule' => 0, |
13427
|
|
|
|
|
|
|
'lookahead' => 0, |
13428
|
|
|
|
|
|
|
'line' => 105, |
13429
|
|
|
|
|
|
|
'implicit' => undef, |
13430
|
|
|
|
|
|
|
'subrule' => 'subject', |
13431
|
|
|
|
|
|
|
'argcode' => undef |
13432
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13433
|
|
|
|
|
|
|
bless( { |
13434
|
|
|
|
|
|
|
'implicit' => undef, |
13435
|
|
|
|
|
|
|
'line' => 105, |
13436
|
|
|
|
|
|
|
'subrule' => 'from', |
13437
|
|
|
|
|
|
|
'lookahead' => 0, |
13438
|
|
|
|
|
|
|
'argcode' => undef, |
13439
|
|
|
|
|
|
|
'matchrule' => 0 |
13440
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13441
|
|
|
|
|
|
|
bless( { |
13442
|
|
|
|
|
|
|
'matchrule' => 0, |
13443
|
|
|
|
|
|
|
'argcode' => undef, |
13444
|
|
|
|
|
|
|
'implicit' => undef, |
13445
|
|
|
|
|
|
|
'line' => 105, |
13446
|
|
|
|
|
|
|
'subrule' => 'sender', |
13447
|
|
|
|
|
|
|
'lookahead' => 0 |
13448
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13449
|
|
|
|
|
|
|
bless( { |
13450
|
|
|
|
|
|
|
'lookahead' => 0, |
13451
|
|
|
|
|
|
|
'implicit' => undef, |
13452
|
|
|
|
|
|
|
'line' => 105, |
13453
|
|
|
|
|
|
|
'subrule' => 'replyto', |
13454
|
|
|
|
|
|
|
'argcode' => undef, |
13455
|
|
|
|
|
|
|
'matchrule' => 0 |
13456
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13457
|
|
|
|
|
|
|
bless( { |
13458
|
|
|
|
|
|
|
'matchrule' => 0, |
13459
|
|
|
|
|
|
|
'subrule' => 'to', |
13460
|
|
|
|
|
|
|
'implicit' => undef, |
13461
|
|
|
|
|
|
|
'line' => 105, |
13462
|
|
|
|
|
|
|
'lookahead' => 0, |
13463
|
|
|
|
|
|
|
'argcode' => undef |
13464
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13465
|
|
|
|
|
|
|
bless( { |
13466
|
|
|
|
|
|
|
'matchrule' => 0, |
13467
|
|
|
|
|
|
|
'argcode' => undef, |
13468
|
|
|
|
|
|
|
'subrule' => 'cc', |
13469
|
|
|
|
|
|
|
'implicit' => undef, |
13470
|
|
|
|
|
|
|
'line' => 105, |
13471
|
|
|
|
|
|
|
'lookahead' => 0 |
13472
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13473
|
|
|
|
|
|
|
bless( { |
13474
|
|
|
|
|
|
|
'matchrule' => 0, |
13475
|
|
|
|
|
|
|
'implicit' => undef, |
13476
|
|
|
|
|
|
|
'subrule' => 'bcc', |
13477
|
|
|
|
|
|
|
'line' => 106, |
13478
|
|
|
|
|
|
|
'lookahead' => 0, |
13479
|
|
|
|
|
|
|
'argcode' => undef |
13480
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13481
|
|
|
|
|
|
|
bless( { |
13482
|
|
|
|
|
|
|
'matchrule' => 0, |
13483
|
|
|
|
|
|
|
'lookahead' => 0, |
13484
|
|
|
|
|
|
|
'line' => 106, |
13485
|
|
|
|
|
|
|
'implicit' => undef, |
13486
|
|
|
|
|
|
|
'subrule' => 'inreplyto', |
13487
|
|
|
|
|
|
|
'argcode' => undef |
13488
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13489
|
|
|
|
|
|
|
bless( { |
13490
|
|
|
|
|
|
|
'argcode' => undef, |
13491
|
|
|
|
|
|
|
'lookahead' => 0, |
13492
|
|
|
|
|
|
|
'implicit' => undef, |
13493
|
|
|
|
|
|
|
'line' => 106, |
13494
|
|
|
|
|
|
|
'subrule' => 'messageid', |
13495
|
|
|
|
|
|
|
'matchrule' => 0 |
13496
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13497
|
|
|
|
|
|
|
bless( { |
13498
|
|
|
|
|
|
|
'description' => '\')\'', |
13499
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
13500
|
|
|
|
|
|
|
'lookahead' => 0, |
13501
|
|
|
|
|
|
|
'line' => 106, |
13502
|
|
|
|
|
|
|
'pattern' => ')' |
13503
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
13504
|
|
|
|
|
|
|
bless( { |
13505
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
13506
|
|
|
|
|
|
|
'code' => '{ $return = bless {}, "Mail::IMAPClient::BodyStructure::Envelope"; |
13507
|
|
|
|
|
|
|
$return->{$_} = $item{$_} |
13508
|
|
|
|
|
|
|
for qw/date subject from sender replyto to cc/ |
13509
|
|
|
|
|
|
|
, qw/bcc inreplyto messageid/; |
13510
|
|
|
|
|
|
|
1; |
13511
|
|
|
|
|
|
|
}', |
13512
|
|
|
|
|
|
|
'line' => 107, |
13513
|
|
|
|
|
|
|
'lookahead' => 0 |
13514
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
13515
|
|
|
|
|
|
|
], |
13516
|
|
|
|
|
|
|
'dircount' => 0, |
13517
|
|
|
|
|
|
|
'strcount' => 2, |
13518
|
|
|
|
|
|
|
'uncommit' => undef, |
13519
|
|
|
|
|
|
|
'actcount' => 1 |
13520
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13521
|
|
|
|
|
|
|
], |
13522
|
|
|
|
|
|
|
'line' => 105, |
13523
|
|
|
|
|
|
|
'opcount' => 0, |
13524
|
|
|
|
|
|
|
'name' => 'envelopestruct', |
13525
|
|
|
|
|
|
|
'changed' => 0, |
13526
|
|
|
|
|
|
|
'impcount' => 0, |
13527
|
|
|
|
|
|
|
'vars' => '' |
13528
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13529
|
|
|
|
|
|
|
'subpart' => bless( { |
13530
|
|
|
|
|
|
|
'name' => 'subpart', |
13531
|
|
|
|
|
|
|
'opcount' => 0, |
13532
|
|
|
|
|
|
|
'changed' => 0, |
13533
|
|
|
|
|
|
|
'impcount' => 0, |
13534
|
|
|
|
|
|
|
'vars' => '', |
13535
|
|
|
|
|
|
|
'line' => 175, |
13536
|
|
|
|
|
|
|
'prods' => [ |
13537
|
|
|
|
|
|
|
bless( { |
13538
|
|
|
|
|
|
|
'actcount' => 1, |
13539
|
|
|
|
|
|
|
'uncommit' => undef, |
13540
|
|
|
|
|
|
|
'items' => [ |
13541
|
|
|
|
|
|
|
bless( { |
13542
|
|
|
|
|
|
|
'hashname' => '__STRING1__', |
13543
|
|
|
|
|
|
|
'description' => '\'(\'', |
13544
|
|
|
|
|
|
|
'line' => 175, |
13545
|
|
|
|
|
|
|
'pattern' => '(', |
13546
|
|
|
|
|
|
|
'lookahead' => 0 |
13547
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
13548
|
|
|
|
|
|
|
bless( { |
13549
|
|
|
|
|
|
|
'argcode' => undef, |
13550
|
|
|
|
|
|
|
'lookahead' => 0, |
13551
|
|
|
|
|
|
|
'implicit' => undef, |
13552
|
|
|
|
|
|
|
'subrule' => 'part', |
13553
|
|
|
|
|
|
|
'line' => 175, |
13554
|
|
|
|
|
|
|
'matchrule' => 0 |
13555
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13556
|
|
|
|
|
|
|
bless( { |
13557
|
|
|
|
|
|
|
'line' => 175, |
13558
|
|
|
|
|
|
|
'pattern' => ')', |
13559
|
|
|
|
|
|
|
'lookahead' => 0, |
13560
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
13561
|
|
|
|
|
|
|
'description' => '\')\'' |
13562
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
13563
|
|
|
|
|
|
|
bless( { |
13564
|
|
|
|
|
|
|
'line' => 175, |
13565
|
|
|
|
|
|
|
'lookahead' => 0, |
13566
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
13567
|
|
|
|
|
|
|
'code' => '{$return = $item{part}}' |
13568
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ), |
13569
|
|
|
|
|
|
|
bless( { |
13570
|
|
|
|
|
|
|
'line' => 175, |
13571
|
|
|
|
|
|
|
'lookahead' => 0, |
13572
|
|
|
|
|
|
|
'code' => 'push @{$thisparser->{deferred}}, sub { ++$subpartCount; };', |
13573
|
|
|
|
|
|
|
'hashname' => '__DIRECTIVE1__', |
13574
|
|
|
|
|
|
|
'name' => '' |
13575
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Directive' ) |
13576
|
|
|
|
|
|
|
], |
13577
|
|
|
|
|
|
|
'dircount' => 1, |
13578
|
|
|
|
|
|
|
'line' => undef, |
13579
|
|
|
|
|
|
|
'strcount' => 2, |
13580
|
|
|
|
|
|
|
'number' => 0, |
13581
|
|
|
|
|
|
|
'patcount' => 0, |
13582
|
|
|
|
|
|
|
'error' => undef |
13583
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13584
|
|
|
|
|
|
|
], |
13585
|
|
|
|
|
|
|
'calls' => [ |
13586
|
|
|
|
|
|
|
'part' |
13587
|
|
|
|
|
|
|
] |
13588
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13589
|
|
|
|
|
|
|
'NIL' => bless( { |
13590
|
|
|
|
|
|
|
'opcount' => 0, |
13591
|
|
|
|
|
|
|
'name' => 'NIL', |
13592
|
|
|
|
|
|
|
'changed' => 0, |
13593
|
|
|
|
|
|
|
'impcount' => 0, |
13594
|
|
|
|
|
|
|
'vars' => '', |
13595
|
|
|
|
|
|
|
'prods' => [ |
13596
|
|
|
|
|
|
|
bless( { |
13597
|
|
|
|
|
|
|
'actcount' => 1, |
13598
|
|
|
|
|
|
|
'uncommit' => undef, |
13599
|
|
|
|
|
|
|
'strcount' => 0, |
13600
|
|
|
|
|
|
|
'dircount' => 0, |
13601
|
|
|
|
|
|
|
'line' => undef, |
13602
|
|
|
|
|
|
|
'items' => [ |
13603
|
|
|
|
|
|
|
bless( { |
13604
|
|
|
|
|
|
|
'description' => '/^NIL/i', |
13605
|
|
|
|
|
|
|
'mod' => 'i', |
13606
|
|
|
|
|
|
|
'ldelim' => '/', |
13607
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
13608
|
|
|
|
|
|
|
'rdelim' => '/', |
13609
|
|
|
|
|
|
|
'lookahead' => 0, |
13610
|
|
|
|
|
|
|
'line' => 34, |
13611
|
|
|
|
|
|
|
'pattern' => '^NIL' |
13612
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
13613
|
|
|
|
|
|
|
bless( { |
13614
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
13615
|
|
|
|
|
|
|
'code' => '{ $return = "NIL" }', |
13616
|
|
|
|
|
|
|
'lookahead' => 0, |
13617
|
|
|
|
|
|
|
'line' => 34 |
13618
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
13619
|
|
|
|
|
|
|
], |
13620
|
|
|
|
|
|
|
'patcount' => 1, |
13621
|
|
|
|
|
|
|
'number' => 0, |
13622
|
|
|
|
|
|
|
'error' => undef |
13623
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13624
|
|
|
|
|
|
|
], |
13625
|
|
|
|
|
|
|
'calls' => [], |
13626
|
|
|
|
|
|
|
'line' => 34 |
13627
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13628
|
|
|
|
|
|
|
'PLAIN' => bless( { |
13629
|
|
|
|
|
|
|
'opcount' => 0, |
13630
|
|
|
|
|
|
|
'name' => 'PLAIN', |
13631
|
|
|
|
|
|
|
'impcount' => 0, |
13632
|
|
|
|
|
|
|
'changed' => 0, |
13633
|
|
|
|
|
|
|
'vars' => '', |
13634
|
|
|
|
|
|
|
'line' => 30, |
13635
|
|
|
|
|
|
|
'prods' => [ |
13636
|
|
|
|
|
|
|
bless( { |
13637
|
|
|
|
|
|
|
'error' => undef, |
13638
|
|
|
|
|
|
|
'actcount' => 1, |
13639
|
|
|
|
|
|
|
'uncommit' => undef, |
13640
|
|
|
|
|
|
|
'strcount' => 0, |
13641
|
|
|
|
|
|
|
'line' => undef, |
13642
|
|
|
|
|
|
|
'dircount' => 0, |
13643
|
|
|
|
|
|
|
'items' => [ |
13644
|
|
|
|
|
|
|
bless( { |
13645
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
13646
|
|
|
|
|
|
|
'rdelim' => '/', |
13647
|
|
|
|
|
|
|
'pattern' => '^"PLAIN"|^PLAIN', |
13648
|
|
|
|
|
|
|
'line' => 30, |
13649
|
|
|
|
|
|
|
'lookahead' => 0, |
13650
|
|
|
|
|
|
|
'mod' => 'i', |
13651
|
|
|
|
|
|
|
'description' => '/^"PLAIN"|^PLAIN/i', |
13652
|
|
|
|
|
|
|
'ldelim' => '/' |
13653
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
13654
|
|
|
|
|
|
|
bless( { |
13655
|
|
|
|
|
|
|
'lookahead' => 0, |
13656
|
|
|
|
|
|
|
'line' => 30, |
13657
|
|
|
|
|
|
|
'code' => '{ $return = "PLAIN" }', |
13658
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
13659
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
13660
|
|
|
|
|
|
|
], |
13661
|
|
|
|
|
|
|
'patcount' => 1, |
13662
|
|
|
|
|
|
|
'number' => 0 |
13663
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13664
|
|
|
|
|
|
|
], |
13665
|
|
|
|
|
|
|
'calls' => [] |
13666
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13667
|
|
|
|
|
|
|
'RFC822' => bless( { |
13668
|
|
|
|
|
|
|
'prods' => [ |
13669
|
|
|
|
|
|
|
bless( { |
13670
|
|
|
|
|
|
|
'error' => undef, |
13671
|
|
|
|
|
|
|
'actcount' => 1, |
13672
|
|
|
|
|
|
|
'uncommit' => undef, |
13673
|
|
|
|
|
|
|
'strcount' => 0, |
13674
|
|
|
|
|
|
|
'items' => [ |
13675
|
|
|
|
|
|
|
bless( { |
13676
|
|
|
|
|
|
|
'line' => 33, |
13677
|
|
|
|
|
|
|
'pattern' => '^"RFC822"|^RFC822', |
13678
|
|
|
|
|
|
|
'lookahead' => 0, |
13679
|
|
|
|
|
|
|
'rdelim' => '/', |
13680
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
13681
|
|
|
|
|
|
|
'ldelim' => '/', |
13682
|
|
|
|
|
|
|
'description' => '/^"RFC822"|^RFC822/i', |
13683
|
|
|
|
|
|
|
'mod' => 'i' |
13684
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
13685
|
|
|
|
|
|
|
bless( { |
13686
|
|
|
|
|
|
|
'code' => '{ $return = "RFC822" }', |
13687
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
13688
|
|
|
|
|
|
|
'lookahead' => 0, |
13689
|
|
|
|
|
|
|
'line' => 33 |
13690
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
13691
|
|
|
|
|
|
|
], |
13692
|
|
|
|
|
|
|
'line' => undef, |
13693
|
|
|
|
|
|
|
'dircount' => 0, |
13694
|
|
|
|
|
|
|
'patcount' => 1, |
13695
|
|
|
|
|
|
|
'number' => 0 |
13696
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13697
|
|
|
|
|
|
|
], |
13698
|
|
|
|
|
|
|
'calls' => [], |
13699
|
|
|
|
|
|
|
'line' => 33, |
13700
|
|
|
|
|
|
|
'vars' => '', |
13701
|
|
|
|
|
|
|
'impcount' => 0, |
13702
|
|
|
|
|
|
|
'changed' => 0, |
13703
|
|
|
|
|
|
|
'opcount' => 0, |
13704
|
|
|
|
|
|
|
'name' => 'RFC822' |
13705
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13706
|
|
|
|
|
|
|
'bodysubtype' => bless( { |
13707
|
|
|
|
|
|
|
'vars' => '', |
13708
|
|
|
|
|
|
|
'impcount' => 0, |
13709
|
|
|
|
|
|
|
'changed' => 0, |
13710
|
|
|
|
|
|
|
'opcount' => 0, |
13711
|
|
|
|
|
|
|
'name' => 'bodysubtype', |
13712
|
|
|
|
|
|
|
'line' => 54, |
13713
|
|
|
|
|
|
|
'prods' => [ |
13714
|
|
|
|
|
|
|
bless( { |
13715
|
|
|
|
|
|
|
'error' => undef, |
13716
|
|
|
|
|
|
|
'line' => undef, |
13717
|
|
|
|
|
|
|
'items' => [ |
13718
|
|
|
|
|
|
|
bless( { |
13719
|
|
|
|
|
|
|
'argcode' => undef, |
13720
|
|
|
|
|
|
|
'lookahead' => 0, |
13721
|
|
|
|
|
|
|
'subrule' => 'PLAIN', |
13722
|
|
|
|
|
|
|
'implicit' => undef, |
13723
|
|
|
|
|
|
|
'line' => 54, |
13724
|
|
|
|
|
|
|
'matchrule' => 0 |
13725
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
13726
|
|
|
|
|
|
|
], |
13727
|
|
|
|
|
|
|
'dircount' => 0, |
13728
|
|
|
|
|
|
|
'strcount' => 0, |
13729
|
|
|
|
|
|
|
'number' => 0, |
13730
|
|
|
|
|
|
|
'patcount' => 0, |
13731
|
|
|
|
|
|
|
'actcount' => 0, |
13732
|
|
|
|
|
|
|
'uncommit' => undef |
13733
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
13734
|
|
|
|
|
|
|
bless( { |
13735
|
|
|
|
|
|
|
'error' => undef, |
13736
|
|
|
|
|
|
|
'strcount' => 0, |
13737
|
|
|
|
|
|
|
'items' => [ |
13738
|
|
|
|
|
|
|
bless( { |
13739
|
|
|
|
|
|
|
'argcode' => undef, |
13740
|
|
|
|
|
|
|
'lookahead' => 0, |
13741
|
|
|
|
|
|
|
'line' => 54, |
13742
|
|
|
|
|
|
|
'implicit' => undef, |
13743
|
|
|
|
|
|
|
'subrule' => 'HTML', |
13744
|
|
|
|
|
|
|
'matchrule' => 0 |
13745
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
13746
|
|
|
|
|
|
|
], |
13747
|
|
|
|
|
|
|
'line' => 54, |
13748
|
|
|
|
|
|
|
'dircount' => 0, |
13749
|
|
|
|
|
|
|
'patcount' => 0, |
13750
|
|
|
|
|
|
|
'number' => 1, |
13751
|
|
|
|
|
|
|
'actcount' => 0, |
13752
|
|
|
|
|
|
|
'uncommit' => undef |
13753
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
13754
|
|
|
|
|
|
|
bless( { |
13755
|
|
|
|
|
|
|
'uncommit' => undef, |
13756
|
|
|
|
|
|
|
'actcount' => 0, |
13757
|
|
|
|
|
|
|
'number' => 2, |
13758
|
|
|
|
|
|
|
'patcount' => 0, |
13759
|
|
|
|
|
|
|
'line' => 54, |
13760
|
|
|
|
|
|
|
'items' => [ |
13761
|
|
|
|
|
|
|
bless( { |
13762
|
|
|
|
|
|
|
'argcode' => undef, |
13763
|
|
|
|
|
|
|
'lookahead' => 0, |
13764
|
|
|
|
|
|
|
'subrule' => 'NIL', |
13765
|
|
|
|
|
|
|
'implicit' => undef, |
13766
|
|
|
|
|
|
|
'line' => 54, |
13767
|
|
|
|
|
|
|
'matchrule' => 0 |
13768
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
13769
|
|
|
|
|
|
|
], |
13770
|
|
|
|
|
|
|
'dircount' => 0, |
13771
|
|
|
|
|
|
|
'strcount' => 0, |
13772
|
|
|
|
|
|
|
'error' => undef |
13773
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
13774
|
|
|
|
|
|
|
bless( { |
13775
|
|
|
|
|
|
|
'strcount' => 0, |
13776
|
|
|
|
|
|
|
'line' => 54, |
13777
|
|
|
|
|
|
|
'items' => [ |
13778
|
|
|
|
|
|
|
bless( { |
13779
|
|
|
|
|
|
|
'argcode' => undef, |
13780
|
|
|
|
|
|
|
'line' => 54, |
13781
|
|
|
|
|
|
|
'implicit' => undef, |
13782
|
|
|
|
|
|
|
'subrule' => 'STRING', |
13783
|
|
|
|
|
|
|
'lookahead' => 0, |
13784
|
|
|
|
|
|
|
'matchrule' => 0 |
13785
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
13786
|
|
|
|
|
|
|
], |
13787
|
|
|
|
|
|
|
'dircount' => 0, |
13788
|
|
|
|
|
|
|
'patcount' => 0, |
13789
|
|
|
|
|
|
|
'number' => 3, |
13790
|
|
|
|
|
|
|
'actcount' => 0, |
13791
|
|
|
|
|
|
|
'uncommit' => undef, |
13792
|
|
|
|
|
|
|
'error' => undef |
13793
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13794
|
|
|
|
|
|
|
], |
13795
|
|
|
|
|
|
|
'calls' => [ |
13796
|
|
|
|
|
|
|
'PLAIN', |
13797
|
|
|
|
|
|
|
'HTML', |
13798
|
|
|
|
|
|
|
'NIL', |
13799
|
|
|
|
|
|
|
'STRING' |
13800
|
|
|
|
|
|
|
] |
13801
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13802
|
|
|
|
|
|
|
'from' => bless( { |
13803
|
|
|
|
|
|
|
'opcount' => 0, |
13804
|
|
|
|
|
|
|
'name' => 'from', |
13805
|
|
|
|
|
|
|
'vars' => '', |
13806
|
|
|
|
|
|
|
'impcount' => 0, |
13807
|
|
|
|
|
|
|
'changed' => 0, |
13808
|
|
|
|
|
|
|
'calls' => [ |
13809
|
|
|
|
|
|
|
'ADDRESSES' |
13810
|
|
|
|
|
|
|
], |
13811
|
|
|
|
|
|
|
'prods' => [ |
13812
|
|
|
|
|
|
|
bless( { |
13813
|
|
|
|
|
|
|
'error' => undef, |
13814
|
|
|
|
|
|
|
'uncommit' => undef, |
13815
|
|
|
|
|
|
|
'actcount' => 0, |
13816
|
|
|
|
|
|
|
'patcount' => 0, |
13817
|
|
|
|
|
|
|
'number' => 0, |
13818
|
|
|
|
|
|
|
'strcount' => 0, |
13819
|
|
|
|
|
|
|
'items' => [ |
13820
|
|
|
|
|
|
|
bless( { |
13821
|
|
|
|
|
|
|
'matchrule' => 0, |
13822
|
|
|
|
|
|
|
'argcode' => undef, |
13823
|
|
|
|
|
|
|
'implicit' => undef, |
13824
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES', |
13825
|
|
|
|
|
|
|
'line' => 100, |
13826
|
|
|
|
|
|
|
'lookahead' => 0 |
13827
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
13828
|
|
|
|
|
|
|
], |
13829
|
|
|
|
|
|
|
'line' => undef, |
13830
|
|
|
|
|
|
|
'dircount' => 0 |
13831
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13832
|
|
|
|
|
|
|
], |
13833
|
|
|
|
|
|
|
'line' => 100 |
13834
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13835
|
|
|
|
|
|
|
'multipart' => bless( { |
13836
|
|
|
|
|
|
|
'prods' => [ |
13837
|
|
|
|
|
|
|
bless( { |
13838
|
|
|
|
|
|
|
'error' => undef, |
13839
|
|
|
|
|
|
|
'uncommit' => undef, |
13840
|
|
|
|
|
|
|
'actcount' => 1, |
13841
|
|
|
|
|
|
|
'number' => 0, |
13842
|
|
|
|
|
|
|
'patcount' => 0, |
13843
|
|
|
|
|
|
|
'line' => undef, |
13844
|
|
|
|
|
|
|
'dircount' => 2, |
13845
|
|
|
|
|
|
|
'items' => [ |
13846
|
|
|
|
|
|
|
bless( { |
13847
|
|
|
|
|
|
|
'matchrule' => 0, |
13848
|
|
|
|
|
|
|
'expected' => undef, |
13849
|
|
|
|
|
|
|
'repspec' => 's', |
13850
|
|
|
|
|
|
|
'min' => 1, |
13851
|
|
|
|
|
|
|
'argcode' => undef, |
13852
|
|
|
|
|
|
|
'max' => 100000000, |
13853
|
|
|
|
|
|
|
'subrule' => 'subpart', |
13854
|
|
|
|
|
|
|
'line' => 162, |
13855
|
|
|
|
|
|
|
'lookahead' => 0 |
13856
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13857
|
|
|
|
|
|
|
bless( { |
13858
|
|
|
|
|
|
|
'lookahead' => 0, |
13859
|
|
|
|
|
|
|
'line' => 162, |
13860
|
|
|
|
|
|
|
'name' => '', |
13861
|
|
|
|
|
|
|
'hashname' => '__DIRECTIVE1__', |
13862
|
|
|
|
|
|
|
'code' => '$commit = 1' |
13863
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Directive' ), |
13864
|
|
|
|
|
|
|
bless( { |
13865
|
|
|
|
|
|
|
'argcode' => undef, |
13866
|
|
|
|
|
|
|
'lookahead' => 0, |
13867
|
|
|
|
|
|
|
'subrule' => 'bodysubtype', |
13868
|
|
|
|
|
|
|
'implicit' => undef, |
13869
|
|
|
|
|
|
|
'line' => 162, |
13870
|
|
|
|
|
|
|
'matchrule' => 0 |
13871
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
13872
|
|
|
|
|
|
|
bless( { |
13873
|
|
|
|
|
|
|
'repspec' => '?', |
13874
|
|
|
|
|
|
|
'expected' => undef, |
13875
|
|
|
|
|
|
|
'matchrule' => 0, |
13876
|
|
|
|
|
|
|
'argcode' => undef, |
13877
|
|
|
|
|
|
|
'min' => 0, |
13878
|
|
|
|
|
|
|
'max' => 1, |
13879
|
|
|
|
|
|
|
'lookahead' => 0, |
13880
|
|
|
|
|
|
|
'line' => 163, |
13881
|
|
|
|
|
|
|
'subrule' => 'bodyparms' |
13882
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13883
|
|
|
|
|
|
|
bless( { |
13884
|
|
|
|
|
|
|
'min' => 0, |
13885
|
|
|
|
|
|
|
'argcode' => undef, |
13886
|
|
|
|
|
|
|
'matchrule' => 0, |
13887
|
|
|
|
|
|
|
'expected' => undef, |
13888
|
|
|
|
|
|
|
'repspec' => '?', |
13889
|
|
|
|
|
|
|
'line' => 163, |
13890
|
|
|
|
|
|
|
'subrule' => 'bodydisp', |
13891
|
|
|
|
|
|
|
'lookahead' => 0, |
13892
|
|
|
|
|
|
|
'max' => 1 |
13893
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13894
|
|
|
|
|
|
|
bless( { |
13895
|
|
|
|
|
|
|
'max' => 1, |
13896
|
|
|
|
|
|
|
'lookahead' => 0, |
13897
|
|
|
|
|
|
|
'line' => 163, |
13898
|
|
|
|
|
|
|
'subrule' => 'bodylang', |
13899
|
|
|
|
|
|
|
'repspec' => '?', |
13900
|
|
|
|
|
|
|
'expected' => undef, |
13901
|
|
|
|
|
|
|
'matchrule' => 0, |
13902
|
|
|
|
|
|
|
'argcode' => undef, |
13903
|
|
|
|
|
|
|
'min' => 0 |
13904
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13905
|
|
|
|
|
|
|
bless( { |
13906
|
|
|
|
|
|
|
'max' => 1, |
13907
|
|
|
|
|
|
|
'lookahead' => 0, |
13908
|
|
|
|
|
|
|
'line' => 163, |
13909
|
|
|
|
|
|
|
'subrule' => 'bodyloc', |
13910
|
|
|
|
|
|
|
'expected' => undef, |
13911
|
|
|
|
|
|
|
'matchrule' => 0, |
13912
|
|
|
|
|
|
|
'repspec' => '?', |
13913
|
|
|
|
|
|
|
'min' => 0, |
13914
|
|
|
|
|
|
|
'argcode' => undef |
13915
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13916
|
|
|
|
|
|
|
bless( { |
13917
|
|
|
|
|
|
|
'max' => 1, |
13918
|
|
|
|
|
|
|
'subrule' => 'bodyextra', |
13919
|
|
|
|
|
|
|
'line' => 163, |
13920
|
|
|
|
|
|
|
'lookahead' => 0, |
13921
|
|
|
|
|
|
|
'repspec' => '?', |
13922
|
|
|
|
|
|
|
'matchrule' => 0, |
13923
|
|
|
|
|
|
|
'expected' => undef, |
13924
|
|
|
|
|
|
|
'argcode' => undef, |
13925
|
|
|
|
|
|
|
'min' => 0 |
13926
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
13927
|
|
|
|
|
|
|
bless( { |
13928
|
|
|
|
|
|
|
'hashname' => '__DIRECTIVE2__', |
13929
|
|
|
|
|
|
|
'name' => '', |
13930
|
|
|
|
|
|
|
'code' => 'push @{$thisparser->{deferred}}, sub { $subpartCount = 0 };', |
13931
|
|
|
|
|
|
|
'line' => 164, |
13932
|
|
|
|
|
|
|
'lookahead' => 0 |
13933
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Directive' ), |
13934
|
|
|
|
|
|
|
bless( { |
13935
|
|
|
|
|
|
|
'lookahead' => 0, |
13936
|
|
|
|
|
|
|
'line' => 165, |
13937
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
13938
|
|
|
|
|
|
|
'code' => '{ $return = |
13939
|
|
|
|
|
|
|
{ bodysubtype => $item{bodysubtype} |
13940
|
|
|
|
|
|
|
, bodytype => \'MULTIPART\' |
13941
|
|
|
|
|
|
|
, bodystructure => $item{\'subpart(s)\'} |
13942
|
|
|
|
|
|
|
}; |
13943
|
|
|
|
|
|
|
take_optional_items($return, \\%item |
13944
|
|
|
|
|
|
|
, qw/bodyparms bodydisp bodylang bodyloc bodyextra/); |
13945
|
|
|
|
|
|
|
1; |
13946
|
|
|
|
|
|
|
}' |
13947
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
13948
|
|
|
|
|
|
|
], |
13949
|
|
|
|
|
|
|
'strcount' => 0 |
13950
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
13951
|
|
|
|
|
|
|
], |
13952
|
|
|
|
|
|
|
'calls' => [ |
13953
|
|
|
|
|
|
|
'subpart', |
13954
|
|
|
|
|
|
|
'bodysubtype', |
13955
|
|
|
|
|
|
|
'bodyparms', |
13956
|
|
|
|
|
|
|
'bodydisp', |
13957
|
|
|
|
|
|
|
'bodylang', |
13958
|
|
|
|
|
|
|
'bodyloc', |
13959
|
|
|
|
|
|
|
'bodyextra' |
13960
|
|
|
|
|
|
|
], |
13961
|
|
|
|
|
|
|
'line' => 162, |
13962
|
|
|
|
|
|
|
'vars' => '', |
13963
|
|
|
|
|
|
|
'impcount' => 0, |
13964
|
|
|
|
|
|
|
'changed' => 0, |
13965
|
|
|
|
|
|
|
'name' => 'multipart', |
13966
|
|
|
|
|
|
|
'opcount' => 0 |
13967
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
13968
|
|
|
|
|
|
|
'bodyid' => bless( { |
13969
|
|
|
|
|
|
|
'opcount' => 0, |
13970
|
|
|
|
|
|
|
'name' => 'bodyid', |
13971
|
|
|
|
|
|
|
'changed' => 0, |
13972
|
|
|
|
|
|
|
'impcount' => 0, |
13973
|
|
|
|
|
|
|
'vars' => '', |
13974
|
|
|
|
|
|
|
'calls' => [ |
13975
|
|
|
|
|
|
|
'NIL', |
13976
|
|
|
|
|
|
|
'STRING' |
13977
|
|
|
|
|
|
|
], |
13978
|
|
|
|
|
|
|
'prods' => [ |
13979
|
|
|
|
|
|
|
bless( { |
13980
|
|
|
|
|
|
|
'number' => 0, |
13981
|
|
|
|
|
|
|
'patcount' => 1, |
13982
|
|
|
|
|
|
|
'line' => undef, |
13983
|
|
|
|
|
|
|
'dircount' => 0, |
13984
|
|
|
|
|
|
|
'items' => [ |
13985
|
|
|
|
|
|
|
bless( { |
13986
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
13987
|
|
|
|
|
|
|
'rdelim' => '/', |
13988
|
|
|
|
|
|
|
'lookahead' => -1, |
13989
|
|
|
|
|
|
|
'line' => 68, |
13990
|
|
|
|
|
|
|
'pattern' => '[()]', |
13991
|
|
|
|
|
|
|
'mod' => '', |
13992
|
|
|
|
|
|
|
'description' => '/[()]/', |
13993
|
|
|
|
|
|
|
'ldelim' => '/' |
13994
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
13995
|
|
|
|
|
|
|
bless( { |
13996
|
|
|
|
|
|
|
'matchrule' => 0, |
13997
|
|
|
|
|
|
|
'line' => 68, |
13998
|
|
|
|
|
|
|
'implicit' => undef, |
13999
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14000
|
|
|
|
|
|
|
'lookahead' => 0, |
14001
|
|
|
|
|
|
|
'argcode' => undef |
14002
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14003
|
|
|
|
|
|
|
], |
14004
|
|
|
|
|
|
|
'strcount' => 0, |
14005
|
|
|
|
|
|
|
'uncommit' => undef, |
14006
|
|
|
|
|
|
|
'actcount' => 0, |
14007
|
|
|
|
|
|
|
'error' => undef |
14008
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14009
|
|
|
|
|
|
|
bless( { |
14010
|
|
|
|
|
|
|
'line' => 68, |
14011
|
|
|
|
|
|
|
'items' => [ |
14012
|
|
|
|
|
|
|
bless( { |
14013
|
|
|
|
|
|
|
'argcode' => undef, |
14014
|
|
|
|
|
|
|
'line' => 68, |
14015
|
|
|
|
|
|
|
'implicit' => undef, |
14016
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14017
|
|
|
|
|
|
|
'lookahead' => 0, |
14018
|
|
|
|
|
|
|
'matchrule' => 0 |
14019
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14020
|
|
|
|
|
|
|
], |
14021
|
|
|
|
|
|
|
'dircount' => 0, |
14022
|
|
|
|
|
|
|
'strcount' => 0, |
14023
|
|
|
|
|
|
|
'number' => 1, |
14024
|
|
|
|
|
|
|
'patcount' => 0, |
14025
|
|
|
|
|
|
|
'actcount' => 0, |
14026
|
|
|
|
|
|
|
'uncommit' => undef, |
14027
|
|
|
|
|
|
|
'error' => undef |
14028
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14029
|
|
|
|
|
|
|
], |
14030
|
|
|
|
|
|
|
'line' => 68 |
14031
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14032
|
|
|
|
|
|
|
'bodylang' => bless( { |
14033
|
|
|
|
|
|
|
'line' => 73, |
14034
|
|
|
|
|
|
|
'calls' => [ |
14035
|
|
|
|
|
|
|
'NIL', |
14036
|
|
|
|
|
|
|
'STRING', |
14037
|
|
|
|
|
|
|
'STRINGS' |
14038
|
|
|
|
|
|
|
], |
14039
|
|
|
|
|
|
|
'prods' => [ |
14040
|
|
|
|
|
|
|
bless( { |
14041
|
|
|
|
|
|
|
'error' => undef, |
14042
|
|
|
|
|
|
|
'number' => 0, |
14043
|
|
|
|
|
|
|
'patcount' => 0, |
14044
|
|
|
|
|
|
|
'line' => undef, |
14045
|
|
|
|
|
|
|
'items' => [ |
14046
|
|
|
|
|
|
|
bless( { |
14047
|
|
|
|
|
|
|
'lookahead' => 0, |
14048
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14049
|
|
|
|
|
|
|
'implicit' => undef, |
14050
|
|
|
|
|
|
|
'line' => 73, |
14051
|
|
|
|
|
|
|
'argcode' => undef, |
14052
|
|
|
|
|
|
|
'matchrule' => 0 |
14053
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14054
|
|
|
|
|
|
|
], |
14055
|
|
|
|
|
|
|
'dircount' => 0, |
14056
|
|
|
|
|
|
|
'strcount' => 0, |
14057
|
|
|
|
|
|
|
'uncommit' => undef, |
14058
|
|
|
|
|
|
|
'actcount' => 0 |
14059
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14060
|
|
|
|
|
|
|
bless( { |
14061
|
|
|
|
|
|
|
'uncommit' => undef, |
14062
|
|
|
|
|
|
|
'actcount' => 0, |
14063
|
|
|
|
|
|
|
'patcount' => 0, |
14064
|
|
|
|
|
|
|
'number' => 1, |
14065
|
|
|
|
|
|
|
'strcount' => 0, |
14066
|
|
|
|
|
|
|
'items' => [ |
14067
|
|
|
|
|
|
|
bless( { |
14068
|
|
|
|
|
|
|
'matchrule' => 0, |
14069
|
|
|
|
|
|
|
'argcode' => undef, |
14070
|
|
|
|
|
|
|
'implicit' => undef, |
14071
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14072
|
|
|
|
|
|
|
'line' => 73, |
14073
|
|
|
|
|
|
|
'lookahead' => 0 |
14074
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14075
|
|
|
|
|
|
|
], |
14076
|
|
|
|
|
|
|
'dircount' => 0, |
14077
|
|
|
|
|
|
|
'line' => 73, |
14078
|
|
|
|
|
|
|
'error' => undef |
14079
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14080
|
|
|
|
|
|
|
bless( { |
14081
|
|
|
|
|
|
|
'uncommit' => undef, |
14082
|
|
|
|
|
|
|
'actcount' => 0, |
14083
|
|
|
|
|
|
|
'number' => 2, |
14084
|
|
|
|
|
|
|
'patcount' => 0, |
14085
|
|
|
|
|
|
|
'items' => [ |
14086
|
|
|
|
|
|
|
bless( { |
14087
|
|
|
|
|
|
|
'matchrule' => 0, |
14088
|
|
|
|
|
|
|
'lookahead' => 0, |
14089
|
|
|
|
|
|
|
'implicit' => undef, |
14090
|
|
|
|
|
|
|
'line' => 73, |
14091
|
|
|
|
|
|
|
'subrule' => 'STRINGS', |
14092
|
|
|
|
|
|
|
'argcode' => undef |
14093
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14094
|
|
|
|
|
|
|
], |
14095
|
|
|
|
|
|
|
'line' => 73, |
14096
|
|
|
|
|
|
|
'dircount' => 0, |
14097
|
|
|
|
|
|
|
'strcount' => 0, |
14098
|
|
|
|
|
|
|
'error' => undef |
14099
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14100
|
|
|
|
|
|
|
], |
14101
|
|
|
|
|
|
|
'opcount' => 0, |
14102
|
|
|
|
|
|
|
'name' => 'bodylang', |
14103
|
|
|
|
|
|
|
'vars' => '', |
14104
|
|
|
|
|
|
|
'impcount' => 0, |
14105
|
|
|
|
|
|
|
'changed' => 0 |
14106
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14107
|
|
|
|
|
|
|
'bodyloc' => bless( { |
14108
|
|
|
|
|
|
|
'line' => 75, |
14109
|
|
|
|
|
|
|
'calls' => [ |
14110
|
|
|
|
|
|
|
'NIL', |
14111
|
|
|
|
|
|
|
'STRING' |
14112
|
|
|
|
|
|
|
], |
14113
|
|
|
|
|
|
|
'prods' => [ |
14114
|
|
|
|
|
|
|
bless( { |
14115
|
|
|
|
|
|
|
'error' => undef, |
14116
|
|
|
|
|
|
|
'uncommit' => undef, |
14117
|
|
|
|
|
|
|
'actcount' => 0, |
14118
|
|
|
|
|
|
|
'number' => 0, |
14119
|
|
|
|
|
|
|
'patcount' => 0, |
14120
|
|
|
|
|
|
|
'items' => [ |
14121
|
|
|
|
|
|
|
bless( { |
14122
|
|
|
|
|
|
|
'matchrule' => 0, |
14123
|
|
|
|
|
|
|
'argcode' => undef, |
14124
|
|
|
|
|
|
|
'implicit' => undef, |
14125
|
|
|
|
|
|
|
'line' => 75, |
14126
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14127
|
|
|
|
|
|
|
'lookahead' => 0 |
14128
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14129
|
|
|
|
|
|
|
], |
14130
|
|
|
|
|
|
|
'line' => undef, |
14131
|
|
|
|
|
|
|
'dircount' => 0, |
14132
|
|
|
|
|
|
|
'strcount' => 0 |
14133
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14134
|
|
|
|
|
|
|
bless( { |
14135
|
|
|
|
|
|
|
'error' => undef, |
14136
|
|
|
|
|
|
|
'strcount' => 0, |
14137
|
|
|
|
|
|
|
'items' => [ |
14138
|
|
|
|
|
|
|
bless( { |
14139
|
|
|
|
|
|
|
'implicit' => undef, |
14140
|
|
|
|
|
|
|
'line' => 75, |
14141
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14142
|
|
|
|
|
|
|
'lookahead' => 0, |
14143
|
|
|
|
|
|
|
'argcode' => undef, |
14144
|
|
|
|
|
|
|
'matchrule' => 0 |
14145
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14146
|
|
|
|
|
|
|
], |
14147
|
|
|
|
|
|
|
'line' => 75, |
14148
|
|
|
|
|
|
|
'dircount' => 0, |
14149
|
|
|
|
|
|
|
'patcount' => 0, |
14150
|
|
|
|
|
|
|
'number' => 1, |
14151
|
|
|
|
|
|
|
'actcount' => 0, |
14152
|
|
|
|
|
|
|
'uncommit' => undef |
14153
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14154
|
|
|
|
|
|
|
], |
14155
|
|
|
|
|
|
|
'opcount' => 0, |
14156
|
|
|
|
|
|
|
'name' => 'bodyloc', |
14157
|
|
|
|
|
|
|
'vars' => '', |
14158
|
|
|
|
|
|
|
'impcount' => 0, |
14159
|
|
|
|
|
|
|
'changed' => 0 |
14160
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14161
|
|
|
|
|
|
|
'inreplyto' => bless( { |
14162
|
|
|
|
|
|
|
'opcount' => 0, |
14163
|
|
|
|
|
|
|
'name' => 'inreplyto', |
14164
|
|
|
|
|
|
|
'impcount' => 0, |
14165
|
|
|
|
|
|
|
'changed' => 0, |
14166
|
|
|
|
|
|
|
'vars' => '', |
14167
|
|
|
|
|
|
|
'calls' => [ |
14168
|
|
|
|
|
|
|
'NIL', |
14169
|
|
|
|
|
|
|
'STRING' |
14170
|
|
|
|
|
|
|
], |
14171
|
|
|
|
|
|
|
'prods' => [ |
14172
|
|
|
|
|
|
|
bless( { |
14173
|
|
|
|
|
|
|
'patcount' => 0, |
14174
|
|
|
|
|
|
|
'number' => 0, |
14175
|
|
|
|
|
|
|
'strcount' => 0, |
14176
|
|
|
|
|
|
|
'line' => undef, |
14177
|
|
|
|
|
|
|
'dircount' => 0, |
14178
|
|
|
|
|
|
|
'items' => [ |
14179
|
|
|
|
|
|
|
bless( { |
14180
|
|
|
|
|
|
|
'argcode' => undef, |
14181
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14182
|
|
|
|
|
|
|
'implicit' => undef, |
14183
|
|
|
|
|
|
|
'line' => 91, |
14184
|
|
|
|
|
|
|
'lookahead' => 0, |
14185
|
|
|
|
|
|
|
'matchrule' => 0 |
14186
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14187
|
|
|
|
|
|
|
], |
14188
|
|
|
|
|
|
|
'uncommit' => undef, |
14189
|
|
|
|
|
|
|
'actcount' => 0, |
14190
|
|
|
|
|
|
|
'error' => undef |
14191
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14192
|
|
|
|
|
|
|
bless( { |
14193
|
|
|
|
|
|
|
'error' => undef, |
14194
|
|
|
|
|
|
|
'actcount' => 0, |
14195
|
|
|
|
|
|
|
'uncommit' => undef, |
14196
|
|
|
|
|
|
|
'dircount' => 0, |
14197
|
|
|
|
|
|
|
'items' => [ |
14198
|
|
|
|
|
|
|
bless( { |
14199
|
|
|
|
|
|
|
'argcode' => undef, |
14200
|
|
|
|
|
|
|
'lookahead' => 0, |
14201
|
|
|
|
|
|
|
'implicit' => undef, |
14202
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14203
|
|
|
|
|
|
|
'line' => 91, |
14204
|
|
|
|
|
|
|
'matchrule' => 0 |
14205
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14206
|
|
|
|
|
|
|
], |
14207
|
|
|
|
|
|
|
'line' => 91, |
14208
|
|
|
|
|
|
|
'strcount' => 0, |
14209
|
|
|
|
|
|
|
'number' => 1, |
14210
|
|
|
|
|
|
|
'patcount' => 0 |
14211
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14212
|
|
|
|
|
|
|
], |
14213
|
|
|
|
|
|
|
'line' => 91 |
14214
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14215
|
|
|
|
|
|
|
'ADDRESSES' => bless( { |
14216
|
|
|
|
|
|
|
'line' => 95, |
14217
|
|
|
|
|
|
|
'prods' => [ |
14218
|
|
|
|
|
|
|
bless( { |
14219
|
|
|
|
|
|
|
'uncommit' => undef, |
14220
|
|
|
|
|
|
|
'actcount' => 0, |
14221
|
|
|
|
|
|
|
'patcount' => 0, |
14222
|
|
|
|
|
|
|
'number' => 0, |
14223
|
|
|
|
|
|
|
'strcount' => 0, |
14224
|
|
|
|
|
|
|
'dircount' => 0, |
14225
|
|
|
|
|
|
|
'items' => [ |
14226
|
|
|
|
|
|
|
bless( { |
14227
|
|
|
|
|
|
|
'matchrule' => 0, |
14228
|
|
|
|
|
|
|
'lookahead' => 0, |
14229
|
|
|
|
|
|
|
'line' => 95, |
14230
|
|
|
|
|
|
|
'implicit' => undef, |
14231
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14232
|
|
|
|
|
|
|
'argcode' => undef |
14233
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14234
|
|
|
|
|
|
|
], |
14235
|
|
|
|
|
|
|
'line' => undef, |
14236
|
|
|
|
|
|
|
'error' => undef |
14237
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14238
|
|
|
|
|
|
|
bless( { |
14239
|
|
|
|
|
|
|
'patcount' => 0, |
14240
|
|
|
|
|
|
|
'number' => 1, |
14241
|
|
|
|
|
|
|
'strcount' => 0, |
14242
|
|
|
|
|
|
|
'items' => [ |
14243
|
|
|
|
|
|
|
bless( { |
14244
|
|
|
|
|
|
|
'argcode' => undef, |
14245
|
|
|
|
|
|
|
'implicit' => undef, |
14246
|
|
|
|
|
|
|
'line' => 95, |
14247
|
|
|
|
|
|
|
'subrule' => 'RFCNONCOMPLY', |
14248
|
|
|
|
|
|
|
'lookahead' => 0, |
14249
|
|
|
|
|
|
|
'matchrule' => 0 |
14250
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14251
|
|
|
|
|
|
|
], |
14252
|
|
|
|
|
|
|
'line' => 95, |
14253
|
|
|
|
|
|
|
'dircount' => 0, |
14254
|
|
|
|
|
|
|
'uncommit' => undef, |
14255
|
|
|
|
|
|
|
'actcount' => 0, |
14256
|
|
|
|
|
|
|
'error' => undef |
14257
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14258
|
|
|
|
|
|
|
bless( { |
14259
|
|
|
|
|
|
|
'actcount' => 1, |
14260
|
|
|
|
|
|
|
'uncommit' => undef, |
14261
|
|
|
|
|
|
|
'strcount' => 2, |
14262
|
|
|
|
|
|
|
'line' => 96, |
14263
|
|
|
|
|
|
|
'dircount' => 0, |
14264
|
|
|
|
|
|
|
'items' => [ |
14265
|
|
|
|
|
|
|
bless( { |
14266
|
|
|
|
|
|
|
'lookahead' => 0, |
14267
|
|
|
|
|
|
|
'line' => 96, |
14268
|
|
|
|
|
|
|
'pattern' => '(', |
14269
|
|
|
|
|
|
|
'description' => '\'(\'', |
14270
|
|
|
|
|
|
|
'hashname' => '__STRING1__' |
14271
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14272
|
|
|
|
|
|
|
bless( { |
14273
|
|
|
|
|
|
|
'argcode' => undef, |
14274
|
|
|
|
|
|
|
'min' => 1, |
14275
|
|
|
|
|
|
|
'repspec' => 's', |
14276
|
|
|
|
|
|
|
'matchrule' => 0, |
14277
|
|
|
|
|
|
|
'expected' => undef, |
14278
|
|
|
|
|
|
|
'subrule' => 'addressstruct', |
14279
|
|
|
|
|
|
|
'line' => 96, |
14280
|
|
|
|
|
|
|
'lookahead' => 0, |
14281
|
|
|
|
|
|
|
'max' => 100000000 |
14282
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
14283
|
|
|
|
|
|
|
bless( { |
14284
|
|
|
|
|
|
|
'lookahead' => 0, |
14285
|
|
|
|
|
|
|
'line' => 96, |
14286
|
|
|
|
|
|
|
'pattern' => ')', |
14287
|
|
|
|
|
|
|
'description' => '\')\'', |
14288
|
|
|
|
|
|
|
'hashname' => '__STRING2__' |
14289
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14290
|
|
|
|
|
|
|
bless( { |
14291
|
|
|
|
|
|
|
'lookahead' => 0, |
14292
|
|
|
|
|
|
|
'line' => 96, |
14293
|
|
|
|
|
|
|
'code' => '{ $return = $item{\'addressstruct(s)\'} }', |
14294
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
14295
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14296
|
|
|
|
|
|
|
], |
14297
|
|
|
|
|
|
|
'patcount' => 0, |
14298
|
|
|
|
|
|
|
'number' => 2, |
14299
|
|
|
|
|
|
|
'error' => undef |
14300
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14301
|
|
|
|
|
|
|
], |
14302
|
|
|
|
|
|
|
'calls' => [ |
14303
|
|
|
|
|
|
|
'NIL', |
14304
|
|
|
|
|
|
|
'RFCNONCOMPLY', |
14305
|
|
|
|
|
|
|
'addressstruct' |
14306
|
|
|
|
|
|
|
], |
14307
|
|
|
|
|
|
|
'vars' => '', |
14308
|
|
|
|
|
|
|
'impcount' => 0, |
14309
|
|
|
|
|
|
|
'changed' => 0, |
14310
|
|
|
|
|
|
|
'opcount' => 0, |
14311
|
|
|
|
|
|
|
'name' => 'ADDRESSES' |
14312
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14313
|
|
|
|
|
|
|
'key' => bless( { |
14314
|
|
|
|
|
|
|
'calls' => [ |
14315
|
|
|
|
|
|
|
'STRING' |
14316
|
|
|
|
|
|
|
], |
14317
|
|
|
|
|
|
|
'prods' => [ |
14318
|
|
|
|
|
|
|
bless( { |
14319
|
|
|
|
|
|
|
'error' => undef, |
14320
|
|
|
|
|
|
|
'number' => 0, |
14321
|
|
|
|
|
|
|
'patcount' => 0, |
14322
|
|
|
|
|
|
|
'items' => [ |
14323
|
|
|
|
|
|
|
bless( { |
14324
|
|
|
|
|
|
|
'argcode' => undef, |
14325
|
|
|
|
|
|
|
'implicit' => undef, |
14326
|
|
|
|
|
|
|
'line' => 56, |
14327
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14328
|
|
|
|
|
|
|
'lookahead' => 0, |
14329
|
|
|
|
|
|
|
'matchrule' => 0 |
14330
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14331
|
|
|
|
|
|
|
], |
14332
|
|
|
|
|
|
|
'dircount' => 0, |
14333
|
|
|
|
|
|
|
'line' => undef, |
14334
|
|
|
|
|
|
|
'strcount' => 0, |
14335
|
|
|
|
|
|
|
'uncommit' => undef, |
14336
|
|
|
|
|
|
|
'actcount' => 0 |
14337
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14338
|
|
|
|
|
|
|
], |
14339
|
|
|
|
|
|
|
'line' => 56, |
14340
|
|
|
|
|
|
|
'impcount' => 0, |
14341
|
|
|
|
|
|
|
'changed' => 0, |
14342
|
|
|
|
|
|
|
'vars' => '', |
14343
|
|
|
|
|
|
|
'opcount' => 0, |
14344
|
|
|
|
|
|
|
'name' => 'key' |
14345
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14346
|
|
|
|
|
|
|
'rfc822message' => bless( { |
14347
|
|
|
|
|
|
|
'prods' => [ |
14348
|
|
|
|
|
|
|
bless( { |
14349
|
|
|
|
|
|
|
'error' => undef, |
14350
|
|
|
|
|
|
|
'actcount' => 1, |
14351
|
|
|
|
|
|
|
'uncommit' => undef, |
14352
|
|
|
|
|
|
|
'dircount' => 0, |
14353
|
|
|
|
|
|
|
'items' => [ |
14354
|
|
|
|
|
|
|
bless( { |
14355
|
|
|
|
|
|
|
'lookahead' => 0, |
14356
|
|
|
|
|
|
|
'subrule' => 'MESSAGE', |
14357
|
|
|
|
|
|
|
'implicit' => undef, |
14358
|
|
|
|
|
|
|
'line' => 52, |
14359
|
|
|
|
|
|
|
'argcode' => undef, |
14360
|
|
|
|
|
|
|
'matchrule' => 0 |
14361
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14362
|
|
|
|
|
|
|
bless( { |
14363
|
|
|
|
|
|
|
'argcode' => undef, |
14364
|
|
|
|
|
|
|
'lookahead' => 0, |
14365
|
|
|
|
|
|
|
'subrule' => 'RFC822', |
14366
|
|
|
|
|
|
|
'implicit' => undef, |
14367
|
|
|
|
|
|
|
'line' => 52, |
14368
|
|
|
|
|
|
|
'matchrule' => 0 |
14369
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14370
|
|
|
|
|
|
|
bless( { |
14371
|
|
|
|
|
|
|
'lookahead' => 0, |
14372
|
|
|
|
|
|
|
'line' => 52, |
14373
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14374
|
|
|
|
|
|
|
'code' => '{ $return = "MESSAGE RFC822" }' |
14375
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14376
|
|
|
|
|
|
|
], |
14377
|
|
|
|
|
|
|
'line' => undef, |
14378
|
|
|
|
|
|
|
'strcount' => 0, |
14379
|
|
|
|
|
|
|
'number' => 0, |
14380
|
|
|
|
|
|
|
'patcount' => 0 |
14381
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14382
|
|
|
|
|
|
|
], |
14383
|
|
|
|
|
|
|
'calls' => [ |
14384
|
|
|
|
|
|
|
'MESSAGE', |
14385
|
|
|
|
|
|
|
'RFC822' |
14386
|
|
|
|
|
|
|
], |
14387
|
|
|
|
|
|
|
'line' => 52, |
14388
|
|
|
|
|
|
|
'changed' => 0, |
14389
|
|
|
|
|
|
|
'impcount' => 0, |
14390
|
|
|
|
|
|
|
'vars' => '', |
14391
|
|
|
|
|
|
|
'opcount' => 0, |
14392
|
|
|
|
|
|
|
'name' => 'rfc822message' |
14393
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14394
|
|
|
|
|
|
|
'bcc' => bless( { |
14395
|
|
|
|
|
|
|
'opcount' => 0, |
14396
|
|
|
|
|
|
|
'name' => 'bcc', |
14397
|
|
|
|
|
|
|
'vars' => '', |
14398
|
|
|
|
|
|
|
'impcount' => 0, |
14399
|
|
|
|
|
|
|
'changed' => 0, |
14400
|
|
|
|
|
|
|
'calls' => [ |
14401
|
|
|
|
|
|
|
'ADDRESSES' |
14402
|
|
|
|
|
|
|
], |
14403
|
|
|
|
|
|
|
'prods' => [ |
14404
|
|
|
|
|
|
|
bless( { |
14405
|
|
|
|
|
|
|
'patcount' => 0, |
14406
|
|
|
|
|
|
|
'number' => 0, |
14407
|
|
|
|
|
|
|
'strcount' => 0, |
14408
|
|
|
|
|
|
|
'items' => [ |
14409
|
|
|
|
|
|
|
bless( { |
14410
|
|
|
|
|
|
|
'matchrule' => 0, |
14411
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES', |
14412
|
|
|
|
|
|
|
'implicit' => undef, |
14413
|
|
|
|
|
|
|
'line' => 99, |
14414
|
|
|
|
|
|
|
'lookahead' => 0, |
14415
|
|
|
|
|
|
|
'argcode' => undef |
14416
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14417
|
|
|
|
|
|
|
], |
14418
|
|
|
|
|
|
|
'line' => undef, |
14419
|
|
|
|
|
|
|
'dircount' => 0, |
14420
|
|
|
|
|
|
|
'uncommit' => undef, |
14421
|
|
|
|
|
|
|
'actcount' => 0, |
14422
|
|
|
|
|
|
|
'error' => undef |
14423
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14424
|
|
|
|
|
|
|
], |
14425
|
|
|
|
|
|
|
'line' => 99 |
14426
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14427
|
|
|
|
|
|
|
'bodydisp' => bless( { |
14428
|
|
|
|
|
|
|
'opcount' => 0, |
14429
|
|
|
|
|
|
|
'name' => 'bodydisp', |
14430
|
|
|
|
|
|
|
'changed' => 0, |
14431
|
|
|
|
|
|
|
'impcount' => 0, |
14432
|
|
|
|
|
|
|
'vars' => '', |
14433
|
|
|
|
|
|
|
'line' => 67, |
14434
|
|
|
|
|
|
|
'calls' => [ |
14435
|
|
|
|
|
|
|
'NIL', |
14436
|
|
|
|
|
|
|
'KVPAIRS' |
14437
|
|
|
|
|
|
|
], |
14438
|
|
|
|
|
|
|
'prods' => [ |
14439
|
|
|
|
|
|
|
bless( { |
14440
|
|
|
|
|
|
|
'error' => undef, |
14441
|
|
|
|
|
|
|
'uncommit' => undef, |
14442
|
|
|
|
|
|
|
'actcount' => 0, |
14443
|
|
|
|
|
|
|
'patcount' => 0, |
14444
|
|
|
|
|
|
|
'number' => 0, |
14445
|
|
|
|
|
|
|
'strcount' => 0, |
14446
|
|
|
|
|
|
|
'line' => undef, |
14447
|
|
|
|
|
|
|
'dircount' => 0, |
14448
|
|
|
|
|
|
|
'items' => [ |
14449
|
|
|
|
|
|
|
bless( { |
14450
|
|
|
|
|
|
|
'matchrule' => 0, |
14451
|
|
|
|
|
|
|
'line' => 67, |
14452
|
|
|
|
|
|
|
'implicit' => undef, |
14453
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14454
|
|
|
|
|
|
|
'lookahead' => 0, |
14455
|
|
|
|
|
|
|
'argcode' => undef |
14456
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14457
|
|
|
|
|
|
|
] |
14458
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14459
|
|
|
|
|
|
|
bless( { |
14460
|
|
|
|
|
|
|
'error' => undef, |
14461
|
|
|
|
|
|
|
'strcount' => 0, |
14462
|
|
|
|
|
|
|
'line' => 67, |
14463
|
|
|
|
|
|
|
'dircount' => 0, |
14464
|
|
|
|
|
|
|
'items' => [ |
14465
|
|
|
|
|
|
|
bless( { |
14466
|
|
|
|
|
|
|
'lookahead' => 0, |
14467
|
|
|
|
|
|
|
'implicit' => undef, |
14468
|
|
|
|
|
|
|
'line' => 67, |
14469
|
|
|
|
|
|
|
'subrule' => 'KVPAIRS', |
14470
|
|
|
|
|
|
|
'argcode' => undef, |
14471
|
|
|
|
|
|
|
'matchrule' => 0 |
14472
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14473
|
|
|
|
|
|
|
], |
14474
|
|
|
|
|
|
|
'patcount' => 0, |
14475
|
|
|
|
|
|
|
'number' => 1, |
14476
|
|
|
|
|
|
|
'actcount' => 0, |
14477
|
|
|
|
|
|
|
'uncommit' => undef |
14478
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14479
|
|
|
|
|
|
|
] |
14480
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14481
|
|
|
|
|
|
|
'KVPAIRS' => bless( { |
14482
|
|
|
|
|
|
|
'vars' => '', |
14483
|
|
|
|
|
|
|
'impcount' => 0, |
14484
|
|
|
|
|
|
|
'changed' => 0, |
14485
|
|
|
|
|
|
|
'opcount' => 0, |
14486
|
|
|
|
|
|
|
'name' => 'KVPAIRS', |
14487
|
|
|
|
|
|
|
'line' => 62, |
14488
|
|
|
|
|
|
|
'prods' => [ |
14489
|
|
|
|
|
|
|
bless( { |
14490
|
|
|
|
|
|
|
'error' => undef, |
14491
|
|
|
|
|
|
|
'dircount' => 0, |
14492
|
|
|
|
|
|
|
'line' => undef, |
14493
|
|
|
|
|
|
|
'items' => [ |
14494
|
|
|
|
|
|
|
bless( { |
14495
|
|
|
|
|
|
|
'description' => '\'(\'', |
14496
|
|
|
|
|
|
|
'hashname' => '__STRING1__', |
14497
|
|
|
|
|
|
|
'lookahead' => 0, |
14498
|
|
|
|
|
|
|
'line' => 62, |
14499
|
|
|
|
|
|
|
'pattern' => '(' |
14500
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14501
|
|
|
|
|
|
|
bless( { |
14502
|
|
|
|
|
|
|
'lookahead' => 0, |
14503
|
|
|
|
|
|
|
'line' => 62, |
14504
|
|
|
|
|
|
|
'subrule' => 'kvpair', |
14505
|
|
|
|
|
|
|
'max' => 100000000, |
14506
|
|
|
|
|
|
|
'min' => 1, |
14507
|
|
|
|
|
|
|
'argcode' => undef, |
14508
|
|
|
|
|
|
|
'expected' => undef, |
14509
|
|
|
|
|
|
|
'matchrule' => 0, |
14510
|
|
|
|
|
|
|
'repspec' => 's' |
14511
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
14512
|
|
|
|
|
|
|
bless( { |
14513
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
14514
|
|
|
|
|
|
|
'description' => '\')\'', |
14515
|
|
|
|
|
|
|
'line' => 62, |
14516
|
|
|
|
|
|
|
'pattern' => ')', |
14517
|
|
|
|
|
|
|
'lookahead' => 0 |
14518
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14519
|
|
|
|
|
|
|
bless( { |
14520
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14521
|
|
|
|
|
|
|
'code' => '{ $return = { map { (%$_) } @{$item{\'kvpair(s)\'}} } }', |
14522
|
|
|
|
|
|
|
'lookahead' => 0, |
14523
|
|
|
|
|
|
|
'line' => 63 |
14524
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14525
|
|
|
|
|
|
|
], |
14526
|
|
|
|
|
|
|
'strcount' => 2, |
14527
|
|
|
|
|
|
|
'number' => 0, |
14528
|
|
|
|
|
|
|
'patcount' => 0, |
14529
|
|
|
|
|
|
|
'actcount' => 1, |
14530
|
|
|
|
|
|
|
'uncommit' => undef |
14531
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14532
|
|
|
|
|
|
|
], |
14533
|
|
|
|
|
|
|
'calls' => [ |
14534
|
|
|
|
|
|
|
'kvpair' |
14535
|
|
|
|
|
|
|
] |
14536
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14537
|
|
|
|
|
|
|
'bodyMD5' => bless( { |
14538
|
|
|
|
|
|
|
'calls' => [ |
14539
|
|
|
|
|
|
|
'NIL', |
14540
|
|
|
|
|
|
|
'STRING' |
14541
|
|
|
|
|
|
|
], |
14542
|
|
|
|
|
|
|
'prods' => [ |
14543
|
|
|
|
|
|
|
bless( { |
14544
|
|
|
|
|
|
|
'uncommit' => undef, |
14545
|
|
|
|
|
|
|
'actcount' => 0, |
14546
|
|
|
|
|
|
|
'number' => 0, |
14547
|
|
|
|
|
|
|
'patcount' => 0, |
14548
|
|
|
|
|
|
|
'line' => undef, |
14549
|
|
|
|
|
|
|
'items' => [ |
14550
|
|
|
|
|
|
|
bless( { |
14551
|
|
|
|
|
|
|
'argcode' => undef, |
14552
|
|
|
|
|
|
|
'line' => 72, |
14553
|
|
|
|
|
|
|
'implicit' => undef, |
14554
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14555
|
|
|
|
|
|
|
'lookahead' => 0, |
14556
|
|
|
|
|
|
|
'matchrule' => 0 |
14557
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14558
|
|
|
|
|
|
|
], |
14559
|
|
|
|
|
|
|
'dircount' => 0, |
14560
|
|
|
|
|
|
|
'strcount' => 0, |
14561
|
|
|
|
|
|
|
'error' => undef |
14562
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14563
|
|
|
|
|
|
|
bless( { |
14564
|
|
|
|
|
|
|
'error' => undef, |
14565
|
|
|
|
|
|
|
'actcount' => 0, |
14566
|
|
|
|
|
|
|
'uncommit' => undef, |
14567
|
|
|
|
|
|
|
'items' => [ |
14568
|
|
|
|
|
|
|
bless( { |
14569
|
|
|
|
|
|
|
'matchrule' => 0, |
14570
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14571
|
|
|
|
|
|
|
'implicit' => undef, |
14572
|
|
|
|
|
|
|
'line' => 72, |
14573
|
|
|
|
|
|
|
'lookahead' => 0, |
14574
|
|
|
|
|
|
|
'argcode' => undef |
14575
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14576
|
|
|
|
|
|
|
], |
14577
|
|
|
|
|
|
|
'dircount' => 0, |
14578
|
|
|
|
|
|
|
'line' => 72, |
14579
|
|
|
|
|
|
|
'strcount' => 0, |
14580
|
|
|
|
|
|
|
'number' => 1, |
14581
|
|
|
|
|
|
|
'patcount' => 0 |
14582
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14583
|
|
|
|
|
|
|
], |
14584
|
|
|
|
|
|
|
'line' => 72, |
14585
|
|
|
|
|
|
|
'name' => 'bodyMD5', |
14586
|
|
|
|
|
|
|
'opcount' => 0, |
14587
|
|
|
|
|
|
|
'vars' => '', |
14588
|
|
|
|
|
|
|
'changed' => 0, |
14589
|
|
|
|
|
|
|
'impcount' => 0 |
14590
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14591
|
|
|
|
|
|
|
'part' => bless( { |
14592
|
|
|
|
|
|
|
'name' => 'part', |
14593
|
|
|
|
|
|
|
'opcount' => 0, |
14594
|
|
|
|
|
|
|
'vars' => '', |
14595
|
|
|
|
|
|
|
'impcount' => 0, |
14596
|
|
|
|
|
|
|
'changed' => 0, |
14597
|
|
|
|
|
|
|
'line' => 177, |
14598
|
|
|
|
|
|
|
'prods' => [ |
14599
|
|
|
|
|
|
|
bless( { |
14600
|
|
|
|
|
|
|
'error' => undef, |
14601
|
|
|
|
|
|
|
'number' => 0, |
14602
|
|
|
|
|
|
|
'patcount' => 0, |
14603
|
|
|
|
|
|
|
'line' => undef, |
14604
|
|
|
|
|
|
|
'items' => [ |
14605
|
|
|
|
|
|
|
bless( { |
14606
|
|
|
|
|
|
|
'implicit' => undef, |
14607
|
|
|
|
|
|
|
'subrule' => 'multipart', |
14608
|
|
|
|
|
|
|
'line' => 177, |
14609
|
|
|
|
|
|
|
'lookahead' => 0, |
14610
|
|
|
|
|
|
|
'argcode' => undef, |
14611
|
|
|
|
|
|
|
'matchrule' => 0 |
14612
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14613
|
|
|
|
|
|
|
bless( { |
14614
|
|
|
|
|
|
|
'line' => 177, |
14615
|
|
|
|
|
|
|
'lookahead' => 0, |
14616
|
|
|
|
|
|
|
'code' => '{ $return = bless $item{multipart}, $mibs }', |
14617
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
14618
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14619
|
|
|
|
|
|
|
], |
14620
|
|
|
|
|
|
|
'dircount' => 0, |
14621
|
|
|
|
|
|
|
'strcount' => 0, |
14622
|
|
|
|
|
|
|
'uncommit' => undef, |
14623
|
|
|
|
|
|
|
'actcount' => 1 |
14624
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14625
|
|
|
|
|
|
|
bless( { |
14626
|
|
|
|
|
|
|
'uncommit' => undef, |
14627
|
|
|
|
|
|
|
'actcount' => 1, |
14628
|
|
|
|
|
|
|
'number' => 1, |
14629
|
|
|
|
|
|
|
'patcount' => 0, |
14630
|
|
|
|
|
|
|
'line' => 178, |
14631
|
|
|
|
|
|
|
'items' => [ |
14632
|
|
|
|
|
|
|
bless( { |
14633
|
|
|
|
|
|
|
'lookahead' => 0, |
14634
|
|
|
|
|
|
|
'implicit' => undef, |
14635
|
|
|
|
|
|
|
'subrule' => 'textmessage', |
14636
|
|
|
|
|
|
|
'line' => 178, |
14637
|
|
|
|
|
|
|
'argcode' => undef, |
14638
|
|
|
|
|
|
|
'matchrule' => 0 |
14639
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14640
|
|
|
|
|
|
|
bless( { |
14641
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14642
|
|
|
|
|
|
|
'code' => '{ $return = bless $item{textmessage}, $mibs }', |
14643
|
|
|
|
|
|
|
'line' => 178, |
14644
|
|
|
|
|
|
|
'lookahead' => 0 |
14645
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14646
|
|
|
|
|
|
|
], |
14647
|
|
|
|
|
|
|
'dircount' => 0, |
14648
|
|
|
|
|
|
|
'strcount' => 0, |
14649
|
|
|
|
|
|
|
'error' => undef |
14650
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14651
|
|
|
|
|
|
|
bless( { |
14652
|
|
|
|
|
|
|
'error' => undef, |
14653
|
|
|
|
|
|
|
'actcount' => 1, |
14654
|
|
|
|
|
|
|
'uncommit' => undef, |
14655
|
|
|
|
|
|
|
'strcount' => 0, |
14656
|
|
|
|
|
|
|
'line' => 179, |
14657
|
|
|
|
|
|
|
'items' => [ |
14658
|
|
|
|
|
|
|
bless( { |
14659
|
|
|
|
|
|
|
'matchrule' => 0, |
14660
|
|
|
|
|
|
|
'implicit' => undef, |
14661
|
|
|
|
|
|
|
'subrule' => 'nestedmessage', |
14662
|
|
|
|
|
|
|
'line' => 179, |
14663
|
|
|
|
|
|
|
'lookahead' => 0, |
14664
|
|
|
|
|
|
|
'argcode' => undef |
14665
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14666
|
|
|
|
|
|
|
bless( { |
14667
|
|
|
|
|
|
|
'line' => 179, |
14668
|
|
|
|
|
|
|
'lookahead' => 0, |
14669
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14670
|
|
|
|
|
|
|
'code' => '{ $return = bless $item{nestedmessage}, $mibs }' |
14671
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14672
|
|
|
|
|
|
|
], |
14673
|
|
|
|
|
|
|
'dircount' => 0, |
14674
|
|
|
|
|
|
|
'patcount' => 0, |
14675
|
|
|
|
|
|
|
'number' => 2 |
14676
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14677
|
|
|
|
|
|
|
bless( { |
14678
|
|
|
|
|
|
|
'error' => undef, |
14679
|
|
|
|
|
|
|
'actcount' => 1, |
14680
|
|
|
|
|
|
|
'uncommit' => undef, |
14681
|
|
|
|
|
|
|
'dircount' => 0, |
14682
|
|
|
|
|
|
|
'line' => 180, |
14683
|
|
|
|
|
|
|
'items' => [ |
14684
|
|
|
|
|
|
|
bless( { |
14685
|
|
|
|
|
|
|
'matchrule' => 0, |
14686
|
|
|
|
|
|
|
'lookahead' => 0, |
14687
|
|
|
|
|
|
|
'implicit' => undef, |
14688
|
|
|
|
|
|
|
'subrule' => 'othertypemessage', |
14689
|
|
|
|
|
|
|
'line' => 180, |
14690
|
|
|
|
|
|
|
'argcode' => undef |
14691
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14692
|
|
|
|
|
|
|
bless( { |
14693
|
|
|
|
|
|
|
'lookahead' => 0, |
14694
|
|
|
|
|
|
|
'line' => 180, |
14695
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14696
|
|
|
|
|
|
|
'code' => '{ $return = bless $item{othertypemessage}, $mibs }' |
14697
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14698
|
|
|
|
|
|
|
], |
14699
|
|
|
|
|
|
|
'strcount' => 0, |
14700
|
|
|
|
|
|
|
'number' => 3, |
14701
|
|
|
|
|
|
|
'patcount' => 0 |
14702
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14703
|
|
|
|
|
|
|
], |
14704
|
|
|
|
|
|
|
'calls' => [ |
14705
|
|
|
|
|
|
|
'multipart', |
14706
|
|
|
|
|
|
|
'textmessage', |
14707
|
|
|
|
|
|
|
'nestedmessage', |
14708
|
|
|
|
|
|
|
'othertypemessage' |
14709
|
|
|
|
|
|
|
] |
14710
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14711
|
|
|
|
|
|
|
'TEXT' => bless( { |
14712
|
|
|
|
|
|
|
'line' => 27, |
14713
|
|
|
|
|
|
|
'prods' => [ |
14714
|
|
|
|
|
|
|
bless( { |
14715
|
|
|
|
|
|
|
'uncommit' => undef, |
14716
|
|
|
|
|
|
|
'actcount' => 1, |
14717
|
|
|
|
|
|
|
'number' => 0, |
14718
|
|
|
|
|
|
|
'patcount' => 1, |
14719
|
|
|
|
|
|
|
'line' => undef, |
14720
|
|
|
|
|
|
|
'items' => [ |
14721
|
|
|
|
|
|
|
bless( { |
14722
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
14723
|
|
|
|
|
|
|
'rdelim' => '/', |
14724
|
|
|
|
|
|
|
'lookahead' => 0, |
14725
|
|
|
|
|
|
|
'pattern' => '^"TEXT"|^TEXT', |
14726
|
|
|
|
|
|
|
'line' => 29, |
14727
|
|
|
|
|
|
|
'mod' => 'i', |
14728
|
|
|
|
|
|
|
'description' => '/^"TEXT"|^TEXT/i', |
14729
|
|
|
|
|
|
|
'ldelim' => '/' |
14730
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
14731
|
|
|
|
|
|
|
bless( { |
14732
|
|
|
|
|
|
|
'line' => 29, |
14733
|
|
|
|
|
|
|
'lookahead' => 0, |
14734
|
|
|
|
|
|
|
'code' => '{ $return = "TEXT" }', |
14735
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
14736
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14737
|
|
|
|
|
|
|
], |
14738
|
|
|
|
|
|
|
'dircount' => 0, |
14739
|
|
|
|
|
|
|
'strcount' => 0, |
14740
|
|
|
|
|
|
|
'error' => undef |
14741
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14742
|
|
|
|
|
|
|
], |
14743
|
|
|
|
|
|
|
'calls' => [], |
14744
|
|
|
|
|
|
|
'vars' => '', |
14745
|
|
|
|
|
|
|
'impcount' => 0, |
14746
|
|
|
|
|
|
|
'changed' => 0, |
14747
|
|
|
|
|
|
|
'name' => 'TEXT', |
14748
|
|
|
|
|
|
|
'opcount' => 0 |
14749
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14750
|
|
|
|
|
|
|
'MESSAGE' => bless( { |
14751
|
|
|
|
|
|
|
'name' => 'MESSAGE', |
14752
|
|
|
|
|
|
|
'opcount' => 0, |
14753
|
|
|
|
|
|
|
'impcount' => 0, |
14754
|
|
|
|
|
|
|
'changed' => 0, |
14755
|
|
|
|
|
|
|
'vars' => '', |
14756
|
|
|
|
|
|
|
'line' => 32, |
14757
|
|
|
|
|
|
|
'prods' => [ |
14758
|
|
|
|
|
|
|
bless( { |
14759
|
|
|
|
|
|
|
'actcount' => 1, |
14760
|
|
|
|
|
|
|
'uncommit' => undef, |
14761
|
|
|
|
|
|
|
'strcount' => 0, |
14762
|
|
|
|
|
|
|
'line' => undef, |
14763
|
|
|
|
|
|
|
'dircount' => 0, |
14764
|
|
|
|
|
|
|
'items' => [ |
14765
|
|
|
|
|
|
|
bless( { |
14766
|
|
|
|
|
|
|
'description' => '/^"MESSAGE"|^MESSAGE/i', |
14767
|
|
|
|
|
|
|
'mod' => 'i', |
14768
|
|
|
|
|
|
|
'ldelim' => '/', |
14769
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
14770
|
|
|
|
|
|
|
'rdelim' => '/', |
14771
|
|
|
|
|
|
|
'lookahead' => 0, |
14772
|
|
|
|
|
|
|
'pattern' => '^"MESSAGE"|^MESSAGE', |
14773
|
|
|
|
|
|
|
'line' => 32 |
14774
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
14775
|
|
|
|
|
|
|
bless( { |
14776
|
|
|
|
|
|
|
'code' => '{ $return = "MESSAGE"}', |
14777
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14778
|
|
|
|
|
|
|
'lookahead' => 0, |
14779
|
|
|
|
|
|
|
'line' => 32 |
14780
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14781
|
|
|
|
|
|
|
], |
14782
|
|
|
|
|
|
|
'patcount' => 1, |
14783
|
|
|
|
|
|
|
'number' => 0, |
14784
|
|
|
|
|
|
|
'error' => undef |
14785
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14786
|
|
|
|
|
|
|
], |
14787
|
|
|
|
|
|
|
'calls' => [] |
14788
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14789
|
|
|
|
|
|
|
'start' => bless( { |
14790
|
|
|
|
|
|
|
'opcount' => 0, |
14791
|
|
|
|
|
|
|
'name' => 'start', |
14792
|
|
|
|
|
|
|
'vars' => '', |
14793
|
|
|
|
|
|
|
'changed' => 0, |
14794
|
|
|
|
|
|
|
'impcount' => 0, |
14795
|
|
|
|
|
|
|
'calls' => [ |
14796
|
|
|
|
|
|
|
'part' |
14797
|
|
|
|
|
|
|
], |
14798
|
|
|
|
|
|
|
'prods' => [ |
14799
|
|
|
|
|
|
|
bless( { |
14800
|
|
|
|
|
|
|
'error' => undef, |
14801
|
|
|
|
|
|
|
'strcount' => 0, |
14802
|
|
|
|
|
|
|
'line' => undef, |
14803
|
|
|
|
|
|
|
'items' => [ |
14804
|
|
|
|
|
|
|
bless( { |
14805
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
14806
|
|
|
|
|
|
|
'pattern' => '.*?\\(.*?BODYSTRUCTURE \\(', |
14807
|
|
|
|
|
|
|
'line' => 185, |
14808
|
|
|
|
|
|
|
'lookahead' => 0, |
14809
|
|
|
|
|
|
|
'rdelim' => '/', |
14810
|
|
|
|
|
|
|
'mod' => 'i', |
14811
|
|
|
|
|
|
|
'description' => '/.*?\\\\(.*?BODYSTRUCTURE \\\\(/i', |
14812
|
|
|
|
|
|
|
'ldelim' => '/' |
14813
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
14814
|
|
|
|
|
|
|
bless( { |
14815
|
|
|
|
|
|
|
'lookahead' => 0, |
14816
|
|
|
|
|
|
|
'subrule' => 'part', |
14817
|
|
|
|
|
|
|
'line' => 185, |
14818
|
|
|
|
|
|
|
'max' => 1, |
14819
|
|
|
|
|
|
|
'min' => 1, |
14820
|
|
|
|
|
|
|
'argcode' => undef, |
14821
|
|
|
|
|
|
|
'expected' => undef, |
14822
|
|
|
|
|
|
|
'matchrule' => 0, |
14823
|
|
|
|
|
|
|
'repspec' => '1' |
14824
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
14825
|
|
|
|
|
|
|
bless( { |
14826
|
|
|
|
|
|
|
'mod' => '', |
14827
|
|
|
|
|
|
|
'description' => '/\\\\).*\\\\)\\\\r?\\\\n?/', |
14828
|
|
|
|
|
|
|
'ldelim' => '/', |
14829
|
|
|
|
|
|
|
'hashname' => '__PATTERN2__', |
14830
|
|
|
|
|
|
|
'line' => 185, |
14831
|
|
|
|
|
|
|
'pattern' => '\\).*\\)\\r?\\n?', |
14832
|
|
|
|
|
|
|
'lookahead' => 0, |
14833
|
|
|
|
|
|
|
'rdelim' => '/' |
14834
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
14835
|
|
|
|
|
|
|
bless( { |
14836
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
14837
|
|
|
|
|
|
|
'code' => '{ $return = $item{\'part(1)\'}[0] }', |
14838
|
|
|
|
|
|
|
'line' => 186, |
14839
|
|
|
|
|
|
|
'lookahead' => 0 |
14840
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14841
|
|
|
|
|
|
|
], |
14842
|
|
|
|
|
|
|
'dircount' => 0, |
14843
|
|
|
|
|
|
|
'patcount' => 2, |
14844
|
|
|
|
|
|
|
'number' => 0, |
14845
|
|
|
|
|
|
|
'actcount' => 1, |
14846
|
|
|
|
|
|
|
'uncommit' => undef |
14847
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14848
|
|
|
|
|
|
|
], |
14849
|
|
|
|
|
|
|
'line' => 185 |
14850
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14851
|
|
|
|
|
|
|
'addressstruct' => bless( { |
14852
|
|
|
|
|
|
|
'prods' => [ |
14853
|
|
|
|
|
|
|
bless( { |
14854
|
|
|
|
|
|
|
'actcount' => 1, |
14855
|
|
|
|
|
|
|
'uncommit' => undef, |
14856
|
|
|
|
|
|
|
'strcount' => 2, |
14857
|
|
|
|
|
|
|
'items' => [ |
14858
|
|
|
|
|
|
|
bless( { |
14859
|
|
|
|
|
|
|
'line' => 82, |
14860
|
|
|
|
|
|
|
'pattern' => '(', |
14861
|
|
|
|
|
|
|
'lookahead' => 0, |
14862
|
|
|
|
|
|
|
'hashname' => '__STRING1__', |
14863
|
|
|
|
|
|
|
'description' => '\'(\'' |
14864
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14865
|
|
|
|
|
|
|
bless( { |
14866
|
|
|
|
|
|
|
'lookahead' => 0, |
14867
|
|
|
|
|
|
|
'implicit' => undef, |
14868
|
|
|
|
|
|
|
'subrule' => 'personalname', |
14869
|
|
|
|
|
|
|
'line' => 82, |
14870
|
|
|
|
|
|
|
'argcode' => undef, |
14871
|
|
|
|
|
|
|
'matchrule' => 0 |
14872
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14873
|
|
|
|
|
|
|
bless( { |
14874
|
|
|
|
|
|
|
'implicit' => undef, |
14875
|
|
|
|
|
|
|
'subrule' => 'sourceroute', |
14876
|
|
|
|
|
|
|
'line' => 82, |
14877
|
|
|
|
|
|
|
'lookahead' => 0, |
14878
|
|
|
|
|
|
|
'argcode' => undef, |
14879
|
|
|
|
|
|
|
'matchrule' => 0 |
14880
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14881
|
|
|
|
|
|
|
bless( { |
14882
|
|
|
|
|
|
|
'implicit' => undef, |
14883
|
|
|
|
|
|
|
'line' => 82, |
14884
|
|
|
|
|
|
|
'subrule' => 'mailboxname', |
14885
|
|
|
|
|
|
|
'lookahead' => 0, |
14886
|
|
|
|
|
|
|
'argcode' => undef, |
14887
|
|
|
|
|
|
|
'matchrule' => 0 |
14888
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14889
|
|
|
|
|
|
|
bless( { |
14890
|
|
|
|
|
|
|
'argcode' => undef, |
14891
|
|
|
|
|
|
|
'lookahead' => 0, |
14892
|
|
|
|
|
|
|
'implicit' => undef, |
14893
|
|
|
|
|
|
|
'subrule' => 'hostname', |
14894
|
|
|
|
|
|
|
'line' => 82, |
14895
|
|
|
|
|
|
|
'matchrule' => 0 |
14896
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
14897
|
|
|
|
|
|
|
bless( { |
14898
|
|
|
|
|
|
|
'pattern' => ')', |
14899
|
|
|
|
|
|
|
'line' => 82, |
14900
|
|
|
|
|
|
|
'lookahead' => 0, |
14901
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
14902
|
|
|
|
|
|
|
'description' => '\')\'' |
14903
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
14904
|
|
|
|
|
|
|
bless( { |
14905
|
|
|
|
|
|
|
'lookahead' => 0, |
14906
|
|
|
|
|
|
|
'line' => 83, |
14907
|
|
|
|
|
|
|
'code' => '{ bless { personalname => $item{personalname} |
14908
|
|
|
|
|
|
|
, sourceroute => $item{sourceroute} |
14909
|
|
|
|
|
|
|
, mailboxname => $item{mailboxname} |
14910
|
|
|
|
|
|
|
, hostname => $item{hostname} |
14911
|
|
|
|
|
|
|
}, \'Mail::IMAPClient::BodyStructure::Address\'; |
14912
|
|
|
|
|
|
|
}', |
14913
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
14914
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
14915
|
|
|
|
|
|
|
], |
14916
|
|
|
|
|
|
|
'line' => undef, |
14917
|
|
|
|
|
|
|
'dircount' => 0, |
14918
|
|
|
|
|
|
|
'patcount' => 0, |
14919
|
|
|
|
|
|
|
'number' => 0, |
14920
|
|
|
|
|
|
|
'error' => undef |
14921
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14922
|
|
|
|
|
|
|
], |
14923
|
|
|
|
|
|
|
'calls' => [ |
14924
|
|
|
|
|
|
|
'personalname', |
14925
|
|
|
|
|
|
|
'sourceroute', |
14926
|
|
|
|
|
|
|
'mailboxname', |
14927
|
|
|
|
|
|
|
'hostname' |
14928
|
|
|
|
|
|
|
], |
14929
|
|
|
|
|
|
|
'line' => 82, |
14930
|
|
|
|
|
|
|
'changed' => 0, |
14931
|
|
|
|
|
|
|
'impcount' => 0, |
14932
|
|
|
|
|
|
|
'vars' => '', |
14933
|
|
|
|
|
|
|
'name' => 'addressstruct', |
14934
|
|
|
|
|
|
|
'opcount' => 0 |
14935
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14936
|
|
|
|
|
|
|
'date' => bless( { |
14937
|
|
|
|
|
|
|
'vars' => '', |
14938
|
|
|
|
|
|
|
'impcount' => 0, |
14939
|
|
|
|
|
|
|
'changed' => 0, |
14940
|
|
|
|
|
|
|
'opcount' => 0, |
14941
|
|
|
|
|
|
|
'name' => 'date', |
14942
|
|
|
|
|
|
|
'line' => 93, |
14943
|
|
|
|
|
|
|
'prods' => [ |
14944
|
|
|
|
|
|
|
bless( { |
14945
|
|
|
|
|
|
|
'actcount' => 0, |
14946
|
|
|
|
|
|
|
'uncommit' => undef, |
14947
|
|
|
|
|
|
|
'strcount' => 0, |
14948
|
|
|
|
|
|
|
'dircount' => 0, |
14949
|
|
|
|
|
|
|
'items' => [ |
14950
|
|
|
|
|
|
|
bless( { |
14951
|
|
|
|
|
|
|
'matchrule' => 0, |
14952
|
|
|
|
|
|
|
'line' => 93, |
14953
|
|
|
|
|
|
|
'implicit' => undef, |
14954
|
|
|
|
|
|
|
'subrule' => 'NIL', |
14955
|
|
|
|
|
|
|
'lookahead' => 0, |
14956
|
|
|
|
|
|
|
'argcode' => undef |
14957
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14958
|
|
|
|
|
|
|
], |
14959
|
|
|
|
|
|
|
'line' => undef, |
14960
|
|
|
|
|
|
|
'patcount' => 0, |
14961
|
|
|
|
|
|
|
'number' => 0, |
14962
|
|
|
|
|
|
|
'error' => undef |
14963
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
14964
|
|
|
|
|
|
|
bless( { |
14965
|
|
|
|
|
|
|
'uncommit' => undef, |
14966
|
|
|
|
|
|
|
'actcount' => 0, |
14967
|
|
|
|
|
|
|
'number' => 1, |
14968
|
|
|
|
|
|
|
'patcount' => 0, |
14969
|
|
|
|
|
|
|
'dircount' => 0, |
14970
|
|
|
|
|
|
|
'line' => 93, |
14971
|
|
|
|
|
|
|
'items' => [ |
14972
|
|
|
|
|
|
|
bless( { |
14973
|
|
|
|
|
|
|
'matchrule' => 0, |
14974
|
|
|
|
|
|
|
'argcode' => undef, |
14975
|
|
|
|
|
|
|
'implicit' => undef, |
14976
|
|
|
|
|
|
|
'line' => 93, |
14977
|
|
|
|
|
|
|
'subrule' => 'STRING', |
14978
|
|
|
|
|
|
|
'lookahead' => 0 |
14979
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
14980
|
|
|
|
|
|
|
], |
14981
|
|
|
|
|
|
|
'strcount' => 0, |
14982
|
|
|
|
|
|
|
'error' => undef |
14983
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
14984
|
|
|
|
|
|
|
], |
14985
|
|
|
|
|
|
|
'calls' => [ |
14986
|
|
|
|
|
|
|
'NIL', |
14987
|
|
|
|
|
|
|
'STRING' |
14988
|
|
|
|
|
|
|
] |
14989
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
14990
|
|
|
|
|
|
|
'hostname' => bless( { |
14991
|
|
|
|
|
|
|
'changed' => 0, |
14992
|
|
|
|
|
|
|
'impcount' => 0, |
14993
|
|
|
|
|
|
|
'vars' => '', |
14994
|
|
|
|
|
|
|
'opcount' => 0, |
14995
|
|
|
|
|
|
|
'name' => 'hostname', |
14996
|
|
|
|
|
|
|
'calls' => [ |
14997
|
|
|
|
|
|
|
'NIL', |
14998
|
|
|
|
|
|
|
'STRING' |
14999
|
|
|
|
|
|
|
], |
15000
|
|
|
|
|
|
|
'prods' => [ |
15001
|
|
|
|
|
|
|
bless( { |
15002
|
|
|
|
|
|
|
'error' => undef, |
15003
|
|
|
|
|
|
|
'uncommit' => undef, |
15004
|
|
|
|
|
|
|
'actcount' => 0, |
15005
|
|
|
|
|
|
|
'patcount' => 0, |
15006
|
|
|
|
|
|
|
'number' => 0, |
15007
|
|
|
|
|
|
|
'strcount' => 0, |
15008
|
|
|
|
|
|
|
'items' => [ |
15009
|
|
|
|
|
|
|
bless( { |
15010
|
|
|
|
|
|
|
'argcode' => undef, |
15011
|
|
|
|
|
|
|
'implicit' => undef, |
15012
|
|
|
|
|
|
|
'subrule' => 'NIL', |
15013
|
|
|
|
|
|
|
'line' => 80, |
15014
|
|
|
|
|
|
|
'lookahead' => 0, |
15015
|
|
|
|
|
|
|
'matchrule' => 0 |
15016
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15017
|
|
|
|
|
|
|
], |
15018
|
|
|
|
|
|
|
'line' => undef, |
15019
|
|
|
|
|
|
|
'dircount' => 0 |
15020
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15021
|
|
|
|
|
|
|
bless( { |
15022
|
|
|
|
|
|
|
'uncommit' => undef, |
15023
|
|
|
|
|
|
|
'actcount' => 0, |
15024
|
|
|
|
|
|
|
'patcount' => 0, |
15025
|
|
|
|
|
|
|
'number' => 1, |
15026
|
|
|
|
|
|
|
'strcount' => 0, |
15027
|
|
|
|
|
|
|
'items' => [ |
15028
|
|
|
|
|
|
|
bless( { |
15029
|
|
|
|
|
|
|
'argcode' => undef, |
15030
|
|
|
|
|
|
|
'lookahead' => 0, |
15031
|
|
|
|
|
|
|
'line' => 80, |
15032
|
|
|
|
|
|
|
'implicit' => undef, |
15033
|
|
|
|
|
|
|
'subrule' => 'STRING', |
15034
|
|
|
|
|
|
|
'matchrule' => 0 |
15035
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15036
|
|
|
|
|
|
|
], |
15037
|
|
|
|
|
|
|
'line' => 80, |
15038
|
|
|
|
|
|
|
'dircount' => 0, |
15039
|
|
|
|
|
|
|
'error' => undef |
15040
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15041
|
|
|
|
|
|
|
], |
15042
|
|
|
|
|
|
|
'line' => 80 |
15043
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15044
|
|
|
|
|
|
|
'HTML' => bless( { |
15045
|
|
|
|
|
|
|
'name' => 'HTML', |
15046
|
|
|
|
|
|
|
'opcount' => 0, |
15047
|
|
|
|
|
|
|
'changed' => 0, |
15048
|
|
|
|
|
|
|
'impcount' => 0, |
15049
|
|
|
|
|
|
|
'vars' => '', |
15050
|
|
|
|
|
|
|
'prods' => [ |
15051
|
|
|
|
|
|
|
bless( { |
15052
|
|
|
|
|
|
|
'error' => undef, |
15053
|
|
|
|
|
|
|
'actcount' => 1, |
15054
|
|
|
|
|
|
|
'uncommit' => undef, |
15055
|
|
|
|
|
|
|
'items' => [ |
15056
|
|
|
|
|
|
|
bless( { |
15057
|
|
|
|
|
|
|
'ldelim' => '/', |
15058
|
|
|
|
|
|
|
'description' => '/"HTML"|HTML/i', |
15059
|
|
|
|
|
|
|
'mod' => 'i', |
15060
|
|
|
|
|
|
|
'lookahead' => 0, |
15061
|
|
|
|
|
|
|
'pattern' => '"HTML"|HTML', |
15062
|
|
|
|
|
|
|
'line' => 31, |
15063
|
|
|
|
|
|
|
'rdelim' => '/', |
15064
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__' |
15065
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
15066
|
|
|
|
|
|
|
bless( { |
15067
|
|
|
|
|
|
|
'lookahead' => 0, |
15068
|
|
|
|
|
|
|
'line' => 31, |
15069
|
|
|
|
|
|
|
'code' => '{ $return = "HTML" }', |
15070
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
15071
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
15072
|
|
|
|
|
|
|
], |
15073
|
|
|
|
|
|
|
'line' => undef, |
15074
|
|
|
|
|
|
|
'dircount' => 0, |
15075
|
|
|
|
|
|
|
'strcount' => 0, |
15076
|
|
|
|
|
|
|
'number' => 0, |
15077
|
|
|
|
|
|
|
'patcount' => 1 |
15078
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15079
|
|
|
|
|
|
|
], |
15080
|
|
|
|
|
|
|
'calls' => [], |
15081
|
|
|
|
|
|
|
'line' => 31 |
15082
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15083
|
|
|
|
|
|
|
'kvpair' => bless( { |
15084
|
|
|
|
|
|
|
'line' => 59, |
15085
|
|
|
|
|
|
|
'prods' => [ |
15086
|
|
|
|
|
|
|
bless( { |
15087
|
|
|
|
|
|
|
'error' => undef, |
15088
|
|
|
|
|
|
|
'dircount' => 0, |
15089
|
|
|
|
|
|
|
'line' => undef, |
15090
|
|
|
|
|
|
|
'items' => [ |
15091
|
|
|
|
|
|
|
bless( { |
15092
|
|
|
|
|
|
|
'hashname' => '__STRING1__', |
15093
|
|
|
|
|
|
|
'description' => '\')\'', |
15094
|
|
|
|
|
|
|
'line' => 59, |
15095
|
|
|
|
|
|
|
'pattern' => ')', |
15096
|
|
|
|
|
|
|
'lookahead' => -1 |
15097
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
15098
|
|
|
|
|
|
|
bless( { |
15099
|
|
|
|
|
|
|
'matchrule' => 0, |
15100
|
|
|
|
|
|
|
'implicit' => undef, |
15101
|
|
|
|
|
|
|
'subrule' => 'key', |
15102
|
|
|
|
|
|
|
'line' => 59, |
15103
|
|
|
|
|
|
|
'lookahead' => 0, |
15104
|
|
|
|
|
|
|
'argcode' => undef |
15105
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15106
|
|
|
|
|
|
|
bless( { |
15107
|
|
|
|
|
|
|
'subrule' => 'value', |
15108
|
|
|
|
|
|
|
'implicit' => undef, |
15109
|
|
|
|
|
|
|
'line' => 59, |
15110
|
|
|
|
|
|
|
'lookahead' => 0, |
15111
|
|
|
|
|
|
|
'argcode' => undef, |
15112
|
|
|
|
|
|
|
'matchrule' => 0 |
15113
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15114
|
|
|
|
|
|
|
bless( { |
15115
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
15116
|
|
|
|
|
|
|
'code' => '{ $return = { $item{key} => $item{value} } }', |
15117
|
|
|
|
|
|
|
'line' => 60, |
15118
|
|
|
|
|
|
|
'lookahead' => 0 |
15119
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
15120
|
|
|
|
|
|
|
], |
15121
|
|
|
|
|
|
|
'strcount' => 1, |
15122
|
|
|
|
|
|
|
'number' => 0, |
15123
|
|
|
|
|
|
|
'patcount' => 0, |
15124
|
|
|
|
|
|
|
'actcount' => 1, |
15125
|
|
|
|
|
|
|
'uncommit' => undef |
15126
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15127
|
|
|
|
|
|
|
], |
15128
|
|
|
|
|
|
|
'calls' => [ |
15129
|
|
|
|
|
|
|
'key', |
15130
|
|
|
|
|
|
|
'value' |
15131
|
|
|
|
|
|
|
], |
15132
|
|
|
|
|
|
|
'name' => 'kvpair', |
15133
|
|
|
|
|
|
|
'opcount' => 0, |
15134
|
|
|
|
|
|
|
'vars' => '', |
15135
|
|
|
|
|
|
|
'changed' => 0, |
15136
|
|
|
|
|
|
|
'impcount' => 0 |
15137
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15138
|
|
|
|
|
|
|
'replyto' => bless( { |
15139
|
|
|
|
|
|
|
'opcount' => 0, |
15140
|
|
|
|
|
|
|
'name' => 'replyto', |
15141
|
|
|
|
|
|
|
'vars' => '', |
15142
|
|
|
|
|
|
|
'changed' => 0, |
15143
|
|
|
|
|
|
|
'impcount' => 0, |
15144
|
|
|
|
|
|
|
'line' => 101, |
15145
|
|
|
|
|
|
|
'calls' => [ |
15146
|
|
|
|
|
|
|
'ADDRESSES' |
15147
|
|
|
|
|
|
|
], |
15148
|
|
|
|
|
|
|
'prods' => [ |
15149
|
|
|
|
|
|
|
bless( { |
15150
|
|
|
|
|
|
|
'error' => undef, |
15151
|
|
|
|
|
|
|
'strcount' => 0, |
15152
|
|
|
|
|
|
|
'line' => undef, |
15153
|
|
|
|
|
|
|
'items' => [ |
15154
|
|
|
|
|
|
|
bless( { |
15155
|
|
|
|
|
|
|
'matchrule' => 0, |
15156
|
|
|
|
|
|
|
'argcode' => undef, |
15157
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES', |
15158
|
|
|
|
|
|
|
'implicit' => undef, |
15159
|
|
|
|
|
|
|
'line' => 101, |
15160
|
|
|
|
|
|
|
'lookahead' => 0 |
15161
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15162
|
|
|
|
|
|
|
], |
15163
|
|
|
|
|
|
|
'dircount' => 0, |
15164
|
|
|
|
|
|
|
'patcount' => 0, |
15165
|
|
|
|
|
|
|
'number' => 0, |
15166
|
|
|
|
|
|
|
'actcount' => 0, |
15167
|
|
|
|
|
|
|
'uncommit' => undef |
15168
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15169
|
|
|
|
|
|
|
] |
15170
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15171
|
|
|
|
|
|
|
'mailboxname' => bless( { |
15172
|
|
|
|
|
|
|
'impcount' => 0, |
15173
|
|
|
|
|
|
|
'changed' => 0, |
15174
|
|
|
|
|
|
|
'vars' => '', |
15175
|
|
|
|
|
|
|
'opcount' => 0, |
15176
|
|
|
|
|
|
|
'name' => 'mailboxname', |
15177
|
|
|
|
|
|
|
'line' => 79, |
15178
|
|
|
|
|
|
|
'calls' => [ |
15179
|
|
|
|
|
|
|
'NIL', |
15180
|
|
|
|
|
|
|
'STRING' |
15181
|
|
|
|
|
|
|
], |
15182
|
|
|
|
|
|
|
'prods' => [ |
15183
|
|
|
|
|
|
|
bless( { |
15184
|
|
|
|
|
|
|
'error' => undef, |
15185
|
|
|
|
|
|
|
'patcount' => 0, |
15186
|
|
|
|
|
|
|
'number' => 0, |
15187
|
|
|
|
|
|
|
'strcount' => 0, |
15188
|
|
|
|
|
|
|
'dircount' => 0, |
15189
|
|
|
|
|
|
|
'items' => [ |
15190
|
|
|
|
|
|
|
bless( { |
15191
|
|
|
|
|
|
|
'matchrule' => 0, |
15192
|
|
|
|
|
|
|
'argcode' => undef, |
15193
|
|
|
|
|
|
|
'implicit' => undef, |
15194
|
|
|
|
|
|
|
'line' => 79, |
15195
|
|
|
|
|
|
|
'subrule' => 'NIL', |
15196
|
|
|
|
|
|
|
'lookahead' => 0 |
15197
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15198
|
|
|
|
|
|
|
], |
15199
|
|
|
|
|
|
|
'line' => undef, |
15200
|
|
|
|
|
|
|
'uncommit' => undef, |
15201
|
|
|
|
|
|
|
'actcount' => 0 |
15202
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15203
|
|
|
|
|
|
|
bless( { |
15204
|
|
|
|
|
|
|
'number' => 1, |
15205
|
|
|
|
|
|
|
'patcount' => 0, |
15206
|
|
|
|
|
|
|
'items' => [ |
15207
|
|
|
|
|
|
|
bless( { |
15208
|
|
|
|
|
|
|
'lookahead' => 0, |
15209
|
|
|
|
|
|
|
'implicit' => undef, |
15210
|
|
|
|
|
|
|
'subrule' => 'STRING', |
15211
|
|
|
|
|
|
|
'line' => 79, |
15212
|
|
|
|
|
|
|
'argcode' => undef, |
15213
|
|
|
|
|
|
|
'matchrule' => 0 |
15214
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15215
|
|
|
|
|
|
|
], |
15216
|
|
|
|
|
|
|
'line' => 79, |
15217
|
|
|
|
|
|
|
'dircount' => 0, |
15218
|
|
|
|
|
|
|
'strcount' => 0, |
15219
|
|
|
|
|
|
|
'uncommit' => undef, |
15220
|
|
|
|
|
|
|
'actcount' => 0, |
15221
|
|
|
|
|
|
|
'error' => undef |
15222
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15223
|
|
|
|
|
|
|
] |
15224
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15225
|
|
|
|
|
|
|
'basicfields' => bless( { |
15226
|
|
|
|
|
|
|
'calls' => [ |
15227
|
|
|
|
|
|
|
'bodysubtype', |
15228
|
|
|
|
|
|
|
'bodyparms', |
15229
|
|
|
|
|
|
|
'bodyid', |
15230
|
|
|
|
|
|
|
'bodydesc', |
15231
|
|
|
|
|
|
|
'bodyenc', |
15232
|
|
|
|
|
|
|
'bodysize' |
15233
|
|
|
|
|
|
|
], |
15234
|
|
|
|
|
|
|
'prods' => [ |
15235
|
|
|
|
|
|
|
bless( { |
15236
|
|
|
|
|
|
|
'error' => undef, |
15237
|
|
|
|
|
|
|
'number' => 0, |
15238
|
|
|
|
|
|
|
'patcount' => 0, |
15239
|
|
|
|
|
|
|
'items' => [ |
15240
|
|
|
|
|
|
|
bless( { |
15241
|
|
|
|
|
|
|
'lookahead' => 0, |
15242
|
|
|
|
|
|
|
'implicit' => undef, |
15243
|
|
|
|
|
|
|
'subrule' => 'bodysubtype', |
15244
|
|
|
|
|
|
|
'line' => 114, |
15245
|
|
|
|
|
|
|
'argcode' => undef, |
15246
|
|
|
|
|
|
|
'matchrule' => 0 |
15247
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15248
|
|
|
|
|
|
|
bless( { |
15249
|
|
|
|
|
|
|
'max' => 1, |
15250
|
|
|
|
|
|
|
'subrule' => 'bodyparms', |
15251
|
|
|
|
|
|
|
'line' => 114, |
15252
|
|
|
|
|
|
|
'lookahead' => 0, |
15253
|
|
|
|
|
|
|
'matchrule' => 0, |
15254
|
|
|
|
|
|
|
'expected' => undef, |
15255
|
|
|
|
|
|
|
'repspec' => '?', |
15256
|
|
|
|
|
|
|
'min' => 0, |
15257
|
|
|
|
|
|
|
'argcode' => undef |
15258
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15259
|
|
|
|
|
|
|
bless( { |
15260
|
|
|
|
|
|
|
'min' => 0, |
15261
|
|
|
|
|
|
|
'argcode' => undef, |
15262
|
|
|
|
|
|
|
'matchrule' => 0, |
15263
|
|
|
|
|
|
|
'expected' => undef, |
15264
|
|
|
|
|
|
|
'repspec' => '?', |
15265
|
|
|
|
|
|
|
'subrule' => 'bodyid', |
15266
|
|
|
|
|
|
|
'line' => 114, |
15267
|
|
|
|
|
|
|
'lookahead' => 0, |
15268
|
|
|
|
|
|
|
'max' => 1 |
15269
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15270
|
|
|
|
|
|
|
bless( { |
15271
|
|
|
|
|
|
|
'lookahead' => 0, |
15272
|
|
|
|
|
|
|
'subrule' => 'bodydesc', |
15273
|
|
|
|
|
|
|
'line' => 115, |
15274
|
|
|
|
|
|
|
'max' => 1, |
15275
|
|
|
|
|
|
|
'argcode' => undef, |
15276
|
|
|
|
|
|
|
'min' => 0, |
15277
|
|
|
|
|
|
|
'repspec' => '?', |
15278
|
|
|
|
|
|
|
'expected' => undef, |
15279
|
|
|
|
|
|
|
'matchrule' => 0 |
15280
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15281
|
|
|
|
|
|
|
bless( { |
15282
|
|
|
|
|
|
|
'argcode' => undef, |
15283
|
|
|
|
|
|
|
'min' => 0, |
15284
|
|
|
|
|
|
|
'repspec' => '?', |
15285
|
|
|
|
|
|
|
'expected' => undef, |
15286
|
|
|
|
|
|
|
'matchrule' => 0, |
15287
|
|
|
|
|
|
|
'lookahead' => 0, |
15288
|
|
|
|
|
|
|
'line' => 115, |
15289
|
|
|
|
|
|
|
'subrule' => 'bodyenc', |
15290
|
|
|
|
|
|
|
'max' => 1 |
15291
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15292
|
|
|
|
|
|
|
bless( { |
15293
|
|
|
|
|
|
|
'max' => 1, |
15294
|
|
|
|
|
|
|
'subrule' => 'bodysize', |
15295
|
|
|
|
|
|
|
'line' => 115, |
15296
|
|
|
|
|
|
|
'lookahead' => 0, |
15297
|
|
|
|
|
|
|
'repspec' => '?', |
15298
|
|
|
|
|
|
|
'matchrule' => 0, |
15299
|
|
|
|
|
|
|
'expected' => undef, |
15300
|
|
|
|
|
|
|
'argcode' => undef, |
15301
|
|
|
|
|
|
|
'min' => 0 |
15302
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15303
|
|
|
|
|
|
|
bless( { |
15304
|
|
|
|
|
|
|
'lookahead' => 0, |
15305
|
|
|
|
|
|
|
'line' => 116, |
15306
|
|
|
|
|
|
|
'code' => '{ $return = { bodysubtype => $item{bodysubtype} }; |
15307
|
|
|
|
|
|
|
take_optional_items($return, \\%item, |
15308
|
|
|
|
|
|
|
qw/bodyparms bodyid bodydesc bodyenc bodysize/); |
15309
|
|
|
|
|
|
|
1; |
15310
|
|
|
|
|
|
|
}', |
15311
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
15312
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
15313
|
|
|
|
|
|
|
], |
15314
|
|
|
|
|
|
|
'dircount' => 0, |
15315
|
|
|
|
|
|
|
'line' => undef, |
15316
|
|
|
|
|
|
|
'strcount' => 0, |
15317
|
|
|
|
|
|
|
'uncommit' => undef, |
15318
|
|
|
|
|
|
|
'actcount' => 1 |
15319
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15320
|
|
|
|
|
|
|
], |
15321
|
|
|
|
|
|
|
'line' => 114, |
15322
|
|
|
|
|
|
|
'impcount' => 0, |
15323
|
|
|
|
|
|
|
'changed' => 0, |
15324
|
|
|
|
|
|
|
'vars' => '', |
15325
|
|
|
|
|
|
|
'opcount' => 0, |
15326
|
|
|
|
|
|
|
'name' => 'basicfields' |
15327
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15328
|
|
|
|
|
|
|
'bodysize' => bless( { |
15329
|
|
|
|
|
|
|
'opcount' => 0, |
15330
|
|
|
|
|
|
|
'name' => 'bodysize', |
15331
|
|
|
|
|
|
|
'vars' => '', |
15332
|
|
|
|
|
|
|
'changed' => 0, |
15333
|
|
|
|
|
|
|
'impcount' => 0, |
15334
|
|
|
|
|
|
|
'prods' => [ |
15335
|
|
|
|
|
|
|
bless( { |
15336
|
|
|
|
|
|
|
'line' => undef, |
15337
|
|
|
|
|
|
|
'items' => [ |
15338
|
|
|
|
|
|
|
bless( { |
15339
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
15340
|
|
|
|
|
|
|
'lookahead' => -1, |
15341
|
|
|
|
|
|
|
'pattern' => '[()]', |
15342
|
|
|
|
|
|
|
'line' => 70, |
15343
|
|
|
|
|
|
|
'rdelim' => '/', |
15344
|
|
|
|
|
|
|
'mod' => '', |
15345
|
|
|
|
|
|
|
'description' => '/[()]/', |
15346
|
|
|
|
|
|
|
'ldelim' => '/' |
15347
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
15348
|
|
|
|
|
|
|
bless( { |
15349
|
|
|
|
|
|
|
'matchrule' => 0, |
15350
|
|
|
|
|
|
|
'argcode' => undef, |
15351
|
|
|
|
|
|
|
'line' => 70, |
15352
|
|
|
|
|
|
|
'implicit' => undef, |
15353
|
|
|
|
|
|
|
'subrule' => 'NIL', |
15354
|
|
|
|
|
|
|
'lookahead' => 0 |
15355
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15356
|
|
|
|
|
|
|
], |
15357
|
|
|
|
|
|
|
'dircount' => 0, |
15358
|
|
|
|
|
|
|
'strcount' => 0, |
15359
|
|
|
|
|
|
|
'number' => 0, |
15360
|
|
|
|
|
|
|
'patcount' => 1, |
15361
|
|
|
|
|
|
|
'actcount' => 0, |
15362
|
|
|
|
|
|
|
'uncommit' => undef, |
15363
|
|
|
|
|
|
|
'error' => undef |
15364
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15365
|
|
|
|
|
|
|
bless( { |
15366
|
|
|
|
|
|
|
'error' => undef, |
15367
|
|
|
|
|
|
|
'actcount' => 0, |
15368
|
|
|
|
|
|
|
'uncommit' => undef, |
15369
|
|
|
|
|
|
|
'line' => 70, |
15370
|
|
|
|
|
|
|
'items' => [ |
15371
|
|
|
|
|
|
|
bless( { |
15372
|
|
|
|
|
|
|
'matchrule' => 0, |
15373
|
|
|
|
|
|
|
'argcode' => undef, |
15374
|
|
|
|
|
|
|
'line' => 70, |
15375
|
|
|
|
|
|
|
'implicit' => undef, |
15376
|
|
|
|
|
|
|
'subrule' => 'NUMBER', |
15377
|
|
|
|
|
|
|
'lookahead' => 0 |
15378
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15379
|
|
|
|
|
|
|
], |
15380
|
|
|
|
|
|
|
'dircount' => 0, |
15381
|
|
|
|
|
|
|
'strcount' => 0, |
15382
|
|
|
|
|
|
|
'number' => 1, |
15383
|
|
|
|
|
|
|
'patcount' => 0 |
15384
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15385
|
|
|
|
|
|
|
], |
15386
|
|
|
|
|
|
|
'calls' => [ |
15387
|
|
|
|
|
|
|
'NIL', |
15388
|
|
|
|
|
|
|
'NUMBER' |
15389
|
|
|
|
|
|
|
], |
15390
|
|
|
|
|
|
|
'line' => 70 |
15391
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15392
|
|
|
|
|
|
|
'othertypemessage' => bless( { |
15393
|
|
|
|
|
|
|
'opcount' => 0, |
15394
|
|
|
|
|
|
|
'name' => 'othertypemessage', |
15395
|
|
|
|
|
|
|
'vars' => '', |
15396
|
|
|
|
|
|
|
'impcount' => 0, |
15397
|
|
|
|
|
|
|
'changed' => 0, |
15398
|
|
|
|
|
|
|
'line' => 132, |
15399
|
|
|
|
|
|
|
'prods' => [ |
15400
|
|
|
|
|
|
|
bless( { |
15401
|
|
|
|
|
|
|
'error' => undef, |
15402
|
|
|
|
|
|
|
'uncommit' => undef, |
15403
|
|
|
|
|
|
|
'actcount' => 1, |
15404
|
|
|
|
|
|
|
'patcount' => 0, |
15405
|
|
|
|
|
|
|
'number' => 0, |
15406
|
|
|
|
|
|
|
'strcount' => 0, |
15407
|
|
|
|
|
|
|
'line' => undef, |
15408
|
|
|
|
|
|
|
'items' => [ |
15409
|
|
|
|
|
|
|
bless( { |
15410
|
|
|
|
|
|
|
'matchrule' => 0, |
15411
|
|
|
|
|
|
|
'lookahead' => 0, |
15412
|
|
|
|
|
|
|
'line' => 132, |
15413
|
|
|
|
|
|
|
'implicit' => undef, |
15414
|
|
|
|
|
|
|
'subrule' => 'bodytype', |
15415
|
|
|
|
|
|
|
'argcode' => undef |
15416
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15417
|
|
|
|
|
|
|
bless( { |
15418
|
|
|
|
|
|
|
'matchrule' => 0, |
15419
|
|
|
|
|
|
|
'argcode' => undef, |
15420
|
|
|
|
|
|
|
'subrule' => 'basicfields', |
15421
|
|
|
|
|
|
|
'implicit' => undef, |
15422
|
|
|
|
|
|
|
'line' => 132, |
15423
|
|
|
|
|
|
|
'lookahead' => 0 |
15424
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15425
|
|
|
|
|
|
|
bless( { |
15426
|
|
|
|
|
|
|
'min' => 0, |
15427
|
|
|
|
|
|
|
'argcode' => undef, |
15428
|
|
|
|
|
|
|
'expected' => undef, |
15429
|
|
|
|
|
|
|
'matchrule' => 0, |
15430
|
|
|
|
|
|
|
'repspec' => '?', |
15431
|
|
|
|
|
|
|
'lookahead' => 0, |
15432
|
|
|
|
|
|
|
'line' => 132, |
15433
|
|
|
|
|
|
|
'subrule' => 'bodyMD5', |
15434
|
|
|
|
|
|
|
'max' => 1 |
15435
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15436
|
|
|
|
|
|
|
bless( { |
15437
|
|
|
|
|
|
|
'lookahead' => 0, |
15438
|
|
|
|
|
|
|
'subrule' => 'bodydisp', |
15439
|
|
|
|
|
|
|
'line' => 132, |
15440
|
|
|
|
|
|
|
'max' => 1, |
15441
|
|
|
|
|
|
|
'argcode' => undef, |
15442
|
|
|
|
|
|
|
'min' => 0, |
15443
|
|
|
|
|
|
|
'repspec' => '?', |
15444
|
|
|
|
|
|
|
'expected' => undef, |
15445
|
|
|
|
|
|
|
'matchrule' => 0 |
15446
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15447
|
|
|
|
|
|
|
bless( { |
15448
|
|
|
|
|
|
|
'repspec' => '?', |
15449
|
|
|
|
|
|
|
'matchrule' => 0, |
15450
|
|
|
|
|
|
|
'expected' => undef, |
15451
|
|
|
|
|
|
|
'argcode' => undef, |
15452
|
|
|
|
|
|
|
'min' => 0, |
15453
|
|
|
|
|
|
|
'max' => 1, |
15454
|
|
|
|
|
|
|
'line' => 133, |
15455
|
|
|
|
|
|
|
'subrule' => 'bodylang', |
15456
|
|
|
|
|
|
|
'lookahead' => 0 |
15457
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15458
|
|
|
|
|
|
|
bless( { |
15459
|
|
|
|
|
|
|
'repspec' => '?', |
15460
|
|
|
|
|
|
|
'matchrule' => 0, |
15461
|
|
|
|
|
|
|
'expected' => undef, |
15462
|
|
|
|
|
|
|
'argcode' => undef, |
15463
|
|
|
|
|
|
|
'min' => 0, |
15464
|
|
|
|
|
|
|
'max' => 1, |
15465
|
|
|
|
|
|
|
'subrule' => 'bodyextra', |
15466
|
|
|
|
|
|
|
'line' => 133, |
15467
|
|
|
|
|
|
|
'lookahead' => 0 |
15468
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15469
|
|
|
|
|
|
|
bless( { |
15470
|
|
|
|
|
|
|
'code' => '{ $return = { bodytype => $item{bodytype} }; |
15471
|
|
|
|
|
|
|
take_optional_items($return, \\%item |
15472
|
|
|
|
|
|
|
, qw/bodyMD5 bodydisp bodylang bodyextra/ ); |
15473
|
|
|
|
|
|
|
merge_hash($return, $item{basicfields}); |
15474
|
|
|
|
|
|
|
1; |
15475
|
|
|
|
|
|
|
}', |
15476
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
15477
|
|
|
|
|
|
|
'line' => 134, |
15478
|
|
|
|
|
|
|
'lookahead' => 0 |
15479
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
15480
|
|
|
|
|
|
|
], |
15481
|
|
|
|
|
|
|
'dircount' => 0 |
15482
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15483
|
|
|
|
|
|
|
], |
15484
|
|
|
|
|
|
|
'calls' => [ |
15485
|
|
|
|
|
|
|
'bodytype', |
15486
|
|
|
|
|
|
|
'basicfields', |
15487
|
|
|
|
|
|
|
'bodyMD5', |
15488
|
|
|
|
|
|
|
'bodydisp', |
15489
|
|
|
|
|
|
|
'bodylang', |
15490
|
|
|
|
|
|
|
'bodyextra' |
15491
|
|
|
|
|
|
|
] |
15492
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15493
|
|
|
|
|
|
|
'bodydesc' => bless( { |
15494
|
|
|
|
|
|
|
'impcount' => 0, |
15495
|
|
|
|
|
|
|
'changed' => 0, |
15496
|
|
|
|
|
|
|
'vars' => '', |
15497
|
|
|
|
|
|
|
'opcount' => 0, |
15498
|
|
|
|
|
|
|
'name' => 'bodydesc', |
15499
|
|
|
|
|
|
|
'calls' => [ |
15500
|
|
|
|
|
|
|
'NIL', |
15501
|
|
|
|
|
|
|
'STRING' |
15502
|
|
|
|
|
|
|
], |
15503
|
|
|
|
|
|
|
'prods' => [ |
15504
|
|
|
|
|
|
|
bless( { |
15505
|
|
|
|
|
|
|
'uncommit' => undef, |
15506
|
|
|
|
|
|
|
'actcount' => 0, |
15507
|
|
|
|
|
|
|
'number' => 0, |
15508
|
|
|
|
|
|
|
'patcount' => 1, |
15509
|
|
|
|
|
|
|
'dircount' => 0, |
15510
|
|
|
|
|
|
|
'line' => undef, |
15511
|
|
|
|
|
|
|
'items' => [ |
15512
|
|
|
|
|
|
|
bless( { |
15513
|
|
|
|
|
|
|
'description' => '/[()]/', |
15514
|
|
|
|
|
|
|
'mod' => '', |
15515
|
|
|
|
|
|
|
'ldelim' => '/', |
15516
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
15517
|
|
|
|
|
|
|
'lookahead' => -1, |
15518
|
|
|
|
|
|
|
'pattern' => '[()]', |
15519
|
|
|
|
|
|
|
'line' => 69, |
15520
|
|
|
|
|
|
|
'rdelim' => '/' |
15521
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
15522
|
|
|
|
|
|
|
bless( { |
15523
|
|
|
|
|
|
|
'argcode' => undef, |
15524
|
|
|
|
|
|
|
'lookahead' => 0, |
15525
|
|
|
|
|
|
|
'implicit' => undef, |
15526
|
|
|
|
|
|
|
'subrule' => 'NIL', |
15527
|
|
|
|
|
|
|
'line' => 69, |
15528
|
|
|
|
|
|
|
'matchrule' => 0 |
15529
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15530
|
|
|
|
|
|
|
], |
15531
|
|
|
|
|
|
|
'strcount' => 0, |
15532
|
|
|
|
|
|
|
'error' => undef |
15533
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15534
|
|
|
|
|
|
|
bless( { |
15535
|
|
|
|
|
|
|
'line' => 69, |
15536
|
|
|
|
|
|
|
'items' => [ |
15537
|
|
|
|
|
|
|
bless( { |
15538
|
|
|
|
|
|
|
'matchrule' => 0, |
15539
|
|
|
|
|
|
|
'lookahead' => 0, |
15540
|
|
|
|
|
|
|
'implicit' => undef, |
15541
|
|
|
|
|
|
|
'subrule' => 'STRING', |
15542
|
|
|
|
|
|
|
'line' => 69, |
15543
|
|
|
|
|
|
|
'argcode' => undef |
15544
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15545
|
|
|
|
|
|
|
], |
15546
|
|
|
|
|
|
|
'dircount' => 0, |
15547
|
|
|
|
|
|
|
'strcount' => 0, |
15548
|
|
|
|
|
|
|
'number' => 1, |
15549
|
|
|
|
|
|
|
'patcount' => 0, |
15550
|
|
|
|
|
|
|
'actcount' => 0, |
15551
|
|
|
|
|
|
|
'uncommit' => undef, |
15552
|
|
|
|
|
|
|
'error' => undef |
15553
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15554
|
|
|
|
|
|
|
], |
15555
|
|
|
|
|
|
|
'line' => 69 |
15556
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15557
|
|
|
|
|
|
|
'bodyenc' => bless( { |
15558
|
|
|
|
|
|
|
'line' => 71, |
15559
|
|
|
|
|
|
|
'calls' => [ |
15560
|
|
|
|
|
|
|
'NIL', |
15561
|
|
|
|
|
|
|
'STRING', |
15562
|
|
|
|
|
|
|
'KVPAIRS' |
15563
|
|
|
|
|
|
|
], |
15564
|
|
|
|
|
|
|
'prods' => [ |
15565
|
|
|
|
|
|
|
bless( { |
15566
|
|
|
|
|
|
|
'uncommit' => undef, |
15567
|
|
|
|
|
|
|
'actcount' => 0, |
15568
|
|
|
|
|
|
|
'number' => 0, |
15569
|
|
|
|
|
|
|
'patcount' => 0, |
15570
|
|
|
|
|
|
|
'items' => [ |
15571
|
|
|
|
|
|
|
bless( { |
15572
|
|
|
|
|
|
|
'argcode' => undef, |
15573
|
|
|
|
|
|
|
'line' => 71, |
15574
|
|
|
|
|
|
|
'implicit' => undef, |
15575
|
|
|
|
|
|
|
'subrule' => 'NIL', |
15576
|
|
|
|
|
|
|
'lookahead' => 0, |
15577
|
|
|
|
|
|
|
'matchrule' => 0 |
15578
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15579
|
|
|
|
|
|
|
], |
15580
|
|
|
|
|
|
|
'line' => undef, |
15581
|
|
|
|
|
|
|
'dircount' => 0, |
15582
|
|
|
|
|
|
|
'strcount' => 0, |
15583
|
|
|
|
|
|
|
'error' => undef |
15584
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15585
|
|
|
|
|
|
|
bless( { |
15586
|
|
|
|
|
|
|
'error' => undef, |
15587
|
|
|
|
|
|
|
'actcount' => 0, |
15588
|
|
|
|
|
|
|
'uncommit' => undef, |
15589
|
|
|
|
|
|
|
'strcount' => 0, |
15590
|
|
|
|
|
|
|
'dircount' => 0, |
15591
|
|
|
|
|
|
|
'line' => 71, |
15592
|
|
|
|
|
|
|
'items' => [ |
15593
|
|
|
|
|
|
|
bless( { |
15594
|
|
|
|
|
|
|
'argcode' => undef, |
15595
|
|
|
|
|
|
|
'lookahead' => 0, |
15596
|
|
|
|
|
|
|
'implicit' => undef, |
15597
|
|
|
|
|
|
|
'subrule' => 'STRING', |
15598
|
|
|
|
|
|
|
'line' => 71, |
15599
|
|
|
|
|
|
|
'matchrule' => 0 |
15600
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15601
|
|
|
|
|
|
|
], |
15602
|
|
|
|
|
|
|
'patcount' => 0, |
15603
|
|
|
|
|
|
|
'number' => 1 |
15604
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15605
|
|
|
|
|
|
|
bless( { |
15606
|
|
|
|
|
|
|
'uncommit' => undef, |
15607
|
|
|
|
|
|
|
'actcount' => 0, |
15608
|
|
|
|
|
|
|
'number' => 2, |
15609
|
|
|
|
|
|
|
'patcount' => 0, |
15610
|
|
|
|
|
|
|
'items' => [ |
15611
|
|
|
|
|
|
|
bless( { |
15612
|
|
|
|
|
|
|
'matchrule' => 0, |
15613
|
|
|
|
|
|
|
'argcode' => undef, |
15614
|
|
|
|
|
|
|
'lookahead' => 0, |
15615
|
|
|
|
|
|
|
'line' => 71, |
15616
|
|
|
|
|
|
|
'implicit' => undef, |
15617
|
|
|
|
|
|
|
'subrule' => 'KVPAIRS' |
15618
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15619
|
|
|
|
|
|
|
], |
15620
|
|
|
|
|
|
|
'line' => 71, |
15621
|
|
|
|
|
|
|
'dircount' => 0, |
15622
|
|
|
|
|
|
|
'strcount' => 0, |
15623
|
|
|
|
|
|
|
'error' => undef |
15624
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15625
|
|
|
|
|
|
|
], |
15626
|
|
|
|
|
|
|
'changed' => 0, |
15627
|
|
|
|
|
|
|
'impcount' => 0, |
15628
|
|
|
|
|
|
|
'vars' => '', |
15629
|
|
|
|
|
|
|
'name' => 'bodyenc', |
15630
|
|
|
|
|
|
|
'opcount' => 0 |
15631
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15632
|
|
|
|
|
|
|
'STRING' => bless( { |
15633
|
|
|
|
|
|
|
'name' => 'STRING', |
15634
|
|
|
|
|
|
|
'opcount' => 0, |
15635
|
|
|
|
|
|
|
'vars' => '', |
15636
|
|
|
|
|
|
|
'changed' => 0, |
15637
|
|
|
|
|
|
|
'impcount' => 0, |
15638
|
|
|
|
|
|
|
'line' => 46, |
15639
|
|
|
|
|
|
|
'calls' => [ |
15640
|
|
|
|
|
|
|
'DOUBLE_QUOTED_STRING', |
15641
|
|
|
|
|
|
|
'SINGLE_QUOTED_STRING', |
15642
|
|
|
|
|
|
|
'BARESTRING' |
15643
|
|
|
|
|
|
|
], |
15644
|
|
|
|
|
|
|
'prods' => [ |
15645
|
|
|
|
|
|
|
bless( { |
15646
|
|
|
|
|
|
|
'uncommit' => undef, |
15647
|
|
|
|
|
|
|
'actcount' => 0, |
15648
|
|
|
|
|
|
|
'number' => 0, |
15649
|
|
|
|
|
|
|
'patcount' => 0, |
15650
|
|
|
|
|
|
|
'line' => undef, |
15651
|
|
|
|
|
|
|
'items' => [ |
15652
|
|
|
|
|
|
|
bless( { |
15653
|
|
|
|
|
|
|
'lookahead' => 0, |
15654
|
|
|
|
|
|
|
'implicit' => undef, |
15655
|
|
|
|
|
|
|
'subrule' => 'DOUBLE_QUOTED_STRING', |
15656
|
|
|
|
|
|
|
'line' => 46, |
15657
|
|
|
|
|
|
|
'argcode' => undef, |
15658
|
|
|
|
|
|
|
'matchrule' => 0 |
15659
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15660
|
|
|
|
|
|
|
], |
15661
|
|
|
|
|
|
|
'dircount' => 0, |
15662
|
|
|
|
|
|
|
'strcount' => 0, |
15663
|
|
|
|
|
|
|
'error' => undef |
15664
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15665
|
|
|
|
|
|
|
bless( { |
15666
|
|
|
|
|
|
|
'patcount' => 0, |
15667
|
|
|
|
|
|
|
'number' => 1, |
15668
|
|
|
|
|
|
|
'strcount' => 0, |
15669
|
|
|
|
|
|
|
'dircount' => 0, |
15670
|
|
|
|
|
|
|
'items' => [ |
15671
|
|
|
|
|
|
|
bless( { |
15672
|
|
|
|
|
|
|
'matchrule' => 0, |
15673
|
|
|
|
|
|
|
'argcode' => undef, |
15674
|
|
|
|
|
|
|
'line' => 46, |
15675
|
|
|
|
|
|
|
'implicit' => undef, |
15676
|
|
|
|
|
|
|
'subrule' => 'SINGLE_QUOTED_STRING', |
15677
|
|
|
|
|
|
|
'lookahead' => 0 |
15678
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15679
|
|
|
|
|
|
|
], |
15680
|
|
|
|
|
|
|
'line' => 46, |
15681
|
|
|
|
|
|
|
'uncommit' => undef, |
15682
|
|
|
|
|
|
|
'actcount' => 0, |
15683
|
|
|
|
|
|
|
'error' => undef |
15684
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15685
|
|
|
|
|
|
|
bless( { |
15686
|
|
|
|
|
|
|
'uncommit' => undef, |
15687
|
|
|
|
|
|
|
'actcount' => 0, |
15688
|
|
|
|
|
|
|
'number' => 2, |
15689
|
|
|
|
|
|
|
'patcount' => 0, |
15690
|
|
|
|
|
|
|
'dircount' => 0, |
15691
|
|
|
|
|
|
|
'items' => [ |
15692
|
|
|
|
|
|
|
bless( { |
15693
|
|
|
|
|
|
|
'matchrule' => 0, |
15694
|
|
|
|
|
|
|
'argcode' => undef, |
15695
|
|
|
|
|
|
|
'implicit' => undef, |
15696
|
|
|
|
|
|
|
'subrule' => 'BARESTRING', |
15697
|
|
|
|
|
|
|
'line' => 46, |
15698
|
|
|
|
|
|
|
'lookahead' => 0 |
15699
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15700
|
|
|
|
|
|
|
], |
15701
|
|
|
|
|
|
|
'line' => 46, |
15702
|
|
|
|
|
|
|
'strcount' => 0, |
15703
|
|
|
|
|
|
|
'error' => undef |
15704
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15705
|
|
|
|
|
|
|
] |
15706
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15707
|
|
|
|
|
|
|
'envelope' => bless( { |
15708
|
|
|
|
|
|
|
'prods' => [ |
15709
|
|
|
|
|
|
|
bless( { |
15710
|
|
|
|
|
|
|
'uncommit' => undef, |
15711
|
|
|
|
|
|
|
'actcount' => 1, |
15712
|
|
|
|
|
|
|
'patcount' => 2, |
15713
|
|
|
|
|
|
|
'number' => 0, |
15714
|
|
|
|
|
|
|
'strcount' => 0, |
15715
|
|
|
|
|
|
|
'dircount' => 0, |
15716
|
|
|
|
|
|
|
'items' => [ |
15717
|
|
|
|
|
|
|
bless( { |
15718
|
|
|
|
|
|
|
'rdelim' => '/', |
15719
|
|
|
|
|
|
|
'pattern' => '.*?\\(.*?ENVELOPE', |
15720
|
|
|
|
|
|
|
'line' => 188, |
15721
|
|
|
|
|
|
|
'lookahead' => 0, |
15722
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
15723
|
|
|
|
|
|
|
'ldelim' => '/', |
15724
|
|
|
|
|
|
|
'description' => '/.*?\\\\(.*?ENVELOPE/', |
15725
|
|
|
|
|
|
|
'mod' => '' |
15726
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
15727
|
|
|
|
|
|
|
bless( { |
15728
|
|
|
|
|
|
|
'matchrule' => 0, |
15729
|
|
|
|
|
|
|
'implicit' => undef, |
15730
|
|
|
|
|
|
|
'line' => 188, |
15731
|
|
|
|
|
|
|
'subrule' => 'envelopestruct', |
15732
|
|
|
|
|
|
|
'lookahead' => 0, |
15733
|
|
|
|
|
|
|
'argcode' => undef |
15734
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15735
|
|
|
|
|
|
|
bless( { |
15736
|
|
|
|
|
|
|
'ldelim' => '/', |
15737
|
|
|
|
|
|
|
'description' => '/.*\\\\)/', |
15738
|
|
|
|
|
|
|
'mod' => '', |
15739
|
|
|
|
|
|
|
'line' => 188, |
15740
|
|
|
|
|
|
|
'pattern' => '.*\\)', |
15741
|
|
|
|
|
|
|
'lookahead' => 0, |
15742
|
|
|
|
|
|
|
'rdelim' => '/', |
15743
|
|
|
|
|
|
|
'hashname' => '__PATTERN2__' |
15744
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
15745
|
|
|
|
|
|
|
bless( { |
15746
|
|
|
|
|
|
|
'lookahead' => 0, |
15747
|
|
|
|
|
|
|
'line' => 189, |
15748
|
|
|
|
|
|
|
'code' => '{ $return = $item{envelopestruct} }', |
15749
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
15750
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
15751
|
|
|
|
|
|
|
], |
15752
|
|
|
|
|
|
|
'line' => undef, |
15753
|
|
|
|
|
|
|
'error' => undef |
15754
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15755
|
|
|
|
|
|
|
], |
15756
|
|
|
|
|
|
|
'calls' => [ |
15757
|
|
|
|
|
|
|
'envelopestruct' |
15758
|
|
|
|
|
|
|
], |
15759
|
|
|
|
|
|
|
'line' => 188, |
15760
|
|
|
|
|
|
|
'impcount' => 0, |
15761
|
|
|
|
|
|
|
'changed' => 0, |
15762
|
|
|
|
|
|
|
'vars' => '', |
15763
|
|
|
|
|
|
|
'name' => 'envelope', |
15764
|
|
|
|
|
|
|
'opcount' => 0 |
15765
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15766
|
|
|
|
|
|
|
'to' => bless( { |
15767
|
|
|
|
|
|
|
'line' => 103, |
15768
|
|
|
|
|
|
|
'prods' => [ |
15769
|
|
|
|
|
|
|
bless( { |
15770
|
|
|
|
|
|
|
'error' => undef, |
15771
|
|
|
|
|
|
|
'uncommit' => undef, |
15772
|
|
|
|
|
|
|
'actcount' => 0, |
15773
|
|
|
|
|
|
|
'patcount' => 0, |
15774
|
|
|
|
|
|
|
'number' => 0, |
15775
|
|
|
|
|
|
|
'strcount' => 0, |
15776
|
|
|
|
|
|
|
'items' => [ |
15777
|
|
|
|
|
|
|
bless( { |
15778
|
|
|
|
|
|
|
'argcode' => undef, |
15779
|
|
|
|
|
|
|
'lookahead' => 0, |
15780
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES', |
15781
|
|
|
|
|
|
|
'implicit' => undef, |
15782
|
|
|
|
|
|
|
'line' => 103, |
15783
|
|
|
|
|
|
|
'matchrule' => 0 |
15784
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15785
|
|
|
|
|
|
|
], |
15786
|
|
|
|
|
|
|
'line' => undef, |
15787
|
|
|
|
|
|
|
'dircount' => 0 |
15788
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15789
|
|
|
|
|
|
|
], |
15790
|
|
|
|
|
|
|
'calls' => [ |
15791
|
|
|
|
|
|
|
'ADDRESSES' |
15792
|
|
|
|
|
|
|
], |
15793
|
|
|
|
|
|
|
'name' => 'to', |
15794
|
|
|
|
|
|
|
'opcount' => 0, |
15795
|
|
|
|
|
|
|
'vars' => '', |
15796
|
|
|
|
|
|
|
'changed' => 0, |
15797
|
|
|
|
|
|
|
'impcount' => 0 |
15798
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15799
|
|
|
|
|
|
|
'textlines' => bless( { |
15800
|
|
|
|
|
|
|
'vars' => '', |
15801
|
|
|
|
|
|
|
'changed' => 0, |
15802
|
|
|
|
|
|
|
'impcount' => 0, |
15803
|
|
|
|
|
|
|
'opcount' => 0, |
15804
|
|
|
|
|
|
|
'name' => 'textlines', |
15805
|
|
|
|
|
|
|
'calls' => [ |
15806
|
|
|
|
|
|
|
'NIL', |
15807
|
|
|
|
|
|
|
'NUMBER' |
15808
|
|
|
|
|
|
|
], |
15809
|
|
|
|
|
|
|
'prods' => [ |
15810
|
|
|
|
|
|
|
bless( { |
15811
|
|
|
|
|
|
|
'patcount' => 0, |
15812
|
|
|
|
|
|
|
'number' => 0, |
15813
|
|
|
|
|
|
|
'strcount' => 0, |
15814
|
|
|
|
|
|
|
'items' => [ |
15815
|
|
|
|
|
|
|
bless( { |
15816
|
|
|
|
|
|
|
'matchrule' => 0, |
15817
|
|
|
|
|
|
|
'argcode' => undef, |
15818
|
|
|
|
|
|
|
'lookahead' => 0, |
15819
|
|
|
|
|
|
|
'implicit' => undef, |
15820
|
|
|
|
|
|
|
'line' => 50, |
15821
|
|
|
|
|
|
|
'subrule' => 'NIL' |
15822
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15823
|
|
|
|
|
|
|
], |
15824
|
|
|
|
|
|
|
'dircount' => 0, |
15825
|
|
|
|
|
|
|
'line' => undef, |
15826
|
|
|
|
|
|
|
'uncommit' => undef, |
15827
|
|
|
|
|
|
|
'actcount' => 0, |
15828
|
|
|
|
|
|
|
'error' => undef |
15829
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
15830
|
|
|
|
|
|
|
bless( { |
15831
|
|
|
|
|
|
|
'patcount' => 0, |
15832
|
|
|
|
|
|
|
'number' => 1, |
15833
|
|
|
|
|
|
|
'strcount' => 0, |
15834
|
|
|
|
|
|
|
'items' => [ |
15835
|
|
|
|
|
|
|
bless( { |
15836
|
|
|
|
|
|
|
'matchrule' => 0, |
15837
|
|
|
|
|
|
|
'lookahead' => 0, |
15838
|
|
|
|
|
|
|
'subrule' => 'NUMBER', |
15839
|
|
|
|
|
|
|
'implicit' => undef, |
15840
|
|
|
|
|
|
|
'line' => 50, |
15841
|
|
|
|
|
|
|
'argcode' => undef |
15842
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
15843
|
|
|
|
|
|
|
], |
15844
|
|
|
|
|
|
|
'dircount' => 0, |
15845
|
|
|
|
|
|
|
'line' => 50, |
15846
|
|
|
|
|
|
|
'uncommit' => undef, |
15847
|
|
|
|
|
|
|
'actcount' => 0, |
15848
|
|
|
|
|
|
|
'error' => undef |
15849
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
15850
|
|
|
|
|
|
|
], |
15851
|
|
|
|
|
|
|
'line' => 50 |
15852
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
15853
|
|
|
|
|
|
|
'nestedmessage' => bless( { |
15854
|
|
|
|
|
|
|
'opcount' => 0, |
15855
|
|
|
|
|
|
|
'name' => 'nestedmessage', |
15856
|
|
|
|
|
|
|
'changed' => 0, |
15857
|
|
|
|
|
|
|
'impcount' => 0, |
15858
|
|
|
|
|
|
|
'vars' => '', |
15859
|
|
|
|
|
|
|
'prods' => [ |
15860
|
|
|
|
|
|
|
bless( { |
15861
|
|
|
|
|
|
|
'line' => undef, |
15862
|
|
|
|
|
|
|
'items' => [ |
15863
|
|
|
|
|
|
|
bless( { |
15864
|
|
|
|
|
|
|
'matchrule' => 0, |
15865
|
|
|
|
|
|
|
'argcode' => undef, |
15866
|
|
|
|
|
|
|
'lookahead' => 0, |
15867
|
|
|
|
|
|
|
'implicit' => undef, |
15868
|
|
|
|
|
|
|
'subrule' => 'rfc822message', |
15869
|
|
|
|
|
|
|
'line' => 141 |
15870
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15871
|
|
|
|
|
|
|
bless( { |
15872
|
|
|
|
|
|
|
'line' => 141, |
15873
|
|
|
|
|
|
|
'lookahead' => 0, |
15874
|
|
|
|
|
|
|
'hashname' => '__DIRECTIVE1__', |
15875
|
|
|
|
|
|
|
'name' => '', |
15876
|
|
|
|
|
|
|
'code' => '$commit = 1' |
15877
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Directive' ), |
15878
|
|
|
|
|
|
|
bless( { |
15879
|
|
|
|
|
|
|
'argcode' => undef, |
15880
|
|
|
|
|
|
|
'implicit' => undef, |
15881
|
|
|
|
|
|
|
'line' => 141, |
15882
|
|
|
|
|
|
|
'subrule' => 'bodyparms', |
15883
|
|
|
|
|
|
|
'lookahead' => 0, |
15884
|
|
|
|
|
|
|
'matchrule' => 0 |
15885
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15886
|
|
|
|
|
|
|
bless( { |
15887
|
|
|
|
|
|
|
'matchrule' => 0, |
15888
|
|
|
|
|
|
|
'argcode' => undef, |
15889
|
|
|
|
|
|
|
'line' => 141, |
15890
|
|
|
|
|
|
|
'implicit' => undef, |
15891
|
|
|
|
|
|
|
'subrule' => 'bodyid', |
15892
|
|
|
|
|
|
|
'lookahead' => 0 |
15893
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15894
|
|
|
|
|
|
|
bless( { |
15895
|
|
|
|
|
|
|
'matchrule' => 0, |
15896
|
|
|
|
|
|
|
'argcode' => undef, |
15897
|
|
|
|
|
|
|
'lookahead' => 0, |
15898
|
|
|
|
|
|
|
'implicit' => undef, |
15899
|
|
|
|
|
|
|
'line' => 141, |
15900
|
|
|
|
|
|
|
'subrule' => 'bodydesc' |
15901
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15902
|
|
|
|
|
|
|
bless( { |
15903
|
|
|
|
|
|
|
'subrule' => 'bodyenc', |
15904
|
|
|
|
|
|
|
'implicit' => undef, |
15905
|
|
|
|
|
|
|
'line' => 141, |
15906
|
|
|
|
|
|
|
'lookahead' => 0, |
15907
|
|
|
|
|
|
|
'argcode' => undef, |
15908
|
|
|
|
|
|
|
'matchrule' => 0 |
15909
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15910
|
|
|
|
|
|
|
bless( { |
15911
|
|
|
|
|
|
|
'argcode' => undef, |
15912
|
|
|
|
|
|
|
'implicit' => undef, |
15913
|
|
|
|
|
|
|
'subrule' => 'bodysize', |
15914
|
|
|
|
|
|
|
'line' => 142, |
15915
|
|
|
|
|
|
|
'lookahead' => 0, |
15916
|
|
|
|
|
|
|
'matchrule' => 0 |
15917
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
15918
|
|
|
|
|
|
|
bless( { |
15919
|
|
|
|
|
|
|
'max' => 1, |
15920
|
|
|
|
|
|
|
'lookahead' => 0, |
15921
|
|
|
|
|
|
|
'subrule' => 'envelopestruct', |
15922
|
|
|
|
|
|
|
'line' => 143, |
15923
|
|
|
|
|
|
|
'repspec' => '?', |
15924
|
|
|
|
|
|
|
'expected' => undef, |
15925
|
|
|
|
|
|
|
'matchrule' => 0, |
15926
|
|
|
|
|
|
|
'argcode' => undef, |
15927
|
|
|
|
|
|
|
'min' => 0 |
15928
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15929
|
|
|
|
|
|
|
bless( { |
15930
|
|
|
|
|
|
|
'max' => 1, |
15931
|
|
|
|
|
|
|
'lookahead' => 0, |
15932
|
|
|
|
|
|
|
'line' => 143, |
15933
|
|
|
|
|
|
|
'subrule' => 'bodystructure', |
15934
|
|
|
|
|
|
|
'repspec' => '?', |
15935
|
|
|
|
|
|
|
'expected' => undef, |
15936
|
|
|
|
|
|
|
'matchrule' => 0, |
15937
|
|
|
|
|
|
|
'argcode' => undef, |
15938
|
|
|
|
|
|
|
'min' => 0 |
15939
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15940
|
|
|
|
|
|
|
bless( { |
15941
|
|
|
|
|
|
|
'argcode' => undef, |
15942
|
|
|
|
|
|
|
'min' => 0, |
15943
|
|
|
|
|
|
|
'repspec' => '?', |
15944
|
|
|
|
|
|
|
'matchrule' => 0, |
15945
|
|
|
|
|
|
|
'expected' => undef, |
15946
|
|
|
|
|
|
|
'line' => 143, |
15947
|
|
|
|
|
|
|
'subrule' => 'textlines', |
15948
|
|
|
|
|
|
|
'lookahead' => 0, |
15949
|
|
|
|
|
|
|
'max' => 1 |
15950
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15951
|
|
|
|
|
|
|
bless( { |
15952
|
|
|
|
|
|
|
'max' => 1, |
15953
|
|
|
|
|
|
|
'lookahead' => 0, |
15954
|
|
|
|
|
|
|
'subrule' => 'bodyMD5', |
15955
|
|
|
|
|
|
|
'line' => 144, |
15956
|
|
|
|
|
|
|
'expected' => undef, |
15957
|
|
|
|
|
|
|
'matchrule' => 0, |
15958
|
|
|
|
|
|
|
'repspec' => '?', |
15959
|
|
|
|
|
|
|
'min' => 0, |
15960
|
|
|
|
|
|
|
'argcode' => undef |
15961
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15962
|
|
|
|
|
|
|
bless( { |
15963
|
|
|
|
|
|
|
'max' => 1, |
15964
|
|
|
|
|
|
|
'line' => 144, |
15965
|
|
|
|
|
|
|
'subrule' => 'bodydisp', |
15966
|
|
|
|
|
|
|
'lookahead' => 0, |
15967
|
|
|
|
|
|
|
'repspec' => '?', |
15968
|
|
|
|
|
|
|
'matchrule' => 0, |
15969
|
|
|
|
|
|
|
'expected' => undef, |
15970
|
|
|
|
|
|
|
'argcode' => undef, |
15971
|
|
|
|
|
|
|
'min' => 0 |
15972
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15973
|
|
|
|
|
|
|
bless( { |
15974
|
|
|
|
|
|
|
'line' => 144, |
15975
|
|
|
|
|
|
|
'subrule' => 'bodylang', |
15976
|
|
|
|
|
|
|
'lookahead' => 0, |
15977
|
|
|
|
|
|
|
'max' => 1, |
15978
|
|
|
|
|
|
|
'min' => 0, |
15979
|
|
|
|
|
|
|
'argcode' => undef, |
15980
|
|
|
|
|
|
|
'matchrule' => 0, |
15981
|
|
|
|
|
|
|
'expected' => undef, |
15982
|
|
|
|
|
|
|
'repspec' => '?' |
15983
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15984
|
|
|
|
|
|
|
bless( { |
15985
|
|
|
|
|
|
|
'expected' => undef, |
15986
|
|
|
|
|
|
|
'matchrule' => 0, |
15987
|
|
|
|
|
|
|
'repspec' => '?', |
15988
|
|
|
|
|
|
|
'min' => 0, |
15989
|
|
|
|
|
|
|
'argcode' => undef, |
15990
|
|
|
|
|
|
|
'max' => 1, |
15991
|
|
|
|
|
|
|
'lookahead' => 0, |
15992
|
|
|
|
|
|
|
'subrule' => 'bodyextra', |
15993
|
|
|
|
|
|
|
'line' => 144 |
15994
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
15995
|
|
|
|
|
|
|
bless( { |
15996
|
|
|
|
|
|
|
'line' => 145, |
15997
|
|
|
|
|
|
|
'lookahead' => 0, |
15998
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
15999
|
|
|
|
|
|
|
'code' => '{ |
16000
|
|
|
|
|
|
|
$return = {}; |
16001
|
|
|
|
|
|
|
$return->{$_} = $item{$_} |
16002
|
|
|
|
|
|
|
for qw/bodyparms bodyid bodydesc bodyenc bodysize/; |
16003
|
|
|
|
|
|
|
# envelopestruct bodystructure textlines/; |
16004
|
|
|
|
|
|
|
|
16005
|
|
|
|
|
|
|
take_optional_items($return, \\%item |
16006
|
|
|
|
|
|
|
, qw/envelopestruct bodystructure textlines/ |
16007
|
|
|
|
|
|
|
, qw/bodyMD5 bodydisp bodylang bodyextra/); |
16008
|
|
|
|
|
|
|
|
16009
|
|
|
|
|
|
|
merge_hash($return, $item{bodystructure}[0]); |
16010
|
|
|
|
|
|
|
merge_hash($return, $item{basicfields}); |
16011
|
|
|
|
|
|
|
$return->{bodytype} = "MESSAGE" ; |
16012
|
|
|
|
|
|
|
$return->{bodysubtype} = "RFC822" ; |
16013
|
|
|
|
|
|
|
1; |
16014
|
|
|
|
|
|
|
}' |
16015
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16016
|
|
|
|
|
|
|
], |
16017
|
|
|
|
|
|
|
'dircount' => 1, |
16018
|
|
|
|
|
|
|
'strcount' => 0, |
16019
|
|
|
|
|
|
|
'number' => 0, |
16020
|
|
|
|
|
|
|
'patcount' => 0, |
16021
|
|
|
|
|
|
|
'actcount' => 1, |
16022
|
|
|
|
|
|
|
'uncommit' => undef, |
16023
|
|
|
|
|
|
|
'error' => undef |
16024
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16025
|
|
|
|
|
|
|
], |
16026
|
|
|
|
|
|
|
'calls' => [ |
16027
|
|
|
|
|
|
|
'rfc822message', |
16028
|
|
|
|
|
|
|
'bodyparms', |
16029
|
|
|
|
|
|
|
'bodyid', |
16030
|
|
|
|
|
|
|
'bodydesc', |
16031
|
|
|
|
|
|
|
'bodyenc', |
16032
|
|
|
|
|
|
|
'bodysize', |
16033
|
|
|
|
|
|
|
'envelopestruct', |
16034
|
|
|
|
|
|
|
'bodystructure', |
16035
|
|
|
|
|
|
|
'textlines', |
16036
|
|
|
|
|
|
|
'bodyMD5', |
16037
|
|
|
|
|
|
|
'bodydisp', |
16038
|
|
|
|
|
|
|
'bodylang', |
16039
|
|
|
|
|
|
|
'bodyextra' |
16040
|
|
|
|
|
|
|
], |
16041
|
|
|
|
|
|
|
'line' => 141 |
16042
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16043
|
|
|
|
|
|
|
'sender' => bless( { |
16044
|
|
|
|
|
|
|
'line' => 102, |
16045
|
|
|
|
|
|
|
'calls' => [ |
16046
|
|
|
|
|
|
|
'ADDRESSES' |
16047
|
|
|
|
|
|
|
], |
16048
|
|
|
|
|
|
|
'prods' => [ |
16049
|
|
|
|
|
|
|
bless( { |
16050
|
|
|
|
|
|
|
'error' => undef, |
16051
|
|
|
|
|
|
|
'actcount' => 0, |
16052
|
|
|
|
|
|
|
'uncommit' => undef, |
16053
|
|
|
|
|
|
|
'items' => [ |
16054
|
|
|
|
|
|
|
bless( { |
16055
|
|
|
|
|
|
|
'argcode' => undef, |
16056
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES', |
16057
|
|
|
|
|
|
|
'implicit' => undef, |
16058
|
|
|
|
|
|
|
'line' => 102, |
16059
|
|
|
|
|
|
|
'lookahead' => 0, |
16060
|
|
|
|
|
|
|
'matchrule' => 0 |
16061
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16062
|
|
|
|
|
|
|
], |
16063
|
|
|
|
|
|
|
'line' => undef, |
16064
|
|
|
|
|
|
|
'dircount' => 0, |
16065
|
|
|
|
|
|
|
'strcount' => 0, |
16066
|
|
|
|
|
|
|
'number' => 0, |
16067
|
|
|
|
|
|
|
'patcount' => 0 |
16068
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16069
|
|
|
|
|
|
|
], |
16070
|
|
|
|
|
|
|
'vars' => '', |
16071
|
|
|
|
|
|
|
'impcount' => 0, |
16072
|
|
|
|
|
|
|
'changed' => 0, |
16073
|
|
|
|
|
|
|
'opcount' => 0, |
16074
|
|
|
|
|
|
|
'name' => 'sender' |
16075
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16076
|
|
|
|
|
|
|
'SINGLE_QUOTED_STRING' => bless( { |
16077
|
|
|
|
|
|
|
'calls' => [], |
16078
|
|
|
|
|
|
|
'prods' => [ |
16079
|
|
|
|
|
|
|
bless( { |
16080
|
|
|
|
|
|
|
'strcount' => 2, |
16081
|
|
|
|
|
|
|
'line' => undef, |
16082
|
|
|
|
|
|
|
'items' => [ |
16083
|
|
|
|
|
|
|
bless( { |
16084
|
|
|
|
|
|
|
'lookahead' => 0, |
16085
|
|
|
|
|
|
|
'line' => 40, |
16086
|
|
|
|
|
|
|
'pattern' => '\'', |
16087
|
|
|
|
|
|
|
'description' => '\'\'\'', |
16088
|
|
|
|
|
|
|
'hashname' => '__STRING1__' |
16089
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16090
|
|
|
|
|
|
|
bless( { |
16091
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
16092
|
|
|
|
|
|
|
'rdelim' => '/', |
16093
|
|
|
|
|
|
|
'lookahead' => 0, |
16094
|
|
|
|
|
|
|
'pattern' => '(?:\\\\[\'\\\\]|[^\'])*', |
16095
|
|
|
|
|
|
|
'line' => 40, |
16096
|
|
|
|
|
|
|
'description' => '/(?:\\\\\\\\[\'\\\\\\\\]|[^\'])*/', |
16097
|
|
|
|
|
|
|
'mod' => '', |
16098
|
|
|
|
|
|
|
'ldelim' => '/' |
16099
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16100
|
|
|
|
|
|
|
bless( { |
16101
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
16102
|
|
|
|
|
|
|
'description' => '\'\'\'', |
16103
|
|
|
|
|
|
|
'line' => 40, |
16104
|
|
|
|
|
|
|
'pattern' => '\'', |
16105
|
|
|
|
|
|
|
'lookahead' => 0 |
16106
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16107
|
|
|
|
|
|
|
bless( { |
16108
|
|
|
|
|
|
|
'code' => '{ $return = $item{__PATTERN1__} }', |
16109
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16110
|
|
|
|
|
|
|
'line' => 40, |
16111
|
|
|
|
|
|
|
'lookahead' => 0 |
16112
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16113
|
|
|
|
|
|
|
], |
16114
|
|
|
|
|
|
|
'dircount' => 0, |
16115
|
|
|
|
|
|
|
'patcount' => 1, |
16116
|
|
|
|
|
|
|
'number' => 0, |
16117
|
|
|
|
|
|
|
'actcount' => 1, |
16118
|
|
|
|
|
|
|
'uncommit' => undef, |
16119
|
|
|
|
|
|
|
'error' => undef |
16120
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16121
|
|
|
|
|
|
|
], |
16122
|
|
|
|
|
|
|
'line' => 38, |
16123
|
|
|
|
|
|
|
'impcount' => 0, |
16124
|
|
|
|
|
|
|
'changed' => 0, |
16125
|
|
|
|
|
|
|
'vars' => '', |
16126
|
|
|
|
|
|
|
'opcount' => 0, |
16127
|
|
|
|
|
|
|
'name' => 'SINGLE_QUOTED_STRING' |
16128
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16129
|
|
|
|
|
|
|
'bodystructure' => bless( { |
16130
|
|
|
|
|
|
|
'calls' => [ |
16131
|
|
|
|
|
|
|
'part' |
16132
|
|
|
|
|
|
|
], |
16133
|
|
|
|
|
|
|
'prods' => [ |
16134
|
|
|
|
|
|
|
bless( { |
16135
|
|
|
|
|
|
|
'dircount' => 0, |
16136
|
|
|
|
|
|
|
'items' => [ |
16137
|
|
|
|
|
|
|
bless( { |
16138
|
|
|
|
|
|
|
'lookahead' => 0, |
16139
|
|
|
|
|
|
|
'line' => 182, |
16140
|
|
|
|
|
|
|
'pattern' => '(', |
16141
|
|
|
|
|
|
|
'description' => '\'(\'', |
16142
|
|
|
|
|
|
|
'hashname' => '__STRING1__' |
16143
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16144
|
|
|
|
|
|
|
bless( { |
16145
|
|
|
|
|
|
|
'min' => 1, |
16146
|
|
|
|
|
|
|
'argcode' => undef, |
16147
|
|
|
|
|
|
|
'expected' => undef, |
16148
|
|
|
|
|
|
|
'matchrule' => 0, |
16149
|
|
|
|
|
|
|
'repspec' => 's', |
16150
|
|
|
|
|
|
|
'lookahead' => 0, |
16151
|
|
|
|
|
|
|
'line' => 182, |
16152
|
|
|
|
|
|
|
'subrule' => 'part', |
16153
|
|
|
|
|
|
|
'max' => 100000000 |
16154
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16155
|
|
|
|
|
|
|
bless( { |
16156
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
16157
|
|
|
|
|
|
|
'description' => '\')\'', |
16158
|
|
|
|
|
|
|
'pattern' => ')', |
16159
|
|
|
|
|
|
|
'line' => 182, |
16160
|
|
|
|
|
|
|
'lookahead' => 0 |
16161
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16162
|
|
|
|
|
|
|
bless( { |
16163
|
|
|
|
|
|
|
'lookahead' => 0, |
16164
|
|
|
|
|
|
|
'line' => 183, |
16165
|
|
|
|
|
|
|
'code' => '{ $return = $item{\'part(s)\'} }', |
16166
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
16167
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16168
|
|
|
|
|
|
|
], |
16169
|
|
|
|
|
|
|
'line' => undef, |
16170
|
|
|
|
|
|
|
'strcount' => 2, |
16171
|
|
|
|
|
|
|
'number' => 0, |
16172
|
|
|
|
|
|
|
'patcount' => 0, |
16173
|
|
|
|
|
|
|
'actcount' => 1, |
16174
|
|
|
|
|
|
|
'uncommit' => undef, |
16175
|
|
|
|
|
|
|
'error' => undef |
16176
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16177
|
|
|
|
|
|
|
], |
16178
|
|
|
|
|
|
|
'line' => 182, |
16179
|
|
|
|
|
|
|
'impcount' => 0, |
16180
|
|
|
|
|
|
|
'changed' => 0, |
16181
|
|
|
|
|
|
|
'vars' => '', |
16182
|
|
|
|
|
|
|
'name' => 'bodystructure', |
16183
|
|
|
|
|
|
|
'opcount' => 0 |
16184
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16185
|
|
|
|
|
|
|
'STRINGS' => bless( { |
16186
|
|
|
|
|
|
|
'impcount' => 0, |
16187
|
|
|
|
|
|
|
'changed' => 0, |
16188
|
|
|
|
|
|
|
'vars' => '', |
16189
|
|
|
|
|
|
|
'opcount' => 0, |
16190
|
|
|
|
|
|
|
'name' => 'STRINGS', |
16191
|
|
|
|
|
|
|
'prods' => [ |
16192
|
|
|
|
|
|
|
bless( { |
16193
|
|
|
|
|
|
|
'uncommit' => undef, |
16194
|
|
|
|
|
|
|
'actcount' => 1, |
16195
|
|
|
|
|
|
|
'number' => 0, |
16196
|
|
|
|
|
|
|
'patcount' => 0, |
16197
|
|
|
|
|
|
|
'items' => [ |
16198
|
|
|
|
|
|
|
bless( { |
16199
|
|
|
|
|
|
|
'pattern' => '(', |
16200
|
|
|
|
|
|
|
'line' => 48, |
16201
|
|
|
|
|
|
|
'lookahead' => 0, |
16202
|
|
|
|
|
|
|
'hashname' => '__STRING1__', |
16203
|
|
|
|
|
|
|
'description' => '\'(\'' |
16204
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16205
|
|
|
|
|
|
|
bless( { |
16206
|
|
|
|
|
|
|
'line' => 48, |
16207
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16208
|
|
|
|
|
|
|
'lookahead' => 0, |
16209
|
|
|
|
|
|
|
'max' => 100000000, |
16210
|
|
|
|
|
|
|
'min' => 1, |
16211
|
|
|
|
|
|
|
'argcode' => undef, |
16212
|
|
|
|
|
|
|
'matchrule' => 0, |
16213
|
|
|
|
|
|
|
'expected' => undef, |
16214
|
|
|
|
|
|
|
'repspec' => 's' |
16215
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16216
|
|
|
|
|
|
|
bless( { |
16217
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
16218
|
|
|
|
|
|
|
'description' => '\')\'', |
16219
|
|
|
|
|
|
|
'pattern' => ')', |
16220
|
|
|
|
|
|
|
'line' => 48, |
16221
|
|
|
|
|
|
|
'lookahead' => 0 |
16222
|
|
|
|
|
|
|
}, 'Parse::RecDescent::InterpLit' ), |
16223
|
|
|
|
|
|
|
bless( { |
16224
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16225
|
|
|
|
|
|
|
'code' => '{ $return = $item{\'STRING(s)\'} }', |
16226
|
|
|
|
|
|
|
'lookahead' => 0, |
16227
|
|
|
|
|
|
|
'line' => 48 |
16228
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16229
|
|
|
|
|
|
|
], |
16230
|
|
|
|
|
|
|
'line' => undef, |
16231
|
|
|
|
|
|
|
'dircount' => 0, |
16232
|
|
|
|
|
|
|
'strcount' => 2, |
16233
|
|
|
|
|
|
|
'error' => undef |
16234
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16235
|
|
|
|
|
|
|
], |
16236
|
|
|
|
|
|
|
'calls' => [ |
16237
|
|
|
|
|
|
|
'STRING' |
16238
|
|
|
|
|
|
|
], |
16239
|
|
|
|
|
|
|
'line' => 48 |
16240
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16241
|
|
|
|
|
|
|
'BARESTRING' => bless( { |
16242
|
|
|
|
|
|
|
'vars' => '', |
16243
|
|
|
|
|
|
|
'changed' => 0, |
16244
|
|
|
|
|
|
|
'impcount' => 0, |
16245
|
|
|
|
|
|
|
'opcount' => 0, |
16246
|
|
|
|
|
|
|
'name' => 'BARESTRING', |
16247
|
|
|
|
|
|
|
'prods' => [ |
16248
|
|
|
|
|
|
|
bless( { |
16249
|
|
|
|
|
|
|
'error' => undef, |
16250
|
|
|
|
|
|
|
'number' => 0, |
16251
|
|
|
|
|
|
|
'patcount' => 2, |
16252
|
|
|
|
|
|
|
'items' => [ |
16253
|
|
|
|
|
|
|
bless( { |
16254
|
|
|
|
|
|
|
'description' => '/^[)(\'"]/', |
16255
|
|
|
|
|
|
|
'mod' => '', |
16256
|
|
|
|
|
|
|
'ldelim' => '/', |
16257
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
16258
|
|
|
|
|
|
|
'line' => 43, |
16259
|
|
|
|
|
|
|
'pattern' => '^[)(\'"]', |
16260
|
|
|
|
|
|
|
'lookahead' => -1, |
16261
|
|
|
|
|
|
|
'rdelim' => '/' |
16262
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16263
|
|
|
|
|
|
|
bless( { |
16264
|
|
|
|
|
|
|
'mod' => '', |
16265
|
|
|
|
|
|
|
'description' => '/^(?!\\\\(|\\\\))(?:\\\\\\\\ |\\\\S)+/', |
16266
|
|
|
|
|
|
|
'ldelim' => '/', |
16267
|
|
|
|
|
|
|
'hashname' => '__PATTERN2__', |
16268
|
|
|
|
|
|
|
'pattern' => '^(?!\\(|\\))(?:\\\\ |\\S)+', |
16269
|
|
|
|
|
|
|
'line' => 43, |
16270
|
|
|
|
|
|
|
'lookahead' => 0, |
16271
|
|
|
|
|
|
|
'rdelim' => '/' |
16272
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16273
|
|
|
|
|
|
|
bless( { |
16274
|
|
|
|
|
|
|
'lookahead' => 0, |
16275
|
|
|
|
|
|
|
'line' => 44, |
16276
|
|
|
|
|
|
|
'code' => '{ $return = $item{__PATTERN1__} }', |
16277
|
|
|
|
|
|
|
'hashname' => '__ACTION1__' |
16278
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16279
|
|
|
|
|
|
|
], |
16280
|
|
|
|
|
|
|
'line' => undef, |
16281
|
|
|
|
|
|
|
'dircount' => 0, |
16282
|
|
|
|
|
|
|
'strcount' => 0, |
16283
|
|
|
|
|
|
|
'uncommit' => undef, |
16284
|
|
|
|
|
|
|
'actcount' => 1 |
16285
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16286
|
|
|
|
|
|
|
], |
16287
|
|
|
|
|
|
|
'calls' => [], |
16288
|
|
|
|
|
|
|
'line' => 43 |
16289
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16290
|
|
|
|
|
|
|
'bodyparms' => bless( { |
16291
|
|
|
|
|
|
|
'line' => 66, |
16292
|
|
|
|
|
|
|
'calls' => [ |
16293
|
|
|
|
|
|
|
'NIL', |
16294
|
|
|
|
|
|
|
'KVPAIRS' |
16295
|
|
|
|
|
|
|
], |
16296
|
|
|
|
|
|
|
'prods' => [ |
16297
|
|
|
|
|
|
|
bless( { |
16298
|
|
|
|
|
|
|
'items' => [ |
16299
|
|
|
|
|
|
|
bless( { |
16300
|
|
|
|
|
|
|
'argcode' => undef, |
16301
|
|
|
|
|
|
|
'line' => 66, |
16302
|
|
|
|
|
|
|
'implicit' => undef, |
16303
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16304
|
|
|
|
|
|
|
'lookahead' => 0, |
16305
|
|
|
|
|
|
|
'matchrule' => 0 |
16306
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16307
|
|
|
|
|
|
|
], |
16308
|
|
|
|
|
|
|
'line' => undef, |
16309
|
|
|
|
|
|
|
'dircount' => 0, |
16310
|
|
|
|
|
|
|
'strcount' => 0, |
16311
|
|
|
|
|
|
|
'number' => 0, |
16312
|
|
|
|
|
|
|
'patcount' => 0, |
16313
|
|
|
|
|
|
|
'actcount' => 0, |
16314
|
|
|
|
|
|
|
'uncommit' => undef, |
16315
|
|
|
|
|
|
|
'error' => undef |
16316
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16317
|
|
|
|
|
|
|
bless( { |
16318
|
|
|
|
|
|
|
'error' => undef, |
16319
|
|
|
|
|
|
|
'number' => 1, |
16320
|
|
|
|
|
|
|
'patcount' => 0, |
16321
|
|
|
|
|
|
|
'line' => 66, |
16322
|
|
|
|
|
|
|
'dircount' => 0, |
16323
|
|
|
|
|
|
|
'items' => [ |
16324
|
|
|
|
|
|
|
bless( { |
16325
|
|
|
|
|
|
|
'argcode' => undef, |
16326
|
|
|
|
|
|
|
'subrule' => 'KVPAIRS', |
16327
|
|
|
|
|
|
|
'implicit' => undef, |
16328
|
|
|
|
|
|
|
'line' => 66, |
16329
|
|
|
|
|
|
|
'lookahead' => 0, |
16330
|
|
|
|
|
|
|
'matchrule' => 0 |
16331
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16332
|
|
|
|
|
|
|
], |
16333
|
|
|
|
|
|
|
'strcount' => 0, |
16334
|
|
|
|
|
|
|
'uncommit' => undef, |
16335
|
|
|
|
|
|
|
'actcount' => 0 |
16336
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16337
|
|
|
|
|
|
|
], |
16338
|
|
|
|
|
|
|
'opcount' => 0, |
16339
|
|
|
|
|
|
|
'name' => 'bodyparms', |
16340
|
|
|
|
|
|
|
'impcount' => 0, |
16341
|
|
|
|
|
|
|
'changed' => 0, |
16342
|
|
|
|
|
|
|
'vars' => '' |
16343
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16344
|
|
|
|
|
|
|
'DOUBLE_QUOTED_STRING' => bless( { |
16345
|
|
|
|
|
|
|
'line' => 41, |
16346
|
|
|
|
|
|
|
'prods' => [ |
16347
|
|
|
|
|
|
|
bless( { |
16348
|
|
|
|
|
|
|
'items' => [ |
16349
|
|
|
|
|
|
|
bless( { |
16350
|
|
|
|
|
|
|
'lookahead' => 0, |
16351
|
|
|
|
|
|
|
'pattern' => '"', |
16352
|
|
|
|
|
|
|
'line' => 41, |
16353
|
|
|
|
|
|
|
'description' => '\'"\'', |
16354
|
|
|
|
|
|
|
'hashname' => '__STRING1__' |
16355
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Literal' ), |
16356
|
|
|
|
|
|
|
bless( { |
16357
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
16358
|
|
|
|
|
|
|
'rdelim' => '/', |
16359
|
|
|
|
|
|
|
'line' => 41, |
16360
|
|
|
|
|
|
|
'pattern' => '(?:\\\\["\\\\]|[^"])*', |
16361
|
|
|
|
|
|
|
'lookahead' => 0, |
16362
|
|
|
|
|
|
|
'mod' => '', |
16363
|
|
|
|
|
|
|
'description' => '/(?:\\\\\\\\["\\\\\\\\]|[^"])*/', |
16364
|
|
|
|
|
|
|
'ldelim' => '/' |
16365
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16366
|
|
|
|
|
|
|
bless( { |
16367
|
|
|
|
|
|
|
'hashname' => '__STRING2__', |
16368
|
|
|
|
|
|
|
'description' => '\'"\'', |
16369
|
|
|
|
|
|
|
'line' => 41, |
16370
|
|
|
|
|
|
|
'pattern' => '"', |
16371
|
|
|
|
|
|
|
'lookahead' => 0 |
16372
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Literal' ), |
16373
|
|
|
|
|
|
|
bless( { |
16374
|
|
|
|
|
|
|
'code' => '{ $return = $item{__PATTERN1__} }', |
16375
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16376
|
|
|
|
|
|
|
'line' => 41, |
16377
|
|
|
|
|
|
|
'lookahead' => 0 |
16378
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16379
|
|
|
|
|
|
|
], |
16380
|
|
|
|
|
|
|
'line' => undef, |
16381
|
|
|
|
|
|
|
'dircount' => 0, |
16382
|
|
|
|
|
|
|
'strcount' => 2, |
16383
|
|
|
|
|
|
|
'number' => 0, |
16384
|
|
|
|
|
|
|
'patcount' => 1, |
16385
|
|
|
|
|
|
|
'actcount' => 1, |
16386
|
|
|
|
|
|
|
'uncommit' => undef, |
16387
|
|
|
|
|
|
|
'error' => undef |
16388
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16389
|
|
|
|
|
|
|
], |
16390
|
|
|
|
|
|
|
'calls' => [], |
16391
|
|
|
|
|
|
|
'vars' => '', |
16392
|
|
|
|
|
|
|
'impcount' => 0, |
16393
|
|
|
|
|
|
|
'changed' => 0, |
16394
|
|
|
|
|
|
|
'opcount' => 0, |
16395
|
|
|
|
|
|
|
'name' => 'DOUBLE_QUOTED_STRING' |
16396
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16397
|
|
|
|
|
|
|
'sourceroute' => bless( { |
16398
|
|
|
|
|
|
|
'line' => 78, |
16399
|
|
|
|
|
|
|
'prods' => [ |
16400
|
|
|
|
|
|
|
bless( { |
16401
|
|
|
|
|
|
|
'actcount' => 0, |
16402
|
|
|
|
|
|
|
'uncommit' => undef, |
16403
|
|
|
|
|
|
|
'line' => undef, |
16404
|
|
|
|
|
|
|
'items' => [ |
16405
|
|
|
|
|
|
|
bless( { |
16406
|
|
|
|
|
|
|
'argcode' => undef, |
16407
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16408
|
|
|
|
|
|
|
'implicit' => undef, |
16409
|
|
|
|
|
|
|
'line' => 78, |
16410
|
|
|
|
|
|
|
'lookahead' => 0, |
16411
|
|
|
|
|
|
|
'matchrule' => 0 |
16412
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16413
|
|
|
|
|
|
|
], |
16414
|
|
|
|
|
|
|
'dircount' => 0, |
16415
|
|
|
|
|
|
|
'strcount' => 0, |
16416
|
|
|
|
|
|
|
'number' => 0, |
16417
|
|
|
|
|
|
|
'patcount' => 0, |
16418
|
|
|
|
|
|
|
'error' => undef |
16419
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16420
|
|
|
|
|
|
|
bless( { |
16421
|
|
|
|
|
|
|
'error' => undef, |
16422
|
|
|
|
|
|
|
'actcount' => 0, |
16423
|
|
|
|
|
|
|
'uncommit' => undef, |
16424
|
|
|
|
|
|
|
'line' => 78, |
16425
|
|
|
|
|
|
|
'items' => [ |
16426
|
|
|
|
|
|
|
bless( { |
16427
|
|
|
|
|
|
|
'matchrule' => 0, |
16428
|
|
|
|
|
|
|
'argcode' => undef, |
16429
|
|
|
|
|
|
|
'line' => 78, |
16430
|
|
|
|
|
|
|
'implicit' => undef, |
16431
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16432
|
|
|
|
|
|
|
'lookahead' => 0 |
16433
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16434
|
|
|
|
|
|
|
], |
16435
|
|
|
|
|
|
|
'dircount' => 0, |
16436
|
|
|
|
|
|
|
'strcount' => 0, |
16437
|
|
|
|
|
|
|
'number' => 1, |
16438
|
|
|
|
|
|
|
'patcount' => 0 |
16439
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16440
|
|
|
|
|
|
|
], |
16441
|
|
|
|
|
|
|
'calls' => [ |
16442
|
|
|
|
|
|
|
'NIL', |
16443
|
|
|
|
|
|
|
'STRING' |
16444
|
|
|
|
|
|
|
], |
16445
|
|
|
|
|
|
|
'vars' => '', |
16446
|
|
|
|
|
|
|
'changed' => 0, |
16447
|
|
|
|
|
|
|
'impcount' => 0, |
16448
|
|
|
|
|
|
|
'name' => 'sourceroute', |
16449
|
|
|
|
|
|
|
'opcount' => 0 |
16450
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16451
|
|
|
|
|
|
|
'bodytype' => bless( { |
16452
|
|
|
|
|
|
|
'changed' => 0, |
16453
|
|
|
|
|
|
|
'impcount' => 0, |
16454
|
|
|
|
|
|
|
'vars' => '', |
16455
|
|
|
|
|
|
|
'name' => 'bodytype', |
16456
|
|
|
|
|
|
|
'opcount' => 0, |
16457
|
|
|
|
|
|
|
'line' => 65, |
16458
|
|
|
|
|
|
|
'prods' => [ |
16459
|
|
|
|
|
|
|
bless( { |
16460
|
|
|
|
|
|
|
'uncommit' => undef, |
16461
|
|
|
|
|
|
|
'actcount' => 0, |
16462
|
|
|
|
|
|
|
'number' => 0, |
16463
|
|
|
|
|
|
|
'patcount' => 0, |
16464
|
|
|
|
|
|
|
'dircount' => 0, |
16465
|
|
|
|
|
|
|
'items' => [ |
16466
|
|
|
|
|
|
|
bless( { |
16467
|
|
|
|
|
|
|
'matchrule' => 0, |
16468
|
|
|
|
|
|
|
'lookahead' => 0, |
16469
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16470
|
|
|
|
|
|
|
'implicit' => undef, |
16471
|
|
|
|
|
|
|
'line' => 65, |
16472
|
|
|
|
|
|
|
'argcode' => undef |
16473
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16474
|
|
|
|
|
|
|
], |
16475
|
|
|
|
|
|
|
'line' => undef, |
16476
|
|
|
|
|
|
|
'strcount' => 0, |
16477
|
|
|
|
|
|
|
'error' => undef |
16478
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16479
|
|
|
|
|
|
|
], |
16480
|
|
|
|
|
|
|
'calls' => [ |
16481
|
|
|
|
|
|
|
'STRING' |
16482
|
|
|
|
|
|
|
] |
16483
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16484
|
|
|
|
|
|
|
'messageid' => bless( { |
16485
|
|
|
|
|
|
|
'line' => 92, |
16486
|
|
|
|
|
|
|
'prods' => [ |
16487
|
|
|
|
|
|
|
bless( { |
16488
|
|
|
|
|
|
|
'line' => undef, |
16489
|
|
|
|
|
|
|
'dircount' => 0, |
16490
|
|
|
|
|
|
|
'items' => [ |
16491
|
|
|
|
|
|
|
bless( { |
16492
|
|
|
|
|
|
|
'lookahead' => 0, |
16493
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16494
|
|
|
|
|
|
|
'implicit' => undef, |
16495
|
|
|
|
|
|
|
'line' => 92, |
16496
|
|
|
|
|
|
|
'argcode' => undef, |
16497
|
|
|
|
|
|
|
'matchrule' => 0 |
16498
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16499
|
|
|
|
|
|
|
], |
16500
|
|
|
|
|
|
|
'strcount' => 0, |
16501
|
|
|
|
|
|
|
'number' => 0, |
16502
|
|
|
|
|
|
|
'patcount' => 0, |
16503
|
|
|
|
|
|
|
'actcount' => 0, |
16504
|
|
|
|
|
|
|
'uncommit' => undef, |
16505
|
|
|
|
|
|
|
'error' => undef |
16506
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16507
|
|
|
|
|
|
|
bless( { |
16508
|
|
|
|
|
|
|
'actcount' => 0, |
16509
|
|
|
|
|
|
|
'uncommit' => undef, |
16510
|
|
|
|
|
|
|
'dircount' => 0, |
16511
|
|
|
|
|
|
|
'items' => [ |
16512
|
|
|
|
|
|
|
bless( { |
16513
|
|
|
|
|
|
|
'matchrule' => 0, |
16514
|
|
|
|
|
|
|
'argcode' => undef, |
16515
|
|
|
|
|
|
|
'lookahead' => 0, |
16516
|
|
|
|
|
|
|
'line' => 92, |
16517
|
|
|
|
|
|
|
'implicit' => undef, |
16518
|
|
|
|
|
|
|
'subrule' => 'STRING' |
16519
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16520
|
|
|
|
|
|
|
], |
16521
|
|
|
|
|
|
|
'line' => 92, |
16522
|
|
|
|
|
|
|
'strcount' => 0, |
16523
|
|
|
|
|
|
|
'number' => 1, |
16524
|
|
|
|
|
|
|
'patcount' => 0, |
16525
|
|
|
|
|
|
|
'error' => undef |
16526
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16527
|
|
|
|
|
|
|
], |
16528
|
|
|
|
|
|
|
'calls' => [ |
16529
|
|
|
|
|
|
|
'NIL', |
16530
|
|
|
|
|
|
|
'STRING' |
16531
|
|
|
|
|
|
|
], |
16532
|
|
|
|
|
|
|
'name' => 'messageid', |
16533
|
|
|
|
|
|
|
'opcount' => 0, |
16534
|
|
|
|
|
|
|
'vars' => '', |
16535
|
|
|
|
|
|
|
'impcount' => 0, |
16536
|
|
|
|
|
|
|
'changed' => 0 |
16537
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16538
|
|
|
|
|
|
|
'value' => bless( { |
16539
|
|
|
|
|
|
|
'vars' => '', |
16540
|
|
|
|
|
|
|
'changed' => 0, |
16541
|
|
|
|
|
|
|
'impcount' => 0, |
16542
|
|
|
|
|
|
|
'name' => 'value', |
16543
|
|
|
|
|
|
|
'opcount' => 0, |
16544
|
|
|
|
|
|
|
'line' => 57, |
16545
|
|
|
|
|
|
|
'calls' => [ |
16546
|
|
|
|
|
|
|
'NIL', |
16547
|
|
|
|
|
|
|
'NUMBER', |
16548
|
|
|
|
|
|
|
'STRING', |
16549
|
|
|
|
|
|
|
'KVPAIRS' |
16550
|
|
|
|
|
|
|
], |
16551
|
|
|
|
|
|
|
'prods' => [ |
16552
|
|
|
|
|
|
|
bless( { |
16553
|
|
|
|
|
|
|
'items' => [ |
16554
|
|
|
|
|
|
|
bless( { |
16555
|
|
|
|
|
|
|
'matchrule' => 0, |
16556
|
|
|
|
|
|
|
'argcode' => undef, |
16557
|
|
|
|
|
|
|
'line' => 57, |
16558
|
|
|
|
|
|
|
'implicit' => undef, |
16559
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16560
|
|
|
|
|
|
|
'lookahead' => 0 |
16561
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16562
|
|
|
|
|
|
|
], |
16563
|
|
|
|
|
|
|
'line' => undef, |
16564
|
|
|
|
|
|
|
'dircount' => 0, |
16565
|
|
|
|
|
|
|
'strcount' => 0, |
16566
|
|
|
|
|
|
|
'number' => 0, |
16567
|
|
|
|
|
|
|
'patcount' => 0, |
16568
|
|
|
|
|
|
|
'actcount' => 0, |
16569
|
|
|
|
|
|
|
'uncommit' => undef, |
16570
|
|
|
|
|
|
|
'error' => undef |
16571
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16572
|
|
|
|
|
|
|
bless( { |
16573
|
|
|
|
|
|
|
'error' => undef, |
16574
|
|
|
|
|
|
|
'items' => [ |
16575
|
|
|
|
|
|
|
bless( { |
16576
|
|
|
|
|
|
|
'matchrule' => 0, |
16577
|
|
|
|
|
|
|
'line' => 57, |
16578
|
|
|
|
|
|
|
'implicit' => undef, |
16579
|
|
|
|
|
|
|
'subrule' => 'NUMBER', |
16580
|
|
|
|
|
|
|
'lookahead' => 0, |
16581
|
|
|
|
|
|
|
'argcode' => undef |
16582
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16583
|
|
|
|
|
|
|
], |
16584
|
|
|
|
|
|
|
'line' => 57, |
16585
|
|
|
|
|
|
|
'dircount' => 0, |
16586
|
|
|
|
|
|
|
'strcount' => 0, |
16587
|
|
|
|
|
|
|
'number' => 1, |
16588
|
|
|
|
|
|
|
'patcount' => 0, |
16589
|
|
|
|
|
|
|
'actcount' => 0, |
16590
|
|
|
|
|
|
|
'uncommit' => undef |
16591
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16592
|
|
|
|
|
|
|
bless( { |
16593
|
|
|
|
|
|
|
'error' => undef, |
16594
|
|
|
|
|
|
|
'line' => 57, |
16595
|
|
|
|
|
|
|
'items' => [ |
16596
|
|
|
|
|
|
|
bless( { |
16597
|
|
|
|
|
|
|
'matchrule' => 0, |
16598
|
|
|
|
|
|
|
'lookahead' => 0, |
16599
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16600
|
|
|
|
|
|
|
'implicit' => undef, |
16601
|
|
|
|
|
|
|
'line' => 57, |
16602
|
|
|
|
|
|
|
'argcode' => undef |
16603
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16604
|
|
|
|
|
|
|
], |
16605
|
|
|
|
|
|
|
'dircount' => 0, |
16606
|
|
|
|
|
|
|
'strcount' => 0, |
16607
|
|
|
|
|
|
|
'number' => 2, |
16608
|
|
|
|
|
|
|
'patcount' => 0, |
16609
|
|
|
|
|
|
|
'actcount' => 0, |
16610
|
|
|
|
|
|
|
'uncommit' => undef |
16611
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16612
|
|
|
|
|
|
|
bless( { |
16613
|
|
|
|
|
|
|
'patcount' => 0, |
16614
|
|
|
|
|
|
|
'number' => 3, |
16615
|
|
|
|
|
|
|
'strcount' => 0, |
16616
|
|
|
|
|
|
|
'line' => 57, |
16617
|
|
|
|
|
|
|
'items' => [ |
16618
|
|
|
|
|
|
|
bless( { |
16619
|
|
|
|
|
|
|
'matchrule' => 0, |
16620
|
|
|
|
|
|
|
'argcode' => undef, |
16621
|
|
|
|
|
|
|
'lookahead' => 0, |
16622
|
|
|
|
|
|
|
'implicit' => undef, |
16623
|
|
|
|
|
|
|
'subrule' => 'KVPAIRS', |
16624
|
|
|
|
|
|
|
'line' => 57 |
16625
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16626
|
|
|
|
|
|
|
], |
16627
|
|
|
|
|
|
|
'dircount' => 0, |
16628
|
|
|
|
|
|
|
'uncommit' => undef, |
16629
|
|
|
|
|
|
|
'actcount' => 0, |
16630
|
|
|
|
|
|
|
'error' => undef |
16631
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16632
|
|
|
|
|
|
|
] |
16633
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16634
|
|
|
|
|
|
|
'personalname' => bless( { |
16635
|
|
|
|
|
|
|
'calls' => [ |
16636
|
|
|
|
|
|
|
'NIL', |
16637
|
|
|
|
|
|
|
'STRING' |
16638
|
|
|
|
|
|
|
], |
16639
|
|
|
|
|
|
|
'prods' => [ |
16640
|
|
|
|
|
|
|
bless( { |
16641
|
|
|
|
|
|
|
'error' => undef, |
16642
|
|
|
|
|
|
|
'actcount' => 0, |
16643
|
|
|
|
|
|
|
'uncommit' => undef, |
16644
|
|
|
|
|
|
|
'strcount' => 0, |
16645
|
|
|
|
|
|
|
'items' => [ |
16646
|
|
|
|
|
|
|
bless( { |
16647
|
|
|
|
|
|
|
'matchrule' => 0, |
16648
|
|
|
|
|
|
|
'argcode' => undef, |
16649
|
|
|
|
|
|
|
'lookahead' => 0, |
16650
|
|
|
|
|
|
|
'implicit' => undef, |
16651
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16652
|
|
|
|
|
|
|
'line' => 77 |
16653
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16654
|
|
|
|
|
|
|
], |
16655
|
|
|
|
|
|
|
'line' => undef, |
16656
|
|
|
|
|
|
|
'dircount' => 0, |
16657
|
|
|
|
|
|
|
'patcount' => 0, |
16658
|
|
|
|
|
|
|
'number' => 0 |
16659
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16660
|
|
|
|
|
|
|
bless( { |
16661
|
|
|
|
|
|
|
'error' => undef, |
16662
|
|
|
|
|
|
|
'uncommit' => undef, |
16663
|
|
|
|
|
|
|
'actcount' => 0, |
16664
|
|
|
|
|
|
|
'number' => 1, |
16665
|
|
|
|
|
|
|
'patcount' => 0, |
16666
|
|
|
|
|
|
|
'items' => [ |
16667
|
|
|
|
|
|
|
bless( { |
16668
|
|
|
|
|
|
|
'argcode' => undef, |
16669
|
|
|
|
|
|
|
'lookahead' => 0, |
16670
|
|
|
|
|
|
|
'implicit' => undef, |
16671
|
|
|
|
|
|
|
'line' => 77, |
16672
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16673
|
|
|
|
|
|
|
'matchrule' => 0 |
16674
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16675
|
|
|
|
|
|
|
], |
16676
|
|
|
|
|
|
|
'line' => 77, |
16677
|
|
|
|
|
|
|
'dircount' => 0, |
16678
|
|
|
|
|
|
|
'strcount' => 0 |
16679
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16680
|
|
|
|
|
|
|
], |
16681
|
|
|
|
|
|
|
'line' => 77, |
16682
|
|
|
|
|
|
|
'opcount' => 0, |
16683
|
|
|
|
|
|
|
'name' => 'personalname', |
16684
|
|
|
|
|
|
|
'vars' => '', |
16685
|
|
|
|
|
|
|
'changed' => 0, |
16686
|
|
|
|
|
|
|
'impcount' => 0 |
16687
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16688
|
|
|
|
|
|
|
'cc' => bless( { |
16689
|
|
|
|
|
|
|
'changed' => 0, |
16690
|
|
|
|
|
|
|
'impcount' => 0, |
16691
|
|
|
|
|
|
|
'vars' => '', |
16692
|
|
|
|
|
|
|
'opcount' => 0, |
16693
|
|
|
|
|
|
|
'name' => 'cc', |
16694
|
|
|
|
|
|
|
'calls' => [ |
16695
|
|
|
|
|
|
|
'ADDRESSES' |
16696
|
|
|
|
|
|
|
], |
16697
|
|
|
|
|
|
|
'prods' => [ |
16698
|
|
|
|
|
|
|
bless( { |
16699
|
|
|
|
|
|
|
'strcount' => 0, |
16700
|
|
|
|
|
|
|
'dircount' => 0, |
16701
|
|
|
|
|
|
|
'line' => undef, |
16702
|
|
|
|
|
|
|
'items' => [ |
16703
|
|
|
|
|
|
|
bless( { |
16704
|
|
|
|
|
|
|
'matchrule' => 0, |
16705
|
|
|
|
|
|
|
'argcode' => undef, |
16706
|
|
|
|
|
|
|
'lookahead' => 0, |
16707
|
|
|
|
|
|
|
'implicit' => undef, |
16708
|
|
|
|
|
|
|
'line' => 98, |
16709
|
|
|
|
|
|
|
'subrule' => 'ADDRESSES' |
16710
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16711
|
|
|
|
|
|
|
], |
16712
|
|
|
|
|
|
|
'patcount' => 0, |
16713
|
|
|
|
|
|
|
'number' => 0, |
16714
|
|
|
|
|
|
|
'actcount' => 0, |
16715
|
|
|
|
|
|
|
'uncommit' => undef, |
16716
|
|
|
|
|
|
|
'error' => undef |
16717
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16718
|
|
|
|
|
|
|
], |
16719
|
|
|
|
|
|
|
'line' => 98 |
16720
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16721
|
|
|
|
|
|
|
'NUMBER' => bless( { |
16722
|
|
|
|
|
|
|
'line' => 36, |
16723
|
|
|
|
|
|
|
'prods' => [ |
16724
|
|
|
|
|
|
|
bless( { |
16725
|
|
|
|
|
|
|
'uncommit' => undef, |
16726
|
|
|
|
|
|
|
'actcount' => 1, |
16727
|
|
|
|
|
|
|
'number' => 0, |
16728
|
|
|
|
|
|
|
'patcount' => 1, |
16729
|
|
|
|
|
|
|
'line' => undef, |
16730
|
|
|
|
|
|
|
'items' => [ |
16731
|
|
|
|
|
|
|
bless( { |
16732
|
|
|
|
|
|
|
'mod' => '', |
16733
|
|
|
|
|
|
|
'description' => '/^(\\\\d+)/', |
16734
|
|
|
|
|
|
|
'ldelim' => '/', |
16735
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
16736
|
|
|
|
|
|
|
'pattern' => '^(\\d+)', |
16737
|
|
|
|
|
|
|
'line' => 36, |
16738
|
|
|
|
|
|
|
'lookahead' => 0, |
16739
|
|
|
|
|
|
|
'rdelim' => '/' |
16740
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16741
|
|
|
|
|
|
|
bless( { |
16742
|
|
|
|
|
|
|
'code' => '{ $return = $item[1] }', |
16743
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16744
|
|
|
|
|
|
|
'line' => 36, |
16745
|
|
|
|
|
|
|
'lookahead' => 0 |
16746
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16747
|
|
|
|
|
|
|
], |
16748
|
|
|
|
|
|
|
'dircount' => 0, |
16749
|
|
|
|
|
|
|
'strcount' => 0, |
16750
|
|
|
|
|
|
|
'error' => undef |
16751
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16752
|
|
|
|
|
|
|
], |
16753
|
|
|
|
|
|
|
'calls' => [], |
16754
|
|
|
|
|
|
|
'changed' => 0, |
16755
|
|
|
|
|
|
|
'impcount' => 0, |
16756
|
|
|
|
|
|
|
'vars' => '', |
16757
|
|
|
|
|
|
|
'opcount' => 0, |
16758
|
|
|
|
|
|
|
'name' => 'NUMBER' |
16759
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16760
|
|
|
|
|
|
|
'textmessage' => bless( { |
16761
|
|
|
|
|
|
|
'changed' => 0, |
16762
|
|
|
|
|
|
|
'impcount' => 0, |
16763
|
|
|
|
|
|
|
'vars' => '', |
16764
|
|
|
|
|
|
|
'opcount' => 0, |
16765
|
|
|
|
|
|
|
'name' => 'textmessage', |
16766
|
|
|
|
|
|
|
'line' => 122, |
16767
|
|
|
|
|
|
|
'prods' => [ |
16768
|
|
|
|
|
|
|
bless( { |
16769
|
|
|
|
|
|
|
'error' => undef, |
16770
|
|
|
|
|
|
|
'uncommit' => undef, |
16771
|
|
|
|
|
|
|
'actcount' => 1, |
16772
|
|
|
|
|
|
|
'patcount' => 0, |
16773
|
|
|
|
|
|
|
'number' => 0, |
16774
|
|
|
|
|
|
|
'strcount' => 0, |
16775
|
|
|
|
|
|
|
'items' => [ |
16776
|
|
|
|
|
|
|
bless( { |
16777
|
|
|
|
|
|
|
'lookahead' => 0, |
16778
|
|
|
|
|
|
|
'implicit' => undef, |
16779
|
|
|
|
|
|
|
'line' => 122, |
16780
|
|
|
|
|
|
|
'subrule' => 'TEXT', |
16781
|
|
|
|
|
|
|
'argcode' => undef, |
16782
|
|
|
|
|
|
|
'matchrule' => 0 |
16783
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
16784
|
|
|
|
|
|
|
bless( { |
16785
|
|
|
|
|
|
|
'code' => '$commit = 1', |
16786
|
|
|
|
|
|
|
'name' => '', |
16787
|
|
|
|
|
|
|
'hashname' => '__DIRECTIVE1__', |
16788
|
|
|
|
|
|
|
'lookahead' => 0, |
16789
|
|
|
|
|
|
|
'line' => 122 |
16790
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Directive' ), |
16791
|
|
|
|
|
|
|
bless( { |
16792
|
|
|
|
|
|
|
'argcode' => undef, |
16793
|
|
|
|
|
|
|
'implicit' => undef, |
16794
|
|
|
|
|
|
|
'subrule' => 'basicfields', |
16795
|
|
|
|
|
|
|
'line' => 122, |
16796
|
|
|
|
|
|
|
'lookahead' => 0, |
16797
|
|
|
|
|
|
|
'matchrule' => 0 |
16798
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ), |
16799
|
|
|
|
|
|
|
bless( { |
16800
|
|
|
|
|
|
|
'argcode' => undef, |
16801
|
|
|
|
|
|
|
'min' => 0, |
16802
|
|
|
|
|
|
|
'repspec' => '?', |
16803
|
|
|
|
|
|
|
'matchrule' => 0, |
16804
|
|
|
|
|
|
|
'expected' => undef, |
16805
|
|
|
|
|
|
|
'subrule' => 'textlines', |
16806
|
|
|
|
|
|
|
'line' => 122, |
16807
|
|
|
|
|
|
|
'lookahead' => 0, |
16808
|
|
|
|
|
|
|
'max' => 1 |
16809
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16810
|
|
|
|
|
|
|
bless( { |
16811
|
|
|
|
|
|
|
'min' => 0, |
16812
|
|
|
|
|
|
|
'argcode' => undef, |
16813
|
|
|
|
|
|
|
'expected' => undef, |
16814
|
|
|
|
|
|
|
'matchrule' => 0, |
16815
|
|
|
|
|
|
|
'repspec' => '?', |
16816
|
|
|
|
|
|
|
'lookahead' => 0, |
16817
|
|
|
|
|
|
|
'line' => 122, |
16818
|
|
|
|
|
|
|
'subrule' => 'bodyMD5', |
16819
|
|
|
|
|
|
|
'max' => 1 |
16820
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16821
|
|
|
|
|
|
|
bless( { |
16822
|
|
|
|
|
|
|
'repspec' => '?', |
16823
|
|
|
|
|
|
|
'matchrule' => 0, |
16824
|
|
|
|
|
|
|
'expected' => undef, |
16825
|
|
|
|
|
|
|
'argcode' => undef, |
16826
|
|
|
|
|
|
|
'min' => 0, |
16827
|
|
|
|
|
|
|
'max' => 1, |
16828
|
|
|
|
|
|
|
'subrule' => 'bodydisp', |
16829
|
|
|
|
|
|
|
'line' => 123, |
16830
|
|
|
|
|
|
|
'lookahead' => 0 |
16831
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16832
|
|
|
|
|
|
|
bless( { |
16833
|
|
|
|
|
|
|
'max' => 1, |
16834
|
|
|
|
|
|
|
'lookahead' => 0, |
16835
|
|
|
|
|
|
|
'line' => 123, |
16836
|
|
|
|
|
|
|
'subrule' => 'bodylang', |
16837
|
|
|
|
|
|
|
'repspec' => '?', |
16838
|
|
|
|
|
|
|
'expected' => undef, |
16839
|
|
|
|
|
|
|
'matchrule' => 0, |
16840
|
|
|
|
|
|
|
'argcode' => undef, |
16841
|
|
|
|
|
|
|
'min' => 0 |
16842
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16843
|
|
|
|
|
|
|
bless( { |
16844
|
|
|
|
|
|
|
'subrule' => 'bodyextra', |
16845
|
|
|
|
|
|
|
'line' => 123, |
16846
|
|
|
|
|
|
|
'lookahead' => 0, |
16847
|
|
|
|
|
|
|
'max' => 1, |
16848
|
|
|
|
|
|
|
'min' => 0, |
16849
|
|
|
|
|
|
|
'argcode' => undef, |
16850
|
|
|
|
|
|
|
'matchrule' => 0, |
16851
|
|
|
|
|
|
|
'expected' => undef, |
16852
|
|
|
|
|
|
|
'repspec' => '?' |
16853
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Repetition' ), |
16854
|
|
|
|
|
|
|
bless( { |
16855
|
|
|
|
|
|
|
'code' => '{ |
16856
|
|
|
|
|
|
|
$return = $item{basicfields} || {}; |
16857
|
|
|
|
|
|
|
$return->{bodytype} = \'TEXT\'; |
16858
|
|
|
|
|
|
|
take_optional_items($return, \\%item |
16859
|
|
|
|
|
|
|
, qw/textlines bodyMD5 bodydisp bodylang bodyextra/); |
16860
|
|
|
|
|
|
|
1; |
16861
|
|
|
|
|
|
|
}', |
16862
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16863
|
|
|
|
|
|
|
'line' => 124, |
16864
|
|
|
|
|
|
|
'lookahead' => 0 |
16865
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16866
|
|
|
|
|
|
|
], |
16867
|
|
|
|
|
|
|
'line' => undef, |
16868
|
|
|
|
|
|
|
'dircount' => 1 |
16869
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16870
|
|
|
|
|
|
|
], |
16871
|
|
|
|
|
|
|
'calls' => [ |
16872
|
|
|
|
|
|
|
'TEXT', |
16873
|
|
|
|
|
|
|
'basicfields', |
16874
|
|
|
|
|
|
|
'textlines', |
16875
|
|
|
|
|
|
|
'bodyMD5', |
16876
|
|
|
|
|
|
|
'bodydisp', |
16877
|
|
|
|
|
|
|
'bodylang', |
16878
|
|
|
|
|
|
|
'bodyextra' |
16879
|
|
|
|
|
|
|
] |
16880
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16881
|
|
|
|
|
|
|
'RFCNONCOMPLY' => bless( { |
16882
|
|
|
|
|
|
|
'calls' => [], |
16883
|
|
|
|
|
|
|
'prods' => [ |
16884
|
|
|
|
|
|
|
bless( { |
16885
|
|
|
|
|
|
|
'error' => undef, |
16886
|
|
|
|
|
|
|
'actcount' => 1, |
16887
|
|
|
|
|
|
|
'uncommit' => undef, |
16888
|
|
|
|
|
|
|
'strcount' => 0, |
16889
|
|
|
|
|
|
|
'line' => undef, |
16890
|
|
|
|
|
|
|
'items' => [ |
16891
|
|
|
|
|
|
|
bless( { |
16892
|
|
|
|
|
|
|
'mod' => 'i', |
16893
|
|
|
|
|
|
|
'description' => '/^\\\\(\\\\)/i', |
16894
|
|
|
|
|
|
|
'ldelim' => '/', |
16895
|
|
|
|
|
|
|
'hashname' => '__PATTERN1__', |
16896
|
|
|
|
|
|
|
'rdelim' => '/', |
16897
|
|
|
|
|
|
|
'lookahead' => 0, |
16898
|
|
|
|
|
|
|
'line' => 35, |
16899
|
|
|
|
|
|
|
'pattern' => '^\\(\\)' |
16900
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Token' ), |
16901
|
|
|
|
|
|
|
bless( { |
16902
|
|
|
|
|
|
|
'code' => '{ $return = "NIL" }', |
16903
|
|
|
|
|
|
|
'hashname' => '__ACTION1__', |
16904
|
|
|
|
|
|
|
'lookahead' => 0, |
16905
|
|
|
|
|
|
|
'line' => 35 |
16906
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Action' ) |
16907
|
|
|
|
|
|
|
], |
16908
|
|
|
|
|
|
|
'dircount' => 0, |
16909
|
|
|
|
|
|
|
'patcount' => 1, |
16910
|
|
|
|
|
|
|
'number' => 0 |
16911
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16912
|
|
|
|
|
|
|
], |
16913
|
|
|
|
|
|
|
'line' => 35, |
16914
|
|
|
|
|
|
|
'vars' => '', |
16915
|
|
|
|
|
|
|
'changed' => 0, |
16916
|
|
|
|
|
|
|
'impcount' => 0, |
16917
|
|
|
|
|
|
|
'opcount' => 0, |
16918
|
|
|
|
|
|
|
'name' => 'RFCNONCOMPLY' |
16919
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16920
|
|
|
|
|
|
|
'subject' => bless( { |
16921
|
|
|
|
|
|
|
'line' => 90, |
16922
|
|
|
|
|
|
|
'calls' => [ |
16923
|
|
|
|
|
|
|
'NIL', |
16924
|
|
|
|
|
|
|
'STRING' |
16925
|
|
|
|
|
|
|
], |
16926
|
|
|
|
|
|
|
'prods' => [ |
16927
|
|
|
|
|
|
|
bless( { |
16928
|
|
|
|
|
|
|
'items' => [ |
16929
|
|
|
|
|
|
|
bless( { |
16930
|
|
|
|
|
|
|
'argcode' => undef, |
16931
|
|
|
|
|
|
|
'implicit' => undef, |
16932
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16933
|
|
|
|
|
|
|
'line' => 90, |
16934
|
|
|
|
|
|
|
'lookahead' => 0, |
16935
|
|
|
|
|
|
|
'matchrule' => 0 |
16936
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16937
|
|
|
|
|
|
|
], |
16938
|
|
|
|
|
|
|
'line' => undef, |
16939
|
|
|
|
|
|
|
'dircount' => 0, |
16940
|
|
|
|
|
|
|
'strcount' => 0, |
16941
|
|
|
|
|
|
|
'number' => 0, |
16942
|
|
|
|
|
|
|
'patcount' => 0, |
16943
|
|
|
|
|
|
|
'actcount' => 0, |
16944
|
|
|
|
|
|
|
'uncommit' => undef, |
16945
|
|
|
|
|
|
|
'error' => undef |
16946
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
16947
|
|
|
|
|
|
|
bless( { |
16948
|
|
|
|
|
|
|
'uncommit' => undef, |
16949
|
|
|
|
|
|
|
'actcount' => 0, |
16950
|
|
|
|
|
|
|
'patcount' => 0, |
16951
|
|
|
|
|
|
|
'number' => 1, |
16952
|
|
|
|
|
|
|
'strcount' => 0, |
16953
|
|
|
|
|
|
|
'line' => 90, |
16954
|
|
|
|
|
|
|
'items' => [ |
16955
|
|
|
|
|
|
|
bless( { |
16956
|
|
|
|
|
|
|
'line' => 90, |
16957
|
|
|
|
|
|
|
'implicit' => undef, |
16958
|
|
|
|
|
|
|
'subrule' => 'STRING', |
16959
|
|
|
|
|
|
|
'lookahead' => 0, |
16960
|
|
|
|
|
|
|
'argcode' => undef, |
16961
|
|
|
|
|
|
|
'matchrule' => 0 |
16962
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16963
|
|
|
|
|
|
|
], |
16964
|
|
|
|
|
|
|
'dircount' => 0, |
16965
|
|
|
|
|
|
|
'error' => undef |
16966
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
16967
|
|
|
|
|
|
|
], |
16968
|
|
|
|
|
|
|
'opcount' => 0, |
16969
|
|
|
|
|
|
|
'name' => 'subject', |
16970
|
|
|
|
|
|
|
'changed' => 0, |
16971
|
|
|
|
|
|
|
'impcount' => 0, |
16972
|
|
|
|
|
|
|
'vars' => '' |
16973
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ), |
16974
|
|
|
|
|
|
|
'bodyextra' => bless( { |
16975
|
|
|
|
|
|
|
'impcount' => 0, |
16976
|
|
|
|
|
|
|
'changed' => 0, |
16977
|
|
|
|
|
|
|
'vars' => '', |
16978
|
|
|
|
|
|
|
'name' => 'bodyextra', |
16979
|
|
|
|
|
|
|
'opcount' => 0, |
16980
|
|
|
|
|
|
|
'calls' => [ |
16981
|
|
|
|
|
|
|
'NIL', |
16982
|
|
|
|
|
|
|
'STRING', |
16983
|
|
|
|
|
|
|
'STRINGS' |
16984
|
|
|
|
|
|
|
], |
16985
|
|
|
|
|
|
|
'prods' => [ |
16986
|
|
|
|
|
|
|
bless( { |
16987
|
|
|
|
|
|
|
'error' => undef, |
16988
|
|
|
|
|
|
|
'line' => undef, |
16989
|
|
|
|
|
|
|
'items' => [ |
16990
|
|
|
|
|
|
|
bless( { |
16991
|
|
|
|
|
|
|
'subrule' => 'NIL', |
16992
|
|
|
|
|
|
|
'implicit' => undef, |
16993
|
|
|
|
|
|
|
'line' => 74, |
16994
|
|
|
|
|
|
|
'lookahead' => 0, |
16995
|
|
|
|
|
|
|
'argcode' => undef, |
16996
|
|
|
|
|
|
|
'matchrule' => 0 |
16997
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
16998
|
|
|
|
|
|
|
], |
16999
|
|
|
|
|
|
|
'dircount' => 0, |
17000
|
|
|
|
|
|
|
'strcount' => 0, |
17001
|
|
|
|
|
|
|
'number' => 0, |
17002
|
|
|
|
|
|
|
'patcount' => 0, |
17003
|
|
|
|
|
|
|
'actcount' => 0, |
17004
|
|
|
|
|
|
|
'uncommit' => undef |
17005
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
17006
|
|
|
|
|
|
|
bless( { |
17007
|
|
|
|
|
|
|
'error' => undef, |
17008
|
|
|
|
|
|
|
'actcount' => 0, |
17009
|
|
|
|
|
|
|
'uncommit' => undef, |
17010
|
|
|
|
|
|
|
'strcount' => 0, |
17011
|
|
|
|
|
|
|
'dircount' => 0, |
17012
|
|
|
|
|
|
|
'line' => 74, |
17013
|
|
|
|
|
|
|
'items' => [ |
17014
|
|
|
|
|
|
|
bless( { |
17015
|
|
|
|
|
|
|
'matchrule' => 0, |
17016
|
|
|
|
|
|
|
'implicit' => undef, |
17017
|
|
|
|
|
|
|
'line' => 74, |
17018
|
|
|
|
|
|
|
'subrule' => 'STRING', |
17019
|
|
|
|
|
|
|
'lookahead' => 0, |
17020
|
|
|
|
|
|
|
'argcode' => undef |
17021
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
17022
|
|
|
|
|
|
|
], |
17023
|
|
|
|
|
|
|
'patcount' => 0, |
17024
|
|
|
|
|
|
|
'number' => 1 |
17025
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ), |
17026
|
|
|
|
|
|
|
bless( { |
17027
|
|
|
|
|
|
|
'error' => undef, |
17028
|
|
|
|
|
|
|
'actcount' => 0, |
17029
|
|
|
|
|
|
|
'uncommit' => undef, |
17030
|
|
|
|
|
|
|
'strcount' => 0, |
17031
|
|
|
|
|
|
|
'items' => [ |
17032
|
|
|
|
|
|
|
bless( { |
17033
|
|
|
|
|
|
|
'matchrule' => 0, |
17034
|
|
|
|
|
|
|
'subrule' => 'STRINGS', |
17035
|
|
|
|
|
|
|
'implicit' => undef, |
17036
|
|
|
|
|
|
|
'line' => 74, |
17037
|
|
|
|
|
|
|
'lookahead' => 0, |
17038
|
|
|
|
|
|
|
'argcode' => undef |
17039
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Subrule' ) |
17040
|
|
|
|
|
|
|
], |
17041
|
|
|
|
|
|
|
'dircount' => 0, |
17042
|
|
|
|
|
|
|
'line' => 74, |
17043
|
|
|
|
|
|
|
'patcount' => 0, |
17044
|
|
|
|
|
|
|
'number' => 2 |
17045
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Production' ) |
17046
|
|
|
|
|
|
|
], |
17047
|
|
|
|
|
|
|
'line' => 74 |
17048
|
|
|
|
|
|
|
}, 'Parse::RecDescent::Rule' ) |
17049
|
|
|
|
|
|
|
}, |
17050
|
|
|
|
|
|
|
'_check' => { |
17051
|
|
|
|
|
|
|
'prevoffset' => '', |
17052
|
|
|
|
|
|
|
'thiscolumn' => '', |
17053
|
|
|
|
|
|
|
'itempos' => '', |
17054
|
|
|
|
|
|
|
'prevline' => '', |
17055
|
|
|
|
|
|
|
'prevcolumn' => '', |
17056
|
|
|
|
|
|
|
'thisoffset' => '' |
17057
|
|
|
|
|
|
|
}, |
17058
|
|
|
|
|
|
|
'_AUTOACTION' => undef, |
17059
|
|
|
|
|
|
|
'deferrable' => 1, |
17060
|
|
|
|
|
|
|
'namespace' => 'Parse::RecDescent::Mail::IMAPClient::BodyStructure::Parse', |
17061
|
|
|
|
|
|
|
'_AUTOTREE' => undef |
17062
|
|
|
|
|
|
|
}, 'Parse::RecDescent' ); |
17063
|
|
|
|
|
|
|
} |