hpricot 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +19 -3
- data/{README → README.md} +84 -83
- data/Rakefile +85 -123
- data/ext/fast_xs/FastXsService.java +94 -1
- data/ext/fast_xs/fast_xs.c +60 -51
- data/ext/hpricot_scan/HpricotCss.java +50 -31
- data/ext/hpricot_scan/HpricotScanService.java +77 -64
- data/ext/hpricot_scan/extconf.rb +3 -0
- data/ext/hpricot_scan/hpricot_css.c +331 -323
- data/ext/hpricot_scan/hpricot_css.rl +6 -1
- data/ext/hpricot_scan/hpricot_scan.c +922 -810
- data/ext/hpricot_scan/hpricot_scan.java.rl +22 -13
- data/ext/hpricot_scan/hpricot_scan.rl +198 -90
- data/extras/hpricot.png +0 -0
- data/lib/hpricot/builder.rb +1 -1
- data/lib/hpricot/elements.rb +28 -24
- data/lib/hpricot/htmlinfo.rb +1 -1
- data/lib/hpricot/tag.rb +2 -2
- data/lib/hpricot/tags.rb +4 -4
- data/lib/hpricot/traverse.rb +25 -25
- data/lib/hpricot/xchar.rb +3 -3
- data/test/files/basic.xhtml +1 -1
- data/test/test_parser.rb +31 -2
- metadata +21 -9
- data/extras/mingw-rbconfig.rb +0 -176
@@ -16,7 +16,12 @@
|
|
16
16
|
rb_funcall2(mod, rb_intern(filt), fargs, fvals); \
|
17
17
|
rb_ary_clear(tmpt); \
|
18
18
|
fargs = 1
|
19
|
-
#
|
19
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
20
|
+
#define STRNEW(a, len) rb_external_str_new((a), (len))
|
21
|
+
#else
|
22
|
+
#define STRNEW(a, len) rb_str_new((a), (len))
|
23
|
+
#endif
|
24
|
+
#define PUSH(aps, ape) rb_ary_push(tmpt, fvals[fargs++] = STRNEW(aps, ape - aps))
|
20
25
|
#define P(id) printf(id ": %.*s\n", te - ts, ts);
|
21
26
|
|
22
27
|
%%{
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
#line 1 "hpricot_scan.rl"
|
2
3
|
/*
|
3
4
|
* hpricot_scan.rl
|
@@ -5,9 +6,15 @@
|
|
5
6
|
* $Author: why $
|
6
7
|
* $Date: 2006-05-08 22:03:50 -0600 (Mon, 08 May 2006) $
|
7
8
|
*
|
8
|
-
* Copyright (C) 2006 why the lucky stiff
|
9
|
+
* Copyright (C) 2006, 2010 why the lucky stiff
|
9
10
|
*/
|
10
11
|
#include <ruby.h>
|
12
|
+
#include <assert.h>
|
13
|
+
|
14
|
+
struct hpricot_struct {
|
15
|
+
int len;
|
16
|
+
VALUE* ptr;
|
17
|
+
};
|
11
18
|
|
12
19
|
#ifndef RARRAY_LEN
|
13
20
|
#define RARRAY_LEN(arr) RARRAY(arr)->len
|
@@ -17,7 +24,7 @@
|
|
17
24
|
|
18
25
|
VALUE hpricot_css(VALUE, VALUE, VALUE, VALUE, VALUE);
|
19
26
|
|
20
|
-
#define NO_WAY_SERIOUSLY "*** This should not happen, please
|
27
|
+
#define NO_WAY_SERIOUSLY "*** This should not happen, please file a bug report with the HTML you're parsing at http://github.com/hpricot/hpricot/issues. So sorry!"
|
21
28
|
|
22
29
|
static VALUE sym_xmldecl, sym_doctype, sym_procins, sym_stag, sym_etag, sym_emptytag, sym_comment,
|
23
30
|
sym_cdata, sym_name, sym_parent, sym_raw_attributes, sym_raw_string, sym_tagno,
|
@@ -38,32 +45,49 @@ static VALUE reProcInsParse;
|
|
38
45
|
#define H_ELE_HASH 6
|
39
46
|
#define H_ELE_CHILDREN 7
|
40
47
|
|
41
|
-
#define
|
42
|
-
|
48
|
+
#define HSTRUCT_PTR(ele) ((struct hpricot_struct*)DATA_PTR(ele))->ptr
|
49
|
+
|
50
|
+
#define H_ELE_GET(ele, idx) HSTRUCT_PTR(ele)[idx]
|
51
|
+
#define H_ELE_SET(ele, idx, val) HSTRUCT_PTR(ele)[idx] = val
|
43
52
|
|
44
53
|
#define OPT(opts, key) (!NIL_P(opts) && RTEST(rb_hash_aref(opts, ID2SYM(rb_intern("" # key)))))
|
45
54
|
|
46
|
-
#
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
55
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
56
|
+
#include <ruby/encoding.h>
|
57
|
+
# define ASSOCIATE_INDEX(s) rb_enc_associate_index((s), encoding_index)
|
58
|
+
# define ENCODING_INDEX , encoding_index
|
59
|
+
#else
|
60
|
+
# define ASSOCIATE_INDEX(s)
|
61
|
+
# define ENCODING_INDEX
|
62
|
+
#endif
|
63
|
+
|
64
|
+
#define ELE(N) \
|
65
|
+
if (te > ts || text == 1) { \
|
66
|
+
char *raw = NULL; \
|
67
|
+
int rawlen = 0; \
|
68
|
+
ele_open = 0; text = 0; \
|
51
69
|
if (ts != 0 && sym_##N != sym_cdata && sym_##N != sym_text && sym_##N != sym_procins && sym_##N != sym_comment) { \
|
52
|
-
raw = ts; rawlen = te - ts;
|
53
|
-
}
|
54
|
-
if (rb_block_given_p()) {
|
55
|
-
VALUE raw_string = Qnil;
|
56
|
-
if (raw != NULL)
|
57
|
-
|
58
|
-
|
59
|
-
|
70
|
+
raw = ts; rawlen = te - ts; \
|
71
|
+
} \
|
72
|
+
if (rb_block_given_p()) { \
|
73
|
+
VALUE raw_string = Qnil; \
|
74
|
+
if (raw != NULL) { \
|
75
|
+
raw_string = rb_str_new(raw, rawlen); \
|
76
|
+
ASSOCIATE_INDEX(raw_string); \
|
77
|
+
} \
|
78
|
+
rb_yield_tokens(sym_##N, tag, attr, Qnil, taint); \
|
79
|
+
} else \
|
80
|
+
rb_hpricot_token(S, sym_##N, tag, attr, raw, rawlen, taint ENCODING_INDEX); \
|
60
81
|
}
|
61
82
|
|
62
|
-
#define SET(N, E)
|
63
|
-
if (mark_##N == NULL || E == mark_##N) \
|
64
|
-
N = rb_str_new2("");
|
65
|
-
|
66
|
-
|
83
|
+
#define SET(N, E) \
|
84
|
+
if (mark_##N == NULL || E == mark_##N) { \
|
85
|
+
N = rb_str_new2(""); \
|
86
|
+
ASSOCIATE_INDEX(N); \
|
87
|
+
} else if (E > mark_##N) { \
|
88
|
+
N = rb_str_new(mark_##N, E - mark_##N); \
|
89
|
+
ASSOCIATE_INDEX(N); \
|
90
|
+
}
|
67
91
|
|
68
92
|
#define CAT(N, E) if (NIL_P(N)) { SET(N, E); } else { rb_str_cat(N, mark_##N, E - mark_##N); }
|
69
93
|
|
@@ -93,11 +117,12 @@ static VALUE reProcInsParse;
|
|
93
117
|
|
94
118
|
#define EBLK(N, T) CAT(tag, p - T + 1); ELE(N);
|
95
119
|
|
96
|
-
#line 142 "hpricot_scan.rl"
|
97
120
|
|
121
|
+
#line 176 "hpricot_scan.rl"
|
98
122
|
|
99
123
|
|
100
|
-
|
124
|
+
|
125
|
+
#line 126 "hpricot_scan.c"
|
101
126
|
static const int hpricot_scan_start = 204;
|
102
127
|
static const int hpricot_scan_error = -1;
|
103
128
|
|
@@ -106,7 +131,8 @@ static const int hpricot_scan_en_html_cdata = 216;
|
|
106
131
|
static const int hpricot_scan_en_html_procins = 218;
|
107
132
|
static const int hpricot_scan_en_main = 204;
|
108
133
|
|
109
|
-
|
134
|
+
|
135
|
+
#line 179 "hpricot_scan.rl"
|
110
136
|
|
111
137
|
#define BUFSIZE 16384
|
112
138
|
|
@@ -195,33 +221,41 @@ H_ATTR(standalone);
|
|
195
221
|
H_ATTR(system_id);
|
196
222
|
H_ATTR(public_id);
|
197
223
|
|
198
|
-
#define H_ELE(klass)
|
199
|
-
ele = rb_obj_alloc(klass);
|
200
|
-
if (klass == cElem) {
|
201
|
-
H_ELE_SET(ele, H_ELE_TAG, tag);
|
202
|
-
H_ELE_SET(ele, H_ELE_ATTR, attr);
|
203
|
-
H_ELE_SET(ele, H_ELE_EC, ec);
|
224
|
+
#define H_ELE(klass) \
|
225
|
+
ele = rb_obj_alloc(klass); \
|
226
|
+
if (klass == cElem) { \
|
227
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
228
|
+
H_ELE_SET(ele, H_ELE_ATTR, attr); \
|
229
|
+
H_ELE_SET(ele, H_ELE_EC, ec); \
|
204
230
|
if (raw != NULL && (sym == sym_emptytag || sym == sym_stag || sym == sym_doctype)) { \
|
205
|
-
|
206
|
-
|
231
|
+
VALUE raw_str = rb_str_new(raw, rawlen); \
|
232
|
+
ASSOCIATE_INDEX(raw_str); \
|
233
|
+
H_ELE_SET(ele, H_ELE_RAW, raw_str); \
|
234
|
+
} \
|
207
235
|
} else if (klass == cDocType || klass == cProcIns || klass == cXMLDecl || klass == cBogusETag) { \
|
208
|
-
if (klass == cBogusETag) {
|
209
|
-
H_ELE_SET(ele, H_ELE_TAG, tag);
|
210
|
-
if (raw != NULL) \
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
if (klass
|
217
|
-
tag
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
236
|
+
if (klass == cBogusETag) { \
|
237
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
238
|
+
if (raw != NULL) { \
|
239
|
+
VALUE raw_str = rb_str_new(raw, rawlen); \
|
240
|
+
ASSOCIATE_INDEX(raw_str); \
|
241
|
+
H_ELE_SET(ele, H_ELE_ATTR, raw_str); \
|
242
|
+
} \
|
243
|
+
} else { \
|
244
|
+
if (klass == cDocType) \
|
245
|
+
ATTR(ID2SYM(rb_intern("target")), tag); \
|
246
|
+
H_ELE_SET(ele, H_ELE_ATTR, attr); \
|
247
|
+
if (klass != cProcIns) { \
|
248
|
+
tag = Qnil; \
|
249
|
+
if (raw != NULL) { \
|
250
|
+
tag = rb_str_new(raw, rawlen); \
|
251
|
+
ASSOCIATE_INDEX(tag); \
|
252
|
+
} \
|
253
|
+
} \
|
254
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
255
|
+
} \
|
256
|
+
} else { \
|
257
|
+
H_ELE_SET(ele, H_ELE_TAG, tag); \
|
258
|
+
} \
|
225
259
|
S->last = ele
|
226
260
|
|
227
261
|
//
|
@@ -229,7 +263,12 @@ H_ATTR(public_id);
|
|
229
263
|
// in the lexer. this step just pairs up the start and end tags.
|
230
264
|
//
|
231
265
|
void
|
232
|
-
rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr,
|
266
|
+
rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr,
|
267
|
+
char *raw, int rawlen, int taint
|
268
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
269
|
+
, int encoding_index
|
270
|
+
#endif
|
271
|
+
)
|
233
272
|
{
|
234
273
|
VALUE ele, ec = Qnil;
|
235
274
|
|
@@ -251,6 +290,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
251
290
|
{
|
252
291
|
sym = sym_text;
|
253
292
|
tag = rb_str_new(raw, rawlen);
|
293
|
+
ASSOCIATE_INDEX(tag);
|
254
294
|
}
|
255
295
|
|
256
296
|
if (!NIL_P(ec)) {
|
@@ -316,6 +356,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
316
356
|
if (S->strict) {
|
317
357
|
if (NIL_P(rb_hash_aref(S->EC, tag))) {
|
318
358
|
tag = rb_str_new2("div");
|
359
|
+
ASSOCIATE_INDEX(tag);
|
319
360
|
}
|
320
361
|
}
|
321
362
|
|
@@ -345,8 +386,10 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
345
386
|
else
|
346
387
|
{
|
347
388
|
VALUE ele = Qnil;
|
348
|
-
if (raw != NULL)
|
389
|
+
if (raw != NULL) {
|
349
390
|
ele = rb_str_new(raw, rawlen);
|
391
|
+
ASSOCIATE_INDEX(ele);
|
392
|
+
}
|
350
393
|
H_ELE_SET(match, H_ELE_ETAG, ele);
|
351
394
|
S->focus = H_ELE_GET(match, H_ELE_PARENT);
|
352
395
|
S->last = Qnil;
|
@@ -360,8 +403,13 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
360
403
|
} else if (sym == sym_doctype) {
|
361
404
|
H_ELE(cDocType);
|
362
405
|
if (S->strict) {
|
363
|
-
|
364
|
-
|
406
|
+
VALUE id;
|
407
|
+
id = rb_str_new2("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd");
|
408
|
+
ASSOCIATE_INDEX(id);
|
409
|
+
rb_hash_aset(attr, ID2SYM(rb_intern("system_id")), id);
|
410
|
+
id = rb_str_new2("-//W3C//DTD XHTML 1.0 Strict//EN");
|
411
|
+
ASSOCIATE_INDEX(id);
|
412
|
+
rb_hash_aset(attr, ID2SYM(rb_intern("public_id")), id);
|
365
413
|
}
|
366
414
|
rb_hpricot_add(S->focus, ele);
|
367
415
|
} else if (sym == sym_procins) {
|
@@ -374,7 +422,7 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr, char *raw,
|
|
374
422
|
}
|
375
423
|
} else if (sym == sym_text) {
|
376
424
|
// TODO: add raw_string as well?
|
377
|
-
if (!NIL_P(S->last) &&
|
425
|
+
if (!NIL_P(S->last) && RTEST(rb_obj_is_instance_of(S->last, cText))) {
|
378
426
|
rb_str_append(H_ELE_GET(S->last, H_ELE_TAG), tag);
|
379
427
|
} else {
|
380
428
|
H_ELE(cText);
|
@@ -396,6 +444,9 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
396
444
|
VALUE attr = Qnil, tag = Qnil, akey = Qnil, aval = Qnil, bufsize = Qnil;
|
397
445
|
char *mark_tag = 0, *mark_akey = 0, *mark_aval = 0;
|
398
446
|
int done = 0, ele_open = 0, buffer_size = 0, taint = 0;
|
447
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
448
|
+
int encoding_index = rb_enc_to_index(rb_default_external_encoding());
|
449
|
+
#endif
|
399
450
|
|
400
451
|
rb_scan_args(argc, argv, "11", &port, &opts);
|
401
452
|
taint = OBJ_TAINTED(port);
|
@@ -444,14 +495,15 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
444
495
|
buf = ALLOC_N(char, buffer_size);
|
445
496
|
|
446
497
|
|
447
|
-
#line
|
498
|
+
#line 499 "hpricot_scan.c"
|
448
499
|
{
|
449
500
|
cs = hpricot_scan_start;
|
450
501
|
ts = 0;
|
451
502
|
te = 0;
|
452
503
|
act = 0;
|
453
504
|
}
|
454
|
-
|
505
|
+
|
506
|
+
#line 541 "hpricot_scan.rl"
|
455
507
|
|
456
508
|
while (!done) {
|
457
509
|
VALUE str;
|
@@ -504,32 +556,32 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
|
|
504
556
|
|
505
557
|
pe = p + len;
|
506
558
|
|
507
|
-
#line
|
559
|
+
#line 560 "hpricot_scan.c"
|
508
560
|
{
|
509
561
|
if ( p == pe )
|
510
562
|
goto _test_eof;
|
511
563
|
switch ( cs )
|
512
564
|
{
|
513
565
|
tr0:
|
514
|
-
#line 73 "
|
566
|
+
#line 73 "hpricot_common.rl"
|
515
567
|
{{p = ((te))-1;}{ TEXT_PASS(); }}
|
516
568
|
goto st204;
|
517
569
|
tr4:
|
518
|
-
#line 71 "
|
570
|
+
#line 71 "hpricot_common.rl"
|
519
571
|
{te = p+1;{ {goto st214;} }}
|
520
572
|
goto st204;
|
521
573
|
tr15:
|
522
|
-
#line
|
574
|
+
#line 136 "hpricot_scan.rl"
|
523
575
|
{ SET(tag, p); }
|
524
|
-
#line 66 "
|
576
|
+
#line 66 "hpricot_common.rl"
|
525
577
|
{te = p+1;{ ELE(doctype); }}
|
526
578
|
goto st204;
|
527
579
|
tr18:
|
528
|
-
#line 66 "
|
580
|
+
#line 66 "hpricot_common.rl"
|
529
581
|
{te = p+1;{ ELE(doctype); }}
|
530
582
|
goto st204;
|
531
583
|
tr39:
|
532
|
-
#line 1 "
|
584
|
+
#line 1 "NONE"
|
533
585
|
{ switch( act ) {
|
534
586
|
case 8:
|
535
587
|
{{p = ((te))-1;} ELE(doctype); }
|
@@ -543,155 +595,154 @@ tr39:
|
|
543
595
|
case 15:
|
544
596
|
{{p = ((te))-1;} TEXT_PASS(); }
|
545
597
|
break;
|
546
|
-
default: break;
|
547
598
|
}
|
548
599
|
}
|
549
600
|
goto st204;
|
550
601
|
tr93:
|
551
|
-
#line 72 "
|
602
|
+
#line 72 "hpricot_common.rl"
|
552
603
|
{te = p+1;{ {goto st216;} }}
|
553
604
|
goto st204;
|
554
605
|
tr97:
|
555
|
-
#line
|
606
|
+
#line 136 "hpricot_scan.rl"
|
556
607
|
{ SET(tag, p); }
|
557
|
-
#line 69 "
|
608
|
+
#line 69 "hpricot_common.rl"
|
558
609
|
{te = p+1;{ ELE(etag); }}
|
559
610
|
goto st204;
|
560
611
|
tr99:
|
561
|
-
#line 69 "
|
612
|
+
#line 69 "hpricot_common.rl"
|
562
613
|
{te = p+1;{ ELE(etag); }}
|
563
614
|
goto st204;
|
564
615
|
tr103:
|
565
|
-
#line
|
616
|
+
#line 136 "hpricot_scan.rl"
|
566
617
|
{ SET(tag, p); }
|
567
|
-
#line 68 "
|
618
|
+
#line 68 "hpricot_common.rl"
|
568
619
|
{te = p+1;{ ELE(stag); }}
|
569
620
|
goto st204;
|
570
621
|
tr107:
|
571
|
-
#line 68 "
|
622
|
+
#line 68 "hpricot_common.rl"
|
572
623
|
{te = p+1;{ ELE(stag); }}
|
573
624
|
goto st204;
|
574
625
|
tr112:
|
575
|
-
#line
|
626
|
+
#line 143 "hpricot_scan.rl"
|
576
627
|
{ SET(akey, p); }
|
577
|
-
#line
|
628
|
+
#line 168 "hpricot_scan.rl"
|
578
629
|
{
|
579
|
-
if (!S->xml)
|
630
|
+
if (!S->xml && !NIL_P(akey))
|
580
631
|
akey = rb_funcall(akey, s_downcase, 0);
|
581
632
|
ATTR(akey, aval);
|
582
633
|
}
|
583
|
-
#line 68 "
|
634
|
+
#line 68 "hpricot_common.rl"
|
584
635
|
{te = p+1;{ ELE(stag); }}
|
585
636
|
goto st204;
|
586
637
|
tr117:
|
587
|
-
#line
|
638
|
+
#line 168 "hpricot_scan.rl"
|
588
639
|
{
|
589
|
-
if (!S->xml)
|
640
|
+
if (!S->xml && !NIL_P(akey))
|
590
641
|
akey = rb_funcall(akey, s_downcase, 0);
|
591
642
|
ATTR(akey, aval);
|
592
643
|
}
|
593
|
-
#line 68 "
|
644
|
+
#line 68 "hpricot_common.rl"
|
594
645
|
{te = p+1;{ ELE(stag); }}
|
595
646
|
goto st204;
|
596
647
|
tr118:
|
597
|
-
#line 70 "
|
648
|
+
#line 70 "hpricot_common.rl"
|
598
649
|
{te = p+1;{ ELE(emptytag); }}
|
599
650
|
goto st204;
|
600
651
|
tr129:
|
601
|
-
#line
|
652
|
+
#line 139 "hpricot_scan.rl"
|
602
653
|
{
|
603
654
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
604
655
|
else { SET(aval, p); }
|
605
656
|
}
|
606
|
-
#line
|
657
|
+
#line 168 "hpricot_scan.rl"
|
607
658
|
{
|
608
|
-
if (!S->xml)
|
659
|
+
if (!S->xml && !NIL_P(akey))
|
609
660
|
akey = rb_funcall(akey, s_downcase, 0);
|
610
661
|
ATTR(akey, aval);
|
611
662
|
}
|
612
|
-
#line 68 "
|
663
|
+
#line 68 "hpricot_common.rl"
|
613
664
|
{te = p+1;{ ELE(stag); }}
|
614
665
|
goto st204;
|
615
666
|
tr133:
|
616
|
-
#line
|
667
|
+
#line 168 "hpricot_scan.rl"
|
617
668
|
{
|
618
|
-
if (!S->xml)
|
669
|
+
if (!S->xml && !NIL_P(akey))
|
619
670
|
akey = rb_funcall(akey, s_downcase, 0);
|
620
671
|
ATTR(akey, aval);
|
621
672
|
}
|
622
|
-
#line
|
673
|
+
#line 139 "hpricot_scan.rl"
|
623
674
|
{
|
624
675
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
625
676
|
else { SET(aval, p); }
|
626
677
|
}
|
627
|
-
#line 68 "
|
678
|
+
#line 68 "hpricot_common.rl"
|
628
679
|
{te = p+1;{ ELE(stag); }}
|
629
680
|
goto st204;
|
630
681
|
tr139:
|
631
|
-
#line
|
682
|
+
#line 139 "hpricot_scan.rl"
|
632
683
|
{
|
633
684
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
634
685
|
else { SET(aval, p); }
|
635
686
|
}
|
636
|
-
#line
|
687
|
+
#line 143 "hpricot_scan.rl"
|
637
688
|
{ SET(akey, p); }
|
638
|
-
#line
|
689
|
+
#line 168 "hpricot_scan.rl"
|
639
690
|
{
|
640
|
-
if (!S->xml)
|
691
|
+
if (!S->xml && !NIL_P(akey))
|
641
692
|
akey = rb_funcall(akey, s_downcase, 0);
|
642
693
|
ATTR(akey, aval);
|
643
694
|
}
|
644
|
-
#line 68 "
|
695
|
+
#line 68 "hpricot_common.rl"
|
645
696
|
{te = p+1;{ ELE(stag); }}
|
646
697
|
goto st204;
|
647
698
|
tr349:
|
648
|
-
#line 67 "
|
699
|
+
#line 67 "hpricot_common.rl"
|
649
700
|
{{p = ((te))-1;}{ {goto st218;} }}
|
650
701
|
goto st204;
|
651
702
|
tr363:
|
652
|
-
#line 65 "
|
703
|
+
#line 65 "hpricot_common.rl"
|
653
704
|
{te = p+1;{ ELE(xmldecl); }}
|
654
705
|
goto st204;
|
655
706
|
tr411:
|
656
|
-
#line 73 "
|
707
|
+
#line 73 "hpricot_common.rl"
|
657
708
|
{te = p+1;{ TEXT_PASS(); }}
|
658
709
|
goto st204;
|
659
710
|
tr412:
|
660
|
-
#line 9 "
|
711
|
+
#line 9 "hpricot_common.rl"
|
661
712
|
{curline += 1;}
|
662
|
-
#line 73 "
|
713
|
+
#line 73 "hpricot_common.rl"
|
663
714
|
{te = p+1;{ TEXT_PASS(); }}
|
664
715
|
goto st204;
|
665
716
|
tr414:
|
666
|
-
#line 73 "
|
717
|
+
#line 73 "hpricot_common.rl"
|
667
718
|
{te = p;p--;{ TEXT_PASS(); }}
|
668
719
|
goto st204;
|
669
720
|
tr419:
|
670
|
-
#line 66 "
|
721
|
+
#line 66 "hpricot_common.rl"
|
671
722
|
{te = p;p--;{ ELE(doctype); }}
|
672
723
|
goto st204;
|
673
724
|
tr420:
|
674
|
-
#line 67 "
|
725
|
+
#line 67 "hpricot_common.rl"
|
675
726
|
{te = p;p--;{ {goto st218;} }}
|
676
727
|
goto st204;
|
677
728
|
st204:
|
678
|
-
#line 1 "
|
729
|
+
#line 1 "NONE"
|
679
730
|
{ts = 0;}
|
680
731
|
if ( ++p == pe )
|
681
732
|
goto _test_eof204;
|
682
733
|
case 204:
|
683
|
-
#line 1 "
|
734
|
+
#line 1 "NONE"
|
684
735
|
{ts = p;}
|
685
|
-
#line
|
736
|
+
#line 737 "hpricot_scan.c"
|
686
737
|
switch( (*p) ) {
|
687
738
|
case 10: goto tr412;
|
688
739
|
case 60: goto tr413;
|
689
740
|
}
|
690
741
|
goto tr411;
|
691
742
|
tr413:
|
692
|
-
#line 1 "
|
743
|
+
#line 1 "NONE"
|
693
744
|
{te = p+1;}
|
694
|
-
#line
|
745
|
+
#line 121 "hpricot_scan.rl"
|
695
746
|
{
|
696
747
|
if (text == 1) {
|
697
748
|
CAT(tag, p);
|
@@ -703,14 +754,14 @@ tr413:
|
|
703
754
|
mark_tag = NULL;
|
704
755
|
ele_open = 1;
|
705
756
|
}
|
706
|
-
#line 73 "
|
757
|
+
#line 73 "hpricot_common.rl"
|
707
758
|
{act = 15;}
|
708
759
|
goto st205;
|
709
760
|
st205:
|
710
761
|
if ( ++p == pe )
|
711
762
|
goto _test_eof205;
|
712
763
|
case 205:
|
713
|
-
#line
|
764
|
+
#line 765 "hpricot_scan.c"
|
714
765
|
switch( (*p) ) {
|
715
766
|
case 33: goto st0;
|
716
767
|
case 47: goto st59;
|
@@ -811,14 +862,14 @@ case 9:
|
|
811
862
|
goto tr12;
|
812
863
|
goto tr0;
|
813
864
|
tr12:
|
814
|
-
#line
|
865
|
+
#line 133 "hpricot_scan.rl"
|
815
866
|
{ mark_tag = p; }
|
816
867
|
goto st10;
|
817
868
|
st10:
|
818
869
|
if ( ++p == pe )
|
819
870
|
goto _test_eof10;
|
820
871
|
case 10:
|
821
|
-
#line
|
872
|
+
#line 873 "hpricot_scan.c"
|
822
873
|
switch( (*p) ) {
|
823
874
|
case 32: goto tr13;
|
824
875
|
case 62: goto tr15;
|
@@ -842,14 +893,14 @@ case 10:
|
|
842
893
|
goto st10;
|
843
894
|
goto tr0;
|
844
895
|
tr13:
|
845
|
-
#line
|
896
|
+
#line 136 "hpricot_scan.rl"
|
846
897
|
{ SET(tag, p); }
|
847
898
|
goto st11;
|
848
899
|
st11:
|
849
900
|
if ( ++p == pe )
|
850
901
|
goto _test_eof11;
|
851
902
|
case 11:
|
852
|
-
#line
|
903
|
+
#line 904 "hpricot_scan.c"
|
853
904
|
switch( (*p) ) {
|
854
905
|
case 32: goto st11;
|
855
906
|
case 62: goto tr18;
|
@@ -939,14 +990,14 @@ case 19:
|
|
939
990
|
goto tr30;
|
940
991
|
goto tr0;
|
941
992
|
tr30:
|
942
|
-
#line
|
993
|
+
#line 134 "hpricot_scan.rl"
|
943
994
|
{ mark_aval = p; }
|
944
995
|
goto st20;
|
945
996
|
st20:
|
946
997
|
if ( ++p == pe )
|
947
998
|
goto _test_eof20;
|
948
999
|
case 20:
|
949
|
-
#line
|
1000
|
+
#line 1001 "hpricot_scan.c"
|
950
1001
|
switch( (*p) ) {
|
951
1002
|
case 9: goto st20;
|
952
1003
|
case 34: goto tr33;
|
@@ -966,20 +1017,20 @@ case 20:
|
|
966
1017
|
goto st20;
|
967
1018
|
goto tr0;
|
968
1019
|
tr31:
|
969
|
-
#line
|
1020
|
+
#line 134 "hpricot_scan.rl"
|
970
1021
|
{ mark_aval = p; }
|
971
|
-
#line
|
1022
|
+
#line 158 "hpricot_scan.rl"
|
972
1023
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
973
1024
|
goto st21;
|
974
1025
|
tr33:
|
975
|
-
#line
|
1026
|
+
#line 158 "hpricot_scan.rl"
|
976
1027
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
977
1028
|
goto st21;
|
978
1029
|
st21:
|
979
1030
|
if ( ++p == pe )
|
980
1031
|
goto _test_eof21;
|
981
1032
|
case 21:
|
982
|
-
#line
|
1033
|
+
#line 1034 "hpricot_scan.c"
|
983
1034
|
switch( (*p) ) {
|
984
1035
|
case 32: goto st22;
|
985
1036
|
case 62: goto tr18;
|
@@ -1010,32 +1061,32 @@ case 23:
|
|
1010
1061
|
goto tr38;
|
1011
1062
|
goto tr37;
|
1012
1063
|
tr37:
|
1013
|
-
#line
|
1064
|
+
#line 134 "hpricot_scan.rl"
|
1014
1065
|
{ mark_aval = p; }
|
1015
1066
|
goto st24;
|
1016
1067
|
st24:
|
1017
1068
|
if ( ++p == pe )
|
1018
1069
|
goto _test_eof24;
|
1019
1070
|
case 24:
|
1020
|
-
#line
|
1071
|
+
#line 1072 "hpricot_scan.c"
|
1021
1072
|
if ( (*p) == 34 )
|
1022
1073
|
goto tr41;
|
1023
1074
|
goto st24;
|
1024
1075
|
tr38:
|
1025
|
-
#line
|
1076
|
+
#line 134 "hpricot_scan.rl"
|
1026
1077
|
{ mark_aval = p; }
|
1027
|
-
#line
|
1078
|
+
#line 159 "hpricot_scan.rl"
|
1028
1079
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1029
1080
|
goto st25;
|
1030
1081
|
tr41:
|
1031
|
-
#line
|
1082
|
+
#line 159 "hpricot_scan.rl"
|
1032
1083
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1033
1084
|
goto st25;
|
1034
1085
|
st25:
|
1035
1086
|
if ( ++p == pe )
|
1036
1087
|
goto _test_eof25;
|
1037
1088
|
case 25:
|
1038
|
-
#line
|
1089
|
+
#line 1090 "hpricot_scan.c"
|
1039
1090
|
switch( (*p) ) {
|
1040
1091
|
case 32: goto st25;
|
1041
1092
|
case 62: goto tr18;
|
@@ -1045,14 +1096,14 @@ case 25:
|
|
1045
1096
|
goto st25;
|
1046
1097
|
goto tr39;
|
1047
1098
|
tr16:
|
1048
|
-
#line
|
1099
|
+
#line 136 "hpricot_scan.rl"
|
1049
1100
|
{ SET(tag, p); }
|
1050
1101
|
goto st26;
|
1051
1102
|
st26:
|
1052
1103
|
if ( ++p == pe )
|
1053
1104
|
goto _test_eof26;
|
1054
1105
|
case 26:
|
1055
|
-
#line
|
1106
|
+
#line 1107 "hpricot_scan.c"
|
1056
1107
|
if ( (*p) == 93 )
|
1057
1108
|
goto st27;
|
1058
1109
|
goto st26;
|
@@ -1075,14 +1126,14 @@ case 28:
|
|
1075
1126
|
goto tr38;
|
1076
1127
|
goto tr44;
|
1077
1128
|
tr44:
|
1078
|
-
#line
|
1129
|
+
#line 134 "hpricot_scan.rl"
|
1079
1130
|
{ mark_aval = p; }
|
1080
1131
|
goto st29;
|
1081
1132
|
st29:
|
1082
1133
|
if ( ++p == pe )
|
1083
1134
|
goto _test_eof29;
|
1084
1135
|
case 29:
|
1085
|
-
#line
|
1136
|
+
#line 1137 "hpricot_scan.c"
|
1086
1137
|
if ( (*p) == 39 )
|
1087
1138
|
goto tr41;
|
1088
1139
|
goto st29;
|
@@ -1112,14 +1163,14 @@ case 30:
|
|
1112
1163
|
goto tr46;
|
1113
1164
|
goto tr0;
|
1114
1165
|
tr46:
|
1115
|
-
#line
|
1166
|
+
#line 134 "hpricot_scan.rl"
|
1116
1167
|
{ mark_aval = p; }
|
1117
1168
|
goto st31;
|
1118
1169
|
st31:
|
1119
1170
|
if ( ++p == pe )
|
1120
1171
|
goto _test_eof31;
|
1121
1172
|
case 31:
|
1122
|
-
#line
|
1173
|
+
#line 1174 "hpricot_scan.c"
|
1123
1174
|
switch( (*p) ) {
|
1124
1175
|
case 9: goto st31;
|
1125
1176
|
case 39: goto tr49;
|
@@ -1142,34 +1193,34 @@ case 31:
|
|
1142
1193
|
goto st31;
|
1143
1194
|
goto tr0;
|
1144
1195
|
tr47:
|
1145
|
-
#line
|
1196
|
+
#line 134 "hpricot_scan.rl"
|
1146
1197
|
{ mark_aval = p; }
|
1147
|
-
#line
|
1198
|
+
#line 158 "hpricot_scan.rl"
|
1148
1199
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1149
1200
|
goto st32;
|
1150
1201
|
tr49:
|
1151
|
-
#line
|
1202
|
+
#line 158 "hpricot_scan.rl"
|
1152
1203
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1153
1204
|
goto st32;
|
1154
1205
|
tr55:
|
1155
|
-
#line
|
1206
|
+
#line 158 "hpricot_scan.rl"
|
1156
1207
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1157
|
-
#line
|
1208
|
+
#line 134 "hpricot_scan.rl"
|
1158
1209
|
{ mark_aval = p; }
|
1159
|
-
#line
|
1210
|
+
#line 159 "hpricot_scan.rl"
|
1160
1211
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1161
1212
|
goto st32;
|
1162
1213
|
tr82:
|
1163
|
-
#line
|
1214
|
+
#line 158 "hpricot_scan.rl"
|
1164
1215
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1165
|
-
#line
|
1216
|
+
#line 159 "hpricot_scan.rl"
|
1166
1217
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1167
1218
|
goto st32;
|
1168
1219
|
st32:
|
1169
1220
|
if ( ++p == pe )
|
1170
1221
|
goto _test_eof32;
|
1171
1222
|
case 32:
|
1172
|
-
#line
|
1223
|
+
#line 1224 "hpricot_scan.c"
|
1173
1224
|
switch( (*p) ) {
|
1174
1225
|
case 9: goto st33;
|
1175
1226
|
case 32: goto st33;
|
@@ -1223,20 +1274,20 @@ case 33:
|
|
1223
1274
|
goto st31;
|
1224
1275
|
goto tr0;
|
1225
1276
|
tr51:
|
1226
|
-
#line
|
1277
|
+
#line 158 "hpricot_scan.rl"
|
1227
1278
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1228
1279
|
goto st34;
|
1229
1280
|
tr62:
|
1230
|
-
#line
|
1281
|
+
#line 158 "hpricot_scan.rl"
|
1231
1282
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("public_id")), aval); }
|
1232
|
-
#line
|
1283
|
+
#line 159 "hpricot_scan.rl"
|
1233
1284
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1234
1285
|
goto st34;
|
1235
1286
|
st34:
|
1236
1287
|
if ( ++p == pe )
|
1237
1288
|
goto _test_eof34;
|
1238
1289
|
case 34:
|
1239
|
-
#line
|
1290
|
+
#line 1291 "hpricot_scan.c"
|
1240
1291
|
switch( (*p) ) {
|
1241
1292
|
case 9: goto tr52;
|
1242
1293
|
case 32: goto tr52;
|
@@ -1262,14 +1313,14 @@ case 34:
|
|
1262
1313
|
goto tr54;
|
1263
1314
|
goto tr44;
|
1264
1315
|
tr52:
|
1265
|
-
#line
|
1316
|
+
#line 134 "hpricot_scan.rl"
|
1266
1317
|
{ mark_aval = p; }
|
1267
1318
|
goto st35;
|
1268
1319
|
st35:
|
1269
1320
|
if ( ++p == pe )
|
1270
1321
|
goto _test_eof35;
|
1271
1322
|
case 35:
|
1272
|
-
#line
|
1323
|
+
#line 1324 "hpricot_scan.c"
|
1273
1324
|
switch( (*p) ) {
|
1274
1325
|
case 9: goto st35;
|
1275
1326
|
case 32: goto st35;
|
@@ -1295,14 +1346,14 @@ case 35:
|
|
1295
1346
|
goto st47;
|
1296
1347
|
goto st29;
|
1297
1348
|
tr53:
|
1298
|
-
#line
|
1349
|
+
#line 134 "hpricot_scan.rl"
|
1299
1350
|
{ mark_aval = p; }
|
1300
1351
|
goto st36;
|
1301
1352
|
st36:
|
1302
1353
|
if ( ++p == pe )
|
1303
1354
|
goto _test_eof36;
|
1304
1355
|
case 36:
|
1305
|
-
#line
|
1356
|
+
#line 1357 "hpricot_scan.c"
|
1306
1357
|
switch( (*p) ) {
|
1307
1358
|
case 32: goto st36;
|
1308
1359
|
case 34: goto st37;
|
@@ -1323,38 +1374,38 @@ case 37:
|
|
1323
1374
|
}
|
1324
1375
|
goto tr66;
|
1325
1376
|
tr66:
|
1326
|
-
#line
|
1377
|
+
#line 134 "hpricot_scan.rl"
|
1327
1378
|
{ mark_aval = p; }
|
1328
1379
|
goto st38;
|
1329
1380
|
st38:
|
1330
1381
|
if ( ++p == pe )
|
1331
1382
|
goto _test_eof38;
|
1332
1383
|
case 38:
|
1333
|
-
#line
|
1384
|
+
#line 1385 "hpricot_scan.c"
|
1334
1385
|
switch( (*p) ) {
|
1335
1386
|
case 34: goto tr70;
|
1336
1387
|
case 39: goto tr71;
|
1337
1388
|
}
|
1338
1389
|
goto st38;
|
1339
1390
|
tr81:
|
1340
|
-
#line
|
1391
|
+
#line 134 "hpricot_scan.rl"
|
1341
1392
|
{ mark_aval = p; }
|
1342
1393
|
goto st39;
|
1343
1394
|
tr67:
|
1344
|
-
#line
|
1395
|
+
#line 134 "hpricot_scan.rl"
|
1345
1396
|
{ mark_aval = p; }
|
1346
|
-
#line
|
1397
|
+
#line 159 "hpricot_scan.rl"
|
1347
1398
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1348
1399
|
goto st39;
|
1349
1400
|
tr70:
|
1350
|
-
#line
|
1401
|
+
#line 159 "hpricot_scan.rl"
|
1351
1402
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1352
1403
|
goto st39;
|
1353
1404
|
st39:
|
1354
1405
|
if ( ++p == pe )
|
1355
1406
|
goto _test_eof39;
|
1356
1407
|
case 39:
|
1357
|
-
#line
|
1408
|
+
#line 1409 "hpricot_scan.c"
|
1358
1409
|
switch( (*p) ) {
|
1359
1410
|
case 32: goto st39;
|
1360
1411
|
case 39: goto tr41;
|
@@ -1365,50 +1416,50 @@ case 39:
|
|
1365
1416
|
goto st39;
|
1366
1417
|
goto st29;
|
1367
1418
|
tr56:
|
1368
|
-
#line 1 "
|
1419
|
+
#line 1 "NONE"
|
1369
1420
|
{te = p+1;}
|
1370
|
-
#line
|
1421
|
+
#line 134 "hpricot_scan.rl"
|
1371
1422
|
{ mark_aval = p; }
|
1372
|
-
#line 66 "
|
1423
|
+
#line 66 "hpricot_common.rl"
|
1373
1424
|
{act = 8;}
|
1374
1425
|
goto st206;
|
1375
1426
|
tr63:
|
1376
|
-
#line 1 "
|
1427
|
+
#line 1 "NONE"
|
1377
1428
|
{te = p+1;}
|
1378
|
-
#line 66 "
|
1429
|
+
#line 66 "hpricot_common.rl"
|
1379
1430
|
{act = 8;}
|
1380
1431
|
goto st206;
|
1381
1432
|
st206:
|
1382
1433
|
if ( ++p == pe )
|
1383
1434
|
goto _test_eof206;
|
1384
1435
|
case 206:
|
1385
|
-
#line
|
1436
|
+
#line 1437 "hpricot_scan.c"
|
1386
1437
|
if ( (*p) == 39 )
|
1387
1438
|
goto tr41;
|
1388
1439
|
goto st29;
|
1389
1440
|
tr57:
|
1390
|
-
#line
|
1441
|
+
#line 134 "hpricot_scan.rl"
|
1391
1442
|
{ mark_aval = p; }
|
1392
1443
|
goto st40;
|
1393
1444
|
st40:
|
1394
1445
|
if ( ++p == pe )
|
1395
1446
|
goto _test_eof40;
|
1396
1447
|
case 40:
|
1397
|
-
#line
|
1448
|
+
#line 1449 "hpricot_scan.c"
|
1398
1449
|
switch( (*p) ) {
|
1399
1450
|
case 39: goto tr73;
|
1400
1451
|
case 93: goto st42;
|
1401
1452
|
}
|
1402
1453
|
goto st40;
|
1403
1454
|
tr73:
|
1404
|
-
#line
|
1455
|
+
#line 159 "hpricot_scan.rl"
|
1405
1456
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1406
1457
|
goto st41;
|
1407
1458
|
st41:
|
1408
1459
|
if ( ++p == pe )
|
1409
1460
|
goto _test_eof41;
|
1410
1461
|
case 41:
|
1411
|
-
#line
|
1462
|
+
#line 1463 "hpricot_scan.c"
|
1412
1463
|
switch( (*p) ) {
|
1413
1464
|
case 32: goto st41;
|
1414
1465
|
case 62: goto tr76;
|
@@ -1418,16 +1469,16 @@ case 41:
|
|
1418
1469
|
goto st41;
|
1419
1470
|
goto st26;
|
1420
1471
|
tr76:
|
1421
|
-
#line 1 "
|
1472
|
+
#line 1 "NONE"
|
1422
1473
|
{te = p+1;}
|
1423
|
-
#line 66 "
|
1474
|
+
#line 66 "hpricot_common.rl"
|
1424
1475
|
{act = 8;}
|
1425
1476
|
goto st207;
|
1426
1477
|
st207:
|
1427
1478
|
if ( ++p == pe )
|
1428
1479
|
goto _test_eof207;
|
1429
1480
|
case 207:
|
1430
|
-
#line
|
1481
|
+
#line 1482 "hpricot_scan.c"
|
1431
1482
|
if ( (*p) == 93 )
|
1432
1483
|
goto st27;
|
1433
1484
|
goto st26;
|
@@ -1444,20 +1495,20 @@ case 42:
|
|
1444
1495
|
goto st42;
|
1445
1496
|
goto st29;
|
1446
1497
|
tr68:
|
1447
|
-
#line
|
1498
|
+
#line 134 "hpricot_scan.rl"
|
1448
1499
|
{ mark_aval = p; }
|
1449
|
-
#line
|
1500
|
+
#line 159 "hpricot_scan.rl"
|
1450
1501
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1451
1502
|
goto st43;
|
1452
1503
|
tr71:
|
1453
|
-
#line
|
1504
|
+
#line 159 "hpricot_scan.rl"
|
1454
1505
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1455
1506
|
goto st43;
|
1456
1507
|
st43:
|
1457
1508
|
if ( ++p == pe )
|
1458
1509
|
goto _test_eof43;
|
1459
1510
|
case 43:
|
1460
|
-
#line
|
1511
|
+
#line 1512 "hpricot_scan.c"
|
1461
1512
|
switch( (*p) ) {
|
1462
1513
|
case 32: goto st43;
|
1463
1514
|
case 34: goto tr41;
|
@@ -1468,16 +1519,16 @@ case 43:
|
|
1468
1519
|
goto st43;
|
1469
1520
|
goto st24;
|
1470
1521
|
tr78:
|
1471
|
-
#line 1 "
|
1522
|
+
#line 1 "NONE"
|
1472
1523
|
{te = p+1;}
|
1473
|
-
#line 66 "
|
1524
|
+
#line 66 "hpricot_common.rl"
|
1474
1525
|
{act = 8;}
|
1475
1526
|
goto st208;
|
1476
1527
|
st208:
|
1477
1528
|
if ( ++p == pe )
|
1478
1529
|
goto _test_eof208;
|
1479
1530
|
case 208:
|
1480
|
-
#line
|
1531
|
+
#line 1532 "hpricot_scan.c"
|
1481
1532
|
if ( (*p) == 34 )
|
1482
1533
|
goto tr41;
|
1483
1534
|
goto st24;
|
@@ -1503,14 +1554,14 @@ case 45:
|
|
1503
1554
|
goto st45;
|
1504
1555
|
goto st24;
|
1505
1556
|
tr65:
|
1506
|
-
#line
|
1557
|
+
#line 159 "hpricot_scan.rl"
|
1507
1558
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("system_id")), aval); }
|
1508
1559
|
goto st46;
|
1509
1560
|
st46:
|
1510
1561
|
if ( ++p == pe )
|
1511
1562
|
goto _test_eof46;
|
1512
1563
|
case 46:
|
1513
|
-
#line
|
1564
|
+
#line 1565 "hpricot_scan.c"
|
1514
1565
|
switch( (*p) ) {
|
1515
1566
|
case 32: goto tr81;
|
1516
1567
|
case 39: goto tr38;
|
@@ -1521,14 +1572,14 @@ case 46:
|
|
1521
1572
|
goto tr81;
|
1522
1573
|
goto tr44;
|
1523
1574
|
tr54:
|
1524
|
-
#line
|
1575
|
+
#line 134 "hpricot_scan.rl"
|
1525
1576
|
{ mark_aval = p; }
|
1526
1577
|
goto st47;
|
1527
1578
|
st47:
|
1528
1579
|
if ( ++p == pe )
|
1529
1580
|
goto _test_eof47;
|
1530
1581
|
case 47:
|
1531
|
-
#line
|
1582
|
+
#line 1583 "hpricot_scan.c"
|
1532
1583
|
switch( (*p) ) {
|
1533
1584
|
case 9: goto st47;
|
1534
1585
|
case 39: goto tr82;
|
@@ -1642,14 +1693,14 @@ case 59:
|
|
1642
1693
|
goto tr94;
|
1643
1694
|
goto tr0;
|
1644
1695
|
tr94:
|
1645
|
-
#line
|
1696
|
+
#line 133 "hpricot_scan.rl"
|
1646
1697
|
{ mark_tag = p; }
|
1647
1698
|
goto st60;
|
1648
1699
|
st60:
|
1649
1700
|
if ( ++p == pe )
|
1650
1701
|
goto _test_eof60;
|
1651
1702
|
case 60:
|
1652
|
-
#line
|
1703
|
+
#line 1704 "hpricot_scan.c"
|
1653
1704
|
switch( (*p) ) {
|
1654
1705
|
case 32: goto tr95;
|
1655
1706
|
case 62: goto tr97;
|
@@ -1672,14 +1723,14 @@ case 60:
|
|
1672
1723
|
goto st60;
|
1673
1724
|
goto tr0;
|
1674
1725
|
tr95:
|
1675
|
-
#line
|
1726
|
+
#line 136 "hpricot_scan.rl"
|
1676
1727
|
{ SET(tag, p); }
|
1677
1728
|
goto st61;
|
1678
1729
|
st61:
|
1679
1730
|
if ( ++p == pe )
|
1680
1731
|
goto _test_eof61;
|
1681
1732
|
case 61:
|
1682
|
-
#line
|
1733
|
+
#line 1734 "hpricot_scan.c"
|
1683
1734
|
switch( (*p) ) {
|
1684
1735
|
case 32: goto st61;
|
1685
1736
|
case 62: goto tr99;
|
@@ -1688,14 +1739,14 @@ case 61:
|
|
1688
1739
|
goto st61;
|
1689
1740
|
goto tr0;
|
1690
1741
|
tr417:
|
1691
|
-
#line
|
1742
|
+
#line 133 "hpricot_scan.rl"
|
1692
1743
|
{ mark_tag = p; }
|
1693
1744
|
goto st62;
|
1694
1745
|
st62:
|
1695
1746
|
if ( ++p == pe )
|
1696
1747
|
goto _test_eof62;
|
1697
1748
|
case 62:
|
1698
|
-
#line
|
1749
|
+
#line 1750 "hpricot_scan.c"
|
1699
1750
|
switch( (*p) ) {
|
1700
1751
|
case 32: goto tr100;
|
1701
1752
|
case 47: goto tr102;
|
@@ -1716,14 +1767,14 @@ case 62:
|
|
1716
1767
|
goto st62;
|
1717
1768
|
goto tr0;
|
1718
1769
|
tr100:
|
1719
|
-
#line
|
1770
|
+
#line 136 "hpricot_scan.rl"
|
1720
1771
|
{ SET(tag, p); }
|
1721
1772
|
goto st63;
|
1722
1773
|
st63:
|
1723
1774
|
if ( ++p == pe )
|
1724
1775
|
goto _test_eof63;
|
1725
1776
|
case 63:
|
1726
|
-
#line
|
1777
|
+
#line 1778 "hpricot_scan.c"
|
1727
1778
|
switch( (*p) ) {
|
1728
1779
|
case 32: goto st63;
|
1729
1780
|
case 47: goto st66;
|
@@ -1744,38 +1795,38 @@ case 63:
|
|
1744
1795
|
goto tr105;
|
1745
1796
|
goto tr0;
|
1746
1797
|
tr105:
|
1747
|
-
#line
|
1798
|
+
#line 161 "hpricot_scan.rl"
|
1748
1799
|
{
|
1749
1800
|
akey = Qnil;
|
1750
1801
|
aval = Qnil;
|
1751
1802
|
mark_akey = NULL;
|
1752
1803
|
mark_aval = NULL;
|
1753
1804
|
}
|
1754
|
-
#line
|
1805
|
+
#line 135 "hpricot_scan.rl"
|
1755
1806
|
{ mark_akey = p; }
|
1756
1807
|
goto st64;
|
1757
1808
|
tr114:
|
1758
|
-
#line
|
1809
|
+
#line 168 "hpricot_scan.rl"
|
1759
1810
|
{
|
1760
|
-
if (!S->xml)
|
1811
|
+
if (!S->xml && !NIL_P(akey))
|
1761
1812
|
akey = rb_funcall(akey, s_downcase, 0);
|
1762
1813
|
ATTR(akey, aval);
|
1763
1814
|
}
|
1764
|
-
#line
|
1815
|
+
#line 161 "hpricot_scan.rl"
|
1765
1816
|
{
|
1766
1817
|
akey = Qnil;
|
1767
1818
|
aval = Qnil;
|
1768
1819
|
mark_akey = NULL;
|
1769
1820
|
mark_aval = NULL;
|
1770
1821
|
}
|
1771
|
-
#line
|
1822
|
+
#line 135 "hpricot_scan.rl"
|
1772
1823
|
{ mark_akey = p; }
|
1773
1824
|
goto st64;
|
1774
1825
|
st64:
|
1775
1826
|
if ( ++p == pe )
|
1776
1827
|
goto _test_eof64;
|
1777
1828
|
case 64:
|
1778
|
-
#line
|
1829
|
+
#line 1830 "hpricot_scan.c"
|
1779
1830
|
switch( (*p) ) {
|
1780
1831
|
case 32: goto tr108;
|
1781
1832
|
case 47: goto tr110;
|
@@ -1797,20 +1848,20 @@ case 64:
|
|
1797
1848
|
goto st64;
|
1798
1849
|
goto tr39;
|
1799
1850
|
tr108:
|
1800
|
-
#line
|
1851
|
+
#line 143 "hpricot_scan.rl"
|
1801
1852
|
{ SET(akey, p); }
|
1802
1853
|
goto st65;
|
1803
1854
|
tr140:
|
1804
|
-
#line
|
1855
|
+
#line 139 "hpricot_scan.rl"
|
1805
1856
|
{
|
1806
1857
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1807
1858
|
else { SET(aval, p); }
|
1808
1859
|
}
|
1809
1860
|
goto st65;
|
1810
1861
|
tr134:
|
1811
|
-
#line
|
1862
|
+
#line 143 "hpricot_scan.rl"
|
1812
1863
|
{ SET(akey, p); }
|
1813
|
-
#line
|
1864
|
+
#line 139 "hpricot_scan.rl"
|
1814
1865
|
{
|
1815
1866
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1816
1867
|
else { SET(aval, p); }
|
@@ -1820,7 +1871,7 @@ st65:
|
|
1820
1871
|
if ( ++p == pe )
|
1821
1872
|
goto _test_eof65;
|
1822
1873
|
case 65:
|
1823
|
-
#line
|
1874
|
+
#line 1875 "hpricot_scan.c"
|
1824
1875
|
switch( (*p) ) {
|
1825
1876
|
case 32: goto st65;
|
1826
1877
|
case 47: goto tr115;
|
@@ -1842,23 +1893,23 @@ case 65:
|
|
1842
1893
|
goto tr114;
|
1843
1894
|
goto tr39;
|
1844
1895
|
tr102:
|
1845
|
-
#line
|
1896
|
+
#line 136 "hpricot_scan.rl"
|
1846
1897
|
{ SET(tag, p); }
|
1847
1898
|
goto st66;
|
1848
1899
|
tr110:
|
1849
|
-
#line
|
1900
|
+
#line 143 "hpricot_scan.rl"
|
1850
1901
|
{ SET(akey, p); }
|
1851
|
-
#line
|
1902
|
+
#line 168 "hpricot_scan.rl"
|
1852
1903
|
{
|
1853
|
-
if (!S->xml)
|
1904
|
+
if (!S->xml && !NIL_P(akey))
|
1854
1905
|
akey = rb_funcall(akey, s_downcase, 0);
|
1855
1906
|
ATTR(akey, aval);
|
1856
1907
|
}
|
1857
1908
|
goto st66;
|
1858
1909
|
tr115:
|
1859
|
-
#line
|
1910
|
+
#line 168 "hpricot_scan.rl"
|
1860
1911
|
{
|
1861
|
-
if (!S->xml)
|
1912
|
+
if (!S->xml && !NIL_P(akey))
|
1862
1913
|
akey = rb_funcall(akey, s_downcase, 0);
|
1863
1914
|
ATTR(akey, aval);
|
1864
1915
|
}
|
@@ -1867,19 +1918,19 @@ st66:
|
|
1867
1918
|
if ( ++p == pe )
|
1868
1919
|
goto _test_eof66;
|
1869
1920
|
case 66:
|
1870
|
-
#line
|
1921
|
+
#line 1922 "hpricot_scan.c"
|
1871
1922
|
if ( (*p) == 62 )
|
1872
1923
|
goto tr118;
|
1873
1924
|
goto tr39;
|
1874
1925
|
tr111:
|
1875
|
-
#line
|
1926
|
+
#line 143 "hpricot_scan.rl"
|
1876
1927
|
{ SET(akey, p); }
|
1877
1928
|
goto st67;
|
1878
1929
|
st67:
|
1879
1930
|
if ( ++p == pe )
|
1880
1931
|
goto _test_eof67;
|
1881
1932
|
case 67:
|
1882
|
-
#line
|
1933
|
+
#line 1934 "hpricot_scan.c"
|
1883
1934
|
switch( (*p) ) {
|
1884
1935
|
case 13: goto tr120;
|
1885
1936
|
case 32: goto tr120;
|
@@ -1896,14 +1947,14 @@ case 67:
|
|
1896
1947
|
goto tr120;
|
1897
1948
|
goto tr119;
|
1898
1949
|
tr119:
|
1899
|
-
#line
|
1950
|
+
#line 134 "hpricot_scan.rl"
|
1900
1951
|
{ mark_aval = p; }
|
1901
1952
|
goto st68;
|
1902
1953
|
st68:
|
1903
1954
|
if ( ++p == pe )
|
1904
1955
|
goto _test_eof68;
|
1905
1956
|
case 68:
|
1906
|
-
#line
|
1957
|
+
#line 1958 "hpricot_scan.c"
|
1907
1958
|
switch( (*p) ) {
|
1908
1959
|
case 13: goto tr126;
|
1909
1960
|
case 32: goto tr126;
|
@@ -1918,27 +1969,27 @@ case 68:
|
|
1918
1969
|
goto tr126;
|
1919
1970
|
goto st68;
|
1920
1971
|
tr126:
|
1921
|
-
#line
|
1972
|
+
#line 139 "hpricot_scan.rl"
|
1922
1973
|
{
|
1923
1974
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1924
1975
|
else { SET(aval, p); }
|
1925
1976
|
}
|
1926
1977
|
goto st69;
|
1927
1978
|
tr331:
|
1928
|
-
#line
|
1979
|
+
#line 134 "hpricot_scan.rl"
|
1929
1980
|
{ mark_aval = p; }
|
1930
|
-
#line
|
1981
|
+
#line 138 "hpricot_scan.rl"
|
1931
1982
|
{ SET(aval, p); }
|
1932
1983
|
goto st69;
|
1933
1984
|
tr169:
|
1934
|
-
#line
|
1985
|
+
#line 138 "hpricot_scan.rl"
|
1935
1986
|
{ SET(aval, p); }
|
1936
1987
|
goto st69;
|
1937
1988
|
st69:
|
1938
1989
|
if ( ++p == pe )
|
1939
1990
|
goto _test_eof69;
|
1940
1991
|
case 69:
|
1941
|
-
#line
|
1992
|
+
#line 1993 "hpricot_scan.c"
|
1942
1993
|
switch( (*p) ) {
|
1943
1994
|
case 32: goto st69;
|
1944
1995
|
case 47: goto tr115;
|
@@ -1959,27 +2010,27 @@ case 69:
|
|
1959
2010
|
goto tr114;
|
1960
2011
|
goto tr39;
|
1961
2012
|
tr127:
|
1962
|
-
#line
|
2013
|
+
#line 139 "hpricot_scan.rl"
|
1963
2014
|
{
|
1964
2015
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
1965
2016
|
else { SET(aval, p); }
|
1966
2017
|
}
|
1967
2018
|
goto st70;
|
1968
2019
|
tr155:
|
1969
|
-
#line
|
2020
|
+
#line 134 "hpricot_scan.rl"
|
1970
2021
|
{ mark_aval = p; }
|
1971
|
-
#line
|
2022
|
+
#line 138 "hpricot_scan.rl"
|
1972
2023
|
{ SET(aval, p); }
|
1973
2024
|
goto st70;
|
1974
2025
|
tr163:
|
1975
|
-
#line
|
2026
|
+
#line 138 "hpricot_scan.rl"
|
1976
2027
|
{ SET(aval, p); }
|
1977
2028
|
goto st70;
|
1978
2029
|
st70:
|
1979
2030
|
if ( ++p == pe )
|
1980
2031
|
goto _test_eof70;
|
1981
2032
|
case 70:
|
1982
|
-
#line
|
2033
|
+
#line 2034 "hpricot_scan.c"
|
1983
2034
|
switch( (*p) ) {
|
1984
2035
|
case 13: goto tr126;
|
1985
2036
|
case 32: goto tr126;
|
@@ -2005,46 +2056,46 @@ case 70:
|
|
2005
2056
|
goto tr131;
|
2006
2057
|
goto st68;
|
2007
2058
|
tr131:
|
2008
|
-
#line
|
2059
|
+
#line 168 "hpricot_scan.rl"
|
2009
2060
|
{
|
2010
|
-
if (!S->xml)
|
2061
|
+
if (!S->xml && !NIL_P(akey))
|
2011
2062
|
akey = rb_funcall(akey, s_downcase, 0);
|
2012
2063
|
ATTR(akey, aval);
|
2013
2064
|
}
|
2014
|
-
#line
|
2065
|
+
#line 161 "hpricot_scan.rl"
|
2015
2066
|
{
|
2016
2067
|
akey = Qnil;
|
2017
2068
|
aval = Qnil;
|
2018
2069
|
mark_akey = NULL;
|
2019
2070
|
mark_aval = NULL;
|
2020
2071
|
}
|
2021
|
-
#line
|
2072
|
+
#line 135 "hpricot_scan.rl"
|
2022
2073
|
{ mark_akey = p; }
|
2023
2074
|
goto st71;
|
2024
2075
|
tr150:
|
2025
|
-
#line 111 "hpricot_scan.rl"
|
2026
|
-
{ mark_aval = p; }
|
2027
2076
|
#line 134 "hpricot_scan.rl"
|
2077
|
+
{ mark_aval = p; }
|
2078
|
+
#line 168 "hpricot_scan.rl"
|
2028
2079
|
{
|
2029
|
-
if (!S->xml)
|
2080
|
+
if (!S->xml && !NIL_P(akey))
|
2030
2081
|
akey = rb_funcall(akey, s_downcase, 0);
|
2031
2082
|
ATTR(akey, aval);
|
2032
2083
|
}
|
2033
|
-
#line
|
2084
|
+
#line 161 "hpricot_scan.rl"
|
2034
2085
|
{
|
2035
2086
|
akey = Qnil;
|
2036
2087
|
aval = Qnil;
|
2037
2088
|
mark_akey = NULL;
|
2038
2089
|
mark_aval = NULL;
|
2039
2090
|
}
|
2040
|
-
#line
|
2091
|
+
#line 135 "hpricot_scan.rl"
|
2041
2092
|
{ mark_akey = p; }
|
2042
2093
|
goto st71;
|
2043
2094
|
st71:
|
2044
2095
|
if ( ++p == pe )
|
2045
2096
|
goto _test_eof71;
|
2046
2097
|
case 71:
|
2047
|
-
#line
|
2098
|
+
#line 2099 "hpricot_scan.c"
|
2048
2099
|
switch( (*p) ) {
|
2049
2100
|
case 13: goto tr134;
|
2050
2101
|
case 32: goto tr134;
|
@@ -2071,16 +2122,16 @@ case 71:
|
|
2071
2122
|
goto st71;
|
2072
2123
|
goto st68;
|
2073
2124
|
tr141:
|
2074
|
-
#line
|
2125
|
+
#line 139 "hpricot_scan.rl"
|
2075
2126
|
{
|
2076
2127
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2077
2128
|
else { SET(aval, p); }
|
2078
2129
|
}
|
2079
2130
|
goto st72;
|
2080
2131
|
tr135:
|
2081
|
-
#line
|
2132
|
+
#line 143 "hpricot_scan.rl"
|
2082
2133
|
{ SET(akey, p); }
|
2083
|
-
#line
|
2134
|
+
#line 139 "hpricot_scan.rl"
|
2084
2135
|
{
|
2085
2136
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2086
2137
|
else { SET(aval, p); }
|
@@ -2090,7 +2141,7 @@ st72:
|
|
2090
2141
|
if ( ++p == pe )
|
2091
2142
|
goto _test_eof72;
|
2092
2143
|
case 72:
|
2093
|
-
#line
|
2144
|
+
#line 2145 "hpricot_scan.c"
|
2094
2145
|
switch( (*p) ) {
|
2095
2146
|
case 13: goto tr140;
|
2096
2147
|
case 32: goto tr140;
|
@@ -2117,81 +2168,81 @@ case 72:
|
|
2117
2168
|
goto tr131;
|
2118
2169
|
goto st68;
|
2119
2170
|
tr124:
|
2120
|
-
#line 111 "hpricot_scan.rl"
|
2121
|
-
{ mark_aval = p; }
|
2122
2171
|
#line 134 "hpricot_scan.rl"
|
2172
|
+
{ mark_aval = p; }
|
2173
|
+
#line 168 "hpricot_scan.rl"
|
2123
2174
|
{
|
2124
|
-
if (!S->xml)
|
2175
|
+
if (!S->xml && !NIL_P(akey))
|
2125
2176
|
akey = rb_funcall(akey, s_downcase, 0);
|
2126
2177
|
ATTR(akey, aval);
|
2127
2178
|
}
|
2128
2179
|
goto st73;
|
2129
2180
|
tr128:
|
2130
|
-
#line
|
2181
|
+
#line 139 "hpricot_scan.rl"
|
2131
2182
|
{
|
2132
2183
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2133
2184
|
else { SET(aval, p); }
|
2134
2185
|
}
|
2135
|
-
#line
|
2186
|
+
#line 168 "hpricot_scan.rl"
|
2136
2187
|
{
|
2137
|
-
if (!S->xml)
|
2188
|
+
if (!S->xml && !NIL_P(akey))
|
2138
2189
|
akey = rb_funcall(akey, s_downcase, 0);
|
2139
2190
|
ATTR(akey, aval);
|
2140
2191
|
}
|
2141
2192
|
goto st73;
|
2142
2193
|
tr132:
|
2143
|
-
#line
|
2194
|
+
#line 168 "hpricot_scan.rl"
|
2144
2195
|
{
|
2145
|
-
if (!S->xml)
|
2196
|
+
if (!S->xml && !NIL_P(akey))
|
2146
2197
|
akey = rb_funcall(akey, s_downcase, 0);
|
2147
2198
|
ATTR(akey, aval);
|
2148
2199
|
}
|
2149
|
-
#line
|
2200
|
+
#line 139 "hpricot_scan.rl"
|
2150
2201
|
{
|
2151
2202
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2152
2203
|
else { SET(aval, p); }
|
2153
2204
|
}
|
2154
2205
|
goto st73;
|
2155
2206
|
tr137:
|
2156
|
-
#line
|
2207
|
+
#line 139 "hpricot_scan.rl"
|
2157
2208
|
{
|
2158
2209
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2159
2210
|
else { SET(aval, p); }
|
2160
2211
|
}
|
2161
|
-
#line
|
2212
|
+
#line 143 "hpricot_scan.rl"
|
2162
2213
|
{ SET(akey, p); }
|
2163
|
-
#line
|
2214
|
+
#line 168 "hpricot_scan.rl"
|
2164
2215
|
{
|
2165
|
-
if (!S->xml)
|
2216
|
+
if (!S->xml && !NIL_P(akey))
|
2166
2217
|
akey = rb_funcall(akey, s_downcase, 0);
|
2167
2218
|
ATTR(akey, aval);
|
2168
2219
|
}
|
2169
2220
|
goto st73;
|
2170
2221
|
tr147:
|
2171
|
-
#line
|
2222
|
+
#line 134 "hpricot_scan.rl"
|
2172
2223
|
{ mark_aval = p; }
|
2173
|
-
#line
|
2224
|
+
#line 139 "hpricot_scan.rl"
|
2174
2225
|
{
|
2175
2226
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2176
2227
|
else { SET(aval, p); }
|
2177
2228
|
}
|
2178
|
-
#line
|
2229
|
+
#line 168 "hpricot_scan.rl"
|
2179
2230
|
{
|
2180
|
-
if (!S->xml)
|
2231
|
+
if (!S->xml && !NIL_P(akey))
|
2181
2232
|
akey = rb_funcall(akey, s_downcase, 0);
|
2182
2233
|
ATTR(akey, aval);
|
2183
2234
|
}
|
2184
2235
|
goto st73;
|
2185
2236
|
tr151:
|
2186
|
-
#line 111 "hpricot_scan.rl"
|
2187
|
-
{ mark_aval = p; }
|
2188
2237
|
#line 134 "hpricot_scan.rl"
|
2238
|
+
{ mark_aval = p; }
|
2239
|
+
#line 168 "hpricot_scan.rl"
|
2189
2240
|
{
|
2190
|
-
if (!S->xml)
|
2241
|
+
if (!S->xml && !NIL_P(akey))
|
2191
2242
|
akey = rb_funcall(akey, s_downcase, 0);
|
2192
2243
|
ATTR(akey, aval);
|
2193
2244
|
}
|
2194
|
-
#line
|
2245
|
+
#line 139 "hpricot_scan.rl"
|
2195
2246
|
{
|
2196
2247
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2197
2248
|
else { SET(aval, p); }
|
@@ -2201,7 +2252,7 @@ st73:
|
|
2201
2252
|
if ( ++p == pe )
|
2202
2253
|
goto _test_eof73;
|
2203
2254
|
case 73:
|
2204
|
-
#line
|
2255
|
+
#line 2256 "hpricot_scan.c"
|
2205
2256
|
switch( (*p) ) {
|
2206
2257
|
case 13: goto tr126;
|
2207
2258
|
case 32: goto tr126;
|
@@ -2216,18 +2267,18 @@ case 73:
|
|
2216
2267
|
goto tr126;
|
2217
2268
|
goto st68;
|
2218
2269
|
tr121:
|
2219
|
-
#line
|
2270
|
+
#line 134 "hpricot_scan.rl"
|
2220
2271
|
{ mark_aval = p; }
|
2221
2272
|
goto st74;
|
2222
2273
|
tr138:
|
2223
|
-
#line
|
2274
|
+
#line 143 "hpricot_scan.rl"
|
2224
2275
|
{ SET(akey, p); }
|
2225
2276
|
goto st74;
|
2226
2277
|
st74:
|
2227
2278
|
if ( ++p == pe )
|
2228
2279
|
goto _test_eof74;
|
2229
2280
|
case 74:
|
2230
|
-
#line
|
2281
|
+
#line 2282 "hpricot_scan.c"
|
2231
2282
|
switch( (*p) ) {
|
2232
2283
|
case 13: goto tr143;
|
2233
2284
|
case 32: goto tr143;
|
@@ -2244,13 +2295,13 @@ case 74:
|
|
2244
2295
|
goto tr143;
|
2245
2296
|
goto tr119;
|
2246
2297
|
tr148:
|
2247
|
-
#line
|
2298
|
+
#line 134 "hpricot_scan.rl"
|
2248
2299
|
{ mark_aval = p; }
|
2249
2300
|
goto st75;
|
2250
2301
|
tr143:
|
2251
|
-
#line
|
2302
|
+
#line 134 "hpricot_scan.rl"
|
2252
2303
|
{ mark_aval = p; }
|
2253
|
-
#line
|
2304
|
+
#line 139 "hpricot_scan.rl"
|
2254
2305
|
{
|
2255
2306
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2256
2307
|
else { SET(aval, p); }
|
@@ -2260,7 +2311,7 @@ st75:
|
|
2260
2311
|
if ( ++p == pe )
|
2261
2312
|
goto _test_eof75;
|
2262
2313
|
case 75:
|
2263
|
-
#line
|
2314
|
+
#line 2315 "hpricot_scan.c"
|
2264
2315
|
switch( (*p) ) {
|
2265
2316
|
case 13: goto tr148;
|
2266
2317
|
case 32: goto tr148;
|
@@ -2288,13 +2339,13 @@ case 75:
|
|
2288
2339
|
goto tr150;
|
2289
2340
|
goto tr119;
|
2290
2341
|
tr149:
|
2291
|
-
#line
|
2342
|
+
#line 134 "hpricot_scan.rl"
|
2292
2343
|
{ mark_aval = p; }
|
2293
2344
|
goto st76;
|
2294
2345
|
tr144:
|
2295
|
-
#line
|
2346
|
+
#line 134 "hpricot_scan.rl"
|
2296
2347
|
{ mark_aval = p; }
|
2297
|
-
#line
|
2348
|
+
#line 139 "hpricot_scan.rl"
|
2298
2349
|
{
|
2299
2350
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2300
2351
|
else { SET(aval, p); }
|
@@ -2304,7 +2355,7 @@ st76:
|
|
2304
2355
|
if ( ++p == pe )
|
2305
2356
|
goto _test_eof76;
|
2306
2357
|
case 76:
|
2307
|
-
#line
|
2358
|
+
#line 2359 "hpricot_scan.c"
|
2308
2359
|
switch( (*p) ) {
|
2309
2360
|
case 13: goto tr143;
|
2310
2361
|
case 32: goto tr143;
|
@@ -2351,14 +2402,14 @@ case 77:
|
|
2351
2402
|
goto tr153;
|
2352
2403
|
goto tr152;
|
2353
2404
|
tr152:
|
2354
|
-
#line
|
2405
|
+
#line 134 "hpricot_scan.rl"
|
2355
2406
|
{ mark_aval = p; }
|
2356
2407
|
goto st78;
|
2357
2408
|
st78:
|
2358
2409
|
if ( ++p == pe )
|
2359
2410
|
goto _test_eof78;
|
2360
2411
|
case 78:
|
2361
|
-
#line
|
2412
|
+
#line 2413 "hpricot_scan.c"
|
2362
2413
|
switch( (*p) ) {
|
2363
2414
|
case 13: goto tr161;
|
2364
2415
|
case 32: goto tr161;
|
@@ -2375,40 +2426,40 @@ case 78:
|
|
2375
2426
|
goto tr161;
|
2376
2427
|
goto st78;
|
2377
2428
|
tr336:
|
2378
|
-
#line
|
2429
|
+
#line 134 "hpricot_scan.rl"
|
2379
2430
|
{ mark_aval = p; }
|
2380
2431
|
goto st79;
|
2381
2432
|
tr161:
|
2382
|
-
#line
|
2433
|
+
#line 139 "hpricot_scan.rl"
|
2383
2434
|
{
|
2384
2435
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2385
2436
|
else { SET(aval, p); }
|
2386
2437
|
}
|
2387
2438
|
goto st79;
|
2388
2439
|
tr153:
|
2389
|
-
#line
|
2440
|
+
#line 134 "hpricot_scan.rl"
|
2390
2441
|
{ mark_aval = p; }
|
2391
|
-
#line
|
2442
|
+
#line 139 "hpricot_scan.rl"
|
2392
2443
|
{
|
2393
2444
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2394
2445
|
else { SET(aval, p); }
|
2395
2446
|
}
|
2396
2447
|
goto st79;
|
2397
2448
|
tr317:
|
2398
|
-
#line
|
2449
|
+
#line 134 "hpricot_scan.rl"
|
2399
2450
|
{ mark_aval = p; }
|
2400
|
-
#line
|
2451
|
+
#line 138 "hpricot_scan.rl"
|
2401
2452
|
{ SET(aval, p); }
|
2402
2453
|
goto st79;
|
2403
2454
|
tr174:
|
2404
|
-
#line
|
2455
|
+
#line 138 "hpricot_scan.rl"
|
2405
2456
|
{ SET(aval, p); }
|
2406
2457
|
goto st79;
|
2407
2458
|
st79:
|
2408
2459
|
if ( ++p == pe )
|
2409
2460
|
goto _test_eof79;
|
2410
2461
|
case 79:
|
2411
|
-
#line
|
2462
|
+
#line 2463 "hpricot_scan.c"
|
2412
2463
|
switch( (*p) ) {
|
2413
2464
|
case 32: goto st79;
|
2414
2465
|
case 34: goto tr169;
|
@@ -2431,74 +2482,74 @@ case 79:
|
|
2431
2482
|
goto tr170;
|
2432
2483
|
goto st80;
|
2433
2484
|
tr157:
|
2434
|
-
#line
|
2485
|
+
#line 134 "hpricot_scan.rl"
|
2435
2486
|
{ mark_aval = p; }
|
2436
2487
|
goto st80;
|
2437
2488
|
st80:
|
2438
2489
|
if ( ++p == pe )
|
2439
2490
|
goto _test_eof80;
|
2440
2491
|
case 80:
|
2441
|
-
#line
|
2492
|
+
#line 2493 "hpricot_scan.c"
|
2442
2493
|
switch( (*p) ) {
|
2443
2494
|
case 34: goto tr169;
|
2444
2495
|
case 92: goto st81;
|
2445
2496
|
}
|
2446
2497
|
goto st80;
|
2447
2498
|
tr340:
|
2448
|
-
#line
|
2499
|
+
#line 134 "hpricot_scan.rl"
|
2449
2500
|
{ mark_aval = p; }
|
2450
2501
|
goto st81;
|
2451
2502
|
st81:
|
2452
2503
|
if ( ++p == pe )
|
2453
2504
|
goto _test_eof81;
|
2454
2505
|
case 81:
|
2455
|
-
#line
|
2506
|
+
#line 2507 "hpricot_scan.c"
|
2456
2507
|
switch( (*p) ) {
|
2457
2508
|
case 34: goto tr174;
|
2458
2509
|
case 92: goto st81;
|
2459
2510
|
}
|
2460
2511
|
goto st80;
|
2461
2512
|
tr170:
|
2462
|
-
#line
|
2513
|
+
#line 168 "hpricot_scan.rl"
|
2463
2514
|
{
|
2464
|
-
if (!S->xml)
|
2515
|
+
if (!S->xml && !NIL_P(akey))
|
2465
2516
|
akey = rb_funcall(akey, s_downcase, 0);
|
2466
2517
|
ATTR(akey, aval);
|
2467
2518
|
}
|
2468
|
-
#line
|
2519
|
+
#line 161 "hpricot_scan.rl"
|
2469
2520
|
{
|
2470
2521
|
akey = Qnil;
|
2471
2522
|
aval = Qnil;
|
2472
2523
|
mark_akey = NULL;
|
2473
2524
|
mark_aval = NULL;
|
2474
2525
|
}
|
2475
|
-
#line
|
2526
|
+
#line 135 "hpricot_scan.rl"
|
2476
2527
|
{ mark_akey = p; }
|
2477
2528
|
goto st82;
|
2478
2529
|
tr337:
|
2479
|
-
#line 111 "hpricot_scan.rl"
|
2480
|
-
{ mark_aval = p; }
|
2481
2530
|
#line 134 "hpricot_scan.rl"
|
2531
|
+
{ mark_aval = p; }
|
2532
|
+
#line 168 "hpricot_scan.rl"
|
2482
2533
|
{
|
2483
|
-
if (!S->xml)
|
2534
|
+
if (!S->xml && !NIL_P(akey))
|
2484
2535
|
akey = rb_funcall(akey, s_downcase, 0);
|
2485
2536
|
ATTR(akey, aval);
|
2486
2537
|
}
|
2487
|
-
#line
|
2538
|
+
#line 161 "hpricot_scan.rl"
|
2488
2539
|
{
|
2489
2540
|
akey = Qnil;
|
2490
2541
|
aval = Qnil;
|
2491
2542
|
mark_akey = NULL;
|
2492
2543
|
mark_aval = NULL;
|
2493
2544
|
}
|
2494
|
-
#line
|
2545
|
+
#line 135 "hpricot_scan.rl"
|
2495
2546
|
{ mark_akey = p; }
|
2496
2547
|
goto st82;
|
2497
2548
|
st82:
|
2498
2549
|
if ( ++p == pe )
|
2499
2550
|
goto _test_eof82;
|
2500
2551
|
case 82:
|
2501
|
-
#line
|
2552
|
+
#line 2553 "hpricot_scan.c"
|
2502
2553
|
switch( (*p) ) {
|
2503
2554
|
case 32: goto tr175;
|
2504
2555
|
case 34: goto tr169;
|
@@ -2522,20 +2573,20 @@ case 82:
|
|
2522
2573
|
goto st82;
|
2523
2574
|
goto st80;
|
2524
2575
|
tr175:
|
2525
|
-
#line
|
2576
|
+
#line 143 "hpricot_scan.rl"
|
2526
2577
|
{ SET(akey, p); }
|
2527
2578
|
goto st83;
|
2528
2579
|
tr206:
|
2529
|
-
#line
|
2580
|
+
#line 139 "hpricot_scan.rl"
|
2530
2581
|
{
|
2531
2582
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2532
2583
|
else { SET(aval, p); }
|
2533
2584
|
}
|
2534
2585
|
goto st83;
|
2535
2586
|
tr200:
|
2536
|
-
#line
|
2587
|
+
#line 143 "hpricot_scan.rl"
|
2537
2588
|
{ SET(akey, p); }
|
2538
|
-
#line
|
2589
|
+
#line 139 "hpricot_scan.rl"
|
2539
2590
|
{
|
2540
2591
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2541
2592
|
else { SET(aval, p); }
|
@@ -2545,7 +2596,7 @@ st83:
|
|
2545
2596
|
if ( ++p == pe )
|
2546
2597
|
goto _test_eof83;
|
2547
2598
|
case 83:
|
2548
|
-
#line
|
2599
|
+
#line 2600 "hpricot_scan.c"
|
2549
2600
|
switch( (*p) ) {
|
2550
2601
|
case 32: goto st83;
|
2551
2602
|
case 34: goto tr169;
|
@@ -2569,29 +2620,29 @@ case 83:
|
|
2569
2620
|
goto tr170;
|
2570
2621
|
goto st80;
|
2571
2622
|
tr177:
|
2572
|
-
#line
|
2623
|
+
#line 143 "hpricot_scan.rl"
|
2573
2624
|
{ SET(akey, p); }
|
2574
|
-
#line
|
2625
|
+
#line 168 "hpricot_scan.rl"
|
2575
2626
|
{
|
2576
|
-
if (!S->xml)
|
2627
|
+
if (!S->xml && !NIL_P(akey))
|
2577
2628
|
akey = rb_funcall(akey, s_downcase, 0);
|
2578
2629
|
ATTR(akey, aval);
|
2579
2630
|
}
|
2580
2631
|
goto st84;
|
2581
2632
|
tr171:
|
2582
|
-
#line
|
2633
|
+
#line 168 "hpricot_scan.rl"
|
2583
2634
|
{
|
2584
|
-
if (!S->xml)
|
2635
|
+
if (!S->xml && !NIL_P(akey))
|
2585
2636
|
akey = rb_funcall(akey, s_downcase, 0);
|
2586
2637
|
ATTR(akey, aval);
|
2587
2638
|
}
|
2588
2639
|
goto st84;
|
2589
2640
|
tr338:
|
2590
|
-
#line 111 "hpricot_scan.rl"
|
2591
|
-
{ mark_aval = p; }
|
2592
2641
|
#line 134 "hpricot_scan.rl"
|
2642
|
+
{ mark_aval = p; }
|
2643
|
+
#line 168 "hpricot_scan.rl"
|
2593
2644
|
{
|
2594
|
-
if (!S->xml)
|
2645
|
+
if (!S->xml && !NIL_P(akey))
|
2595
2646
|
akey = rb_funcall(akey, s_downcase, 0);
|
2596
2647
|
ATTR(akey, aval);
|
2597
2648
|
}
|
@@ -2600,7 +2651,7 @@ st84:
|
|
2600
2651
|
if ( ++p == pe )
|
2601
2652
|
goto _test_eof84;
|
2602
2653
|
case 84:
|
2603
|
-
#line
|
2654
|
+
#line 2655 "hpricot_scan.c"
|
2604
2655
|
switch( (*p) ) {
|
2605
2656
|
case 34: goto tr169;
|
2606
2657
|
case 62: goto tr182;
|
@@ -2608,161 +2659,161 @@ case 84:
|
|
2608
2659
|
}
|
2609
2660
|
goto st80;
|
2610
2661
|
tr158:
|
2611
|
-
#line 1 "
|
2662
|
+
#line 1 "NONE"
|
2612
2663
|
{te = p+1;}
|
2613
|
-
#line
|
2664
|
+
#line 134 "hpricot_scan.rl"
|
2614
2665
|
{ mark_aval = p; }
|
2615
|
-
#line
|
2666
|
+
#line 139 "hpricot_scan.rl"
|
2616
2667
|
{
|
2617
2668
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2618
2669
|
else { SET(aval, p); }
|
2619
2670
|
}
|
2620
|
-
#line
|
2671
|
+
#line 168 "hpricot_scan.rl"
|
2621
2672
|
{
|
2622
|
-
if (!S->xml)
|
2673
|
+
if (!S->xml && !NIL_P(akey))
|
2623
2674
|
akey = rb_funcall(akey, s_downcase, 0);
|
2624
2675
|
ATTR(akey, aval);
|
2625
2676
|
}
|
2626
|
-
#line 68 "
|
2677
|
+
#line 68 "hpricot_common.rl"
|
2627
2678
|
{act = 10;}
|
2628
2679
|
goto st209;
|
2629
2680
|
tr166:
|
2630
|
-
#line 1 "
|
2681
|
+
#line 1 "NONE"
|
2631
2682
|
{te = p+1;}
|
2632
|
-
#line
|
2683
|
+
#line 139 "hpricot_scan.rl"
|
2633
2684
|
{
|
2634
2685
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2635
2686
|
else { SET(aval, p); }
|
2636
2687
|
}
|
2637
|
-
#line
|
2688
|
+
#line 168 "hpricot_scan.rl"
|
2638
2689
|
{
|
2639
|
-
if (!S->xml)
|
2690
|
+
if (!S->xml && !NIL_P(akey))
|
2640
2691
|
akey = rb_funcall(akey, s_downcase, 0);
|
2641
2692
|
ATTR(akey, aval);
|
2642
2693
|
}
|
2643
|
-
#line 68 "
|
2694
|
+
#line 68 "hpricot_common.rl"
|
2644
2695
|
{act = 10;}
|
2645
2696
|
goto st209;
|
2646
2697
|
tr172:
|
2647
|
-
#line 1 "
|
2698
|
+
#line 1 "NONE"
|
2648
2699
|
{te = p+1;}
|
2649
|
-
#line
|
2700
|
+
#line 168 "hpricot_scan.rl"
|
2650
2701
|
{
|
2651
|
-
if (!S->xml)
|
2702
|
+
if (!S->xml && !NIL_P(akey))
|
2652
2703
|
akey = rb_funcall(akey, s_downcase, 0);
|
2653
2704
|
ATTR(akey, aval);
|
2654
2705
|
}
|
2655
|
-
#line 68 "
|
2706
|
+
#line 68 "hpricot_common.rl"
|
2656
2707
|
{act = 10;}
|
2657
2708
|
goto st209;
|
2658
2709
|
tr179:
|
2659
|
-
#line 1 "
|
2710
|
+
#line 1 "NONE"
|
2660
2711
|
{te = p+1;}
|
2661
|
-
#line
|
2712
|
+
#line 143 "hpricot_scan.rl"
|
2662
2713
|
{ SET(akey, p); }
|
2663
|
-
#line
|
2714
|
+
#line 168 "hpricot_scan.rl"
|
2664
2715
|
{
|
2665
|
-
if (!S->xml)
|
2716
|
+
if (!S->xml && !NIL_P(akey))
|
2666
2717
|
akey = rb_funcall(akey, s_downcase, 0);
|
2667
2718
|
ATTR(akey, aval);
|
2668
2719
|
}
|
2669
|
-
#line 68 "
|
2720
|
+
#line 68 "hpricot_common.rl"
|
2670
2721
|
{act = 10;}
|
2671
2722
|
goto st209;
|
2672
2723
|
tr182:
|
2673
|
-
#line 1 "
|
2724
|
+
#line 1 "NONE"
|
2674
2725
|
{te = p+1;}
|
2675
|
-
#line 70 "
|
2726
|
+
#line 70 "hpricot_common.rl"
|
2676
2727
|
{act = 12;}
|
2677
2728
|
goto st209;
|
2678
2729
|
tr196:
|
2679
|
-
#line 1 "
|
2730
|
+
#line 1 "NONE"
|
2680
2731
|
{te = p+1;}
|
2681
|
-
#line
|
2732
|
+
#line 168 "hpricot_scan.rl"
|
2682
2733
|
{
|
2683
|
-
if (!S->xml)
|
2734
|
+
if (!S->xml && !NIL_P(akey))
|
2684
2735
|
akey = rb_funcall(akey, s_downcase, 0);
|
2685
2736
|
ATTR(akey, aval);
|
2686
2737
|
}
|
2687
|
-
#line
|
2738
|
+
#line 139 "hpricot_scan.rl"
|
2688
2739
|
{
|
2689
2740
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2690
2741
|
else { SET(aval, p); }
|
2691
2742
|
}
|
2692
|
-
#line 68 "
|
2743
|
+
#line 68 "hpricot_common.rl"
|
2693
2744
|
{act = 10;}
|
2694
2745
|
goto st209;
|
2695
2746
|
tr197:
|
2696
|
-
#line 1 "
|
2747
|
+
#line 1 "NONE"
|
2697
2748
|
{te = p+1;}
|
2698
|
-
#line 111 "hpricot_scan.rl"
|
2699
|
-
{ mark_aval = p; }
|
2700
2749
|
#line 134 "hpricot_scan.rl"
|
2750
|
+
{ mark_aval = p; }
|
2751
|
+
#line 168 "hpricot_scan.rl"
|
2701
2752
|
{
|
2702
|
-
if (!S->xml)
|
2753
|
+
if (!S->xml && !NIL_P(akey))
|
2703
2754
|
akey = rb_funcall(akey, s_downcase, 0);
|
2704
2755
|
ATTR(akey, aval);
|
2705
2756
|
}
|
2706
|
-
#line
|
2757
|
+
#line 139 "hpricot_scan.rl"
|
2707
2758
|
{
|
2708
2759
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2709
2760
|
else { SET(aval, p); }
|
2710
2761
|
}
|
2711
|
-
#line 68 "
|
2762
|
+
#line 68 "hpricot_common.rl"
|
2712
2763
|
{act = 10;}
|
2713
2764
|
goto st209;
|
2714
2765
|
tr205:
|
2715
|
-
#line 1 "
|
2766
|
+
#line 1 "NONE"
|
2716
2767
|
{te = p+1;}
|
2717
|
-
#line
|
2768
|
+
#line 139 "hpricot_scan.rl"
|
2718
2769
|
{
|
2719
2770
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2720
2771
|
else { SET(aval, p); }
|
2721
2772
|
}
|
2722
|
-
#line
|
2773
|
+
#line 143 "hpricot_scan.rl"
|
2723
2774
|
{ SET(akey, p); }
|
2724
|
-
#line
|
2775
|
+
#line 168 "hpricot_scan.rl"
|
2725
2776
|
{
|
2726
|
-
if (!S->xml)
|
2777
|
+
if (!S->xml && !NIL_P(akey))
|
2727
2778
|
akey = rb_funcall(akey, s_downcase, 0);
|
2728
2779
|
ATTR(akey, aval);
|
2729
2780
|
}
|
2730
|
-
#line 68 "
|
2781
|
+
#line 68 "hpricot_common.rl"
|
2731
2782
|
{act = 10;}
|
2732
2783
|
goto st209;
|
2733
2784
|
tr339:
|
2734
|
-
#line 1 "
|
2785
|
+
#line 1 "NONE"
|
2735
2786
|
{te = p+1;}
|
2736
|
-
#line 111 "hpricot_scan.rl"
|
2737
|
-
{ mark_aval = p; }
|
2738
2787
|
#line 134 "hpricot_scan.rl"
|
2788
|
+
{ mark_aval = p; }
|
2789
|
+
#line 168 "hpricot_scan.rl"
|
2739
2790
|
{
|
2740
|
-
if (!S->xml)
|
2791
|
+
if (!S->xml && !NIL_P(akey))
|
2741
2792
|
akey = rb_funcall(akey, s_downcase, 0);
|
2742
2793
|
ATTR(akey, aval);
|
2743
2794
|
}
|
2744
|
-
#line 68 "
|
2795
|
+
#line 68 "hpricot_common.rl"
|
2745
2796
|
{act = 10;}
|
2746
2797
|
goto st209;
|
2747
2798
|
st209:
|
2748
2799
|
if ( ++p == pe )
|
2749
2800
|
goto _test_eof209;
|
2750
2801
|
case 209:
|
2751
|
-
#line
|
2802
|
+
#line 2803 "hpricot_scan.c"
|
2752
2803
|
switch( (*p) ) {
|
2753
2804
|
case 34: goto tr169;
|
2754
2805
|
case 92: goto st81;
|
2755
2806
|
}
|
2756
2807
|
goto st80;
|
2757
2808
|
tr178:
|
2758
|
-
#line
|
2809
|
+
#line 143 "hpricot_scan.rl"
|
2759
2810
|
{ SET(akey, p); }
|
2760
2811
|
goto st85;
|
2761
2812
|
st85:
|
2762
2813
|
if ( ++p == pe )
|
2763
2814
|
goto _test_eof85;
|
2764
2815
|
case 85:
|
2765
|
-
#line
|
2816
|
+
#line 2817 "hpricot_scan.c"
|
2766
2817
|
switch( (*p) ) {
|
2767
2818
|
case 13: goto tr183;
|
2768
2819
|
case 32: goto tr183;
|
@@ -2780,14 +2831,14 @@ case 85:
|
|
2780
2831
|
goto tr183;
|
2781
2832
|
goto tr152;
|
2782
2833
|
tr183:
|
2783
|
-
#line
|
2834
|
+
#line 134 "hpricot_scan.rl"
|
2784
2835
|
{ mark_aval = p; }
|
2785
2836
|
goto st86;
|
2786
2837
|
st86:
|
2787
2838
|
if ( ++p == pe )
|
2788
2839
|
goto _test_eof86;
|
2789
2840
|
case 86:
|
2790
|
-
#line
|
2841
|
+
#line 2842 "hpricot_scan.c"
|
2791
2842
|
switch( (*p) ) {
|
2792
2843
|
case 13: goto tr188;
|
2793
2844
|
case 32: goto tr188;
|
@@ -2805,13 +2856,13 @@ case 86:
|
|
2805
2856
|
goto tr188;
|
2806
2857
|
goto tr152;
|
2807
2858
|
tr188:
|
2808
|
-
#line
|
2859
|
+
#line 134 "hpricot_scan.rl"
|
2809
2860
|
{ mark_aval = p; }
|
2810
2861
|
goto st87;
|
2811
2862
|
tr191:
|
2812
|
-
#line
|
2863
|
+
#line 134 "hpricot_scan.rl"
|
2813
2864
|
{ mark_aval = p; }
|
2814
|
-
#line
|
2865
|
+
#line 139 "hpricot_scan.rl"
|
2815
2866
|
{
|
2816
2867
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2817
2868
|
else { SET(aval, p); }
|
@@ -2821,7 +2872,7 @@ st87:
|
|
2821
2872
|
if ( ++p == pe )
|
2822
2873
|
goto _test_eof87;
|
2823
2874
|
case 87:
|
2824
|
-
#line
|
2875
|
+
#line 2876 "hpricot_scan.c"
|
2825
2876
|
switch( (*p) ) {
|
2826
2877
|
case 13: goto tr188;
|
2827
2878
|
case 32: goto tr188;
|
@@ -2850,13 +2901,13 @@ case 87:
|
|
2850
2901
|
goto tr190;
|
2851
2902
|
goto tr152;
|
2852
2903
|
tr189:
|
2853
|
-
#line
|
2904
|
+
#line 134 "hpricot_scan.rl"
|
2854
2905
|
{ mark_aval = p; }
|
2855
2906
|
goto st88;
|
2856
2907
|
tr192:
|
2857
|
-
#line
|
2908
|
+
#line 134 "hpricot_scan.rl"
|
2858
2909
|
{ mark_aval = p; }
|
2859
|
-
#line
|
2910
|
+
#line 139 "hpricot_scan.rl"
|
2860
2911
|
{
|
2861
2912
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2862
2913
|
else { SET(aval, p); }
|
@@ -2866,7 +2917,7 @@ st88:
|
|
2866
2917
|
if ( ++p == pe )
|
2867
2918
|
goto _test_eof88;
|
2868
2919
|
case 88:
|
2869
|
-
#line
|
2920
|
+
#line 2921 "hpricot_scan.c"
|
2870
2921
|
switch( (*p) ) {
|
2871
2922
|
case 13: goto tr191;
|
2872
2923
|
case 32: goto tr191;
|
@@ -2895,14 +2946,14 @@ case 88:
|
|
2895
2946
|
goto tr190;
|
2896
2947
|
goto tr152;
|
2897
2948
|
tr193:
|
2898
|
-
#line
|
2949
|
+
#line 138 "hpricot_scan.rl"
|
2899
2950
|
{ SET(aval, p); }
|
2900
2951
|
goto st89;
|
2901
2952
|
st89:
|
2902
2953
|
if ( ++p == pe )
|
2903
2954
|
goto _test_eof89;
|
2904
2955
|
case 89:
|
2905
|
-
#line
|
2956
|
+
#line 2957 "hpricot_scan.c"
|
2906
2957
|
switch( (*p) ) {
|
2907
2958
|
case 13: goto tr153;
|
2908
2959
|
case 32: goto tr153;
|
@@ -2930,36 +2981,36 @@ case 89:
|
|
2930
2981
|
goto tr190;
|
2931
2982
|
goto tr152;
|
2932
2983
|
tr162:
|
2933
|
-
#line
|
2984
|
+
#line 139 "hpricot_scan.rl"
|
2934
2985
|
{
|
2935
2986
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2936
2987
|
else { SET(aval, p); }
|
2937
2988
|
}
|
2938
2989
|
goto st90;
|
2939
2990
|
tr154:
|
2940
|
-
#line
|
2991
|
+
#line 134 "hpricot_scan.rl"
|
2941
2992
|
{ mark_aval = p; }
|
2942
|
-
#line
|
2993
|
+
#line 139 "hpricot_scan.rl"
|
2943
2994
|
{
|
2944
2995
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
2945
2996
|
else { SET(aval, p); }
|
2946
2997
|
}
|
2947
2998
|
goto st90;
|
2948
2999
|
tr214:
|
2949
|
-
#line
|
3000
|
+
#line 134 "hpricot_scan.rl"
|
2950
3001
|
{ mark_aval = p; }
|
2951
|
-
#line
|
3002
|
+
#line 138 "hpricot_scan.rl"
|
2952
3003
|
{ SET(aval, p); }
|
2953
3004
|
goto st90;
|
2954
3005
|
tr209:
|
2955
|
-
#line
|
3006
|
+
#line 138 "hpricot_scan.rl"
|
2956
3007
|
{ SET(aval, p); }
|
2957
3008
|
goto st90;
|
2958
3009
|
st90:
|
2959
3010
|
if ( ++p == pe )
|
2960
3011
|
goto _test_eof90;
|
2961
3012
|
case 90:
|
2962
|
-
#line
|
3013
|
+
#line 3014 "hpricot_scan.c"
|
2963
3014
|
switch( (*p) ) {
|
2964
3015
|
case 13: goto tr161;
|
2965
3016
|
case 32: goto tr161;
|
@@ -2987,46 +3038,46 @@ case 90:
|
|
2987
3038
|
goto tr198;
|
2988
3039
|
goto st78;
|
2989
3040
|
tr198:
|
2990
|
-
#line
|
3041
|
+
#line 168 "hpricot_scan.rl"
|
2991
3042
|
{
|
2992
|
-
if (!S->xml)
|
3043
|
+
if (!S->xml && !NIL_P(akey))
|
2993
3044
|
akey = rb_funcall(akey, s_downcase, 0);
|
2994
3045
|
ATTR(akey, aval);
|
2995
3046
|
}
|
2996
|
-
#line
|
3047
|
+
#line 161 "hpricot_scan.rl"
|
2997
3048
|
{
|
2998
3049
|
akey = Qnil;
|
2999
3050
|
aval = Qnil;
|
3000
3051
|
mark_akey = NULL;
|
3001
3052
|
mark_aval = NULL;
|
3002
3053
|
}
|
3003
|
-
#line
|
3054
|
+
#line 135 "hpricot_scan.rl"
|
3004
3055
|
{ mark_akey = p; }
|
3005
3056
|
goto st91;
|
3006
3057
|
tr190:
|
3007
|
-
#line 111 "hpricot_scan.rl"
|
3008
|
-
{ mark_aval = p; }
|
3009
3058
|
#line 134 "hpricot_scan.rl"
|
3059
|
+
{ mark_aval = p; }
|
3060
|
+
#line 168 "hpricot_scan.rl"
|
3010
3061
|
{
|
3011
|
-
if (!S->xml)
|
3062
|
+
if (!S->xml && !NIL_P(akey))
|
3012
3063
|
akey = rb_funcall(akey, s_downcase, 0);
|
3013
3064
|
ATTR(akey, aval);
|
3014
3065
|
}
|
3015
|
-
#line
|
3066
|
+
#line 161 "hpricot_scan.rl"
|
3016
3067
|
{
|
3017
3068
|
akey = Qnil;
|
3018
3069
|
aval = Qnil;
|
3019
3070
|
mark_akey = NULL;
|
3020
3071
|
mark_aval = NULL;
|
3021
3072
|
}
|
3022
|
-
#line
|
3073
|
+
#line 135 "hpricot_scan.rl"
|
3023
3074
|
{ mark_akey = p; }
|
3024
3075
|
goto st91;
|
3025
3076
|
st91:
|
3026
3077
|
if ( ++p == pe )
|
3027
3078
|
goto _test_eof91;
|
3028
3079
|
case 91:
|
3029
|
-
#line
|
3080
|
+
#line 3081 "hpricot_scan.c"
|
3030
3081
|
switch( (*p) ) {
|
3031
3082
|
case 13: goto tr200;
|
3032
3083
|
case 32: goto tr200;
|
@@ -3055,16 +3106,16 @@ case 91:
|
|
3055
3106
|
goto st91;
|
3056
3107
|
goto st78;
|
3057
3108
|
tr207:
|
3058
|
-
#line
|
3109
|
+
#line 139 "hpricot_scan.rl"
|
3059
3110
|
{
|
3060
3111
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3061
3112
|
else { SET(aval, p); }
|
3062
3113
|
}
|
3063
3114
|
goto st92;
|
3064
3115
|
tr201:
|
3065
|
-
#line
|
3116
|
+
#line 143 "hpricot_scan.rl"
|
3066
3117
|
{ SET(akey, p); }
|
3067
|
-
#line
|
3118
|
+
#line 139 "hpricot_scan.rl"
|
3068
3119
|
{
|
3069
3120
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3070
3121
|
else { SET(aval, p); }
|
@@ -3074,7 +3125,7 @@ st92:
|
|
3074
3125
|
if ( ++p == pe )
|
3075
3126
|
goto _test_eof92;
|
3076
3127
|
case 92:
|
3077
|
-
#line
|
3128
|
+
#line 3129 "hpricot_scan.c"
|
3078
3129
|
switch( (*p) ) {
|
3079
3130
|
case 13: goto tr206;
|
3080
3131
|
case 32: goto tr206;
|
@@ -3103,81 +3154,81 @@ case 92:
|
|
3103
3154
|
goto tr198;
|
3104
3155
|
goto st78;
|
3105
3156
|
tr187:
|
3106
|
-
#line 111 "hpricot_scan.rl"
|
3107
|
-
{ mark_aval = p; }
|
3108
3157
|
#line 134 "hpricot_scan.rl"
|
3158
|
+
{ mark_aval = p; }
|
3159
|
+
#line 168 "hpricot_scan.rl"
|
3109
3160
|
{
|
3110
|
-
if (!S->xml)
|
3161
|
+
if (!S->xml && !NIL_P(akey))
|
3111
3162
|
akey = rb_funcall(akey, s_downcase, 0);
|
3112
3163
|
ATTR(akey, aval);
|
3113
3164
|
}
|
3114
3165
|
goto st93;
|
3115
3166
|
tr164:
|
3116
|
-
#line
|
3167
|
+
#line 139 "hpricot_scan.rl"
|
3117
3168
|
{
|
3118
3169
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3119
3170
|
else { SET(aval, p); }
|
3120
3171
|
}
|
3121
|
-
#line
|
3172
|
+
#line 168 "hpricot_scan.rl"
|
3122
3173
|
{
|
3123
|
-
if (!S->xml)
|
3174
|
+
if (!S->xml && !NIL_P(akey))
|
3124
3175
|
akey = rb_funcall(akey, s_downcase, 0);
|
3125
3176
|
ATTR(akey, aval);
|
3126
3177
|
}
|
3127
3178
|
goto st93;
|
3128
3179
|
tr199:
|
3129
|
-
#line
|
3180
|
+
#line 168 "hpricot_scan.rl"
|
3130
3181
|
{
|
3131
|
-
if (!S->xml)
|
3182
|
+
if (!S->xml && !NIL_P(akey))
|
3132
3183
|
akey = rb_funcall(akey, s_downcase, 0);
|
3133
3184
|
ATTR(akey, aval);
|
3134
3185
|
}
|
3135
|
-
#line
|
3186
|
+
#line 139 "hpricot_scan.rl"
|
3136
3187
|
{
|
3137
3188
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3138
3189
|
else { SET(aval, p); }
|
3139
3190
|
}
|
3140
3191
|
goto st93;
|
3141
3192
|
tr203:
|
3142
|
-
#line
|
3193
|
+
#line 139 "hpricot_scan.rl"
|
3143
3194
|
{
|
3144
3195
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3145
3196
|
else { SET(aval, p); }
|
3146
3197
|
}
|
3147
|
-
#line
|
3198
|
+
#line 143 "hpricot_scan.rl"
|
3148
3199
|
{ SET(akey, p); }
|
3149
|
-
#line
|
3200
|
+
#line 168 "hpricot_scan.rl"
|
3150
3201
|
{
|
3151
|
-
if (!S->xml)
|
3202
|
+
if (!S->xml && !NIL_P(akey))
|
3152
3203
|
akey = rb_funcall(akey, s_downcase, 0);
|
3153
3204
|
ATTR(akey, aval);
|
3154
3205
|
}
|
3155
3206
|
goto st93;
|
3156
3207
|
tr156:
|
3157
|
-
#line
|
3208
|
+
#line 134 "hpricot_scan.rl"
|
3158
3209
|
{ mark_aval = p; }
|
3159
|
-
#line
|
3210
|
+
#line 139 "hpricot_scan.rl"
|
3160
3211
|
{
|
3161
3212
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3162
3213
|
else { SET(aval, p); }
|
3163
3214
|
}
|
3164
|
-
#line
|
3215
|
+
#line 168 "hpricot_scan.rl"
|
3165
3216
|
{
|
3166
|
-
if (!S->xml)
|
3217
|
+
if (!S->xml && !NIL_P(akey))
|
3167
3218
|
akey = rb_funcall(akey, s_downcase, 0);
|
3168
3219
|
ATTR(akey, aval);
|
3169
3220
|
}
|
3170
3221
|
goto st93;
|
3171
3222
|
tr195:
|
3172
|
-
#line 111 "hpricot_scan.rl"
|
3173
|
-
{ mark_aval = p; }
|
3174
3223
|
#line 134 "hpricot_scan.rl"
|
3224
|
+
{ mark_aval = p; }
|
3225
|
+
#line 168 "hpricot_scan.rl"
|
3175
3226
|
{
|
3176
|
-
if (!S->xml)
|
3227
|
+
if (!S->xml && !NIL_P(akey))
|
3177
3228
|
akey = rb_funcall(akey, s_downcase, 0);
|
3178
3229
|
ATTR(akey, aval);
|
3179
3230
|
}
|
3180
|
-
#line
|
3231
|
+
#line 139 "hpricot_scan.rl"
|
3181
3232
|
{
|
3182
3233
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3183
3234
|
else { SET(aval, p); }
|
@@ -3187,7 +3238,7 @@ st93:
|
|
3187
3238
|
if ( ++p == pe )
|
3188
3239
|
goto _test_eof93;
|
3189
3240
|
case 93:
|
3190
|
-
#line
|
3241
|
+
#line 3242 "hpricot_scan.c"
|
3191
3242
|
switch( (*p) ) {
|
3192
3243
|
case 13: goto tr161;
|
3193
3244
|
case 32: goto tr161;
|
@@ -3204,14 +3255,14 @@ case 93:
|
|
3204
3255
|
goto tr161;
|
3205
3256
|
goto st78;
|
3206
3257
|
tr159:
|
3207
|
-
#line
|
3258
|
+
#line 134 "hpricot_scan.rl"
|
3208
3259
|
{ mark_aval = p; }
|
3209
3260
|
goto st94;
|
3210
3261
|
st94:
|
3211
3262
|
if ( ++p == pe )
|
3212
3263
|
goto _test_eof94;
|
3213
3264
|
case 94:
|
3214
|
-
#line
|
3265
|
+
#line 3266 "hpricot_scan.c"
|
3215
3266
|
switch( (*p) ) {
|
3216
3267
|
case 13: goto tr161;
|
3217
3268
|
case 32: goto tr161;
|
@@ -3228,18 +3279,18 @@ case 94:
|
|
3228
3279
|
goto tr161;
|
3229
3280
|
goto st78;
|
3230
3281
|
tr184:
|
3231
|
-
#line
|
3282
|
+
#line 134 "hpricot_scan.rl"
|
3232
3283
|
{ mark_aval = p; }
|
3233
3284
|
goto st95;
|
3234
3285
|
tr204:
|
3235
|
-
#line
|
3286
|
+
#line 143 "hpricot_scan.rl"
|
3236
3287
|
{ SET(akey, p); }
|
3237
3288
|
goto st95;
|
3238
3289
|
st95:
|
3239
3290
|
if ( ++p == pe )
|
3240
3291
|
goto _test_eof95;
|
3241
3292
|
case 95:
|
3242
|
-
#line
|
3293
|
+
#line 3294 "hpricot_scan.c"
|
3243
3294
|
switch( (*p) ) {
|
3244
3295
|
case 13: goto tr191;
|
3245
3296
|
case 32: goto tr191;
|
@@ -3277,14 +3328,14 @@ case 96:
|
|
3277
3328
|
goto tr211;
|
3278
3329
|
goto tr210;
|
3279
3330
|
tr210:
|
3280
|
-
#line
|
3331
|
+
#line 134 "hpricot_scan.rl"
|
3281
3332
|
{ mark_aval = p; }
|
3282
3333
|
goto st97;
|
3283
3334
|
st97:
|
3284
3335
|
if ( ++p == pe )
|
3285
3336
|
goto _test_eof97;
|
3286
3337
|
case 97:
|
3287
|
-
#line
|
3338
|
+
#line 3339 "hpricot_scan.c"
|
3288
3339
|
switch( (*p) ) {
|
3289
3340
|
case 13: goto tr220;
|
3290
3341
|
case 32: goto tr220;
|
@@ -3302,34 +3353,34 @@ case 97:
|
|
3302
3353
|
goto tr220;
|
3303
3354
|
goto st97;
|
3304
3355
|
tr315:
|
3305
|
-
#line
|
3356
|
+
#line 134 "hpricot_scan.rl"
|
3306
3357
|
{ mark_aval = p; }
|
3307
3358
|
goto st98;
|
3308
3359
|
tr220:
|
3309
|
-
#line
|
3360
|
+
#line 139 "hpricot_scan.rl"
|
3310
3361
|
{
|
3311
3362
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3312
3363
|
else { SET(aval, p); }
|
3313
3364
|
}
|
3314
3365
|
goto st98;
|
3315
3366
|
tr211:
|
3316
|
-
#line
|
3367
|
+
#line 134 "hpricot_scan.rl"
|
3317
3368
|
{ mark_aval = p; }
|
3318
|
-
#line
|
3369
|
+
#line 139 "hpricot_scan.rl"
|
3319
3370
|
{
|
3320
3371
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3321
3372
|
else { SET(aval, p); }
|
3322
3373
|
}
|
3323
3374
|
goto st98;
|
3324
3375
|
tr299:
|
3325
|
-
#line
|
3376
|
+
#line 138 "hpricot_scan.rl"
|
3326
3377
|
{ SET(aval, p); }
|
3327
3378
|
goto st98;
|
3328
3379
|
st98:
|
3329
3380
|
if ( ++p == pe )
|
3330
3381
|
goto _test_eof98;
|
3331
3382
|
case 98:
|
3332
|
-
#line
|
3383
|
+
#line 3384 "hpricot_scan.c"
|
3333
3384
|
switch( (*p) ) {
|
3334
3385
|
case 32: goto st98;
|
3335
3386
|
case 34: goto tr228;
|
@@ -3353,14 +3404,14 @@ case 98:
|
|
3353
3404
|
goto tr229;
|
3354
3405
|
goto st99;
|
3355
3406
|
tr216:
|
3356
|
-
#line
|
3407
|
+
#line 134 "hpricot_scan.rl"
|
3357
3408
|
{ mark_aval = p; }
|
3358
3409
|
goto st99;
|
3359
3410
|
st99:
|
3360
3411
|
if ( ++p == pe )
|
3361
3412
|
goto _test_eof99;
|
3362
3413
|
case 99:
|
3363
|
-
#line
|
3414
|
+
#line 3415 "hpricot_scan.c"
|
3364
3415
|
switch( (*p) ) {
|
3365
3416
|
case 34: goto tr228;
|
3366
3417
|
case 39: goto tr174;
|
@@ -3368,46 +3419,46 @@ case 99:
|
|
3368
3419
|
}
|
3369
3420
|
goto st99;
|
3370
3421
|
tr330:
|
3371
|
-
#line
|
3422
|
+
#line 134 "hpricot_scan.rl"
|
3372
3423
|
{ mark_aval = p; }
|
3373
3424
|
goto st100;
|
3374
3425
|
tr255:
|
3375
|
-
#line
|
3426
|
+
#line 139 "hpricot_scan.rl"
|
3376
3427
|
{
|
3377
3428
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3378
3429
|
else { SET(aval, p); }
|
3379
3430
|
}
|
3380
3431
|
goto st100;
|
3381
3432
|
tr326:
|
3382
|
-
#line
|
3433
|
+
#line 134 "hpricot_scan.rl"
|
3383
3434
|
{ mark_aval = p; }
|
3384
|
-
#line
|
3435
|
+
#line 139 "hpricot_scan.rl"
|
3385
3436
|
{
|
3386
3437
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3387
3438
|
else { SET(aval, p); }
|
3388
3439
|
}
|
3389
3440
|
goto st100;
|
3390
3441
|
tr316:
|
3391
|
-
#line
|
3442
|
+
#line 134 "hpricot_scan.rl"
|
3392
3443
|
{ mark_aval = p; }
|
3393
|
-
#line
|
3444
|
+
#line 138 "hpricot_scan.rl"
|
3394
3445
|
{ SET(aval, p); }
|
3395
3446
|
goto st100;
|
3396
3447
|
tr228:
|
3397
|
-
#line
|
3448
|
+
#line 138 "hpricot_scan.rl"
|
3398
3449
|
{ SET(aval, p); }
|
3399
3450
|
goto st100;
|
3400
3451
|
tr322:
|
3401
|
-
#line
|
3452
|
+
#line 138 "hpricot_scan.rl"
|
3402
3453
|
{ SET(aval, p); }
|
3403
|
-
#line
|
3454
|
+
#line 134 "hpricot_scan.rl"
|
3404
3455
|
{ mark_aval = p; }
|
3405
3456
|
goto st100;
|
3406
3457
|
st100:
|
3407
3458
|
if ( ++p == pe )
|
3408
3459
|
goto _test_eof100;
|
3409
3460
|
case 100:
|
3410
|
-
#line
|
3461
|
+
#line 3462 "hpricot_scan.c"
|
3411
3462
|
switch( (*p) ) {
|
3412
3463
|
case 32: goto st100;
|
3413
3464
|
case 39: goto tr169;
|
@@ -3430,74 +3481,74 @@ case 100:
|
|
3430
3481
|
goto tr235;
|
3431
3482
|
goto st101;
|
3432
3483
|
tr328:
|
3433
|
-
#line
|
3484
|
+
#line 134 "hpricot_scan.rl"
|
3434
3485
|
{ mark_aval = p; }
|
3435
3486
|
goto st101;
|
3436
3487
|
st101:
|
3437
3488
|
if ( ++p == pe )
|
3438
3489
|
goto _test_eof101;
|
3439
3490
|
case 101:
|
3440
|
-
#line
|
3491
|
+
#line 3492 "hpricot_scan.c"
|
3441
3492
|
switch( (*p) ) {
|
3442
3493
|
case 39: goto tr169;
|
3443
3494
|
case 92: goto st102;
|
3444
3495
|
}
|
3445
3496
|
goto st101;
|
3446
3497
|
tr335:
|
3447
|
-
#line
|
3498
|
+
#line 134 "hpricot_scan.rl"
|
3448
3499
|
{ mark_aval = p; }
|
3449
3500
|
goto st102;
|
3450
3501
|
st102:
|
3451
3502
|
if ( ++p == pe )
|
3452
3503
|
goto _test_eof102;
|
3453
3504
|
case 102:
|
3454
|
-
#line
|
3505
|
+
#line 3506 "hpricot_scan.c"
|
3455
3506
|
switch( (*p) ) {
|
3456
3507
|
case 39: goto tr228;
|
3457
3508
|
case 92: goto st102;
|
3458
3509
|
}
|
3459
3510
|
goto st101;
|
3460
3511
|
tr235:
|
3461
|
-
#line
|
3512
|
+
#line 168 "hpricot_scan.rl"
|
3462
3513
|
{
|
3463
|
-
if (!S->xml)
|
3514
|
+
if (!S->xml && !NIL_P(akey))
|
3464
3515
|
akey = rb_funcall(akey, s_downcase, 0);
|
3465
3516
|
ATTR(akey, aval);
|
3466
3517
|
}
|
3467
|
-
#line
|
3518
|
+
#line 161 "hpricot_scan.rl"
|
3468
3519
|
{
|
3469
3520
|
akey = Qnil;
|
3470
3521
|
aval = Qnil;
|
3471
3522
|
mark_akey = NULL;
|
3472
3523
|
mark_aval = NULL;
|
3473
3524
|
}
|
3474
|
-
#line
|
3525
|
+
#line 135 "hpricot_scan.rl"
|
3475
3526
|
{ mark_akey = p; }
|
3476
3527
|
goto st103;
|
3477
3528
|
tr332:
|
3478
|
-
#line 111 "hpricot_scan.rl"
|
3479
|
-
{ mark_aval = p; }
|
3480
3529
|
#line 134 "hpricot_scan.rl"
|
3530
|
+
{ mark_aval = p; }
|
3531
|
+
#line 168 "hpricot_scan.rl"
|
3481
3532
|
{
|
3482
|
-
if (!S->xml)
|
3533
|
+
if (!S->xml && !NIL_P(akey))
|
3483
3534
|
akey = rb_funcall(akey, s_downcase, 0);
|
3484
3535
|
ATTR(akey, aval);
|
3485
3536
|
}
|
3486
|
-
#line
|
3537
|
+
#line 161 "hpricot_scan.rl"
|
3487
3538
|
{
|
3488
3539
|
akey = Qnil;
|
3489
3540
|
aval = Qnil;
|
3490
3541
|
mark_akey = NULL;
|
3491
3542
|
mark_aval = NULL;
|
3492
3543
|
}
|
3493
|
-
#line
|
3544
|
+
#line 135 "hpricot_scan.rl"
|
3494
3545
|
{ mark_akey = p; }
|
3495
3546
|
goto st103;
|
3496
3547
|
st103:
|
3497
3548
|
if ( ++p == pe )
|
3498
3549
|
goto _test_eof103;
|
3499
3550
|
case 103:
|
3500
|
-
#line
|
3551
|
+
#line 3552 "hpricot_scan.c"
|
3501
3552
|
switch( (*p) ) {
|
3502
3553
|
case 32: goto tr239;
|
3503
3554
|
case 39: goto tr169;
|
@@ -3521,20 +3572,20 @@ case 103:
|
|
3521
3572
|
goto st103;
|
3522
3573
|
goto st101;
|
3523
3574
|
tr239:
|
3524
|
-
#line
|
3575
|
+
#line 143 "hpricot_scan.rl"
|
3525
3576
|
{ SET(akey, p); }
|
3526
3577
|
goto st104;
|
3527
3578
|
tr269:
|
3528
|
-
#line
|
3579
|
+
#line 139 "hpricot_scan.rl"
|
3529
3580
|
{
|
3530
3581
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3531
3582
|
else { SET(aval, p); }
|
3532
3583
|
}
|
3533
3584
|
goto st104;
|
3534
3585
|
tr263:
|
3535
|
-
#line
|
3586
|
+
#line 143 "hpricot_scan.rl"
|
3536
3587
|
{ SET(akey, p); }
|
3537
|
-
#line
|
3588
|
+
#line 139 "hpricot_scan.rl"
|
3538
3589
|
{
|
3539
3590
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3540
3591
|
else { SET(aval, p); }
|
@@ -3544,7 +3595,7 @@ st104:
|
|
3544
3595
|
if ( ++p == pe )
|
3545
3596
|
goto _test_eof104;
|
3546
3597
|
case 104:
|
3547
|
-
#line
|
3598
|
+
#line 3599 "hpricot_scan.c"
|
3548
3599
|
switch( (*p) ) {
|
3549
3600
|
case 32: goto st104;
|
3550
3601
|
case 39: goto tr169;
|
@@ -3568,29 +3619,29 @@ case 104:
|
|
3568
3619
|
goto tr235;
|
3569
3620
|
goto st101;
|
3570
3621
|
tr241:
|
3571
|
-
#line
|
3622
|
+
#line 143 "hpricot_scan.rl"
|
3572
3623
|
{ SET(akey, p); }
|
3573
|
-
#line
|
3624
|
+
#line 168 "hpricot_scan.rl"
|
3574
3625
|
{
|
3575
|
-
if (!S->xml)
|
3626
|
+
if (!S->xml && !NIL_P(akey))
|
3576
3627
|
akey = rb_funcall(akey, s_downcase, 0);
|
3577
3628
|
ATTR(akey, aval);
|
3578
3629
|
}
|
3579
3630
|
goto st105;
|
3580
3631
|
tr236:
|
3581
|
-
#line
|
3632
|
+
#line 168 "hpricot_scan.rl"
|
3582
3633
|
{
|
3583
|
-
if (!S->xml)
|
3634
|
+
if (!S->xml && !NIL_P(akey))
|
3584
3635
|
akey = rb_funcall(akey, s_downcase, 0);
|
3585
3636
|
ATTR(akey, aval);
|
3586
3637
|
}
|
3587
3638
|
goto st105;
|
3588
3639
|
tr333:
|
3589
|
-
#line 111 "hpricot_scan.rl"
|
3590
|
-
{ mark_aval = p; }
|
3591
3640
|
#line 134 "hpricot_scan.rl"
|
3641
|
+
{ mark_aval = p; }
|
3642
|
+
#line 168 "hpricot_scan.rl"
|
3592
3643
|
{
|
3593
|
-
if (!S->xml)
|
3644
|
+
if (!S->xml && !NIL_P(akey))
|
3594
3645
|
akey = rb_funcall(akey, s_downcase, 0);
|
3595
3646
|
ATTR(akey, aval);
|
3596
3647
|
}
|
@@ -3599,7 +3650,7 @@ st105:
|
|
3599
3650
|
if ( ++p == pe )
|
3600
3651
|
goto _test_eof105;
|
3601
3652
|
case 105:
|
3602
|
-
#line
|
3653
|
+
#line 3654 "hpricot_scan.c"
|
3603
3654
|
switch( (*p) ) {
|
3604
3655
|
case 39: goto tr169;
|
3605
3656
|
case 62: goto tr246;
|
@@ -3607,161 +3658,161 @@ case 105:
|
|
3607
3658
|
}
|
3608
3659
|
goto st101;
|
3609
3660
|
tr341:
|
3610
|
-
#line 1 "
|
3661
|
+
#line 1 "NONE"
|
3611
3662
|
{te = p+1;}
|
3612
|
-
#line
|
3663
|
+
#line 134 "hpricot_scan.rl"
|
3613
3664
|
{ mark_aval = p; }
|
3614
|
-
#line
|
3665
|
+
#line 139 "hpricot_scan.rl"
|
3615
3666
|
{
|
3616
3667
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3617
3668
|
else { SET(aval, p); }
|
3618
3669
|
}
|
3619
|
-
#line
|
3670
|
+
#line 168 "hpricot_scan.rl"
|
3620
3671
|
{
|
3621
|
-
if (!S->xml)
|
3672
|
+
if (!S->xml && !NIL_P(akey))
|
3622
3673
|
akey = rb_funcall(akey, s_downcase, 0);
|
3623
3674
|
ATTR(akey, aval);
|
3624
3675
|
}
|
3625
|
-
#line 68 "
|
3676
|
+
#line 68 "hpricot_common.rl"
|
3626
3677
|
{act = 10;}
|
3627
3678
|
goto st210;
|
3628
3679
|
tr258:
|
3629
|
-
#line 1 "
|
3680
|
+
#line 1 "NONE"
|
3630
3681
|
{te = p+1;}
|
3631
|
-
#line
|
3682
|
+
#line 139 "hpricot_scan.rl"
|
3632
3683
|
{
|
3633
3684
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3634
3685
|
else { SET(aval, p); }
|
3635
3686
|
}
|
3636
|
-
#line
|
3687
|
+
#line 168 "hpricot_scan.rl"
|
3637
3688
|
{
|
3638
|
-
if (!S->xml)
|
3689
|
+
if (!S->xml && !NIL_P(akey))
|
3639
3690
|
akey = rb_funcall(akey, s_downcase, 0);
|
3640
3691
|
ATTR(akey, aval);
|
3641
3692
|
}
|
3642
|
-
#line 68 "
|
3693
|
+
#line 68 "hpricot_common.rl"
|
3643
3694
|
{act = 10;}
|
3644
3695
|
goto st210;
|
3645
3696
|
tr237:
|
3646
|
-
#line 1 "
|
3697
|
+
#line 1 "NONE"
|
3647
3698
|
{te = p+1;}
|
3648
|
-
#line
|
3699
|
+
#line 168 "hpricot_scan.rl"
|
3649
3700
|
{
|
3650
|
-
if (!S->xml)
|
3701
|
+
if (!S->xml && !NIL_P(akey))
|
3651
3702
|
akey = rb_funcall(akey, s_downcase, 0);
|
3652
3703
|
ATTR(akey, aval);
|
3653
3704
|
}
|
3654
|
-
#line 68 "
|
3705
|
+
#line 68 "hpricot_common.rl"
|
3655
3706
|
{act = 10;}
|
3656
3707
|
goto st210;
|
3657
3708
|
tr243:
|
3658
|
-
#line 1 "
|
3709
|
+
#line 1 "NONE"
|
3659
3710
|
{te = p+1;}
|
3660
|
-
#line
|
3711
|
+
#line 143 "hpricot_scan.rl"
|
3661
3712
|
{ SET(akey, p); }
|
3662
|
-
#line
|
3713
|
+
#line 168 "hpricot_scan.rl"
|
3663
3714
|
{
|
3664
|
-
if (!S->xml)
|
3715
|
+
if (!S->xml && !NIL_P(akey))
|
3665
3716
|
akey = rb_funcall(akey, s_downcase, 0);
|
3666
3717
|
ATTR(akey, aval);
|
3667
3718
|
}
|
3668
|
-
#line 68 "
|
3719
|
+
#line 68 "hpricot_common.rl"
|
3669
3720
|
{act = 10;}
|
3670
3721
|
goto st210;
|
3671
3722
|
tr246:
|
3672
|
-
#line 1 "
|
3723
|
+
#line 1 "NONE"
|
3673
3724
|
{te = p+1;}
|
3674
|
-
#line 70 "
|
3725
|
+
#line 70 "hpricot_common.rl"
|
3675
3726
|
{act = 12;}
|
3676
3727
|
goto st210;
|
3677
3728
|
tr262:
|
3678
|
-
#line 1 "
|
3729
|
+
#line 1 "NONE"
|
3679
3730
|
{te = p+1;}
|
3680
|
-
#line
|
3731
|
+
#line 168 "hpricot_scan.rl"
|
3681
3732
|
{
|
3682
|
-
if (!S->xml)
|
3733
|
+
if (!S->xml && !NIL_P(akey))
|
3683
3734
|
akey = rb_funcall(akey, s_downcase, 0);
|
3684
3735
|
ATTR(akey, aval);
|
3685
3736
|
}
|
3686
|
-
#line
|
3737
|
+
#line 139 "hpricot_scan.rl"
|
3687
3738
|
{
|
3688
3739
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3689
3740
|
else { SET(aval, p); }
|
3690
3741
|
}
|
3691
|
-
#line 68 "
|
3742
|
+
#line 68 "hpricot_common.rl"
|
3692
3743
|
{act = 10;}
|
3693
3744
|
goto st210;
|
3694
3745
|
tr329:
|
3695
|
-
#line 1 "
|
3746
|
+
#line 1 "NONE"
|
3696
3747
|
{te = p+1;}
|
3697
|
-
#line 111 "hpricot_scan.rl"
|
3698
|
-
{ mark_aval = p; }
|
3699
3748
|
#line 134 "hpricot_scan.rl"
|
3749
|
+
{ mark_aval = p; }
|
3750
|
+
#line 168 "hpricot_scan.rl"
|
3700
3751
|
{
|
3701
|
-
if (!S->xml)
|
3752
|
+
if (!S->xml && !NIL_P(akey))
|
3702
3753
|
akey = rb_funcall(akey, s_downcase, 0);
|
3703
3754
|
ATTR(akey, aval);
|
3704
3755
|
}
|
3705
|
-
#line
|
3756
|
+
#line 139 "hpricot_scan.rl"
|
3706
3757
|
{
|
3707
3758
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3708
3759
|
else { SET(aval, p); }
|
3709
3760
|
}
|
3710
|
-
#line 68 "
|
3761
|
+
#line 68 "hpricot_common.rl"
|
3711
3762
|
{act = 10;}
|
3712
3763
|
goto st210;
|
3713
3764
|
tr268:
|
3714
|
-
#line 1 "
|
3765
|
+
#line 1 "NONE"
|
3715
3766
|
{te = p+1;}
|
3716
|
-
#line
|
3767
|
+
#line 139 "hpricot_scan.rl"
|
3717
3768
|
{
|
3718
3769
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3719
3770
|
else { SET(aval, p); }
|
3720
3771
|
}
|
3721
|
-
#line
|
3772
|
+
#line 143 "hpricot_scan.rl"
|
3722
3773
|
{ SET(akey, p); }
|
3723
|
-
#line
|
3774
|
+
#line 168 "hpricot_scan.rl"
|
3724
3775
|
{
|
3725
|
-
if (!S->xml)
|
3776
|
+
if (!S->xml && !NIL_P(akey))
|
3726
3777
|
akey = rb_funcall(akey, s_downcase, 0);
|
3727
3778
|
ATTR(akey, aval);
|
3728
3779
|
}
|
3729
|
-
#line 68 "
|
3780
|
+
#line 68 "hpricot_common.rl"
|
3730
3781
|
{act = 10;}
|
3731
3782
|
goto st210;
|
3732
3783
|
tr334:
|
3733
|
-
#line 1 "
|
3784
|
+
#line 1 "NONE"
|
3734
3785
|
{te = p+1;}
|
3735
|
-
#line 111 "hpricot_scan.rl"
|
3736
|
-
{ mark_aval = p; }
|
3737
3786
|
#line 134 "hpricot_scan.rl"
|
3787
|
+
{ mark_aval = p; }
|
3788
|
+
#line 168 "hpricot_scan.rl"
|
3738
3789
|
{
|
3739
|
-
if (!S->xml)
|
3790
|
+
if (!S->xml && !NIL_P(akey))
|
3740
3791
|
akey = rb_funcall(akey, s_downcase, 0);
|
3741
3792
|
ATTR(akey, aval);
|
3742
3793
|
}
|
3743
|
-
#line 68 "
|
3794
|
+
#line 68 "hpricot_common.rl"
|
3744
3795
|
{act = 10;}
|
3745
3796
|
goto st210;
|
3746
3797
|
st210:
|
3747
3798
|
if ( ++p == pe )
|
3748
3799
|
goto _test_eof210;
|
3749
3800
|
case 210:
|
3750
|
-
#line
|
3801
|
+
#line 3802 "hpricot_scan.c"
|
3751
3802
|
switch( (*p) ) {
|
3752
3803
|
case 39: goto tr169;
|
3753
3804
|
case 92: goto st102;
|
3754
3805
|
}
|
3755
3806
|
goto st101;
|
3756
3807
|
tr242:
|
3757
|
-
#line
|
3808
|
+
#line 143 "hpricot_scan.rl"
|
3758
3809
|
{ SET(akey, p); }
|
3759
3810
|
goto st106;
|
3760
3811
|
st106:
|
3761
3812
|
if ( ++p == pe )
|
3762
3813
|
goto _test_eof106;
|
3763
3814
|
case 106:
|
3764
|
-
#line
|
3815
|
+
#line 3816 "hpricot_scan.c"
|
3765
3816
|
switch( (*p) ) {
|
3766
3817
|
case 13: goto tr248;
|
3767
3818
|
case 32: goto tr248;
|
@@ -3779,14 +3830,14 @@ case 106:
|
|
3779
3830
|
goto tr248;
|
3780
3831
|
goto tr247;
|
3781
3832
|
tr247:
|
3782
|
-
#line
|
3833
|
+
#line 134 "hpricot_scan.rl"
|
3783
3834
|
{ mark_aval = p; }
|
3784
3835
|
goto st107;
|
3785
3836
|
st107:
|
3786
3837
|
if ( ++p == pe )
|
3787
3838
|
goto _test_eof107;
|
3788
3839
|
case 107:
|
3789
|
-
#line
|
3840
|
+
#line 3841 "hpricot_scan.c"
|
3790
3841
|
switch( (*p) ) {
|
3791
3842
|
case 13: goto tr255;
|
3792
3843
|
case 32: goto tr255;
|
@@ -3803,42 +3854,42 @@ case 107:
|
|
3803
3854
|
goto tr255;
|
3804
3855
|
goto st107;
|
3805
3856
|
tr256:
|
3806
|
-
#line
|
3857
|
+
#line 139 "hpricot_scan.rl"
|
3807
3858
|
{
|
3808
3859
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3809
3860
|
else { SET(aval, p); }
|
3810
3861
|
}
|
3811
3862
|
goto st108;
|
3812
3863
|
tr327:
|
3813
|
-
#line
|
3864
|
+
#line 134 "hpricot_scan.rl"
|
3814
3865
|
{ mark_aval = p; }
|
3815
|
-
#line
|
3866
|
+
#line 139 "hpricot_scan.rl"
|
3816
3867
|
{
|
3817
3868
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3818
3869
|
else { SET(aval, p); }
|
3819
3870
|
}
|
3820
3871
|
goto st108;
|
3821
3872
|
tr281:
|
3822
|
-
#line
|
3873
|
+
#line 134 "hpricot_scan.rl"
|
3823
3874
|
{ mark_aval = p; }
|
3824
|
-
#line
|
3875
|
+
#line 138 "hpricot_scan.rl"
|
3825
3876
|
{ SET(aval, p); }
|
3826
3877
|
goto st108;
|
3827
3878
|
tr222:
|
3828
|
-
#line
|
3879
|
+
#line 138 "hpricot_scan.rl"
|
3829
3880
|
{ SET(aval, p); }
|
3830
3881
|
goto st108;
|
3831
3882
|
tr213:
|
3832
|
-
#line
|
3883
|
+
#line 138 "hpricot_scan.rl"
|
3833
3884
|
{ SET(aval, p); }
|
3834
|
-
#line
|
3885
|
+
#line 134 "hpricot_scan.rl"
|
3835
3886
|
{ mark_aval = p; }
|
3836
3887
|
goto st108;
|
3837
3888
|
st108:
|
3838
3889
|
if ( ++p == pe )
|
3839
3890
|
goto _test_eof108;
|
3840
3891
|
case 108:
|
3841
|
-
#line
|
3892
|
+
#line 3893 "hpricot_scan.c"
|
3842
3893
|
switch( (*p) ) {
|
3843
3894
|
case 13: goto tr255;
|
3844
3895
|
case 32: goto tr255;
|
@@ -3866,46 +3917,46 @@ case 108:
|
|
3866
3917
|
goto tr260;
|
3867
3918
|
goto st107;
|
3868
3919
|
tr260:
|
3869
|
-
#line
|
3920
|
+
#line 168 "hpricot_scan.rl"
|
3870
3921
|
{
|
3871
|
-
if (!S->xml)
|
3922
|
+
if (!S->xml && !NIL_P(akey))
|
3872
3923
|
akey = rb_funcall(akey, s_downcase, 0);
|
3873
3924
|
ATTR(akey, aval);
|
3874
3925
|
}
|
3875
|
-
#line
|
3926
|
+
#line 161 "hpricot_scan.rl"
|
3876
3927
|
{
|
3877
3928
|
akey = Qnil;
|
3878
3929
|
aval = Qnil;
|
3879
3930
|
mark_akey = NULL;
|
3880
3931
|
mark_aval = NULL;
|
3881
3932
|
}
|
3882
|
-
#line
|
3933
|
+
#line 135 "hpricot_scan.rl"
|
3883
3934
|
{ mark_akey = p; }
|
3884
3935
|
goto st109;
|
3885
3936
|
tr279:
|
3886
|
-
#line 111 "hpricot_scan.rl"
|
3887
|
-
{ mark_aval = p; }
|
3888
3937
|
#line 134 "hpricot_scan.rl"
|
3938
|
+
{ mark_aval = p; }
|
3939
|
+
#line 168 "hpricot_scan.rl"
|
3889
3940
|
{
|
3890
|
-
if (!S->xml)
|
3941
|
+
if (!S->xml && !NIL_P(akey))
|
3891
3942
|
akey = rb_funcall(akey, s_downcase, 0);
|
3892
3943
|
ATTR(akey, aval);
|
3893
3944
|
}
|
3894
|
-
#line
|
3945
|
+
#line 161 "hpricot_scan.rl"
|
3895
3946
|
{
|
3896
3947
|
akey = Qnil;
|
3897
3948
|
aval = Qnil;
|
3898
3949
|
mark_akey = NULL;
|
3899
3950
|
mark_aval = NULL;
|
3900
3951
|
}
|
3901
|
-
#line
|
3952
|
+
#line 135 "hpricot_scan.rl"
|
3902
3953
|
{ mark_akey = p; }
|
3903
3954
|
goto st109;
|
3904
3955
|
st109:
|
3905
3956
|
if ( ++p == pe )
|
3906
3957
|
goto _test_eof109;
|
3907
3958
|
case 109:
|
3908
|
-
#line
|
3959
|
+
#line 3960 "hpricot_scan.c"
|
3909
3960
|
switch( (*p) ) {
|
3910
3961
|
case 13: goto tr263;
|
3911
3962
|
case 32: goto tr263;
|
@@ -3934,16 +3985,16 @@ case 109:
|
|
3934
3985
|
goto st109;
|
3935
3986
|
goto st107;
|
3936
3987
|
tr270:
|
3937
|
-
#line
|
3988
|
+
#line 139 "hpricot_scan.rl"
|
3938
3989
|
{
|
3939
3990
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3940
3991
|
else { SET(aval, p); }
|
3941
3992
|
}
|
3942
3993
|
goto st110;
|
3943
3994
|
tr264:
|
3944
|
-
#line
|
3995
|
+
#line 143 "hpricot_scan.rl"
|
3945
3996
|
{ SET(akey, p); }
|
3946
|
-
#line
|
3997
|
+
#line 139 "hpricot_scan.rl"
|
3947
3998
|
{
|
3948
3999
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3949
4000
|
else { SET(aval, p); }
|
@@ -3953,7 +4004,7 @@ st110:
|
|
3953
4004
|
if ( ++p == pe )
|
3954
4005
|
goto _test_eof110;
|
3955
4006
|
case 110:
|
3956
|
-
#line
|
4007
|
+
#line 4008 "hpricot_scan.c"
|
3957
4008
|
switch( (*p) ) {
|
3958
4009
|
case 13: goto tr269;
|
3959
4010
|
case 32: goto tr269;
|
@@ -3982,81 +4033,81 @@ case 110:
|
|
3982
4033
|
goto tr260;
|
3983
4034
|
goto st107;
|
3984
4035
|
tr252:
|
3985
|
-
#line 111 "hpricot_scan.rl"
|
3986
|
-
{ mark_aval = p; }
|
3987
4036
|
#line 134 "hpricot_scan.rl"
|
4037
|
+
{ mark_aval = p; }
|
4038
|
+
#line 168 "hpricot_scan.rl"
|
3988
4039
|
{
|
3989
|
-
if (!S->xml)
|
4040
|
+
if (!S->xml && !NIL_P(akey))
|
3990
4041
|
akey = rb_funcall(akey, s_downcase, 0);
|
3991
4042
|
ATTR(akey, aval);
|
3992
4043
|
}
|
3993
4044
|
goto st111;
|
3994
4045
|
tr257:
|
3995
|
-
#line
|
4046
|
+
#line 139 "hpricot_scan.rl"
|
3996
4047
|
{
|
3997
4048
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
3998
4049
|
else { SET(aval, p); }
|
3999
4050
|
}
|
4000
|
-
#line
|
4051
|
+
#line 168 "hpricot_scan.rl"
|
4001
4052
|
{
|
4002
|
-
if (!S->xml)
|
4053
|
+
if (!S->xml && !NIL_P(akey))
|
4003
4054
|
akey = rb_funcall(akey, s_downcase, 0);
|
4004
4055
|
ATTR(akey, aval);
|
4005
4056
|
}
|
4006
4057
|
goto st111;
|
4007
4058
|
tr261:
|
4008
|
-
#line
|
4059
|
+
#line 168 "hpricot_scan.rl"
|
4009
4060
|
{
|
4010
|
-
if (!S->xml)
|
4061
|
+
if (!S->xml && !NIL_P(akey))
|
4011
4062
|
akey = rb_funcall(akey, s_downcase, 0);
|
4012
4063
|
ATTR(akey, aval);
|
4013
4064
|
}
|
4014
|
-
#line
|
4065
|
+
#line 139 "hpricot_scan.rl"
|
4015
4066
|
{
|
4016
4067
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4017
4068
|
else { SET(aval, p); }
|
4018
4069
|
}
|
4019
4070
|
goto st111;
|
4020
4071
|
tr266:
|
4021
|
-
#line
|
4072
|
+
#line 139 "hpricot_scan.rl"
|
4022
4073
|
{
|
4023
4074
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4024
4075
|
else { SET(aval, p); }
|
4025
4076
|
}
|
4026
|
-
#line
|
4077
|
+
#line 143 "hpricot_scan.rl"
|
4027
4078
|
{ SET(akey, p); }
|
4028
|
-
#line
|
4079
|
+
#line 168 "hpricot_scan.rl"
|
4029
4080
|
{
|
4030
|
-
if (!S->xml)
|
4081
|
+
if (!S->xml && !NIL_P(akey))
|
4031
4082
|
akey = rb_funcall(akey, s_downcase, 0);
|
4032
4083
|
ATTR(akey, aval);
|
4033
4084
|
}
|
4034
4085
|
goto st111;
|
4035
4086
|
tr276:
|
4036
|
-
#line
|
4087
|
+
#line 134 "hpricot_scan.rl"
|
4037
4088
|
{ mark_aval = p; }
|
4038
|
-
#line
|
4089
|
+
#line 139 "hpricot_scan.rl"
|
4039
4090
|
{
|
4040
4091
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4041
4092
|
else { SET(aval, p); }
|
4042
4093
|
}
|
4043
|
-
#line
|
4094
|
+
#line 168 "hpricot_scan.rl"
|
4044
4095
|
{
|
4045
|
-
if (!S->xml)
|
4096
|
+
if (!S->xml && !NIL_P(akey))
|
4046
4097
|
akey = rb_funcall(akey, s_downcase, 0);
|
4047
4098
|
ATTR(akey, aval);
|
4048
4099
|
}
|
4049
4100
|
goto st111;
|
4050
4101
|
tr280:
|
4051
|
-
#line 111 "hpricot_scan.rl"
|
4052
|
-
{ mark_aval = p; }
|
4053
4102
|
#line 134 "hpricot_scan.rl"
|
4103
|
+
{ mark_aval = p; }
|
4104
|
+
#line 168 "hpricot_scan.rl"
|
4054
4105
|
{
|
4055
|
-
if (!S->xml)
|
4106
|
+
if (!S->xml && !NIL_P(akey))
|
4056
4107
|
akey = rb_funcall(akey, s_downcase, 0);
|
4057
4108
|
ATTR(akey, aval);
|
4058
4109
|
}
|
4059
|
-
#line
|
4110
|
+
#line 139 "hpricot_scan.rl"
|
4060
4111
|
{
|
4061
4112
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4062
4113
|
else { SET(aval, p); }
|
@@ -4066,7 +4117,7 @@ st111:
|
|
4066
4117
|
if ( ++p == pe )
|
4067
4118
|
goto _test_eof111;
|
4068
4119
|
case 111:
|
4069
|
-
#line
|
4120
|
+
#line 4121 "hpricot_scan.c"
|
4070
4121
|
switch( (*p) ) {
|
4071
4122
|
case 13: goto tr255;
|
4072
4123
|
case 32: goto tr255;
|
@@ -4083,14 +4134,14 @@ case 111:
|
|
4083
4134
|
goto tr255;
|
4084
4135
|
goto st107;
|
4085
4136
|
tr253:
|
4086
|
-
#line
|
4137
|
+
#line 134 "hpricot_scan.rl"
|
4087
4138
|
{ mark_aval = p; }
|
4088
4139
|
goto st112;
|
4089
4140
|
st112:
|
4090
4141
|
if ( ++p == pe )
|
4091
4142
|
goto _test_eof112;
|
4092
4143
|
case 112:
|
4093
|
-
#line
|
4144
|
+
#line 4145 "hpricot_scan.c"
|
4094
4145
|
switch( (*p) ) {
|
4095
4146
|
case 13: goto tr255;
|
4096
4147
|
case 32: goto tr255;
|
@@ -4107,18 +4158,18 @@ case 112:
|
|
4107
4158
|
goto tr255;
|
4108
4159
|
goto st107;
|
4109
4160
|
tr249:
|
4110
|
-
#line
|
4161
|
+
#line 134 "hpricot_scan.rl"
|
4111
4162
|
{ mark_aval = p; }
|
4112
4163
|
goto st113;
|
4113
4164
|
tr267:
|
4114
|
-
#line
|
4165
|
+
#line 143 "hpricot_scan.rl"
|
4115
4166
|
{ SET(akey, p); }
|
4116
4167
|
goto st113;
|
4117
4168
|
st113:
|
4118
4169
|
if ( ++p == pe )
|
4119
4170
|
goto _test_eof113;
|
4120
4171
|
case 113:
|
4121
|
-
#line
|
4172
|
+
#line 4173 "hpricot_scan.c"
|
4122
4173
|
switch( (*p) ) {
|
4123
4174
|
case 13: goto tr272;
|
4124
4175
|
case 32: goto tr272;
|
@@ -4136,13 +4187,13 @@ case 113:
|
|
4136
4187
|
goto tr272;
|
4137
4188
|
goto tr247;
|
4138
4189
|
tr277:
|
4139
|
-
#line
|
4190
|
+
#line 134 "hpricot_scan.rl"
|
4140
4191
|
{ mark_aval = p; }
|
4141
4192
|
goto st114;
|
4142
4193
|
tr272:
|
4143
|
-
#line
|
4194
|
+
#line 134 "hpricot_scan.rl"
|
4144
4195
|
{ mark_aval = p; }
|
4145
|
-
#line
|
4196
|
+
#line 139 "hpricot_scan.rl"
|
4146
4197
|
{
|
4147
4198
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4148
4199
|
else { SET(aval, p); }
|
@@ -4152,7 +4203,7 @@ st114:
|
|
4152
4203
|
if ( ++p == pe )
|
4153
4204
|
goto _test_eof114;
|
4154
4205
|
case 114:
|
4155
|
-
#line
|
4206
|
+
#line 4207 "hpricot_scan.c"
|
4156
4207
|
switch( (*p) ) {
|
4157
4208
|
case 13: goto tr277;
|
4158
4209
|
case 32: goto tr277;
|
@@ -4181,13 +4232,13 @@ case 114:
|
|
4181
4232
|
goto tr279;
|
4182
4233
|
goto tr247;
|
4183
4234
|
tr278:
|
4184
|
-
#line
|
4235
|
+
#line 134 "hpricot_scan.rl"
|
4185
4236
|
{ mark_aval = p; }
|
4186
4237
|
goto st115;
|
4187
4238
|
tr273:
|
4188
|
-
#line
|
4239
|
+
#line 134 "hpricot_scan.rl"
|
4189
4240
|
{ mark_aval = p; }
|
4190
|
-
#line
|
4241
|
+
#line 139 "hpricot_scan.rl"
|
4191
4242
|
{
|
4192
4243
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4193
4244
|
else { SET(aval, p); }
|
@@ -4197,7 +4248,7 @@ st115:
|
|
4197
4248
|
if ( ++p == pe )
|
4198
4249
|
goto _test_eof115;
|
4199
4250
|
case 115:
|
4200
|
-
#line
|
4251
|
+
#line 4252 "hpricot_scan.c"
|
4201
4252
|
switch( (*p) ) {
|
4202
4253
|
case 13: goto tr272;
|
4203
4254
|
case 32: goto tr272;
|
@@ -4246,30 +4297,30 @@ case 116:
|
|
4246
4297
|
goto tr211;
|
4247
4298
|
goto tr210;
|
4248
4299
|
tr221:
|
4249
|
-
#line
|
4300
|
+
#line 139 "hpricot_scan.rl"
|
4250
4301
|
{
|
4251
4302
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4252
4303
|
else { SET(aval, p); }
|
4253
4304
|
}
|
4254
4305
|
goto st117;
|
4255
4306
|
tr212:
|
4256
|
-
#line
|
4307
|
+
#line 134 "hpricot_scan.rl"
|
4257
4308
|
{ mark_aval = p; }
|
4258
|
-
#line
|
4309
|
+
#line 139 "hpricot_scan.rl"
|
4259
4310
|
{
|
4260
4311
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4261
4312
|
else { SET(aval, p); }
|
4262
4313
|
}
|
4263
4314
|
goto st117;
|
4264
4315
|
tr314:
|
4265
|
-
#line
|
4316
|
+
#line 138 "hpricot_scan.rl"
|
4266
4317
|
{ SET(aval, p); }
|
4267
4318
|
goto st117;
|
4268
4319
|
st117:
|
4269
4320
|
if ( ++p == pe )
|
4270
4321
|
goto _test_eof117;
|
4271
4322
|
case 117:
|
4272
|
-
#line
|
4323
|
+
#line 4324 "hpricot_scan.c"
|
4273
4324
|
switch( (*p) ) {
|
4274
4325
|
case 13: goto tr220;
|
4275
4326
|
case 32: goto tr220;
|
@@ -4298,46 +4349,46 @@ case 117:
|
|
4298
4349
|
goto tr282;
|
4299
4350
|
goto st97;
|
4300
4351
|
tr282:
|
4301
|
-
#line
|
4352
|
+
#line 168 "hpricot_scan.rl"
|
4302
4353
|
{
|
4303
|
-
if (!S->xml)
|
4354
|
+
if (!S->xml && !NIL_P(akey))
|
4304
4355
|
akey = rb_funcall(akey, s_downcase, 0);
|
4305
4356
|
ATTR(akey, aval);
|
4306
4357
|
}
|
4307
|
-
#line
|
4358
|
+
#line 161 "hpricot_scan.rl"
|
4308
4359
|
{
|
4309
4360
|
akey = Qnil;
|
4310
4361
|
aval = Qnil;
|
4311
4362
|
mark_akey = NULL;
|
4312
4363
|
mark_aval = NULL;
|
4313
4364
|
}
|
4314
|
-
#line
|
4365
|
+
#line 135 "hpricot_scan.rl"
|
4315
4366
|
{ mark_akey = p; }
|
4316
4367
|
goto st118;
|
4317
4368
|
tr307:
|
4318
|
-
#line 111 "hpricot_scan.rl"
|
4319
|
-
{ mark_aval = p; }
|
4320
4369
|
#line 134 "hpricot_scan.rl"
|
4370
|
+
{ mark_aval = p; }
|
4371
|
+
#line 168 "hpricot_scan.rl"
|
4321
4372
|
{
|
4322
|
-
if (!S->xml)
|
4373
|
+
if (!S->xml && !NIL_P(akey))
|
4323
4374
|
akey = rb_funcall(akey, s_downcase, 0);
|
4324
4375
|
ATTR(akey, aval);
|
4325
4376
|
}
|
4326
|
-
#line
|
4377
|
+
#line 161 "hpricot_scan.rl"
|
4327
4378
|
{
|
4328
4379
|
akey = Qnil;
|
4329
4380
|
aval = Qnil;
|
4330
4381
|
mark_akey = NULL;
|
4331
4382
|
mark_aval = NULL;
|
4332
4383
|
}
|
4333
|
-
#line
|
4384
|
+
#line 135 "hpricot_scan.rl"
|
4334
4385
|
{ mark_akey = p; }
|
4335
4386
|
goto st118;
|
4336
4387
|
st118:
|
4337
4388
|
if ( ++p == pe )
|
4338
4389
|
goto _test_eof118;
|
4339
4390
|
case 118:
|
4340
|
-
#line
|
4391
|
+
#line 4392 "hpricot_scan.c"
|
4341
4392
|
switch( (*p) ) {
|
4342
4393
|
case 13: goto tr285;
|
4343
4394
|
case 32: goto tr285;
|
@@ -4367,20 +4418,20 @@ case 118:
|
|
4367
4418
|
goto st118;
|
4368
4419
|
goto st97;
|
4369
4420
|
tr293:
|
4370
|
-
#line
|
4421
|
+
#line 143 "hpricot_scan.rl"
|
4371
4422
|
{ SET(akey, p); }
|
4372
4423
|
goto st119;
|
4373
4424
|
tr323:
|
4374
|
-
#line
|
4425
|
+
#line 139 "hpricot_scan.rl"
|
4375
4426
|
{
|
4376
4427
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4377
4428
|
else { SET(aval, p); }
|
4378
4429
|
}
|
4379
4430
|
goto st119;
|
4380
4431
|
tr285:
|
4381
|
-
#line
|
4432
|
+
#line 143 "hpricot_scan.rl"
|
4382
4433
|
{ SET(akey, p); }
|
4383
|
-
#line
|
4434
|
+
#line 139 "hpricot_scan.rl"
|
4384
4435
|
{
|
4385
4436
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4386
4437
|
else { SET(aval, p); }
|
@@ -4390,7 +4441,7 @@ st119:
|
|
4390
4441
|
if ( ++p == pe )
|
4391
4442
|
goto _test_eof119;
|
4392
4443
|
case 119:
|
4393
|
-
#line
|
4444
|
+
#line 4445 "hpricot_scan.c"
|
4394
4445
|
switch( (*p) ) {
|
4395
4446
|
case 32: goto st119;
|
4396
4447
|
case 34: goto tr228;
|
@@ -4415,46 +4466,46 @@ case 119:
|
|
4415
4466
|
goto tr229;
|
4416
4467
|
goto st99;
|
4417
4468
|
tr229:
|
4418
|
-
#line
|
4469
|
+
#line 168 "hpricot_scan.rl"
|
4419
4470
|
{
|
4420
|
-
if (!S->xml)
|
4471
|
+
if (!S->xml && !NIL_P(akey))
|
4421
4472
|
akey = rb_funcall(akey, s_downcase, 0);
|
4422
4473
|
ATTR(akey, aval);
|
4423
4474
|
}
|
4424
|
-
#line
|
4475
|
+
#line 161 "hpricot_scan.rl"
|
4425
4476
|
{
|
4426
4477
|
akey = Qnil;
|
4427
4478
|
aval = Qnil;
|
4428
4479
|
mark_akey = NULL;
|
4429
4480
|
mark_aval = NULL;
|
4430
4481
|
}
|
4431
|
-
#line
|
4482
|
+
#line 135 "hpricot_scan.rl"
|
4432
4483
|
{ mark_akey = p; }
|
4433
4484
|
goto st120;
|
4434
4485
|
tr318:
|
4435
|
-
#line 111 "hpricot_scan.rl"
|
4436
|
-
{ mark_aval = p; }
|
4437
4486
|
#line 134 "hpricot_scan.rl"
|
4487
|
+
{ mark_aval = p; }
|
4488
|
+
#line 168 "hpricot_scan.rl"
|
4438
4489
|
{
|
4439
|
-
if (!S->xml)
|
4490
|
+
if (!S->xml && !NIL_P(akey))
|
4440
4491
|
akey = rb_funcall(akey, s_downcase, 0);
|
4441
4492
|
ATTR(akey, aval);
|
4442
4493
|
}
|
4443
|
-
#line
|
4494
|
+
#line 161 "hpricot_scan.rl"
|
4444
4495
|
{
|
4445
4496
|
akey = Qnil;
|
4446
4497
|
aval = Qnil;
|
4447
4498
|
mark_akey = NULL;
|
4448
4499
|
mark_aval = NULL;
|
4449
4500
|
}
|
4450
|
-
#line
|
4501
|
+
#line 135 "hpricot_scan.rl"
|
4451
4502
|
{ mark_akey = p; }
|
4452
4503
|
goto st120;
|
4453
4504
|
st120:
|
4454
4505
|
if ( ++p == pe )
|
4455
4506
|
goto _test_eof120;
|
4456
4507
|
case 120:
|
4457
|
-
#line
|
4508
|
+
#line 4509 "hpricot_scan.c"
|
4458
4509
|
switch( (*p) ) {
|
4459
4510
|
case 32: goto tr293;
|
4460
4511
|
case 34: goto tr228;
|
@@ -4479,29 +4530,29 @@ case 120:
|
|
4479
4530
|
goto st120;
|
4480
4531
|
goto st99;
|
4481
4532
|
tr295:
|
4482
|
-
#line
|
4533
|
+
#line 143 "hpricot_scan.rl"
|
4483
4534
|
{ SET(akey, p); }
|
4484
|
-
#line
|
4535
|
+
#line 168 "hpricot_scan.rl"
|
4485
4536
|
{
|
4486
|
-
if (!S->xml)
|
4537
|
+
if (!S->xml && !NIL_P(akey))
|
4487
4538
|
akey = rb_funcall(akey, s_downcase, 0);
|
4488
4539
|
ATTR(akey, aval);
|
4489
4540
|
}
|
4490
4541
|
goto st121;
|
4491
4542
|
tr230:
|
4492
|
-
#line
|
4543
|
+
#line 168 "hpricot_scan.rl"
|
4493
4544
|
{
|
4494
|
-
if (!S->xml)
|
4545
|
+
if (!S->xml && !NIL_P(akey))
|
4495
4546
|
akey = rb_funcall(akey, s_downcase, 0);
|
4496
4547
|
ATTR(akey, aval);
|
4497
4548
|
}
|
4498
4549
|
goto st121;
|
4499
4550
|
tr319:
|
4500
|
-
#line 111 "hpricot_scan.rl"
|
4501
|
-
{ mark_aval = p; }
|
4502
4551
|
#line 134 "hpricot_scan.rl"
|
4552
|
+
{ mark_aval = p; }
|
4553
|
+
#line 168 "hpricot_scan.rl"
|
4503
4554
|
{
|
4504
|
-
if (!S->xml)
|
4555
|
+
if (!S->xml && !NIL_P(akey))
|
4505
4556
|
akey = rb_funcall(akey, s_downcase, 0);
|
4506
4557
|
ATTR(akey, aval);
|
4507
4558
|
}
|
@@ -4510,7 +4561,7 @@ st121:
|
|
4510
4561
|
if ( ++p == pe )
|
4511
4562
|
goto _test_eof121;
|
4512
4563
|
case 121:
|
4513
|
-
#line
|
4564
|
+
#line 4565 "hpricot_scan.c"
|
4514
4565
|
switch( (*p) ) {
|
4515
4566
|
case 34: goto tr228;
|
4516
4567
|
case 39: goto tr174;
|
@@ -4519,147 +4570,147 @@ case 121:
|
|
4519
4570
|
}
|
4520
4571
|
goto st99;
|
4521
4572
|
tr217:
|
4522
|
-
#line 1 "
|
4573
|
+
#line 1 "NONE"
|
4523
4574
|
{te = p+1;}
|
4524
|
-
#line
|
4575
|
+
#line 134 "hpricot_scan.rl"
|
4525
4576
|
{ mark_aval = p; }
|
4526
|
-
#line
|
4577
|
+
#line 139 "hpricot_scan.rl"
|
4527
4578
|
{
|
4528
4579
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4529
4580
|
else { SET(aval, p); }
|
4530
4581
|
}
|
4531
|
-
#line
|
4582
|
+
#line 168 "hpricot_scan.rl"
|
4532
4583
|
{
|
4533
|
-
if (!S->xml)
|
4584
|
+
if (!S->xml && !NIL_P(akey))
|
4534
4585
|
akey = rb_funcall(akey, s_downcase, 0);
|
4535
4586
|
ATTR(akey, aval);
|
4536
4587
|
}
|
4537
|
-
#line 68 "
|
4588
|
+
#line 68 "hpricot_common.rl"
|
4538
4589
|
{act = 10;}
|
4539
4590
|
goto st211;
|
4540
4591
|
tr225:
|
4541
|
-
#line 1 "
|
4592
|
+
#line 1 "NONE"
|
4542
4593
|
{te = p+1;}
|
4543
|
-
#line
|
4594
|
+
#line 139 "hpricot_scan.rl"
|
4544
4595
|
{
|
4545
4596
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4546
4597
|
else { SET(aval, p); }
|
4547
4598
|
}
|
4548
|
-
#line
|
4599
|
+
#line 168 "hpricot_scan.rl"
|
4549
4600
|
{
|
4550
|
-
if (!S->xml)
|
4601
|
+
if (!S->xml && !NIL_P(akey))
|
4551
4602
|
akey = rb_funcall(akey, s_downcase, 0);
|
4552
4603
|
ATTR(akey, aval);
|
4553
4604
|
}
|
4554
|
-
#line 68 "
|
4605
|
+
#line 68 "hpricot_common.rl"
|
4555
4606
|
{act = 10;}
|
4556
4607
|
goto st211;
|
4557
4608
|
tr231:
|
4558
|
-
#line 1 "
|
4609
|
+
#line 1 "NONE"
|
4559
4610
|
{te = p+1;}
|
4560
|
-
#line
|
4611
|
+
#line 168 "hpricot_scan.rl"
|
4561
4612
|
{
|
4562
|
-
if (!S->xml)
|
4613
|
+
if (!S->xml && !NIL_P(akey))
|
4563
4614
|
akey = rb_funcall(akey, s_downcase, 0);
|
4564
4615
|
ATTR(akey, aval);
|
4565
4616
|
}
|
4566
|
-
#line 68 "
|
4617
|
+
#line 68 "hpricot_common.rl"
|
4567
4618
|
{act = 10;}
|
4568
4619
|
goto st211;
|
4569
4620
|
tr297:
|
4570
|
-
#line 1 "
|
4621
|
+
#line 1 "NONE"
|
4571
4622
|
{te = p+1;}
|
4572
|
-
#line
|
4623
|
+
#line 143 "hpricot_scan.rl"
|
4573
4624
|
{ SET(akey, p); }
|
4574
|
-
#line
|
4625
|
+
#line 168 "hpricot_scan.rl"
|
4575
4626
|
{
|
4576
|
-
if (!S->xml)
|
4627
|
+
if (!S->xml && !NIL_P(akey))
|
4577
4628
|
akey = rb_funcall(akey, s_downcase, 0);
|
4578
4629
|
ATTR(akey, aval);
|
4579
4630
|
}
|
4580
|
-
#line 68 "
|
4631
|
+
#line 68 "hpricot_common.rl"
|
4581
4632
|
{act = 10;}
|
4582
4633
|
goto st211;
|
4583
4634
|
tr298:
|
4584
|
-
#line 1 "
|
4635
|
+
#line 1 "NONE"
|
4585
4636
|
{te = p+1;}
|
4586
|
-
#line 70 "
|
4637
|
+
#line 70 "hpricot_common.rl"
|
4587
4638
|
{act = 12;}
|
4588
4639
|
goto st211;
|
4589
4640
|
tr284:
|
4590
|
-
#line 1 "
|
4641
|
+
#line 1 "NONE"
|
4591
4642
|
{te = p+1;}
|
4592
|
-
#line
|
4643
|
+
#line 168 "hpricot_scan.rl"
|
4593
4644
|
{
|
4594
|
-
if (!S->xml)
|
4645
|
+
if (!S->xml && !NIL_P(akey))
|
4595
4646
|
akey = rb_funcall(akey, s_downcase, 0);
|
4596
4647
|
ATTR(akey, aval);
|
4597
4648
|
}
|
4598
|
-
#line
|
4649
|
+
#line 139 "hpricot_scan.rl"
|
4599
4650
|
{
|
4600
4651
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4601
4652
|
else { SET(aval, p); }
|
4602
4653
|
}
|
4603
|
-
#line 68 "
|
4654
|
+
#line 68 "hpricot_common.rl"
|
4604
4655
|
{act = 10;}
|
4605
4656
|
goto st211;
|
4606
4657
|
tr313:
|
4607
|
-
#line 1 "
|
4658
|
+
#line 1 "NONE"
|
4608
4659
|
{te = p+1;}
|
4609
|
-
#line 111 "hpricot_scan.rl"
|
4610
|
-
{ mark_aval = p; }
|
4611
4660
|
#line 134 "hpricot_scan.rl"
|
4661
|
+
{ mark_aval = p; }
|
4662
|
+
#line 168 "hpricot_scan.rl"
|
4612
4663
|
{
|
4613
|
-
if (!S->xml)
|
4664
|
+
if (!S->xml && !NIL_P(akey))
|
4614
4665
|
akey = rb_funcall(akey, s_downcase, 0);
|
4615
4666
|
ATTR(akey, aval);
|
4616
4667
|
}
|
4617
|
-
#line
|
4668
|
+
#line 139 "hpricot_scan.rl"
|
4618
4669
|
{
|
4619
4670
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4620
4671
|
else { SET(aval, p); }
|
4621
4672
|
}
|
4622
|
-
#line 68 "
|
4673
|
+
#line 68 "hpricot_common.rl"
|
4623
4674
|
{act = 10;}
|
4624
4675
|
goto st211;
|
4625
4676
|
tr290:
|
4626
|
-
#line 1 "
|
4677
|
+
#line 1 "NONE"
|
4627
4678
|
{te = p+1;}
|
4628
|
-
#line
|
4679
|
+
#line 139 "hpricot_scan.rl"
|
4629
4680
|
{
|
4630
4681
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4631
4682
|
else { SET(aval, p); }
|
4632
4683
|
}
|
4633
|
-
#line
|
4684
|
+
#line 143 "hpricot_scan.rl"
|
4634
4685
|
{ SET(akey, p); }
|
4635
|
-
#line
|
4686
|
+
#line 168 "hpricot_scan.rl"
|
4636
4687
|
{
|
4637
|
-
if (!S->xml)
|
4688
|
+
if (!S->xml && !NIL_P(akey))
|
4638
4689
|
akey = rb_funcall(akey, s_downcase, 0);
|
4639
4690
|
ATTR(akey, aval);
|
4640
4691
|
}
|
4641
|
-
#line 68 "
|
4692
|
+
#line 68 "hpricot_common.rl"
|
4642
4693
|
{act = 10;}
|
4643
4694
|
goto st211;
|
4644
4695
|
tr320:
|
4645
|
-
#line 1 "
|
4696
|
+
#line 1 "NONE"
|
4646
4697
|
{te = p+1;}
|
4647
|
-
#line 111 "hpricot_scan.rl"
|
4648
|
-
{ mark_aval = p; }
|
4649
4698
|
#line 134 "hpricot_scan.rl"
|
4699
|
+
{ mark_aval = p; }
|
4700
|
+
#line 168 "hpricot_scan.rl"
|
4650
4701
|
{
|
4651
|
-
if (!S->xml)
|
4702
|
+
if (!S->xml && !NIL_P(akey))
|
4652
4703
|
akey = rb_funcall(akey, s_downcase, 0);
|
4653
4704
|
ATTR(akey, aval);
|
4654
4705
|
}
|
4655
|
-
#line 68 "
|
4706
|
+
#line 68 "hpricot_common.rl"
|
4656
4707
|
{act = 10;}
|
4657
4708
|
goto st211;
|
4658
4709
|
st211:
|
4659
4710
|
if ( ++p == pe )
|
4660
4711
|
goto _test_eof211;
|
4661
4712
|
case 211:
|
4662
|
-
#line
|
4713
|
+
#line 4714 "hpricot_scan.c"
|
4663
4714
|
switch( (*p) ) {
|
4664
4715
|
case 34: goto tr228;
|
4665
4716
|
case 39: goto tr174;
|
@@ -4667,14 +4718,14 @@ case 211:
|
|
4667
4718
|
}
|
4668
4719
|
goto st99;
|
4669
4720
|
tr321:
|
4670
|
-
#line
|
4721
|
+
#line 134 "hpricot_scan.rl"
|
4671
4722
|
{ mark_aval = p; }
|
4672
4723
|
goto st122;
|
4673
4724
|
st122:
|
4674
4725
|
if ( ++p == pe )
|
4675
4726
|
goto _test_eof122;
|
4676
4727
|
case 122:
|
4677
|
-
#line
|
4728
|
+
#line 4729 "hpricot_scan.c"
|
4678
4729
|
switch( (*p) ) {
|
4679
4730
|
case 34: goto tr299;
|
4680
4731
|
case 39: goto tr299;
|
@@ -4682,14 +4733,14 @@ case 122:
|
|
4682
4733
|
}
|
4683
4734
|
goto st99;
|
4684
4735
|
tr296:
|
4685
|
-
#line
|
4736
|
+
#line 143 "hpricot_scan.rl"
|
4686
4737
|
{ SET(akey, p); }
|
4687
4738
|
goto st123;
|
4688
4739
|
st123:
|
4689
4740
|
if ( ++p == pe )
|
4690
4741
|
goto _test_eof123;
|
4691
4742
|
case 123:
|
4692
|
-
#line
|
4743
|
+
#line 4744 "hpricot_scan.c"
|
4693
4744
|
switch( (*p) ) {
|
4694
4745
|
case 13: goto tr300;
|
4695
4746
|
case 32: goto tr300;
|
@@ -4707,14 +4758,14 @@ case 123:
|
|
4707
4758
|
goto tr300;
|
4708
4759
|
goto tr210;
|
4709
4760
|
tr300:
|
4710
|
-
#line
|
4761
|
+
#line 134 "hpricot_scan.rl"
|
4711
4762
|
{ mark_aval = p; }
|
4712
4763
|
goto st124;
|
4713
4764
|
st124:
|
4714
4765
|
if ( ++p == pe )
|
4715
4766
|
goto _test_eof124;
|
4716
4767
|
case 124:
|
4717
|
-
#line
|
4768
|
+
#line 4769 "hpricot_scan.c"
|
4718
4769
|
switch( (*p) ) {
|
4719
4770
|
case 13: goto tr305;
|
4720
4771
|
case 32: goto tr305;
|
@@ -4732,13 +4783,13 @@ case 124:
|
|
4732
4783
|
goto tr305;
|
4733
4784
|
goto tr210;
|
4734
4785
|
tr305:
|
4735
|
-
#line
|
4786
|
+
#line 134 "hpricot_scan.rl"
|
4736
4787
|
{ mark_aval = p; }
|
4737
4788
|
goto st125;
|
4738
4789
|
tr308:
|
4739
|
-
#line
|
4790
|
+
#line 134 "hpricot_scan.rl"
|
4740
4791
|
{ mark_aval = p; }
|
4741
|
-
#line
|
4792
|
+
#line 139 "hpricot_scan.rl"
|
4742
4793
|
{
|
4743
4794
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4744
4795
|
else { SET(aval, p); }
|
@@ -4748,7 +4799,7 @@ st125:
|
|
4748
4799
|
if ( ++p == pe )
|
4749
4800
|
goto _test_eof125;
|
4750
4801
|
case 125:
|
4751
|
-
#line
|
4802
|
+
#line 4803 "hpricot_scan.c"
|
4752
4803
|
switch( (*p) ) {
|
4753
4804
|
case 13: goto tr305;
|
4754
4805
|
case 32: goto tr305;
|
@@ -4777,13 +4828,13 @@ case 125:
|
|
4777
4828
|
goto tr307;
|
4778
4829
|
goto tr210;
|
4779
4830
|
tr306:
|
4780
|
-
#line
|
4831
|
+
#line 134 "hpricot_scan.rl"
|
4781
4832
|
{ mark_aval = p; }
|
4782
4833
|
goto st126;
|
4783
4834
|
tr309:
|
4784
|
-
#line
|
4835
|
+
#line 134 "hpricot_scan.rl"
|
4785
4836
|
{ mark_aval = p; }
|
4786
|
-
#line
|
4837
|
+
#line 139 "hpricot_scan.rl"
|
4787
4838
|
{
|
4788
4839
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4789
4840
|
else { SET(aval, p); }
|
@@ -4793,7 +4844,7 @@ st126:
|
|
4793
4844
|
if ( ++p == pe )
|
4794
4845
|
goto _test_eof126;
|
4795
4846
|
case 126:
|
4796
|
-
#line
|
4847
|
+
#line 4848 "hpricot_scan.c"
|
4797
4848
|
switch( (*p) ) {
|
4798
4849
|
case 13: goto tr308;
|
4799
4850
|
case 32: goto tr308;
|
@@ -4822,14 +4873,14 @@ case 126:
|
|
4822
4873
|
goto tr307;
|
4823
4874
|
goto tr210;
|
4824
4875
|
tr310:
|
4825
|
-
#line
|
4876
|
+
#line 138 "hpricot_scan.rl"
|
4826
4877
|
{ SET(aval, p); }
|
4827
4878
|
goto st127;
|
4828
4879
|
st127:
|
4829
4880
|
if ( ++p == pe )
|
4830
4881
|
goto _test_eof127;
|
4831
4882
|
case 127:
|
4832
|
-
#line
|
4883
|
+
#line 4884 "hpricot_scan.c"
|
4833
4884
|
switch( (*p) ) {
|
4834
4885
|
case 13: goto tr211;
|
4835
4886
|
case 32: goto tr211;
|
@@ -4858,81 +4909,81 @@ case 127:
|
|
4858
4909
|
goto tr307;
|
4859
4910
|
goto tr210;
|
4860
4911
|
tr304:
|
4861
|
-
#line 111 "hpricot_scan.rl"
|
4862
|
-
{ mark_aval = p; }
|
4863
4912
|
#line 134 "hpricot_scan.rl"
|
4913
|
+
{ mark_aval = p; }
|
4914
|
+
#line 168 "hpricot_scan.rl"
|
4864
4915
|
{
|
4865
|
-
if (!S->xml)
|
4916
|
+
if (!S->xml && !NIL_P(akey))
|
4866
4917
|
akey = rb_funcall(akey, s_downcase, 0);
|
4867
4918
|
ATTR(akey, aval);
|
4868
4919
|
}
|
4869
4920
|
goto st128;
|
4870
4921
|
tr223:
|
4871
|
-
#line
|
4922
|
+
#line 139 "hpricot_scan.rl"
|
4872
4923
|
{
|
4873
4924
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4874
4925
|
else { SET(aval, p); }
|
4875
4926
|
}
|
4876
|
-
#line
|
4927
|
+
#line 168 "hpricot_scan.rl"
|
4877
4928
|
{
|
4878
|
-
if (!S->xml)
|
4929
|
+
if (!S->xml && !NIL_P(akey))
|
4879
4930
|
akey = rb_funcall(akey, s_downcase, 0);
|
4880
4931
|
ATTR(akey, aval);
|
4881
4932
|
}
|
4882
4933
|
goto st128;
|
4883
4934
|
tr283:
|
4884
|
-
#line
|
4935
|
+
#line 168 "hpricot_scan.rl"
|
4885
4936
|
{
|
4886
|
-
if (!S->xml)
|
4937
|
+
if (!S->xml && !NIL_P(akey))
|
4887
4938
|
akey = rb_funcall(akey, s_downcase, 0);
|
4888
4939
|
ATTR(akey, aval);
|
4889
4940
|
}
|
4890
|
-
#line
|
4941
|
+
#line 139 "hpricot_scan.rl"
|
4891
4942
|
{
|
4892
4943
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4893
4944
|
else { SET(aval, p); }
|
4894
4945
|
}
|
4895
4946
|
goto st128;
|
4896
4947
|
tr288:
|
4897
|
-
#line
|
4948
|
+
#line 139 "hpricot_scan.rl"
|
4898
4949
|
{
|
4899
4950
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4900
4951
|
else { SET(aval, p); }
|
4901
4952
|
}
|
4902
|
-
#line
|
4953
|
+
#line 143 "hpricot_scan.rl"
|
4903
4954
|
{ SET(akey, p); }
|
4904
|
-
#line
|
4955
|
+
#line 168 "hpricot_scan.rl"
|
4905
4956
|
{
|
4906
|
-
if (!S->xml)
|
4957
|
+
if (!S->xml && !NIL_P(akey))
|
4907
4958
|
akey = rb_funcall(akey, s_downcase, 0);
|
4908
4959
|
ATTR(akey, aval);
|
4909
4960
|
}
|
4910
4961
|
goto st128;
|
4911
4962
|
tr215:
|
4912
|
-
#line
|
4963
|
+
#line 134 "hpricot_scan.rl"
|
4913
4964
|
{ mark_aval = p; }
|
4914
|
-
#line
|
4965
|
+
#line 139 "hpricot_scan.rl"
|
4915
4966
|
{
|
4916
4967
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4917
4968
|
else { SET(aval, p); }
|
4918
4969
|
}
|
4919
|
-
#line
|
4970
|
+
#line 168 "hpricot_scan.rl"
|
4920
4971
|
{
|
4921
|
-
if (!S->xml)
|
4972
|
+
if (!S->xml && !NIL_P(akey))
|
4922
4973
|
akey = rb_funcall(akey, s_downcase, 0);
|
4923
4974
|
ATTR(akey, aval);
|
4924
4975
|
}
|
4925
4976
|
goto st128;
|
4926
4977
|
tr312:
|
4927
|
-
#line 111 "hpricot_scan.rl"
|
4928
|
-
{ mark_aval = p; }
|
4929
4978
|
#line 134 "hpricot_scan.rl"
|
4979
|
+
{ mark_aval = p; }
|
4980
|
+
#line 168 "hpricot_scan.rl"
|
4930
4981
|
{
|
4931
|
-
if (!S->xml)
|
4982
|
+
if (!S->xml && !NIL_P(akey))
|
4932
4983
|
akey = rb_funcall(akey, s_downcase, 0);
|
4933
4984
|
ATTR(akey, aval);
|
4934
4985
|
}
|
4935
|
-
#line
|
4986
|
+
#line 139 "hpricot_scan.rl"
|
4936
4987
|
{
|
4937
4988
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
4938
4989
|
else { SET(aval, p); }
|
@@ -4942,7 +4993,7 @@ st128:
|
|
4942
4993
|
if ( ++p == pe )
|
4943
4994
|
goto _test_eof128;
|
4944
4995
|
case 128:
|
4945
|
-
#line
|
4996
|
+
#line 4997 "hpricot_scan.c"
|
4946
4997
|
switch( (*p) ) {
|
4947
4998
|
case 13: goto tr220;
|
4948
4999
|
case 32: goto tr220;
|
@@ -4960,14 +5011,14 @@ case 128:
|
|
4960
5011
|
goto tr220;
|
4961
5012
|
goto st97;
|
4962
5013
|
tr218:
|
4963
|
-
#line
|
5014
|
+
#line 134 "hpricot_scan.rl"
|
4964
5015
|
{ mark_aval = p; }
|
4965
5016
|
goto st129;
|
4966
5017
|
st129:
|
4967
5018
|
if ( ++p == pe )
|
4968
5019
|
goto _test_eof129;
|
4969
5020
|
case 129:
|
4970
|
-
#line
|
5021
|
+
#line 5022 "hpricot_scan.c"
|
4971
5022
|
switch( (*p) ) {
|
4972
5023
|
case 13: goto tr220;
|
4973
5024
|
case 32: goto tr220;
|
@@ -4985,14 +5036,14 @@ case 129:
|
|
4985
5036
|
goto tr220;
|
4986
5037
|
goto st97;
|
4987
5038
|
tr311:
|
4988
|
-
#line
|
5039
|
+
#line 138 "hpricot_scan.rl"
|
4989
5040
|
{ SET(aval, p); }
|
4990
5041
|
goto st130;
|
4991
5042
|
st130:
|
4992
5043
|
if ( ++p == pe )
|
4993
5044
|
goto _test_eof130;
|
4994
5045
|
case 130:
|
4995
|
-
#line
|
5046
|
+
#line 5047 "hpricot_scan.c"
|
4996
5047
|
switch( (*p) ) {
|
4997
5048
|
case 13: goto tr211;
|
4998
5049
|
case 32: goto tr211;
|
@@ -5021,14 +5072,14 @@ case 130:
|
|
5021
5072
|
goto tr307;
|
5022
5073
|
goto tr210;
|
5023
5074
|
tr302:
|
5024
|
-
#line
|
5075
|
+
#line 138 "hpricot_scan.rl"
|
5025
5076
|
{ SET(aval, p); }
|
5026
5077
|
goto st131;
|
5027
5078
|
st131:
|
5028
5079
|
if ( ++p == pe )
|
5029
5080
|
goto _test_eof131;
|
5030
5081
|
case 131:
|
5031
|
-
#line
|
5082
|
+
#line 5083 "hpricot_scan.c"
|
5032
5083
|
switch( (*p) ) {
|
5033
5084
|
case 32: goto tr315;
|
5034
5085
|
case 34: goto tr316;
|
@@ -5052,14 +5103,14 @@ case 131:
|
|
5052
5103
|
goto tr318;
|
5053
5104
|
goto tr216;
|
5054
5105
|
tr303:
|
5055
|
-
#line
|
5106
|
+
#line 138 "hpricot_scan.rl"
|
5056
5107
|
{ SET(aval, p); }
|
5057
5108
|
goto st132;
|
5058
5109
|
st132:
|
5059
5110
|
if ( ++p == pe )
|
5060
5111
|
goto _test_eof132;
|
5061
5112
|
case 132:
|
5062
|
-
#line
|
5113
|
+
#line 5114 "hpricot_scan.c"
|
5063
5114
|
switch( (*p) ) {
|
5064
5115
|
case 32: goto tr315;
|
5065
5116
|
case 34: goto tr322;
|
@@ -5083,18 +5134,18 @@ case 132:
|
|
5083
5134
|
goto tr318;
|
5084
5135
|
goto tr216;
|
5085
5136
|
tr301:
|
5086
|
-
#line
|
5137
|
+
#line 134 "hpricot_scan.rl"
|
5087
5138
|
{ mark_aval = p; }
|
5088
5139
|
goto st133;
|
5089
5140
|
tr289:
|
5090
|
-
#line
|
5141
|
+
#line 143 "hpricot_scan.rl"
|
5091
5142
|
{ SET(akey, p); }
|
5092
5143
|
goto st133;
|
5093
5144
|
st133:
|
5094
5145
|
if ( ++p == pe )
|
5095
5146
|
goto _test_eof133;
|
5096
5147
|
case 133:
|
5097
|
-
#line
|
5148
|
+
#line 5149 "hpricot_scan.c"
|
5098
5149
|
switch( (*p) ) {
|
5099
5150
|
case 13: goto tr308;
|
5100
5151
|
case 32: goto tr308;
|
@@ -5112,16 +5163,16 @@ case 133:
|
|
5112
5163
|
goto tr308;
|
5113
5164
|
goto tr210;
|
5114
5165
|
tr324:
|
5115
|
-
#line
|
5166
|
+
#line 139 "hpricot_scan.rl"
|
5116
5167
|
{
|
5117
5168
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
5118
5169
|
else { SET(aval, p); }
|
5119
5170
|
}
|
5120
5171
|
goto st134;
|
5121
5172
|
tr286:
|
5122
|
-
#line
|
5173
|
+
#line 143 "hpricot_scan.rl"
|
5123
5174
|
{ SET(akey, p); }
|
5124
|
-
#line
|
5175
|
+
#line 139 "hpricot_scan.rl"
|
5125
5176
|
{
|
5126
5177
|
if (*(p-1) == '"' || *(p-1) == '\'') { SET(aval, p-1); }
|
5127
5178
|
else { SET(aval, p); }
|
@@ -5131,7 +5182,7 @@ st134:
|
|
5131
5182
|
if ( ++p == pe )
|
5132
5183
|
goto _test_eof134;
|
5133
5184
|
case 134:
|
5134
|
-
#line
|
5185
|
+
#line 5186 "hpricot_scan.c"
|
5135
5186
|
switch( (*p) ) {
|
5136
5187
|
case 13: goto tr323;
|
5137
5188
|
case 32: goto tr323;
|
@@ -5161,14 +5212,14 @@ case 134:
|
|
5161
5212
|
goto tr282;
|
5162
5213
|
goto st97;
|
5163
5214
|
tr275:
|
5164
|
-
#line
|
5215
|
+
#line 138 "hpricot_scan.rl"
|
5165
5216
|
{ SET(aval, p); }
|
5166
5217
|
goto st135;
|
5167
5218
|
st135:
|
5168
5219
|
if ( ++p == pe )
|
5169
5220
|
goto _test_eof135;
|
5170
5221
|
case 135:
|
5171
|
-
#line
|
5222
|
+
#line 5223 "hpricot_scan.c"
|
5172
5223
|
switch( (*p) ) {
|
5173
5224
|
case 13: goto tr326;
|
5174
5225
|
case 32: goto tr326;
|
@@ -5206,14 +5257,14 @@ case 136:
|
|
5206
5257
|
}
|
5207
5258
|
goto tr216;
|
5208
5259
|
tr251:
|
5209
|
-
#line
|
5260
|
+
#line 138 "hpricot_scan.rl"
|
5210
5261
|
{ SET(aval, p); }
|
5211
5262
|
goto st137;
|
5212
5263
|
st137:
|
5213
5264
|
if ( ++p == pe )
|
5214
5265
|
goto _test_eof137;
|
5215
5266
|
case 137:
|
5216
|
-
#line
|
5267
|
+
#line 5268 "hpricot_scan.c"
|
5217
5268
|
switch( (*p) ) {
|
5218
5269
|
case 32: goto tr330;
|
5219
5270
|
case 39: goto tr331;
|
@@ -5236,14 +5287,14 @@ case 137:
|
|
5236
5287
|
goto tr332;
|
5237
5288
|
goto tr328;
|
5238
5289
|
tr248:
|
5239
|
-
#line
|
5290
|
+
#line 134 "hpricot_scan.rl"
|
5240
5291
|
{ mark_aval = p; }
|
5241
5292
|
goto st138;
|
5242
5293
|
st138:
|
5243
5294
|
if ( ++p == pe )
|
5244
5295
|
goto _test_eof138;
|
5245
5296
|
case 138:
|
5246
|
-
#line
|
5297
|
+
#line 5298 "hpricot_scan.c"
|
5247
5298
|
switch( (*p) ) {
|
5248
5299
|
case 13: goto tr277;
|
5249
5300
|
case 32: goto tr277;
|
@@ -5261,14 +5312,14 @@ case 138:
|
|
5261
5312
|
goto tr277;
|
5262
5313
|
goto tr247;
|
5263
5314
|
tr185:
|
5264
|
-
#line
|
5315
|
+
#line 138 "hpricot_scan.rl"
|
5265
5316
|
{ SET(aval, p); }
|
5266
5317
|
goto st139;
|
5267
5318
|
st139:
|
5268
5319
|
if ( ++p == pe )
|
5269
5320
|
goto _test_eof139;
|
5270
5321
|
case 139:
|
5271
|
-
#line
|
5322
|
+
#line 5323 "hpricot_scan.c"
|
5272
5323
|
switch( (*p) ) {
|
5273
5324
|
case 32: goto tr336;
|
5274
5325
|
case 34: goto tr331;
|
@@ -5338,14 +5389,14 @@ case 143:
|
|
5338
5389
|
}
|
5339
5390
|
goto tr328;
|
5340
5391
|
tr120:
|
5341
|
-
#line
|
5392
|
+
#line 134 "hpricot_scan.rl"
|
5342
5393
|
{ mark_aval = p; }
|
5343
5394
|
goto st144;
|
5344
5395
|
st144:
|
5345
5396
|
if ( ++p == pe )
|
5346
5397
|
goto _test_eof144;
|
5347
5398
|
case 144:
|
5348
|
-
#line
|
5399
|
+
#line 5400 "hpricot_scan.c"
|
5349
5400
|
switch( (*p) ) {
|
5350
5401
|
case 13: goto tr148;
|
5351
5402
|
case 32: goto tr148;
|
@@ -5377,14 +5428,14 @@ case 145:
|
|
5377
5428
|
goto tr342;
|
5378
5429
|
goto tr0;
|
5379
5430
|
tr342:
|
5380
|
-
#line 46 "
|
5431
|
+
#line 46 "hpricot_common.rl"
|
5381
5432
|
{ TEXT_PASS(); }
|
5382
5433
|
goto st146;
|
5383
5434
|
st146:
|
5384
5435
|
if ( ++p == pe )
|
5385
5436
|
goto _test_eof146;
|
5386
5437
|
case 146:
|
5387
|
-
#line
|
5438
|
+
#line 5439 "hpricot_scan.c"
|
5388
5439
|
switch( (*p) ) {
|
5389
5440
|
case 32: goto st212;
|
5390
5441
|
case 63: goto st146;
|
@@ -5415,14 +5466,14 @@ case 212:
|
|
5415
5466
|
goto st212;
|
5416
5467
|
goto tr420;
|
5417
5468
|
tr343:
|
5418
|
-
#line 46 "
|
5469
|
+
#line 46 "hpricot_common.rl"
|
5419
5470
|
{ TEXT_PASS(); }
|
5420
5471
|
goto st147;
|
5421
5472
|
st147:
|
5422
5473
|
if ( ++p == pe )
|
5423
5474
|
goto _test_eof147;
|
5424
5475
|
case 147:
|
5425
|
-
#line
|
5476
|
+
#line 5477 "hpricot_scan.c"
|
5426
5477
|
switch( (*p) ) {
|
5427
5478
|
case 32: goto st212;
|
5428
5479
|
case 63: goto st146;
|
@@ -5494,14 +5545,14 @@ case 149:
|
|
5494
5545
|
goto st146;
|
5495
5546
|
goto tr0;
|
5496
5547
|
tr348:
|
5497
|
-
#line 1 "
|
5548
|
+
#line 1 "NONE"
|
5498
5549
|
{te = p+1;}
|
5499
5550
|
goto st213;
|
5500
5551
|
st213:
|
5501
5552
|
if ( ++p == pe )
|
5502
5553
|
goto _test_eof213;
|
5503
5554
|
case 213:
|
5504
|
-
#line
|
5555
|
+
#line 5556 "hpricot_scan.c"
|
5505
5556
|
switch( (*p) ) {
|
5506
5557
|
case 32: goto tr348;
|
5507
5558
|
case 118: goto st150;
|
@@ -5593,14 +5644,14 @@ case 158:
|
|
5593
5644
|
goto tr359;
|
5594
5645
|
goto tr349;
|
5595
5646
|
tr359:
|
5596
|
-
#line
|
5647
|
+
#line 134 "hpricot_scan.rl"
|
5597
5648
|
{ mark_aval = p; }
|
5598
5649
|
goto st159;
|
5599
5650
|
st159:
|
5600
5651
|
if ( ++p == pe )
|
5601
5652
|
goto _test_eof159;
|
5602
5653
|
case 159:
|
5603
|
-
#line
|
5654
|
+
#line 5655 "hpricot_scan.c"
|
5604
5655
|
switch( (*p) ) {
|
5605
5656
|
case 34: goto tr360;
|
5606
5657
|
case 95: goto st159;
|
@@ -5618,14 +5669,14 @@ case 159:
|
|
5618
5669
|
goto st159;
|
5619
5670
|
goto tr349;
|
5620
5671
|
tr360:
|
5621
|
-
#line
|
5672
|
+
#line 144 "hpricot_scan.rl"
|
5622
5673
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("version")), aval); }
|
5623
5674
|
goto st160;
|
5624
5675
|
st160:
|
5625
5676
|
if ( ++p == pe )
|
5626
5677
|
goto _test_eof160;
|
5627
5678
|
case 160:
|
5628
|
-
#line
|
5679
|
+
#line 5680 "hpricot_scan.c"
|
5629
5680
|
switch( (*p) ) {
|
5630
5681
|
case 32: goto st161;
|
5631
5682
|
case 62: goto tr363;
|
@@ -5738,14 +5789,14 @@ case 172:
|
|
5738
5789
|
goto tr377;
|
5739
5790
|
goto tr349;
|
5740
5791
|
tr377:
|
5741
|
-
#line
|
5792
|
+
#line 134 "hpricot_scan.rl"
|
5742
5793
|
{ mark_aval = p; }
|
5743
5794
|
goto st173;
|
5744
5795
|
st173:
|
5745
5796
|
if ( ++p == pe )
|
5746
5797
|
goto _test_eof173;
|
5747
5798
|
case 173:
|
5748
|
-
#line
|
5799
|
+
#line 5800 "hpricot_scan.c"
|
5749
5800
|
switch( (*p) ) {
|
5750
5801
|
case 34: goto tr378;
|
5751
5802
|
case 95: goto st173;
|
@@ -5763,14 +5814,25 @@ case 173:
|
|
5763
5814
|
goto st173;
|
5764
5815
|
goto tr349;
|
5765
5816
|
tr378:
|
5766
|
-
#line
|
5767
|
-
{
|
5817
|
+
#line 145 "hpricot_scan.rl"
|
5818
|
+
{
|
5819
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
5820
|
+
if (mark_aval < p) {
|
5821
|
+
char psave = *p;
|
5822
|
+
*p = '\0';
|
5823
|
+
encoding_index = rb_enc_find_index(mark_aval);
|
5824
|
+
*p = psave;
|
5825
|
+
}
|
5826
|
+
#endif
|
5827
|
+
SET(aval, p);
|
5828
|
+
ATTR(ID2SYM(rb_intern("encoding")), aval);
|
5829
|
+
}
|
5768
5830
|
goto st174;
|
5769
5831
|
st174:
|
5770
5832
|
if ( ++p == pe )
|
5771
5833
|
goto _test_eof174;
|
5772
5834
|
case 174:
|
5773
|
-
#line
|
5835
|
+
#line 5836 "hpricot_scan.c"
|
5774
5836
|
switch( (*p) ) {
|
5775
5837
|
case 32: goto st175;
|
5776
5838
|
case 62: goto tr363;
|
@@ -5888,14 +5950,14 @@ case 187:
|
|
5888
5950
|
}
|
5889
5951
|
goto tr349;
|
5890
5952
|
tr393:
|
5891
|
-
#line
|
5953
|
+
#line 134 "hpricot_scan.rl"
|
5892
5954
|
{ mark_aval = p; }
|
5893
5955
|
goto st188;
|
5894
5956
|
st188:
|
5895
5957
|
if ( ++p == pe )
|
5896
5958
|
goto _test_eof188;
|
5897
5959
|
case 188:
|
5898
|
-
#line
|
5960
|
+
#line 5961 "hpricot_scan.c"
|
5899
5961
|
if ( (*p) == 111 )
|
5900
5962
|
goto st189;
|
5901
5963
|
goto tr349;
|
@@ -5907,14 +5969,14 @@ case 189:
|
|
5907
5969
|
goto tr396;
|
5908
5970
|
goto tr349;
|
5909
5971
|
tr396:
|
5910
|
-
#line
|
5972
|
+
#line 157 "hpricot_scan.rl"
|
5911
5973
|
{ SET(aval, p); ATTR(ID2SYM(rb_intern("standalone")), aval); }
|
5912
5974
|
goto st190;
|
5913
5975
|
st190:
|
5914
5976
|
if ( ++p == pe )
|
5915
5977
|
goto _test_eof190;
|
5916
5978
|
case 190:
|
5917
|
-
#line
|
5979
|
+
#line 5980 "hpricot_scan.c"
|
5918
5980
|
switch( (*p) ) {
|
5919
5981
|
case 32: goto st190;
|
5920
5982
|
case 62: goto tr363;
|
@@ -5924,14 +5986,14 @@ case 190:
|
|
5924
5986
|
goto st190;
|
5925
5987
|
goto tr349;
|
5926
5988
|
tr394:
|
5927
|
-
#line
|
5989
|
+
#line 134 "hpricot_scan.rl"
|
5928
5990
|
{ mark_aval = p; }
|
5929
5991
|
goto st191;
|
5930
5992
|
st191:
|
5931
5993
|
if ( ++p == pe )
|
5932
5994
|
goto _test_eof191;
|
5933
5995
|
case 191:
|
5934
|
-
#line
|
5996
|
+
#line 5997 "hpricot_scan.c"
|
5935
5997
|
if ( (*p) == 101 )
|
5936
5998
|
goto st192;
|
5937
5999
|
goto tr349;
|
@@ -5952,14 +6014,14 @@ case 193:
|
|
5952
6014
|
}
|
5953
6015
|
goto tr349;
|
5954
6016
|
tr399:
|
5955
|
-
#line
|
6017
|
+
#line 134 "hpricot_scan.rl"
|
5956
6018
|
{ mark_aval = p; }
|
5957
6019
|
goto st194;
|
5958
6020
|
st194:
|
5959
6021
|
if ( ++p == pe )
|
5960
6022
|
goto _test_eof194;
|
5961
6023
|
case 194:
|
5962
|
-
#line
|
6024
|
+
#line 6025 "hpricot_scan.c"
|
5963
6025
|
if ( (*p) == 111 )
|
5964
6026
|
goto st195;
|
5965
6027
|
goto tr349;
|
@@ -5971,14 +6033,14 @@ case 195:
|
|
5971
6033
|
goto tr396;
|
5972
6034
|
goto tr349;
|
5973
6035
|
tr400:
|
5974
|
-
#line
|
6036
|
+
#line 134 "hpricot_scan.rl"
|
5975
6037
|
{ mark_aval = p; }
|
5976
6038
|
goto st196;
|
5977
6039
|
st196:
|
5978
6040
|
if ( ++p == pe )
|
5979
6041
|
goto _test_eof196;
|
5980
6042
|
case 196:
|
5981
|
-
#line
|
6043
|
+
#line 6044 "hpricot_scan.c"
|
5982
6044
|
if ( (*p) == 101 )
|
5983
6045
|
goto st197;
|
5984
6046
|
goto tr349;
|
@@ -6000,14 +6062,14 @@ case 198:
|
|
6000
6062
|
goto tr403;
|
6001
6063
|
goto tr349;
|
6002
6064
|
tr403:
|
6003
|
-
#line
|
6065
|
+
#line 134 "hpricot_scan.rl"
|
6004
6066
|
{ mark_aval = p; }
|
6005
6067
|
goto st199;
|
6006
6068
|
st199:
|
6007
6069
|
if ( ++p == pe )
|
6008
6070
|
goto _test_eof199;
|
6009
6071
|
case 199:
|
6010
|
-
#line
|
6072
|
+
#line 6073 "hpricot_scan.c"
|
6011
6073
|
switch( (*p) ) {
|
6012
6074
|
case 39: goto tr378;
|
6013
6075
|
case 95: goto st199;
|
@@ -6043,14 +6105,14 @@ case 200:
|
|
6043
6105
|
goto tr405;
|
6044
6106
|
goto tr349;
|
6045
6107
|
tr405:
|
6046
|
-
#line
|
6108
|
+
#line 134 "hpricot_scan.rl"
|
6047
6109
|
{ mark_aval = p; }
|
6048
6110
|
goto st201;
|
6049
6111
|
st201:
|
6050
6112
|
if ( ++p == pe )
|
6051
6113
|
goto _test_eof201;
|
6052
6114
|
case 201:
|
6053
|
-
#line
|
6115
|
+
#line 6116 "hpricot_scan.c"
|
6054
6116
|
switch( (*p) ) {
|
6055
6117
|
case 39: goto tr360;
|
6056
6118
|
case 95: goto st201;
|
@@ -6068,52 +6130,52 @@ case 201:
|
|
6068
6130
|
goto st201;
|
6069
6131
|
goto tr349;
|
6070
6132
|
tr407:
|
6071
|
-
#line 51 "
|
6133
|
+
#line 51 "hpricot_common.rl"
|
6072
6134
|
{{p = ((te))-1;}{ TEXT_PASS(); }}
|
6073
6135
|
goto st214;
|
6074
6136
|
tr408:
|
6075
|
-
#line 50 "
|
6137
|
+
#line 50 "hpricot_common.rl"
|
6076
6138
|
{ EBLK(comment, 3); {goto st204;} }
|
6077
|
-
#line 50 "
|
6139
|
+
#line 50 "hpricot_common.rl"
|
6078
6140
|
{te = p+1;}
|
6079
6141
|
goto st214;
|
6080
6142
|
tr422:
|
6081
|
-
#line 51 "
|
6143
|
+
#line 51 "hpricot_common.rl"
|
6082
6144
|
{te = p+1;{ TEXT_PASS(); }}
|
6083
6145
|
goto st214;
|
6084
6146
|
tr423:
|
6085
|
-
#line 9 "
|
6147
|
+
#line 9 "hpricot_common.rl"
|
6086
6148
|
{curline += 1;}
|
6087
|
-
#line 51 "
|
6149
|
+
#line 51 "hpricot_common.rl"
|
6088
6150
|
{te = p+1;{ TEXT_PASS(); }}
|
6089
6151
|
goto st214;
|
6090
6152
|
tr425:
|
6091
|
-
#line 51 "
|
6153
|
+
#line 51 "hpricot_common.rl"
|
6092
6154
|
{te = p;p--;{ TEXT_PASS(); }}
|
6093
6155
|
goto st214;
|
6094
6156
|
st214:
|
6095
|
-
#line 1 "
|
6157
|
+
#line 1 "NONE"
|
6096
6158
|
{ts = 0;}
|
6097
6159
|
if ( ++p == pe )
|
6098
6160
|
goto _test_eof214;
|
6099
6161
|
case 214:
|
6100
|
-
#line 1 "
|
6162
|
+
#line 1 "NONE"
|
6101
6163
|
{ts = p;}
|
6102
|
-
#line
|
6164
|
+
#line 6165 "hpricot_scan.c"
|
6103
6165
|
switch( (*p) ) {
|
6104
6166
|
case 10: goto tr423;
|
6105
6167
|
case 45: goto tr424;
|
6106
6168
|
}
|
6107
6169
|
goto tr422;
|
6108
6170
|
tr424:
|
6109
|
-
#line 1 "
|
6171
|
+
#line 1 "NONE"
|
6110
6172
|
{te = p+1;}
|
6111
6173
|
goto st215;
|
6112
6174
|
st215:
|
6113
6175
|
if ( ++p == pe )
|
6114
6176
|
goto _test_eof215;
|
6115
6177
|
case 215:
|
6116
|
-
#line
|
6178
|
+
#line 6179 "hpricot_scan.c"
|
6117
6179
|
if ( (*p) == 45 )
|
6118
6180
|
goto st202;
|
6119
6181
|
goto tr425;
|
@@ -6125,52 +6187,52 @@ case 202:
|
|
6125
6187
|
goto tr408;
|
6126
6188
|
goto tr407;
|
6127
6189
|
tr409:
|
6128
|
-
#line 56 "
|
6190
|
+
#line 56 "hpricot_common.rl"
|
6129
6191
|
{{p = ((te))-1;}{ TEXT_PASS(); }}
|
6130
6192
|
goto st216;
|
6131
6193
|
tr410:
|
6132
|
-
#line 55 "
|
6194
|
+
#line 55 "hpricot_common.rl"
|
6133
6195
|
{ EBLK(cdata, 3); {goto st204;} }
|
6134
|
-
#line 55 "
|
6196
|
+
#line 55 "hpricot_common.rl"
|
6135
6197
|
{te = p+1;}
|
6136
6198
|
goto st216;
|
6137
6199
|
tr427:
|
6138
|
-
#line 56 "
|
6200
|
+
#line 56 "hpricot_common.rl"
|
6139
6201
|
{te = p+1;{ TEXT_PASS(); }}
|
6140
6202
|
goto st216;
|
6141
6203
|
tr428:
|
6142
|
-
#line 9 "
|
6204
|
+
#line 9 "hpricot_common.rl"
|
6143
6205
|
{curline += 1;}
|
6144
|
-
#line 56 "
|
6206
|
+
#line 56 "hpricot_common.rl"
|
6145
6207
|
{te = p+1;{ TEXT_PASS(); }}
|
6146
6208
|
goto st216;
|
6147
6209
|
tr430:
|
6148
|
-
#line 56 "
|
6210
|
+
#line 56 "hpricot_common.rl"
|
6149
6211
|
{te = p;p--;{ TEXT_PASS(); }}
|
6150
6212
|
goto st216;
|
6151
6213
|
st216:
|
6152
|
-
#line 1 "
|
6214
|
+
#line 1 "NONE"
|
6153
6215
|
{ts = 0;}
|
6154
6216
|
if ( ++p == pe )
|
6155
6217
|
goto _test_eof216;
|
6156
6218
|
case 216:
|
6157
|
-
#line 1 "
|
6219
|
+
#line 1 "NONE"
|
6158
6220
|
{ts = p;}
|
6159
|
-
#line
|
6221
|
+
#line 6222 "hpricot_scan.c"
|
6160
6222
|
switch( (*p) ) {
|
6161
6223
|
case 10: goto tr428;
|
6162
6224
|
case 93: goto tr429;
|
6163
6225
|
}
|
6164
6226
|
goto tr427;
|
6165
6227
|
tr429:
|
6166
|
-
#line 1 "
|
6228
|
+
#line 1 "NONE"
|
6167
6229
|
{te = p+1;}
|
6168
6230
|
goto st217;
|
6169
6231
|
st217:
|
6170
6232
|
if ( ++p == pe )
|
6171
6233
|
goto _test_eof217;
|
6172
6234
|
case 217:
|
6173
|
-
#line
|
6235
|
+
#line 6236 "hpricot_scan.c"
|
6174
6236
|
if ( (*p) == 93 )
|
6175
6237
|
goto st203;
|
6176
6238
|
goto tr430;
|
@@ -6182,34 +6244,34 @@ case 203:
|
|
6182
6244
|
goto tr410;
|
6183
6245
|
goto tr409;
|
6184
6246
|
tr432:
|
6185
|
-
#line 61 "
|
6247
|
+
#line 61 "hpricot_common.rl"
|
6186
6248
|
{te = p+1;{ TEXT_PASS(); }}
|
6187
6249
|
goto st218;
|
6188
6250
|
tr433:
|
6189
|
-
#line 9 "
|
6251
|
+
#line 9 "hpricot_common.rl"
|
6190
6252
|
{curline += 1;}
|
6191
|
-
#line 61 "
|
6253
|
+
#line 61 "hpricot_common.rl"
|
6192
6254
|
{te = p+1;{ TEXT_PASS(); }}
|
6193
6255
|
goto st218;
|
6194
6256
|
tr434:
|
6195
|
-
#line 60 "
|
6257
|
+
#line 60 "hpricot_common.rl"
|
6196
6258
|
{ EBLK(procins, 2); {goto st204;} }
|
6197
|
-
#line 60 "
|
6259
|
+
#line 60 "hpricot_common.rl"
|
6198
6260
|
{te = p+1;}
|
6199
6261
|
goto st218;
|
6200
6262
|
tr436:
|
6201
|
-
#line 61 "
|
6263
|
+
#line 61 "hpricot_common.rl"
|
6202
6264
|
{te = p;p--;{ TEXT_PASS(); }}
|
6203
6265
|
goto st218;
|
6204
6266
|
st218:
|
6205
|
-
#line 1 "
|
6267
|
+
#line 1 "NONE"
|
6206
6268
|
{ts = 0;}
|
6207
6269
|
if ( ++p == pe )
|
6208
6270
|
goto _test_eof218;
|
6209
6271
|
case 218:
|
6210
|
-
#line 1 "
|
6272
|
+
#line 1 "NONE"
|
6211
6273
|
{ts = p;}
|
6212
|
-
#line
|
6274
|
+
#line 6275 "hpricot_scan.c"
|
6213
6275
|
switch( (*p) ) {
|
6214
6276
|
case 10: goto tr433;
|
6215
6277
|
case 62: goto tr434;
|
@@ -6669,7 +6731,8 @@ case 219:
|
|
6669
6731
|
}
|
6670
6732
|
|
6671
6733
|
}
|
6672
|
-
|
6734
|
+
|
6735
|
+
#line 593 "hpricot_scan.rl"
|
6673
6736
|
|
6674
6737
|
if (cs == hpricot_scan_error) {
|
6675
6738
|
if (buf != NULL)
|
@@ -6744,34 +6807,68 @@ case 219:
|
|
6744
6807
|
return Qnil;
|
6745
6808
|
}
|
6746
6809
|
|
6810
|
+
void hstruct_mark(void* ptr) {
|
6811
|
+
struct hpricot_struct* st = (struct hpricot_struct*)ptr;
|
6812
|
+
int i;
|
6813
|
+
|
6814
|
+
for(i = 0; i < st->len; i++) {
|
6815
|
+
rb_gc_mark(st->ptr[i]);
|
6816
|
+
}
|
6817
|
+
}
|
6818
|
+
|
6819
|
+
void hstruct_free(void* ptr) {
|
6820
|
+
struct hpricot_struct* st = (struct hpricot_struct*)ptr;
|
6821
|
+
|
6822
|
+
free(st->ptr);
|
6823
|
+
free(st);
|
6824
|
+
}
|
6825
|
+
|
6747
6826
|
static VALUE
|
6748
|
-
|
6827
|
+
alloc_hpricot_struct8(VALUE klass)
|
6749
6828
|
{
|
6750
|
-
VALUE
|
6751
|
-
|
6752
|
-
NEWOBJ(st, struct RStruct);
|
6753
|
-
OBJSETUP(st, klass, T_STRUCT);
|
6829
|
+
VALUE obj;
|
6830
|
+
struct hpricot_struct* st;
|
6754
6831
|
|
6755
|
-
|
6756
|
-
n = FIX2LONG(size);
|
6832
|
+
obj = Data_Make_Struct(klass, struct hpricot_struct, hstruct_mark, hstruct_free, st);
|
6757
6833
|
|
6758
|
-
|
6759
|
-
st->ptr = ALLOC_N(VALUE,
|
6760
|
-
|
6761
|
-
st->
|
6762
|
-
|
6763
|
-
|
6764
|
-
|
6765
|
-
|
6766
|
-
|
6767
|
-
|
6768
|
-
|
6769
|
-
|
6770
|
-
|
6771
|
-
|
6772
|
-
|
6834
|
+
st->len = 8;
|
6835
|
+
st->ptr = ALLOC_N(VALUE, 8);
|
6836
|
+
|
6837
|
+
rb_mem_clear(st->ptr, 8);
|
6838
|
+
|
6839
|
+
return obj;
|
6840
|
+
}
|
6841
|
+
|
6842
|
+
static VALUE
|
6843
|
+
alloc_hpricot_struct2(VALUE klass)
|
6844
|
+
{
|
6845
|
+
VALUE obj;
|
6846
|
+
struct hpricot_struct* st;
|
6847
|
+
|
6848
|
+
obj = Data_Make_Struct(klass, struct hpricot_struct, hstruct_mark, hstruct_free, st);
|
6849
|
+
|
6850
|
+
st->len = 2;
|
6851
|
+
st->ptr = ALLOC_N(VALUE, 2);
|
6852
|
+
|
6853
|
+
rb_mem_clear(st->ptr, 2);
|
6854
|
+
|
6855
|
+
return obj;
|
6856
|
+
}
|
6857
|
+
|
6858
|
+
static VALUE
|
6859
|
+
alloc_hpricot_struct3(VALUE klass)
|
6860
|
+
{
|
6861
|
+
VALUE obj;
|
6862
|
+
struct hpricot_struct* st;
|
6863
|
+
|
6864
|
+
obj = Data_Make_Struct(klass, struct hpricot_struct, hstruct_mark, hstruct_free, st);
|
6865
|
+
|
6866
|
+
st->len = 3;
|
6867
|
+
st->ptr = ALLOC_N(VALUE, 3);
|
6773
6868
|
|
6774
|
-
|
6869
|
+
rb_mem_clear(st->ptr, 3);
|
6870
|
+
|
6871
|
+
return obj;
|
6775
6872
|
}
|
6776
6873
|
|
6777
6874
|
static VALUE hpricot_struct_ref0(VALUE obj) {return H_ELE_GET(obj, 0);}
|
@@ -6823,17 +6920,28 @@ static VALUE (*set_func[10])() = {
|
|
6823
6920
|
};
|
6824
6921
|
|
6825
6922
|
static VALUE
|
6826
|
-
make_hpricot_struct(VALUE members)
|
6923
|
+
make_hpricot_struct(VALUE members, VALUE (*alloc)(VALUE klass))
|
6827
6924
|
{
|
6828
6925
|
int i = 0;
|
6926
|
+
char attr_set[128];
|
6927
|
+
|
6829
6928
|
VALUE klass = rb_class_new(rb_cObject);
|
6830
|
-
|
6831
|
-
|
6832
|
-
|
6833
|
-
|
6834
|
-
|
6835
|
-
|
6836
|
-
|
6929
|
+
rb_define_alloc_func(klass, alloc);
|
6930
|
+
|
6931
|
+
int len = RARRAY_LEN(members);
|
6932
|
+
assert(len < 10);
|
6933
|
+
|
6934
|
+
for (i = 0; i < len; i++) {
|
6935
|
+
ID id = SYM2ID(rb_ary_entry(members, i));
|
6936
|
+
const char* name = rb_id2name(id);
|
6937
|
+
int len = strlen(name);
|
6938
|
+
|
6939
|
+
memcpy(attr_set, name, strlen(name));
|
6940
|
+
attr_set[len] = '=';
|
6941
|
+
attr_set[len+1] = 0;
|
6942
|
+
|
6943
|
+
rb_define_method(klass, name, ref_func[i], 0);
|
6944
|
+
rb_define_method(klass, attr_set, set_func[i], 1);
|
6837
6945
|
}
|
6838
6946
|
return klass;
|
6839
6947
|
}
|
@@ -6877,9 +6985,13 @@ void Init_hpricot_scan()
|
|
6877
6985
|
|
6878
6986
|
structElem = make_hpricot_struct(rb_ary_new3(8, sym_name, sym_parent,
|
6879
6987
|
sym_raw_attributes, sym_etag, sym_raw_string, sym_allowed,
|
6880
|
-
sym_tagno, sym_children));
|
6881
|
-
structAttr = make_hpricot_struct(
|
6882
|
-
|
6988
|
+
sym_tagno, sym_children), alloc_hpricot_struct8);
|
6989
|
+
structAttr = make_hpricot_struct(
|
6990
|
+
rb_ary_new3(3, sym_name, sym_parent, sym_raw_attributes),
|
6991
|
+
alloc_hpricot_struct3);
|
6992
|
+
structBasic = make_hpricot_struct(
|
6993
|
+
rb_ary_new3(2, sym_name, sym_parent),
|
6994
|
+
alloc_hpricot_struct2);
|
6883
6995
|
|
6884
6996
|
cDoc = rb_define_class_under(mHpricot, "Doc", structElem);
|
6885
6997
|
cCData = rb_define_class_under(mHpricot, "CData", structBasic);
|